PDA

View Full Version : [queued] TSynth - Two Oscillator Polysynth



UHF
08-29-2019, 10:17 AM
Hello. Another day, another Teensy synthesizer. TSynth is a two oscillator, four note polyphonic synthesizer with a large number of waveforms including user defined, state variable filter, two envelopes, PWM options, LFOs for oscillators and filter, effects, patch saving and recall. I went mad with the Audio Library really and cannot begin to express how fantastic it sounds and the possibilities it opens. The full spec is below and it fully utilises the USB host on the Teensy 3.6. It will receive MIDI via the client USB from a pc (which also provides digital audio appearing as a soundcard), the USB host port (I can connect my controller keyboard directly) and normal 5-pin DIN MIDI.

17379

17380

17381

Most of the pots, switches, buttons, display and encoder are connected via two 16 channel MUXs, the rest to the Teensy pins directly. It is a mess of wires inside and a PCB would be fantastic. A demo video will follow soon.
17382

Teensy 3.6 with Audio board - this shows how the USB host port pins were soldered.
17383

Oscillators

Four voice polyphony (last note priority), two oscillators per voice, detunable with +/- 2 octaves range, Sine/Sample & Hold (like tuned noise)/Square/Sawtooth/Ramp/PWM/Var Triangle/User waveforms and level
Pulse Width/Var Triangle can be set for each oscillator with PWM by dedicated LFO or from the filter envelope
Pink noise with level
Dedicated LFO for pitch mod (can be retriggered by note on) , Sine/Triangle/Sawtooth/Ramp/Square/S&H waveforms
XOR ‘Ring Mod’ (creates lots of harmonics with certain waveforms)
Unison with all eight oscillators detunable from each other
+/- 12 semitone pitchbend range
Mod wheel controls pitch LFO amount

Filter

State variable 12dB filter (SVF) with continuous mix between LP and HP (provides notch filter) and BP
Cutoff freq and resonance
Cutoff can be modulated by dedicated ADSR envelope, dedicated LFO and key tracking
LFO has same waveforms as pitch LFO (can be retriggered by note on) and rate can be set to match MIDI clock (tempo) with variable delay per bar


Amplifier

Dedicated ADSR envelope
Glide (up to 1 octave range) with variable time
Volume for DAC output
Effect amount and mix - currently for stereo chorus but could be set up to allow choices in programmer


Programmer

160x80 IPS colour display
Encoder with button for data entry, Back button for menu navigation
Save and Recall buttons for storing patches, holding Recall initialises the current patch to match the panel controls
The programmer makes the synth very flexible with possibilities for changing User waveforms, alternative filters, alternative effects with further parameter settings.



MIDI

USB HOST MIDI Class Compliant (direct connection to MIDI controller, no PC needed)
USB Client MIDI In from PC
MIDI In 5 pin DIN



Audio


SGTL5000 Audio Shield 16 bit, 44.1 kHz Stereo out
USB Audio in/out—appears as 16 bit, 44.1 kHz audio interface on PC



Hardware

Teensy 3.6 with SGTL5000 Audio Shield. Two 4061 multiplexers providing 32 channels from the pots into two ADCs. The rest of the pots and switches use remaining pins on Teensy.
Enclosure is laser cut acrylic with etched labels filled with yellow acrylic paint (this technique could be improved with experimentation), end cheeks are 3D printed.

houtson
08-30-2019, 09:01 PM
@UHF wow - that looks excellent and super functional, I bet it's been a labour of love for a few months!
How does it sound ? I'd love to hear your 'Soild Bass' patch :)

UHF
08-31-2019, 06:59 AM
Hello, here's a demo of TSynth. Not quite Tangerine Dream... but the whole thing was originally inspired by Dave at Notes & Volts (http://www.notesandvolts.com) TS-1 synth building series. It's designed to show the range of sounds the Audio Library can produce when you take the time to design and try things out. All sounds are from TSynth with built-in stereo chorus, mixed on Ableton Live with volume, EQ and panning adjustments only. I think it could be pushed to 6 or 8 voice polyphony before the Teensy 3.6 cpu runs into problems - it is still running at 180MHz too. Solid Bass at 1:33!


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

UHF
09-05-2019, 03:18 PM
A screenshot of the Audio Design tool to answer a few questions. The modulation connections make it complicated but more voices could be added.

17512

krzychu1995
09-13-2019, 04:19 PM
Very nice project :) I listened demo on YT and it sounds for me like good VA - some thin, metallic sound, and some good basses.

