Forum index > Bug reports

microtuning not working?

noyzelab
i've not had my machine out for a long time, so i've updated to the latest firmware. i have just been trying to get a microtuning loaded and in tune with serum and hydrasynth but this does not work properly, either via midi or from a .scl via usb.

i'm using oddsound mts in reaper to send out the midi tuning dumps. serum and hydrasynth receive them & will track each other perfectly but EssenceFM is always out of tune. Whats strange is that if i send quarter tone tuning [ed2-24] all the 12 tone notes are in tune [ie 100 cents apart] but only the quarter tones are out. the tuning values computed in essencefm are incorrect compared to what appears in oddsound :

eg c#4 should be 50cents above c4 which oddsound correctly gives as 269.29hz but essencefm gives 264.92hz.

i've also confirmed in scala that the tuning frequencies that oddsound produces are correct. here is the output from scala:

60: 261.625565 C 4: 0.000 cents
61: 269.291780 C#4: 50.000 cents
62: 277.182631 D 4: 100.000 cents
63: 285.304702 D#4: 150.000 cents
64: 293.664768 E 4: 200.000 cents
65: 302.269802 F 4: 250.000 cents
66: 311.126984 F#4: 300.000 cents
67: 320.243700 G 4: 350.000 cents
68: 329.627557 G#4: 400.000 cents
69: 339.286382 A 4: 450.000 cents
70: 349.228231 A#4: 500.000 cents
71: 359.461400 B 4: 550.000 cents
72: 369.994423 C 5: 600.000 cents
73: 380.836087 C#5: 650.000 cents
74: 391.995436 D 5: 700.000 cents
75: 403.481779 D#5: 750.000 cents
76: 415.304698 E 5: 800.000 cents
77: 427.474054 F 5: 850.000 cents
78: 440.000000 F#5: 900.000 cents
79: 452.892984 G 5: 950.000 cents
80: 466.163762 G#5: 1000.000 cents
81: 479.823402 A 5: 1050.000 cents
82: 493.883301 A#5: 1100.000 cents
83: 508.355187 B 5: 1150.000 cents
84: 523.251131 C 6: 1200.000 cents
KODAMO
Can you provide the .scl file so we can check what happens ?
noyzelab
file enclosed.

i also just noticed that loading the scl file is incorrect in a different way than the error loading over midi. when i load this file via usb C4 gets set to 256.89hz, C#4 is 272.14hz, D4 is 288.32hz ..

i have master tuning set the same at 440hz, and when i switch between the midi loaded version via oddsound mts and the scl loaded version they are both wrong.
noyzelab
another bug i have found is when i clear the tuning from advanced mode, it loses the assignments for rotaries except master tuning and also drops the icons for 5 & 6 on bottom right of screen
noyzelab
i've been investigating the .scl import a bit more. when i import a tuning it displays the wrong tuning frequencies but does actually play the correct frequency.

however it still does not work properly over midi at all other than sending it 12 tone equal..

also please can we have .scl import fixed so that we can load in tunings with more than 32 notes ?

i;ve enclosed 17 tone equal scala shows [oddsound mts master also shows the same results] :

60: 261.625565 C 4: 0.000 cents
61: 272.513378 C#4: 70.588 cents
62: 283.854297 D 4: 141.176 cents
63: 295.667181 D#4: 211.765 cents
64: 307.971669 E 4: 282.353 cents
65: 320.788222 F 4: 352.941 cents
66: 334.138148 F#4: 423.529 cents
67: 348.043644 G 4: 494.118 cents
68: 362.527832 G#4: 564.706 cents
69: 377.614794 A 4: 635.294 cents
70: 393.329616 A#4: 705.882 cents
71: 409.698425 B 4: 776.471 cents
72: 426.748439 C 5: 847.059 cents
73: 444.508007 C#5: 917.647 cents
74: 463.006657 D 5: 988.235 cents
75: 482.275147 D#5: 1058.824 cents
76: 502.345514 E 5: 1129.412 cents
77: 523.251131 F 5: 1200.000 cents


i'll post screenshots of essence screen in follow up replies
noyzelab
first of 3 screenshots of 17 tone equal loaded via midi
noyzelab
2
noyzelab
3.

as u can see these are different values than scala [or oddsound gives] gives.
noyzelab
screenshot of sevish scale workshop computing 17 tone equal enclosed

noyzelab
have also just noticed that when sending a tuning via midi that the scale size on the simple mode page does not change, altho loading in a .scl with the same tuning does change this.

regarding the advanced mode, please can this show the tuning in cents as well. the problem here is that if i change the master tuning, the tuning table display is not updated to reflect this change. it still lists the frequencies as it computed them when the tuning was loaded. it would be much better to have tunings listed as both cents and hz, but cents is more preferable to display as this is independent of the master tuning.

also, please can we have a 'clear all' to clear all the tuning tables in one go ?
noyzelab
below is bohlen47.scl from the scala library and is a none 2/1 based tuning. this does not load properly via usb or midi mts. enclosed is a screenshot from sevish scale workshop with frequency values for comparison.


