Freq to V/Oct

Request a new device/modular module, and hope that some enterprising developer grants your wish!

Moderators: valis, garyb

User avatar
spacef
Posts: 3230
Joined: Sun Jun 17, 2001 4:00 pm
Contact:

Re: Freq to V/Oct

Post by spacef »

how do you get the phase and other variable values in Scope ? You would need something to compare two phases and extract the difference. Then , you would probably need micro delays here and there, and it takes DSP. That's one of the reason I would not include any phase alignment feature in my mixer, they would become too heavy and unusuable because it would have to be implemented on every channel at least, I suppose.

But I don't know, I am not the one who could implement such a thing in Scope :-)
plug-ins for scope
SpaceF website
SC website
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

For the oscillator code I linked to, the function calculates the phase of the oscillator for each sample and is in that way constructing the waveform. If you in theory would have a sample frequency of 4 instead of 44100 you would have value 0 at 0° phase, value 1 at 90° (the peak), value 0 at 180° and -1 at 270° phase (the valley). So phase is just where in the cycle it should generate the value for.

But all you need to do when using the oscillator is setting the frequency in Hz, the phase is just internal implementation details.

I just tried to put a half wave rectifier before the freq input of an oscillator to see if indeed the strange response to negative values is what throws automatic tuning off in Bitwig, and that seems to be the case. With a rectifier instead of getting jumbled information there is no pitch coming at all until it reaches positive, and it then tries to map upwards with a exponential response. It looks like it maps c1-c9, however the tuning is off :( Not by a lot, but too much to be useable. It seems to be an extremely narrow range for the bottom values so I guess it might be a precision issue since not only is it restricted to half the available range, but also uses very little of that range for the first few octaves.
However with the calibration data I pasted earlier it does work over full range without problems, so it must be possible to handle.
User avatar
spacef
Posts: 3230
Joined: Sun Jun 17, 2001 4:00 pm
Contact:

Re: Freq to V/Oct

Post by spacef »

OF course it is probably possible . But not by me I am afraid :-) (lacking some "know how" here).
PS: values in scope are no -1 to +1 but - 21 million to + 21 millions (which does not change much in final results, but it means i cannot use the numbers that you have uploaded).
plug-ins for scope
SpaceF website
SC website
User avatar
Spielraum
Posts: 696
Joined: Fri Apr 18, 2014 1:11 pm
Location: Raumschiff Erde

Post by Spielraum »

.
Last edited by Spielraum on Mon Dec 13, 2021 12:21 pm, edited 1 time in total.
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅] Lange Welle ~ Mittelwelle ~ Kurze Welle ~ Ultra Kurze Welle
Scope Sandbox soundcloud ~ youtube ~ bc modular-guide° ~ modules-SR
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

Yes, of course the "voltage" values as Expert Sleepers calls the values in configuration files is used as a multiplier for max int value.

Tried to see what is possible using logic modules, since there seems to be some sense in how the positive values are used at least.
So first modifying bipolar to positive and dividing to get the full range. Then converting so the response is exponential even if the input is linear.
And actually when tuning with Bitwigs CV instrument is can detect the full range! Not perfect though, and some notes is up to 20 cents off.

Image

I guess it is due to the fact that I the response is still not really linear, only close, so my linear to exponential conversion seems a bit off:
Image
Regular CV instruments will have a straight line all the way, and I think the slightly exponential response is throwing the tuning off a little.
Last edited by Spindrift on Sun Sep 12, 2021 4:53 am, edited 1 time in total.
User avatar
spacef
Posts: 3230
Joined: Sun Jun 17, 2001 4:00 pm
Contact:

Re: Freq to V/Oct

Post by spacef »

yes, i think it has to be fine tuned manually at the end. Thanks for your efforts in trying and for uploading all this information.
I would try if I had the time but for the moment I have already a bit too much on my shoulders and mind to get into this, as it requires long afternoons and evenings doing only this (copy/paste values, try stuff etc). You never know, it might pop-up one day from me or from another but I must be honest and tell you that I won't be able to think about it for at least the next 2 or 3 months. Also, I do not have all the tools you use (for some reason, bitwig does not want to work on my pc) so this is another element that would make it difficult.
plug-ins for scope
SpaceF website
SC website
User avatar
Spielraum
Posts: 696
Joined: Fri Apr 18, 2014 1:11 pm
Location: Raumschiff Erde

Post by Spielraum »

.
Last edited by Spielraum on Mon Dec 13, 2021 12:20 pm, edited 1 time in total.
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅] Lange Welle ~ Mittelwelle ~ Kurze Welle ~ Ultra Kurze Welle
Scope Sandbox soundcloud ~ youtube ~ bc modular-guide° ~ modules-SR
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

spacef wrote: Sun Sep 12, 2021 12:21 am You never know, it might pop-up one day from me or from another but I must be honest and tell you that I won't be able to think about it for at least the next 2 or 3 months. Also, I do not have all the tools you use (for some reason, bitwig does not want to work on my pc) so this is another element that would make it difficult.
If you do get time to look it to it, let me know if there is anything I can do to help. But I'm only really using Bitwig to detect the resulting response curve.To get a rough idea about response I just used a bipolar constant vs a frequency constant module and studied value readouts. I guess to get really exact values one would do the same.
To detect the response curve either Silent Way or Ableton should work as well.
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

Spielraum wrote: Sun Sep 12, 2021 4:34 am nice analysis, should mean, left below, and right above? but somewhere in the middle it is correct, but with offset? that would be the starting point!

if you evaluate scope > cv and create a table with actual and target scopevalues, then i could try to calibrate the curve with scopelogic.
Ps.: today i developed a logic for the other issue that I was about to give up. now it works perfectly ...

never say never
cheers
Thanks!

The tracking doesn't drift over range, but seemingly randomly differs up to +- 20 cents on some notes.
It sounds like what Bitwig does when it tries to tune is it sends of one note per octave, and then I assume it interpolates between them. However while that makes sense from what I hear when it performs the tuning, I cannot really see that in the response curve or the per note drift values. But since the drift is smaller than when I simply tuned with a half wave rectifier it seems it has to do with the linear interpolation between measured points in an exponential curve.

As for the table, the values in the Silent Way mapping should be possible to use directly.
Staring with C0 it says 0.00036621
So if you convert signal to unipolar and scale it up again like in my example (updated the image in my previous post for clarity and can send the CLM if you like), when value is 2147483647 * 0.00036621, frequency out should be corresponding to the value you get when generating C0 in scope.
But maybe it is better getting the actual int values directly for better precision. I can try to set something up in modular and record the value for each note.
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

Seems I was wrong about the last one. First of all, looking at the silent way data, Scope doesn't seem to use the full positive range since note 127 is 0.56887817.

I did like this to read out the int and float values for a note, but doesn't make me any wiser:
Image

Some more head scratching to do it seems :\
User avatar
Spindrift
Posts: 100
Joined: Mon May 18, 2020 1:04 am

Re: Freq to V/Oct

Post by Spindrift »

Seem like I confused things with the freq 3 note. I figured I can use it to quantize freq, but note values are a completely different range. But doing quantization correctly I can easily find the values:

Image

Also I noticed that Silent Way doesn't really track perfectly. Only slightly better than the solution I did with logic modules (+-15 cents). Haven't really bothered me...I guess it can be called a feature for authentic analogue sound :)

There are slight differences sometimes what I get in scope and what is written in the mapping file, and if I adjust them to match what I see in scope tracking is improved. Will go through all notes an make an updated version.
Post Reply