But indeed, routing in design tool is kinda messy. In my first thread I asked about merging audio objects into bigger class, hope somebody will help

UHF
09-14-2019, 02:26 AM
There are quite a few improvements that could be made and it would probably end up looking like it's main rival, the Axoloti. A major improvement to the quality is anti-aliasing the waveforms and better control of the effects. Running polyphonically on a T4, you could blow away a few sub $500 synths.

aaaxon
09-14-2019, 01:50 PM
@UHF What a super project! Are you planning to make the code available for others? I'm really interested in building one.

UHF
09-15-2019, 03:16 AM
Hello, yes I'll publish the code sometime. The sound creation and the control of it is finished. All the front panel controls have MIDI CC numbers set up. Patch saving and recall isn't finished (it needs a way to handle these properly and allow naming with the encoder) and the TFT display will show parameter values as they're being changed and reverts back to the patch name after a time delay - but not totally reliably (threading). I don't like coding in C and am tolerating it. The code isn't too difficult to change for different hardware, such as display, choice of MIDI inputs.

If you decide to build something like TSynth, the wiring is the worst aspect and you either need a proper pcb or come up with a way of neatly soldering very flexible wires to every control and routing them to MUXs and the Teensy. I used stiff DuPont wires and had to solder a pin header to each control. You can disassemble it, but it's not something you would ever want to do. It is a one-off prototype.

joepasquariello
09-25-2019, 05:40 PM
Very, very nice. If this is what your prototype looks like, I would love to see your production design.

RogerD
10-04-2019, 06:55 AM
A screenshot of the Audio Design tool to answer a few questions. The modulation connections make it complicated but more voices could be added.

17512

Really nice design and clean finish. Hope you made it possible to add a few more oscillator controls. It's very similar to the one I have been building off and on. With similar complexity I have gone to 8 note poly as 3 modulated waveform objects as the core oscillators with 1 PWM, 1 FM and 1 pseudo ring modulator each fed the outputs from the original 3 waveforms in combination changing switch arrangement. Each channel goes to it's own filter and all feed to a delay loop. At the moment I can switch in a LFO modulation setup with its own filter. With the code compiled to 192MHz It all just fits in without crashing and the memory usage is about 50%. At times I have thought about going to 6 or 4 note poly but the fat chords from 8 notes are too tempting. At the moment I'm idling on this one and waiting for the development of the T4.0 to move ahead.

UHF
12-03-2019, 12:15 PM
Hello, many thanks for the front page feature. Just an update - TSynth is just about completely nearly finished :D. The synth part hasn't changed except key tracking works individually for each note as you would expect and the new stereo ensemble chorus sounds fantastic thanks to @quarterturn Also I need to thank @KurtE and everyone who worked on getting the frame buffering working on the latest releases of Teensyduino. Just two lines of code cut a whole load of complexity that never really worked properly. Display updates are now rapid and smooth - it was an 'oh thank god' moment when I tried it and it all just worked. Patch save, recall, delete and renaming also works now. All controls work via MIDI including program change commands. One thing I would have liked to add is a control for pitch modulation amount by the filter envelope. I'll do another video demo of some sounds and general use soon.

I've released the code here github.com/electrotechnique/TSynth (https://github.com/ElectroTechnique/TSynth) You'll see quite quickly that I'm not a fan of c programming. Please feel free to do something about any bad practice and wrongness. The synth does work very reliably however. If you want to try it out for yourself, it isn't too difficult to remove any hardware specific code. This is written for a Teensy 3.6 with USB Type: USB + MIDI + Audio.

I am playing with the idea of designing a PCB and a PCB-based front panel (for the first time). However, I want it to use a Teensy 4 in 3.6 form factor as I need USB host and extra IO pins. Perhaps next year if Teensy 4.x goes ahead! An alternative to the micro USB connector or pins on the PCB to connect to it, would also be welcome.

MichaelMeissner
12-03-2019, 03:40 PM
I am playing with the idea of designing a PCB and a PCB-based front panel (for the first time). However, I want it to use a Teensy 4 in 3.6 form factor as I need USB host and extra IO pins. Perhaps next year if Teensy 4.x goes ahead! An alternative to the micro USB connector or pins on the PCB to connect to it, would also be welcome.

