Master Tuning (cents) and BPM - Double instead Integer

I am producing and performing so-called cosmic octave (planetary tunings) tracks.
Each planet tuning has a very specific set of data. I gonna add an example screenshot of the Earth Year tuning.

So, for each case, I need to set the BPM and Master Tuning in Hz or cent at a very precise range (Double) and It would be amazing to be able to, first of all, get those settings in the Zynthian at all, which is not the case right now and of course, saving it with the track. I am thinking of templates, which I can quickly recall. Of course, the Snapshots are just that.

I would like to be quickly able to switch between planet tunings, so I could use the Zynthian for my live performances and just click on the planet snapshot and all is tuned in the right way and in the correct BPM.

I have mentioned this issue with Zynthian only offering Integer numbers for Tuning and Tempo, which makes it useless for me.

Screenshot 2021-03-12 at 15.41.53

Hi @Eule

Please add a feature request in our issue tracking system. This will ensure the request is traiged giving it appropriate priority and assigning as required. (Different people support different elements. In this case it might be I who picks up the BPM part but someone else may deal with the tuning issues.)

1 Like

Thanks for the tip.
I will do exactly that.

I hope to get to know the code better myself and maybe one day I can contribute myself by programming such updates.

I love this project.

Hi @Eule !

Please, confirm that the improved fine-tuning i just committed works for you and it’s enough for your use-case.



Great Job! It works and does what it is supposed to do.

Are you happy with the tempo adjustment?

@riban I can’t find the Tempo adjustments anywhere. I see the Tempo in the sequencer, but nowhere in the snapshot.
I just did a software update and at the end it said installed with 17 errors.
This seems all too complex. A set should have a master tempo in general, because things like LFO or for example Delay like to sync to a tempo, so having only a tempo in the sequencer setting seems not logical to me and I can’t find were to adjust the tempo besides there in the sequencer and it still goes only in whole steps, but shows a comma now.
I am used to DAWs and there is always a master section where I can make settings like tempo or tuning. This would be the way to go.

I added the MIDI Clock Generator LV2 plugin from the list, but also this plugin has no proper tempo adjustments. Useless

@Eule , the stable version of ZynthianOS now has 0.1BPM step adjustment of tempo. Are you using that version, i.e. have you updated your Zynthian from its UI or webconf?

Within the step sequencer the learn/shot encoder adjusts the tempo. Rotating slowly will adjust in 0.1BPM steps whilst rotating faster adjusts in larger steps based on the Zynthian’s encoder acceleration mechanism.

The implementation of a master tempo is a recent addition to Zynthian. It was added as part of the step sequencer work and hence adjustment exists within the sequencer’s screens. There is also a tempo adjustment available whilst playing a standard MIDI file in the MIDI Recorder screen but this is only available whilst a file is playing and does not yet include the 0.1 step implementation. This adjust JACK tempo and hence should affect all modules that sync to jack clock.

When MIDI Clock plugin is set to sync to jack clock its tempo adjustment is effectively disabled. This control is only relevant when using the MIDI Clock plugin’s own internal clock.

I am not sure where else you might expect to see the tempo adjustment. If you have some constructive suggestions then please provide them. I don’t think the current implementation is useless. It is being used by many for a myriad of purposes. We are keen to improve this device and depend heavily on user and community feedback and support. You can help us to improve the user experience by reporting issues and requesting enhancements in the issue tracker.

Zynthian is not (nor purports to be) a DAW. It is a toolkit which provides many features but is also idiosyncratic - providing something different from other devices. This is part of its charm. Sometimes it may take a moment to understand how to best use it. If there are poor workflows we work very hard to resolve them.

@riban well, I did again an update just now and now the Tempo isn’t even showing up to adjust at all in the sequencer setting. It is there in the menu, but when I click on it nothing happens.
Yes, I did the update both ways. First I updated from the device UI and had those 17 errors, so I did now the update from the browser webconfig.
To me, the 0.1 BPM steps are not enough and I can’t seem to be able to adjust the decimals before the comma and since the tempo is entirely not showing up anymore I can’t give any further feedback on that.

So, for now, I would be happy if I only could adjust the BPM to 0.01 steps and if I knew how to do that in the first place, once the tempo selection comes back in the UI.

So, the Tempo adjustment not working at all right now. I click on it in the sequencer and it doesn’t show up, like if the link in the menu would not work at all.

There seems to be a bug in the menu option. You can change tempo without selecting it from the menu. Just use the learn/shot encoder. If you don’t have encoders then you can use ctrl+up/down on a USB computer keyboard.

0.01 adjustment is likely to be too awkward for most users and provide them little benefit. I am not sure we should implement manual up/down adjustment in such small steps but am willing to be convinced, especially if the argument includes a suggested implementation.

1 Like

