Totally down for an MK2
I’m going to need a bigger case.
Definitely what I would recomend.
Sounds like this is getting closer to what I’m looking for, with the amplitude adjusted outputs and sine. I’d wish for more positions on the octave switch, my Befaco VCO has a 10 position one and I don’t consider that excessive. I was considering 9 positions, 0 to 8V, to allow some wiggle room with a 10V reference. Maybe that could be bodged, though. The other thing is the tuner — it’s clever and I can see how it could be useful for live performing but I’d rather not have it — if tuning by ear isn’t good enough I’ll just use an external tuner. Then again I’d probably repanel anyway (no disparagement intended, I just want a different look), so leaving that out would be easy enough. Big question though is, when would it be available?
Yes please on the sine wave output! I’ve been wanting that as I use it a lot in my DAW with Serum but would like a hardware option with it too.
Sines are not too useful for East Coast style subtractive synthesis, but from what little I understand of West Coast synthesis they’re all over that, with wavefolders to add harmonics instead of filters to subtract them. And wavefolders are cool, so yes, bring on the sines.
Also, they sound cool all on their own.
Triangles are good enough for me lol.
ChristianBloch
“Also, they sound cool all on their own.”
indeed they are also fine and dandy unmodified… I have had 9 of them in my synth for a year and a half completely unmodified and they are more than fine as they are and have continued to work no problems… polystyrene caps are the only thing id recommend for a bit more pitch stability.
obviously mods to make em better are always good! but mandatory isnt necessarily mandatory haha
but I figured id comment here as today! found somewhat a solution to the PWM situation, increasing the pulse width mentioned it over on the1222 page. but ill put it here. it increases the pulse width and also counteracts the drift by sending a small bit of the pwm voltage back into the pitch input
swap R13 with 200k (or even smaller!!! to be honest I didnt test anything smaller)
and then add 20M (I used 2 10M in parallel from the two solder lugs on the resistors.
*R42 is changed for future ones mind on the board at least. little note on it
I’ve got a question for anyone with the knowledge.
I’ve managed to get the Arduino to provide auto tuning assistance, aiming to prevent any potential drift due to being knocked and allow the situation where you need to be able to throw the dial onto the note you want and let it do the rest. It works in its current experimental state, but before I go any further, I wanted to check if anyone can see if what I’ve done will destroy the unit.
Setup:
- I’ve used a very simple 2N2222 NPN transistor across the back end of R24 resistor to the centre of the pot. I’ve added a resistor, which seemed to stabilise the tuning.
- The 2N2222’s base is controlled by the Arduino’s pin D11 (with a resistor between).
Programming:
- The Arduino’s pin D11 starts at a mid range analogue output. It will either increase/decrease analogue out, depending if the turning is high or low.
- If another note is manually tuned, there is a small delay in the auto tune and D11 is reset back the mid range.
- To speed up the tuning, the analogue output will increment in jumps unless it goes too high/low and needs to come back the other way, which it will then do so in increments of 1.
Interesting! I would’ve probably thought about putting a filtered PWM output through a resistor (maybe 1M or so) into the CVINPUTS node. Is the transistor approach better for some reason? Welcome to the forum.
My transistor approach is simple down to lack of knowledge and understanding outside individual components. I’m approaching this more from a programming point of view of making the most of the Arduino. I only just thought of checking the outputs to each wave form for any issues, so might check that out now. If there is a better approach, I would definitely prefer to look into it.
The Nano’s D11 is a very audible 490 Hz PWM output, so not entirely sure how this can work. Can you post your schematics?
Here’s a photo (please don’t judge the dodgy nature of experimenting on the board).
Everything is working great until I tested it on the high and low octaves, at which point it wasn’t very responsive. I’m guessing this is due to the (random) resistor value I added in series with the transistor to stabilise the turning.
I’m starting to see this is not a simple issue and possible not going to work as planned. Manual tuning is fine as is, this is more an experiment into further potential.
I’d definitely suggest a low pass filter on that PWM signal
and as mentioned above, putting that through a resistor of probably 1M or even higher to the CVINPUTS node (3340 pin 15) might be worth trying.
Ok, I gave that a go and I get a lot more notes auto tuning now. I used a 2M resistor after giving up looking through the nest I have on my desk for a 1M. I still get little to no response on the lowest octave notes and its hyperactive on the highest, but the mids are all tuning great. Its good to be able to dial up each octave and the notes fine tune themselves automatically.
Will input from the CV effect this, being connected to the same pin on the 3340?
It’s a summing node; there already are several things connected to that point through resistors. The currents are summed and the individual voltages aren’t affected.
Sounds like a useful mod! Nicer if it were well behaved at high and low frequencies but good anyway.
I’m able to get the high ends more stable through programming a lower analogue out value range. I will keep playing with it to see if I can get it more stable and will report back if there is any success. Thanks for all your help so far.
It works! Thank you analogoutput for all your help getting this working. I managed to get the higher and lower frequencies working after noticing a couple of things in the programming. Its auto tuning like a dream. I just need to refine my program code now as it looks as messy as my desk is.
Two factors were causing most problems. First, I have some animation code that activates after a frequency is stable for a set time (which was preventing the lower frequencies from tuning). Second, the original code (which I’ve developed my code from) there seems to be a crazy high number in the ‘if’ statement when checking for high C (‘25590>frequency’ instead of ‘2590>frequency’). I’ve also changed all the top end frequencies to look for ‘>=frequency’ instead of just more than, so that the nothing is skipped.
I’ve also improved tuning with the programming as follows:
The higher frequencies appear to be more erratic, so I’ve put any high frequencies through an exponentially weighted moving average filter. I’ve also put all frequencies through a moving average filter (including the already filtered higher). This has stabilised the readings a lot.
As the higher frequencies are more sensitive to changes, I’ve given them a smaller analogue out range and only increase/decrease the output by 1 when tuning. For the lower frequencies, I’ve given them a larger analogue out range and given them bigger jumps in increases/decreases. For the mids, I’ve given them something in-between.
If anyone wants to give this auto tuning mod a try, here is my modified Arduino code that was originally written by Jos Bouten and inspired by Amanda Ghassaei and LookMumNoComputer. I’ve added a moving average filer to the frequency input to try and smooth out some of the jumpy high frequencies, so you’ll need to import the <Ewma.h> library.
I found that in both the original and in Jos’s code, there are some overlapping frequencies for some notes, which cause small glitches of the leds. If anyone reading this is having any problems with erratic behaviour of the highest frequencies and mid F#, you may want to look at the frequency ranges in the code you are using. I have removed any overlaps in my code but not tested the exactness.
You will also need to follow analogoutput’s design of the physical mod (shown above) for the low pass filter connecting the Arduino to the 3340. My code uses pin D11 of the Arduino and I connected the low pass filter to the bottom of R7 (pin facing down at C5) using a M2 resistor (because that the only one I could find at the time).