If you aren't afraid of a little soldering (both through hole and surface mount), you might want to check out this board designed by trainer4edu/frdm4236. Note for USB host, there will be extra pins for the host pins, so you have to carefully plan how to place the board if you want to connect the USB host pins to the prototype board (or just design it in):

http://www.trainer4edu.com/edubase_teensy/frdm_4236.html
https://oshpark.com/shared_projects/GFFDokGT
https://forum.pjrc.com/threads/57913-Is-there-a-third-Teensy-4-0-breakout-board


Or there are two other designs going on, but don't use the Teensy 3.6 form factor:

https://forum.pjrc.com/threads/57672-Another-Teensy-4-0-Breakout-Board
https://forum.pjrc.com/threads/57122-Teensy-4-0-Breakout-Kit


Note, be sure to check the boards, as sometimes the PCB foundary misses creating the castellated cuts.

For USB host, you would typically use a cable like this.

https://www.pjrc.com/store/cable_usb_host_t36.html

UHF
12-03-2019, 10:40 PM
Hello, I've seen the breakout boards. My intention is to simply make a PCB and front panel and the rest is up to the individual to get the components and solder them. I want to make this as easy as possible, although the 4067 MUXs are surface mount only. The front panel will be attached above the PCB with spacers. I will probably design an enclosure similar to the prototype with laser-cut and 3D printed parts, if anyone wanted to use those. Other problems are the longevity of the micro USB on the Teensy's for long-term use to power the synth. And the audio board which will be mounted on the Teensy with the 2.5mm jack as the audio output.

Gauthier
12-04-2019, 06:19 PM
@UHF Congrats, very nice project and build. It sounds great, could be tempted to build one as all my synth are analog mono, a nice Teensy poly synth would complete my setup perfectly :)

@RogerD What are you exactly waiting for about T4 ? I use one T4 with audio shield Rev D for a multi FC and it works perfectly.

Archie64
12-21-2019, 08:16 PM
Hello. Another day, another Teensy synthesizer. TSynth is a two oscillator, four note polyphonic synthesizer with a large number of waveforms including user defined, state variable filter, two envelopes, PWM options, LFOs for oscillators and filter, effects, patch saving and recall. I went mad with the Audio Library really and cannot begin to express how fantastic it sounds and the possibilities it opens. The full spec is below and it fully utilises the USB host on the Teensy 3.6. It will receive MIDI via the client USB from a pc (which also provides digital audio appearing as a soundcard), the USB host port (I can connect my controller keyboard directly) and normal 5-pin DIN MIDI.

17379

17380

17381

Most of the pots, switches, buttons, display and encoder are connected via two 16 channel MUXs, the rest to the Teensy pins directly. It is a mess of wires inside and a PCB would be fantastic. A demo video will follow soon.
17382

Teensy 3.6 with Audio board - this shows how the USB host port pins were soldered.
17383

Oscillators

Four voice polyphony (last note priority), two oscillators per voice, detunable with +/- 2 octaves range, Sine/Sample & Hold (like tuned noise)/Square/Sawtooth/Ramp/PWM/Var Triangle/User waveforms and level
Pulse Width/Var Triangle can be set for each oscillator with PWM by dedicated LFO or from the filter envelope
Pink noise with level
Dedicated LFO for pitch mod (can be retriggered by note on) , Sine/Triangle/Sawtooth/Ramp/Square/S&H waveforms
XOR ‘Ring Mod’ (creates lots of harmonics with certain waveforms)
Unison with all eight oscillators detunable from each other
+/- 12 semitone pitchbend range
Mod wheel controls pitch LFO amount

Filter

State variable 12dB filter (SVF) with continuous mix between LP and HP (provides notch filter) and BP
Cutoff freq and resonance
Cutoff can be modulated by dedicated ADSR envelope, dedicated LFO and key tracking
LFO has same waveforms as pitch LFO (can be retriggered by note on) and rate can be set to match MIDI clock (tempo) with variable delay per bar


Amplifier

Dedicated ADSR envelope
Glide (up to 1 octave range) with variable time
Volume for DAC output
Effect amount and mix - currently for stereo chorus but could be set up to allow choices in programmer


Programmer

160x80 IPS colour display
Encoder with button for data entry, Back button for menu navigation
Save and Recall buttons for storing patches, holding Recall initialises the current patch to match the panel controls
The programmer makes the synth very flexible with possibilities for changing User waveforms, alternative filters, alternative effects with further parameter settings.



MIDI

USB HOST MIDI Class Compliant (direct connection to MIDI controller, no PC needed)
USB Client MIDI In from PC
MIDI In 5 pin DIN