@riban there is a huge movement about tuning on this planet. I am sure you have seen also those youtube videos and DJ mixes tuned to the famous 432 Hz and other frequencies like 111, 528 and so forth.
The thing about these tunings is really growing and there is also a growing community of producers, who produce now music tuned in such way. The point is, that if one does this properly, the tempo needs to be analog to the frequency and if this isn’t precise the entire effect is useless.
I am an international active live performer, producer and expert on this field of natural tunings.
In the moment I am preparing my gear for the upcoming season and I really want to use the Zynthian on stage and this would be also a good promotion for this instrument.
The details make all the difference in such a situation. It is already a shame how most software synths ignore the proper tuning options and I am sure this will get much more attention naturally in the near future.
For you it is just one additional zero to add one decimal position and for me it would mean I could properly work with this machine and take it on stage. If I can’t set the tempo correctly, I can’t use it the way I want. I will still use it as a synth then, but it would be a shame to waste such a great tool.
I didn’t even start yet suggesting additional upgrades, which are waiting in my drawer and this is not only about what already exits on the market and keeping up with the competition, but going some steps ahead.
Open up the gates. :wink:

I think a precise tempo setting should be no question. This is no toy. It is a proper tool and needs proper settings.

Hope this can help to make you consider the advantages. The Master Tuning update made me celebrate here! Let’s celebrate the Tempo upgrade and push further.

Hi @Eule,

For implementing a useful feature we need to understand the use-case.
I would like to know a little bit about this “movement about tuning” you talk. Please, could you point some reference, URL, etc.


Ok, let’s start with some links, so you know what this is all about.
Some years ago I wrote an article about the 432Hz tuning and how to calculate musical tuning data, based on planetary orbital frequencies.

There is a comprehensive collection of the planet tunings on Planetware.

The 432 Hz tuning example, based on the Earth Year orbit.

YouTube Search Queries:

The Cosmic Octave

Planet Frequencies


As you can see, there is lots of material online.

If you have any particular questions, please ask.
I programmed the tuning calculator, which is only available for Mac right now.
I am a media designer and not a full-on programmer, so it took me some time to manifest the tool and that is why I don’t have other versions for other platforms.

I also have a concept ready on how to implement these ideas into a synthesizer and more.
It is a big thing and there is a lot to explain.

Tempo should be on the top level available and not only in a sequencer.
Tempo is the heart of sound creation. Time is the very core and effects like Arpeggio, Delay, Tremolo, LFO are for example time dependent effects. How can one set this properly, if there is no general tempo defined?
So, Tempo is an essential setting even if one doesn’t use the sequencer.

Sound modulation is often time dependant and has SYNC functionality, which means it takes the timecode from the overall defined tempo.

Tempo and Tuning are of high importance and both parameters should be in a sort of master section.

In my case, I would create templates for each planet tuning, which has a precise tempo and tuning to it. Those two need to be together.

The momentary solution to set the tuning in the MIDI section via webconfig and the tempo in a sequencer is not straight forward for a good workflow.
Before I start making music, I always set my tempo and the tuning first.

Thanks @Eule for explaining your approach to music. There will be many musicians and sound designers who have a similar, tempo based approach to their workflows. There will also be many who do not depend upon tempo or rhythm from their Zynthian and may instead implent their rhythm manually through the expression of their playing.

We have limited control interface with just four knobs vying for user’s preferences. Where one user might demand immediate access to tempo another might demand control over filter cutoff. This is why Zynthian’s encoders are context sensitive. I don’t think we can dedicate a control to tempo without detrimental impact on many other workflows, hence we make tempo available in the sequencer view. Maybe there are other views this might also be advantageous which we can learn from experience.

Regarding 0.01bpm control, I struggle to imagine how we provide such fine control and allow the coarse control required. Maybe we can implement encoder acceleration for the medium and coarse control then use a second encoder for fine control like we have currently if tempo menu is selected. Maybe we have a popup numeric input pad. May I tell you that it is demanding on the project developers to imagine solutions and then implement them. Assistance from the community is always welcome.

The British used to standardise their pitch at A = 452 Hz. But the continentals complained.

Not the sharpest tools in the box?

The popup numeric input would be a perfect solution.
For the ones, who don’t work much with tempo they would not be bothered much to use it and for people like myself, it would be the solution.
Like you have a text field popup to name the sequencer pads.
This would solve that issue straight away.
But it would be important, that the tempo information is distributed system-wide, so tempo-dependent effects can use it to sync to.

A standard pitch is important, so musicians from all over the world can actually play together. This is why an international standard was a good decisions. Before this standard you could not play the instruments from different countries together in the same band.
Now we are living in different times and there is no good or bad and right or wrong pitch.
The point is, that there are natural frequencies we can tune in to and this is my speciality.
My entire work is based on this for over 20 years now.

This is (almost) true. Modules that use JACK clock for their timing do follow the tempo but I have added a ticket to the issue tracking system identifying that tempo does not change unless the transport is running. Currently the transport is started and stopped by sequences. We would need a description of some workflows where the transport could be started from elsewhere. So currently you need to start a sequence, e.g. just a default empty loop and adjust the tempo from the sequencer view.