Raspberry Pi Pico DCO

I’d definitely try and get it working by adjusting the MIDI_CHANNEL variable.

In the original code, if you change it statically, i.e. by using the original #define MIDI_CHANNEL but changing it to 2 or something - does it behave as you expect?

I will try that first, too see if I get what in expect.

But according to my code that’s what I’ve been doing.

It works if I send a change by the MIDI port, the USB works on the new channel, but the MIDI port then stops working completely.

Basically I’m using controller 3 and sending the value between 1-16 to change the MIDI channel. When it detects a controller value 3 it changes the MIDI channel to the following byte value, same as the portamento time and on/off works. I just shut the gates/voices off too so nothing is left hanging.

OK, did a quick test by changing MIDI_CHANNEL to 2 in software

Serial DIN MIDI doesnt work anymore
USB MIDI works fine

I found the issue with the MIDI din input not working, Jan limited the note on to channel 1 by setting the test to be from 80 to 90 instead of 80-9F, fixed that and the channels now work as they should.

I also found another bug in the usbMIDI input that means it didn’t respond to controller messages, fixed that as well now.

Instead of making a bitwise OR you can simply subtract the MIDI_CHANNEL from the incoming header.

So that’s fixed now, I can change channel by sending a control change. Now just have to work out how to permanently store this.

A big thanks for pushing me in the right direction

3 Likes

Hi everyone,

The two oscillators I’ve built so far based on this are pitched slightly, but consistently flat.

Is there anyway I can control this by either swapping out a resistor with a trim pot or by editing the code?

I’m guessing I can add the de-tune pot (does this pitch up too?), but I’ve already built my front panel without space for it. It also seems like, as it is consistent, it’s something I could permanently fix rather than having to tune up each time I turn it on.

Are they consistently flat with stack/detune applied or without. I found the stack/detune to be quite annoying, in unison mode it’s fine as it spreads the tuning to fatten up the sound, but when I built a dual DCO both went sharp and flat, I modded the code so only the second DCO went flat with detune applied. So it’s a dual DCO stack with detune on second voice only.

When I built the poly I did something similar so only the second bank of DCOs had detune available and they all went flat, not sharp/flat alternating.

2 Likes

Did you try commenting pico-dco/pico-dco.c at 48133a0362f18683d0d68a0ab6c749dfb5308fa1 · polykit/pico-dco · GitHub with // and recompile? This should disable detuning, stacking and FM completely.
Update: added FM

1 Like

@craigyb I built it without the detune pot, and it’s consistently flat (both oscillators are equally flat too).

@jkb thanks for your reply, I will give that a try!

Is it in stack mode?

Has anyone already adapted this into Kosmo Format?

Rob

I guess it’s very close as it is, with the PCB bang on 10CM. I usually shave 1cm or so for clearance,

1 Like

Not Kosmo, but my 5U version of the Seeed dual DCO

4 Likes

No, afaik. Shouldn’t be that hard, there is more or less only a panel and a breakout board for the jacks needed.

2 Likes

Yeah, just need to get my brain back in gear and see what I can come up with. Probably just narrow and lengthen the existing PCB and then have the jack board stacked on top…

Cheers

Rob

It’s working but behaving odd,

I get the first note, then if i release that, and try another note it does not work I think it’s the 6th note that plays next.

The only technical difference I can see is I have added the LED teltale.

For some reason the PICO will not connect it’s boot volume to the computer anymore either :frowning:

1 Like

Double click the Pico boot button

Without a voltage applied to the stack input it will drift up to 2 voice mode I think, if you have no voltage applied, tie it to ground.

FM input needs to be at 1.675v with no FM applied for it to be in tune.

2 Likes

Have i not totally disabled stacked voices and FM though.

Or is this actually by design, maybe that’s my fault, I am only monitoring one output for testing, does it always shift an out put for every note and not reset to note zero… I am just off to test something…

I also have a shed tone of noise, probably poor circuit design. Tried removing the LED tell-tale incase that deviation from design was the cause but all it did was let me not see the incoming data.

Ok yes my misunderstanding of the note to output assignment,

Assumed a simple plan like this
key on - note 0
key off - no note
key on - note 0
key off - no note
key on - note 0
Key off - no note

but having plugged all 6 outputs into a mixer I get the proper response and this assignment.
key on - note 0
key off - no note
key on - note 1
key off - no note
key on - note 2
Key off - no note

Makes sense now.

Still got some nasty noise in the background, mainly it seems when no MIDI commands are being sent.

What’s the purpose of R92 ‘LINK’?
It seems to provide some positive feedback around the two Schmidt trigger inverters. (They also don’t seem necessary.)

Have you tried putting LEDs on each gate output to see what’s being triggered. If you are using this purely as a DCO front end then all voices will sound one by one after each initial keypress. They will keep outputting as no VCA is there to shutdown the sound.

It will not make any sound on start up until notes are received, it’s a quirk of the design.

@antoine.pasde2

If you don’t want the LED tell tale input you omit the 74HC14 and other components and just put in the LINK ( probably need that added to the schematic, it’s on the PCB) . but the 7414 also acts to clean up the Midi Signal.

@craigyb , worked it out, was only using one output and expecting it to return to note 0 on key off, my mistake, makes sense now as you say the note stays on and just cycles through the 6 notes.

Just the noise to try and kill. maybe needs a re-design to get all the outputs from the Pico away from any other signals.

The pico started to respond to bootsel after being out for the day.

Cheers

Rob