Audio


SGTL5000 Audio Shield 16 bit, 44.1 kHz Stereo out
USB Audio in/out—appears as 16 bit, 44.1 kHz audio interface on PC



Hardware

Teensy 3.6 with SGTL5000 Audio Shield. Two 4061 multiplexers providing 32 channels from the pots into two ADCs. The rest of the pots and switches use remaining pins on Teensy.
Enclosure is laser cut acrylic with etched labels filled with yellow acrylic paint (this technique could be improved with experimentation), end cheeks are 3D printed.


Hi there UHF,
absolutely amazing synth, I am keenly following this as my first Teensy synth and have built my own version of the front panel (pics to follow) but have a couple of questions which I hope will help me figure out the wiring:
Firstly - can you tell me how the rotary switches are wired - are they just wired up with Resistors in serial to supply a variable voltage to the board, if so do you have the values of resistors you used to get the particular voltages to translate into the needed midi number?
secondly - what is the small black board just below the display in the photo from the rear (red, white Grey and black wires)
I am attempting to port it over to the Teensy 4.0 but would be grateful if you know of any possible points that might trip me up.
All the best.
Archie

UHF
12-26-2019, 12:02 PM
Hello Archie. That's great! Have you got just the basic Teensy + audio board producing sound with a MIDI keyboard?
Yes, the rotary switches have resistors (all about 1k5) between each pole in series - so they just act like potentiometers with fixed resistance at each pole and are read by an ADC via the MUX. In checkMux(), the 10 bit value is bit-shifted by 3 to convert the value down to 7 bits which correspond to 0-127 MIDI CC values. You could just use a potentiometer instead of rotary switches without changing the code, which is what I'm intending to use in future - see below.

The small black board is the PCB on the cheap, mass-produced Keyes KY-040 encoder. I would recommend using a nice ALPS or Bourns one instead with detent and push switch.

I haven't got a Teensy 4.0 yet and am waiting for the large version that's being planned for next year. I had problems with trying to connect the SPI for the display to the same SPI bus used on the audio board, so I moved it to different pins. I can't think of any problems specifically using a T4.0. I'm still working on the code. It now has six voice polyphony (maxing 81% cpu and 44 audio memory on T3.6), pitch mod by filter envelope, white and pink noise level choice on one pot and various other improvements, particularly to the display.


