PDA

View Full Version : [posted] Polaron DIY drum machine



a_guy_called_tom
11-22-2018, 02:44 PM
Hi all,

To round off the recent wave of teensy based DIY drum machines, here's my take on the subject, the polaron (one can never have too many drum machines). The project is driven by my curiosity to understand and experiment with interaction patterns on digital musical instruments and how to achieve playful workflows that foster experimentation with sound and yield surprising results.

The polaron is a circular 16 step, 6 track digital drum machine and it combines features from other drum machines that i know and love (e.g. parameter locks / ctrl-all style editing of the elektron machinedrum) with some unique new features that i found useful while developing the polaron (e.g you can switch patterns for each instrument track individually).

15212

15213


https://vimeo.com/302283771

https://vimeo.com/302283771

The project is an ongoing effort and fully open source, see: https://github.com/zueblin/Polaron

Thanks Paul and everyone involved in making the teensy so awesome for audio projects. Working with the audio-library really was a breeze and almost feels like patching a modular synth.

dkryder
11-22-2018, 06:57 PM
looks interesting. on github you have a note that this is W.I.P. and not working correctly yet. can you talk a bit about what the issues are? thanks.

a_guy_called_tom
11-22-2018, 07:25 PM
The PCB/hardware works fine for me (but i'm not a electrical engineer, so there might be things a pro would do differently). There is an annoying ground loop, when the polaron is powered via Laptop USB and the audio goes back into the laptop via soundcard. I don't think i can do much about this, apart from trying out one of those audio ground loop noise isolators. The software also works fine, timing of the sequencer is fine and i haven't had any crashes. But the software is still in constant development, the sounddesign might change, features might be added, changed or dropped. So no major blockers IMO, just an evolving thing (which is why its fun)

dkryder
11-22-2018, 08:08 PM
ok. one other thing i noticed, (and i'm not an e.e. so if there is an obvious valid reason for this i would not know), is the teensy/chip sector is flipped in relation to the rest of the board and was wondering why? also, is the bare pcb something you have extras of at this time you might want to sell to interested parties to increase testing? thanks.

a_guy_called_tom
11-23-2018, 05:50 PM
The main reason for putting the chip and shiftregisters on the back is of aesthetic nature, i didnt like the green pcb of the teensy combined with the black of the main pcb. Secondly, i want to keep the front as flat as possible, so that its possible to put everything behind a faceplate or even inside a case. Also it is possible that the space above the teensy on the front might be used for other user-interface elements in a future iteration of the pcb.
i only have 4 extra pcbs at the moment, and need around 2-3 of them for myself, but if you're interested in the last one, please send me an email with your post address (my email is on the github page) and we can probably arrange something. My plan is to order a bigger quantity of pcbs somewhen before christmas.

dkryder
11-23-2018, 06:39 PM
ok. thanks. i sent an email.

urbanspaceman
11-24-2018, 03:59 PM
Very beautiful and inspiring design!

a_guy_called_tom
11-25-2018, 04:03 PM
Very beautiful and inspiring design!
Thanks, glad you like it! Interesting concept also on the shapeshifter project, love the included breadboard for trying out different sensors! Looking forward to see what people do with it.

a_guy_called_tom
12-07-2018, 06:44 PM
Made another video of the Polaron and Blofeld both synced to ableton live. The patterns have been programmed in advance and during the video i'm playing with track mutes and pattern switches and of course the cutoff knob on the blofeld :D


https://www.youtube.com/watch?v=D49XmEigrU4

urbanspaceman
12-08-2018, 02:03 AM
@a_guy_called_tom
in your github i see that you use the delay function for the step's leds..
but this introduce a latency? is not better with millis()?

I ask you because i have the same problem, i have 2 shift register for the steps led but the leds are lid only for a fraction on seconds without the delay

a_guy_called_tom
12-08-2018, 11:13 AM
@a_guy_called_tom
in your github i see that you use the delay function for the step's leds..
but this introduce a latency? is not better with millis()?

I ask you because i have the same problem, i have 2 shift register for the steps led but the leds are lid only for a fraction on seconds without the delay

I use delay() only in the setup function. Its used for a short animation that lights up all leds when the unit its powered on. In the main loop i don't use delay (for reading the shiftregisters i use delayMicroseconds(5), but this is so short, it should not matter in the timing of the sequencer).
The timing/stepping of the sequencer is handled in Sequencer::shouldStepInternalClock(). This method doesn't block the main loop like a delay() call, it just returns false until it is time for the next step of the sequencer.

urbanspaceman
12-10-2018, 11:22 AM
Ah, ok
I need to check my code because the shift registers that drive the led do not keep the LED lid but only make a very brief (almost invisible) pulse.

r00n
12-16-2018, 08:36 AM
nice work.
im reading your code to learn how to structure classes.
Thanks for sharing.

Robin
02-25-2019, 08:40 PM
Awesome project! It went up on the project blog today :)
https://www.pjrc.com/polaron-diy-drum-machine/

a_guy_called_tom
02-27-2019, 06:11 AM
Thanks Robin for posting this and the awesome teensy!

drjohn
03-01-2019, 11:16 PM
Great project! Is this obligatory 3.6 or could I squeak by with a 3.5, perhaps with overclocking?

a_guy_called_tom
03-02-2019, 11:03 AM
Great project! Is this obligatory 3.6 or could I squeak by with a 3.5, perhaps with overclocking?

I've never tried to run the polaron with a teensy 3.5. In terms of hardware layout, i don't see any problems, as the 3.6 / 3.5 seem to be pin compatible (as far as i can see) and i only use 3.3v everywhere. In terms of performance: I don't know how much room i have left now using the 3.6. My strategy is to just add features/audio-objects until i start to notice drop-outs/glitches/bad timing. So far that hasn't happend. I assume that most of the cpu cycles are currently used by the audio-synthesis part of the instrument so if you run into a bottleneck you could always make some of the voices a bit simpler by removing some audio objects. Next time i order some teensys i'll add a 3.5 to test this, but if you feel lucky i would say just give it a try :-) If your interested in buying a pcb, send me an email, my address is on the github page.

a_guy_called_tom
06-13-2019, 07:29 AM
I've never tried to run the polaron with a teensy 3.5. In terms of hardware layout, i don't see any problems, as the 3.6 / 3.5 seem to be pin compatible (as far as i can see) and i only use 3.3v everywhere. In terms of performance: I don't know how much room i have left now using the 3.6. My strategy is to just add features/audio-objects until i start to notice drop-outs/glitches/bad timing. So far that hasn't happend. I assume that most of the cpu cycles are currently used by the audio-synthesis part of the instrument so if you run into a bottleneck you could always make some of the voices a bit simpler by removing some audio objects. Next time i order some teensys i'll add a 3.5 to test this, but if you feel lucky i would say just give it a try :-) If your interested in buying a pcb, send me an email, my address is on the github page.

I can confirm what @drjohn has already reported to me a while ago (thanks for trying this @drjohn!): The current Polaron Hardware and Firmware work fine with a teensy 3.5, no problems at all so far (they even run in sync :D ). I'll probably stick with the 3.6 as the default for futher development, but will test with the 3.5 from time to time.