monokinetic

MBCV2 Levels

9 posts in this topic

Hi folks,

I've been using MBCV2 for a while now and I always felt like it wasn't working quite right with my synth. I went back to it this weekend and think I understand the problem now, indeed MBCV is not outputting full range CVs for me.

I'm running an STM34F4 based standard core with an AOUT. I'm not using the "Balanced output extension" as mentioned on ucapps.de because my synth runs unipolar CVs in a range of 0 to 10V. When I use this setup with MBSEQ4 to run CVs I can output CC 0-127 and get 0-10V, so I know my hardware is good.

Now, when I run MBCV2 and say for example assign an LFO to CV out 1, what I get is a 0 to approx 5V output. I think the reason is that MBCV2
assumes that the AOUT is set up with the "Balanced output extension". I base this theory on the fact that I can tweak the mod matrix to force
the LFO to a full range CV by setting offset high. I realise I could probably set up the opamp output stage of the AOUT to handle this
(double gain I guess?), but I'd prefer a s/w solution :) 

So I was wondering if that is correct, and how I could tweak the software to support unipolar AOUTs such as mine? I think a compile time option would be enough, or maybe the AOUT driver could be extended to have an option to represent unipolar vs bipolar set ups?

Thanks for reading!

David

Share this post


Link to post
Share on other sites

Hi David,

a feature that I recently implemented for MBSEQ would help here - and actually I already planned to integrate it into MBCV and MBNG as well: the calibration points.

See apps/sequencers/midibox_seq_v4, search for AOUT_NUM_CALI_POINTS

Would you like to add this by yourself, or should I do this?

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Hi there Thorsten,

aha yes I remember the new calibration stuff, it'd would be great to have in MBCV as well.....

If you would be able to do it that would be an amazing new year's present, I had a look last year and it seemed a bit complicated for my skills :)

But I'd gladly do some testing on both apps!

Cheers

David

Share this post


Link to post
Share on other sites

Ok, I will look into this later today (good to know that I'm not the only one who finds this useful :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

It's available now.

Works only with STM32F4 - in the SCS AOUT page, scroll a bit right so that you see the "Cali Offs Disp" items.

Display should be set to "Bip."

Change "Cali" to -5V, an offset will appear. This one can be increased up to 4095
Following "Cali" points are -4V, -3V, -2V, .. 5V - offsets can be changed  between -2048 and 2047

While changing the offsets, use a multimeter to check the result until value is matching.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Excellent TK! Many thanks for taking this on :) I have pulled from Gihub, compiled and had a bit of a play with it.

So far I see some things which seem weird to me:

the "Cali" list of options seems in the wrong order. For me it goes -

Off, Min, Middle, Max, Wave, -4V, -3V, -1V, 3V, -5V (at this point offset becomes editable), -4V, -3V, -2V, -1V, 0V, 1V, 2V, 3V, 4V, 5V, Max: (with offset, unlike earlier Max value). Is that expected behaviour?

When I select 5V from above list and try to change offset, as I scroll up it seems to jump down to -3840. Which is not within the range you mentioned (between -2048 and 2047 right?)

Anyway, seems like it's close. If it helps, my testing process is to set a CV channel to output the triangle from LFO 1, set the rate reasonably slow and then the -CV output of LFO1 to 127. Also, how do you recommend to set the offset values if I want say the triangle wave LFO sent to CV with level 127 to range between 0 and max voltage (i.e. ~10V)? I had planned to set 5V to maximum offset, but wasn't sure how to proceed after that! My guess is that I set -5V with offset to output 0V, 0V to output ~5V and 5V to output 10V. Is that the idea?

Oh and final suggestion: would it be possible to support the new caliaout at the Mios terminal i.e. in MIOS Studio? I ask because the way the offset jumped, now to reset I have to scroll a long way. From memory, MBSEQ stores these calibration values on the SD card. Does MBCV do the same i.e. could I just tweak the values on the SD?

Thanks muchly in advance :)

David

Share this post


Link to post
Share on other sites

Follow up having used the same hardware using MBSeq4 app:

I'm not totally sure the calibration process will solve this. I tried the MBSeq outputting CC0 to 127 to an AOUT channel. That generates the expected voltage, without me changing the calibration of the AOUT at all. It feels to me more like I need a way to tell MBCV to double the final level of the CV output.

In the process I also found something new, which I will post in the MBSeq main thread.

Share this post


Link to post
Share on other sites

I think that you mis-interpreted the LFO function of MBSEQ

To the configuration: once you store the "global setup" in the SAVE page, you could also edit the values directly with the edit function of MIOS File Browser (I think the file is called DEFAULT.CV2, search for it) - I'm doing the same, much faster :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

@TK. thanks for the tip re: storing the values in the DEFAULT.CV2 file, yes that is much easier. My encoders thank you :)

FWIW I tried this calibration stuff a bit more:

something really seems weird with the way values are entered. For example, if I set cali to 5V and try to set the offset, I can scroll up to 255 and then it jumps down to -3840. I see the same with changing the value to 0xffff in the defaults file. Is that expected? If it helps, this is what MIOS_Studio shows during those 3 clicks of the encoder to the right:
[1164.130] value=f000 (with x0=d800 x1=f000 y0=d800 y1=f000) -> result=ffe0 (offset value shows 254)
[1164.690] value=f000 (with x0=d800 x1=f000 y0=d800 y1=f000) -> result=fff0 (offset value shows 255)
[1165.852] value=f000 (with x0=d800 x1=f000 y0=d800 y1=f000) -> result=0000 (offset value shows -3840)

I have done quite a bit of testing now with Cali out, I can provide more info but I don't want to bombard you all the numbers I measured if this is expected behaviour :)

In the meantime, I have now found a way to get the output I expected from MBCV. My steps were:

on Default page, channel type must be set to something other than Note, in my case I use CC. Otherwise it impacts on the output, regardless of any MIDI note ever being actually received. This really got me for a while :)

on CV out set LFO1 to Sine, reasonably slow rate, with amp 127. Only then can I get reliable level, i.e. 0 to ~10V.

I have various other notes from my studies of MBCV recently. I will write them up more once I'm sure of some things....

Cheers, I'm having a blast with this so far. Can't wait to get my scope LCDs hooked up so I can put my multimeter away ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now