! bohlen47.scl
!
Heinz Bohlen, mode of 4\47 (1998), www.huygens-fokker.org/bpsite/pythagorean.html
21
!
102.12766
255.31915
357.44681
459.57447
510.63830
612.76596
714.89362
817.02128
970.21277
1072.34043
1327.65957
1429.78723
1582.97872
1685.10638
1787.23404
1889.36170
1940.42553
2042.55319
2144.68085
2297.87234
4/1
KODAMO
We investigated your problems. The scale calculation is accurate, when you switch to Advanced mode the EssenceFM calculates frequencies using the current master tuning.
If you have it set to something different than 440Hz, going to Advanced mode will calculate different frequencies, and this is done only 1 time (after that, switching between modes does not recalculate frequencies).
I think that's the issue you encountered. To get the right frequencies, go back to 440Hz and press "Reset All" on the Advanced Mode page. That will recalculate all frequencies using the current master tuning.

For the encoder association problem when pressing Clear, we fixed the bug and will publish a new firmware for it.

For the 32 note limitation per scale, it requires deep changes in the memory layout so I cannot promise it will be done, but we'll try.
noyzelab
sorry but this is not acceptable.

microtuning on this unit is non-workable since i purchased it.

import over midi is not working properly.

as i stated at the top of this thread i have completely started my unit from scratch, latest firmware, wiped all tuning mems and set master tune to 440hz before i started.

i enclose another example file. this is from the library included with the hydrasynth. i send this tuning to serum & hydra fine, but essenceFM is out of tune, and the other two track perfectly. all machines are set to 440hz.

also there is another bug. if i then press 'reset all' without even changing the master tuning [it is still set to 440hz] the efm will calculate a new set of frequencies, also wrong.
noyzelab
does not work over midi, press reset all, computes another incorrect tuning
noyzelab
same problem with this
noyzelab
same problems with this enclosed midi file.

as i also mentioned above, when sending a tuning over midi the scale size on the 'simple mode' page gets left at whatever value it was last set to, and completely ignores the number of notes in the tuning received.

according to the manual Reset All "Resets all notes using their frequencies from the Simple Mode (useful not to start an advanced tuning from scratch)" so when i press this it will use the wrong size num of notes.

furthermore, because the simple mode has a max of 32 steps, that means any larger tunings sent over midi will also have a problem, such as this 43 note Harry Partch tuning enclosed. this file is also from the hydrasynth tuning presets.
KODAMO
bohen47 is wrong because it uses 4/1 octave ratio, and as stated in the manual only 2/1 octaves ratios are currently supported : "Supports up to 32 notes, and octave ratio must be two"

Other than that, we checked MIDI MTS import and indeed it does some wrong calculations, we'll fix it.

Thanks for providing the MIDI file examples
noyzelab
thanks for comfiming these problems.

are 2/1 octave ratios the only possible type supported over midi as well? the reference quoted from the manual refers to .scl files. i loaded the enclosed Bohle Pierce 11 tone midi file into oddsound and sent it from there. according to the firmware notes:

"[Microtunings via SysEx] Non-realtime MTS (MIDI Tuning Standard) messages are supported. Go into Global > Tuning to allow reception."

so are non-octave tunings not supported at all via midi or .scl? there are lots of non-octave based tunings, and lots of >32 note tunings out there in the scala library, it would be great if essenceFm could properly support loading these like both modern and older school synths.
flec8
Really excited this is getting fixed.
Was a roadblock for me.

Thank you Kodamo team.
KODAMO
We just released the firmware fixing MTS tuning reception. It's not 100% perfect since the internal frequency resolution cannot guarantee hertz-accuracy especially in high frequencies, but difference should not be noticeable to the ear.
noyzelab
Thanks for the update, I'll post here what I reported back over email for info :
---
The tuning resolution over midi is better, thank you for your work in improving this. I do all my midi testing using Oddsound MTS Suite as I mentioned, their mini version is free to use & has a built in midi playable sine ref for comparing tunings between synthesizers.

From what I can tell most midi tunings I tried are better, but still start to drift out above 1 or 2khz using sine test tones. This is generally only causing slow beating over several seconds or longer, but is worse in some cases. I tried the Carlos Harmonic & Carlos Super Just tunings over midi and these show a bit more error after 1khz, getting slightly more out higher up. I tried a number of other equal 2/1 divisions such as 11, 13, 17, 19 and others, which again have different degrees of error higher up. Non 2/1 tunings can be received over midi, but these also have a varying degree of success, and the same problems of beating still occur past about 1khz or so.

The scl import is much further out still, and for those 2 Carlos in particular, with significant beating occuring. However, I cant use the scl import due to the weird behaviour it exhibits. I've loaded the same quartertone tuning into 7 different locations and get different results, none of them correct. It also displays a different set of frequencies in some of the memories.

Thanks for the improvement over midi and I would look forward to further improvements. It would also make testing a lot quicker if midi tuning could be received directly in voice/patch/perf mode, preferably with ability to transfer directly to the memory slots as supported in the mts protocol and by Oddsound. In patch and voice mode when selecting a tuning, the tuning memory number is not displayed. If you could add that on this list it would make life a bit easier, especially with testing tunings with the same name via midi & scl.
---

i've just rehecked and loading in .scl files gives inconsistent results, so I will be sticking to mts from now on. Anyone interested to try the free Oddsound mini version for sending mts tuning dumps can find it here:

https://oddsound.com/mtsespmini.php

Thanks again for the work on improving the tuning over midi! 👍
flec8
I'm experiencing the same problem with importing .scl files

Reply