Future plan
If anyone's interested, I'm currently working on a PCB plus a PCB-based front panel (my first). It will have the two surface mount MUXs and the MIDI In opto components already on it (courtesy of possibly JLC PCB). The rest is up to the individual to buy and solder the Teensy, audio board, connectors, 33 10k pots, display and encoder, plus hardware for a case (I'll provide a design for a laser cut/3D printed one). A step further is having the Teensy and audio components already on it like the recent Kelpie synth (https://www.pjrc.com/kelpie-portable-midi-synth/). I'm planning to get rid of all buttons/switches and will replace them with capacitive touch switches on the front panel to make assembly easier, although whether these will work sending a signal from the front panel back to the Teensy, I'll find out. It will look something like this and be promoted as a DIY $99 12(16?) voice polyphonic programmable synth :D:

18544

Archie64
12-26-2019, 09:22 PM
Hello Archie. That's great! Have you got just the basic Teensy + audio board producing sound with a MIDI keyboard?
Yes, the rotary switches have resistors (all about 1k5) between each pole in series - so they just act like potentiometers with fixed resistance at each pole and are read by an ADC via the MUX. In checkMux(), the 10 bit value is bit-shifted by 3 to convert the value down to 7 bits which correspond to 0-127 MIDI CC values. You could just use a potentiometer instead of rotary switches without changing the code, which is what I'm intending to use in future - see below.

The small black board is the PCB on the cheap, mass-produced Keyes KY-040 encoder. I would recommend using a nice ALPS or Bourns one instead with detent and push switch.

I haven't got a Teensy 4.0 yet and am waiting for the large version that's being planned for next year. I had problems with trying to connect the SPI for the display to the same SPI bus used on the audio board, so I moved it to different pins. I can't think of any problems specifically using a T4.0. I'm still working on the code. It now has six voice polyphony (maxing 81% cpu and 44 audio memory on T3.6), pitch mod by filter envelope, white and pink noise level choice on one pot and various other improvements, particularly to the display.


Future plan
If anyone's interested, I'm currently working on a PCB plus a PCB-based front panel (my first). It will have the two surface mount MUXs and the MIDI In opto components already on it (courtesy of possibly JLC PCB). The rest is up to the individual to buy and solder the Teensy, audio board, connectors, 33 10k pots, display and encoder, plus hardware for a case (I'll provide a design for a laser cut/3D printed one). A step further is having the Teensy and audio components already on it like the recent Kelpie synth (https://www.pjrc.com/kelpie-portable-midi-synth/). I'm planning to get rid of all buttons/switches and will replace them with capacitive touch switches on the front panel to make assembly easier, although whether these will work sending a signal from the front panel back to the Teensy, I'll find out. It will look something like this and be promoted as a DIY $99 12(16?) voice polyphonic programmable synth :D:

18544

Thanks very much for the info - very much appreciated. I have decided to go the route of using a 3.6 and audio board ( why run before I can walk eh ) so will follow your project more easily - could I ask one more question please? - what breakout board did you use or can I use any commercially available one?
I would be very interested if you start manufacturing kits - the reason I am attempting this one is that I want to start a music tech/electronics enrichment class at the school where I teach electronics and this would be a brilliant project for them if the pcb and panel are already done. Please let me know when kits become available.
I would just like to show you how far I have come with my version so far. The front panel is two layer - the bottom layer 3mm black acrylic and the top layer 5mm clear acrylic laser etched on the rear in reverse and it will be then lit by blue led's all around to highlight the etching - sounds weird but I got the idea from pub signs where they are clear acrylic but with glowing letters. I will post some more pics when I have finished drilling and installing the led's and fitted it into the case ( I am thinking of aluminium end panels as I have access to waste I can use) I have ordered knobs just waiting for them to arrive so they will change in the final version and I have used slider pots with led's built in and a rotary encoder with a clear plastic shaft which again will have an led fitted so the knobs and buttons you see are just for a mock up for proportions.
Hope you like my efforts. Sorry for the dark picture, I will post some better ones soon.
I also have to cut the panel for the display (doh! missed it on the original 2D design)
18548

UHF
12-27-2019, 12:07 AM
Wow it's coming on! I didn't use a breakout board, just a normal 5x7cm protoboard. The Teensy is mounted on pin sockets and all the pins broken out to right-angle pin headers. As mentioned, I use Du Pont connectors - don't do this, they are too stiff and awful to solder. Use very flexible wire and some other scheme. I used this mass-produced display (https://www.banggood.com/Geekcreit-0_96-Inch-7Pin-HD-Color-IPS-Screen-TFT-LCD-Display-SPI-ST7735-Module-For-Arduino-p-1370911.html?rmmds=search&cur_warehouse=CN). All the rest of the pots, switches and knobs were similarly the cheapest. The sliders are decent ALPS ones. I built the whole thing for my own amusement and didn't anticipate going any further with it. You might find the following useful when referring to the pin connections in the code, it's what worked for me:
18550

As mentioned, I am still working on the code and will make an attempt at proper commenting when uploading to Github now. The README has more information about using it too.

Archie64
12-27-2019, 12:21 AM
Brilliant, thanks very much for this, great help.
Cheers

nixward
02-22-2020, 10:39 AM
Hi UHF, do I see in the code that you made it 6 voice polyphonic, or am I wrong? (edited)
Oh I see you already wrote about it. Thanks. This is really a fantastic project you did.
So you now are waiting for the larger Teensy 4. Do you think it will work directly, or you might have to make a lot of changes using the 4.

Archie64
02-22-2020, 11:10 AM
Just a quick update with a couple of pictures to show how my version is progressing.
I have chosen some Olivewood for the end panels as they have a really beautiful grain to them. What the pictures dont show is that the front lettering is engraved on the clear acrylic top panel and will be lit around the edges with White leds lighting up just the lettering. The ADSR pots also have individual red leds on them.
Just have to finish the wiring now :)
Thanks Again UHF for a great project.
19135

Archie64
02-22-2020, 11:11 AM
Picture No219136

Archie64
02-22-2020, 11:12 AM
Picture No 3
19137

nixward
02-22-2020, 11:37 AM
Hi Archie, this really looks great, congratulations. I love the lights in the envelope generator!

UHF
02-23-2020, 12:47 PM
Great to see it coming on! Have you made a sound yet!?

Hello, yes TSynth is now six note polyphonic and this is the limit on a T3.6. I've designed a PCB and am working on the accompanying PCB front panel. I'm going to get prototypes from JLC PCB soon when their SMT service resumes. This is still designed for a T3.6. I'll redesign for a Teensy 4 when it's available in a larger form factor and I think we're waiting for USB audio to be included?

The intention is that it will be a partial DIY kit and you'll just need to order 33 10K PCB mount pots, an encoder, seven buttons, 0.96" IPS display, some connectors and hex standoffs, and the Teensy with audio board. The total cost in parts will be much less than $100 and I'll supply files for 3D printed end cheeks and laser cut sides and base. We'll see what happens though, as this is my first attempt at producing a product.

Also I've been looking into improving the waveforms with some form of anti-aliasing (polyBLEPs). If someone with DSP experience who knows what their doing would have a go, then getting the square, sawtooth and pulse waveforms sounding good would really transform the audio library.

19148
19149

nixward
02-23-2020, 12:56 PM
Hi UHF,
The PCB and front panel look great. You do fantastic work. Where did you make this in?

UHF
02-23-2020, 01:23 PM
Hello, I'm using KiCAD. I'm trying to get a decent looking front panel silkscreen and am also playing about with Eagle on Fusion 360. The front panel will be red with white graphics, although JLC offer other colours including matt black. The components are chosen so that you can get them from a 'proper' supplier (like Mouser, RS, DigiKey...) or go to AliExpress and save, because most of them are fairly standard. The 4067 MUXs and MIDI optocoupler components will be SMDs that JLC will assemble onto the main PCB. They'll probably be offered on Tindie or whatever, I need to actually make one first though! I also need to do another demo video, as I want people to appreciate the range of sounds that it's capable of.

nixward
02-26-2020, 08:36 PM
Hi UHF,
I just came across a board that is not available yet named DAISY. It is on Kickstarter. Maybe it is worth checking out, always good to know what others are doing. https://www.kickstarter.com/projects/electro-smith/daisy-an-embedded-platform-for-music

UHF
02-27-2020, 02:09 AM
A monosynth for $399 hmmm... or a programmable poly for $99.

nixward
02-27-2020, 07:45 AM
Yes that is a big difference :rolleyes:

craigyb
03-09-2020, 09:04 AM
Hi, do you plan to release the schematics for this impressive project

UHF
03-20-2020, 07:58 AM
Hello, thanks for all the interest. This will probably be a last update. Further information for those interested will be here electrotechnique.cc (https://electrotechnique.cc). The PCBs arrived last week and I'm pleased with the results. The prototype is shown below and is fully working with updated code. I'm anticipating that it will be ready by May and the website will be updated with all the files, including plans for an enclosure. It is open source with the exception of the files to create the PCBs. I'm hoping users will contribute to the code. A Teensy 4 version will be available when it's in a larger form factor, supporting the same functionality.

19419

19420

dslocum
03-28-2020, 06:58 PM
Very cool. Why didn't I see this thread before!

I very recently built the Notes & Volts TSynth and while is was pretty good, I was also disappointed by the anti-aliasing of the saw and square waves. Could you explain how you solved that problem, or am I using an old version of something?

XFer
04-25-2020, 12:54 PM
Wow, super project!
Fantastic!!
Congratulations!!!

craigyb
07-20-2020, 08:10 AM
This is my Tsynth (Headless, all editing over USB or MIDI).

21046

bogdanabosaia
07-21-2020, 08:02 AM
This really looks great, congratulations :rolleyes:

quarterturn
07-27-2020, 01:06 PM
Very nice to see how your synth is coming along and of course I am flattered you are using my ensemble chorus code.

I have a "string machine" project using the Teensy 3.6 with a Blackaddr interface board. I managed to get lucky drilling holes in a Hammond box and have it cased nicely. String machine code is here: https://github.com/quarterturn/teensy3-string-machine

Main problem preventing it from being something I'd ever consider selling is the 16-bit nature of the audio library. It's just not enough bits when you start summing a lot of waveforms or voices. I have to cut the gain by 25% at each mixer input stage to reliably avoid digital clipping. I know Paul has said he chose 16-bit to align with the M7 floating point but I'd gladly trade that for 32-bits in the processing path. I'll admit I'm selfishly waiting for someone else who is better at c++ to do the 32-bit conversion dirty work. I could probably handle something like writing exponential curve functions for the ADSR envelope waveforms. I would really like to have the sound of exponential decay on the release phase, it sounds so much more natural than a linear ramp.