New polyhonic Teensy DIY Sampler

A sign of life...
I think I'll choose a dark blue as the background color for all the LEDs on the LED ring, and change to orange when I turn up the volume.

20250316_200727.jpg
 
All buttons are illuminated! Below the mod control is the fixed control for filter resonance.
With the buttons Mod 1-4 a different modulator source can be selected and controlled with the Modulation controller.
 
Hello friends :)
The first circuit diagrams from Degenerator2. Circuit diagrams for the MCU, power supply, MIDI, and display are coming soon.
The control panel consists of seven ATiny404 modules. Each module has an analog input for four buttons, an analog input for a potentiometer, and a digital input for an encoder. The module is addressed via solder bridges on the mainboard. Pressing a button, encoder, or potentiometer generates an interrupt signal on the ATtiny processor (PB3). The interrupt signal is sent to the Teensy processor via the bus line and evaluated.

Degenerator2 Prototyp
Degenerator2.jpg

Control_Panel.png

LED_Panel.png

MCU.png

Degenerator2_Back.jpg
 
Last edited:
My prototype schematic is finished. One or two things will definitely change. For example, the decision as to which effect module will be used in the Degenerator2 isn't quite clear yet. But the time will come, and the idea will come ;-) With that in mind, I wish you all a happy Easter and always keep your hands on the instruments :unsure:

MCU_Power.png
Control_Panel.png
LED_Panel.png
Audio_Panel.png
 
Really nice project Rolf!
Besides, just wanted note how elegant and intuitive the schematic drawing is. Beauty!

For the FX module, perhaps this could be an inspiration. Some time ago i started to work on an adaptation of the Jeannie Synth, with most components being SMT, AUX in (using codec instead of an DAC only), already built in FV-1 and other tweaks.
One of them was adding a 2nd module with Teensy4.0 used as a pure FX processor only, acting as "middleman" between the main T41 and the DAC.
Jeannie_HX.jpg
The FX Teensy module would work as I2S slave, receiving all the clocks from the main T41 and being inserted in the I2S data line. Bypassing it, if the module in not used is easy by bridging the Send/Return I2S data pins. Parameter control would be done over I2C.

In the end i did not finish the project, it has some HW changes, which would require to mod the original Jeannie firmware. I wasn't sure if i will have enough time to do all the changes and maintain the alternative version. So it ended up being just a design excercise.
 
Nice Jeannie project. I also had the idea of using the Teensy 4.0 for digital effects. But the question is, can you clone the beautiful effects from the FV-1 with the Teensy 4.0?
 
I have now installed the Teensy4.0 effects module into the Degenerator2. In Teensy I use the Stereo Plate reverb by Piotr Zapart on www.hexefx.com
It is based on the 32-bit floating point OpenAudio_ArduinoLibrary from Chip Audette

Fx parameters

Main Controls
* Bypass button
* Size - reverb time
* Diffusion - lower values create more echo reflections in the reverb tail
* Mix - dry/wet mixer
Filter Controls
* LoCut - reverb tail bass loss
* HiCut - reverb tail treble loss
* Lowpass output treble control
* Hipass - output bass control
Freeze Controls
* Freeze on/off button
* BleedIn - controls how much of the input signal is fed into the reverb tank while in Freeze mode
Pitch Controls
* Pitch - main pitch shifter applied to the whole reverb sound, range from -12 to +24 semitones
* Pitch mix - main pitch shifter dry/wet mixer
Shimmer Controls
* Shimmer - amount of Shimmer effect applied to the reverb tail
* PitchShim - pitch setting for the Shimmer effect.

Sounds pretty decent. In this example, I'm playing a sample and adjusting the FX size and FX mix.


20250524_094837 (1).jpg
 
I'm trying to use AudioEffectPlateReverb_F32 on Teensy4.0 as an I2s2 slave (Teensy4.1 is the I2s master) and PCM5102 as the DAC. The examples only use SGTL5000 or WM8731 as the DAC. How can I modify the code for PCM5102?
 
Piotr Zapart's complete Stereo Plate Reverb is now installed in the Degenerator2. Parameter control for the Teensy_Fx is currently still via a web interface. The data connection between the Teensy_Fx and the main MCU (Teensy4.1) will later be established via an internal MIDI bus and touchscreen menu.

 
Hi Rolf,
if you'd like to play more with effects, i have just created an example project including: Plate Reverb, Ping Pong delay and Phaser.

This is the signal path:
signalPath.png


The parallel Delay/Reverb path allows to use the Freeze functions, ie, freeze the reverb and play with delay over it or vice versa.
Ontop, there is 2-12 stage stereo phaser for more sound experiments.
Delay can create chorus/flanger sounds with short times and enabled modulation.

Project is compatible with TeensyAudioBoard. For slave I2S modes you will have to modify the I2S components, as in the reverb demo.
There is still enough CPU power to add more effects.

Have fun!
 
Yes, that's great :) I'll test it out. I've been thinking about incorporating several effect engines into the degenerator2.
 

There was an update for the Phaser in the library, click Dependencies/Update in the Platformio, it will pull the changes from github.
The Feedback control for the Phaser has 0 at value 50 (CC value 63), with negative maximum at 0 and positive max at 100.
Positive & Negative feedback gives a different sound touch, esp. at higher settings, like almost self resonating.
The 3rd input is a modulation input, disables the internal LFO if present.
 
It's not missing, Reverb&Delay internal mix is fixed to 1.0 (full Wet) because there is an external Dry/Wet mixer for the Delay/Reverb combo.
Main tab has controls for the mix ratios. Having too many mix controls would be confusing.
Also the Bypass function for the reverb and delay is set to OFF, meaning they output silence when disabled.
 
Hallo zusammen:Liebe:
Eigentlich wollte ich eine Radtour machen … Aber ich hasse Regen und war neugierig auf die Implementierung von Piotrs neuer Effekt-Engine mit Hall, Echo und Phaser. Also habe ich mich hingesetzt und programmiert. Piotr gebührt jedoch Anerkennung dafür, dass er es geschafft hat, ein großartiges Effektmodul auf Basis eines kleinen Teensy4 zu entwickeln. Verzeihen Sie mir, aber deshalb verlinke ich hier auf seiner Website , auf der er weitere musikalische Köstlichkeiten anpreist.
Nach einigen Codeänderungen meinerseits funktionierte alles reibungslos. Die Effektparameter werden aktuell über die Weboberfläche gesteuert. Später werden die Parameter über den Degenerator2 gesteuert.

 
Last edited:
Lots of fun! :)
The LFO depth control works a bit different from the usual one Depth knob version. Top + Bottom sets the boundaries, the LFO will be shifted to operate in the Top-Bottom region (they can be flipped). Setting the Bottom to 0 and the Top to 100 will result in maximum modulation range.
Here is a demo of how it works:
The mix control for the phaser also affects the modulation depth. For the best results it should be set to 50.
 
Four of my Teensys broke today. I have no explanation for this. I simply soldered a TxD pin from the first Teensy4.1 to the second Teensy4.0 on RxD. I limited the power supply's current to 500mA. After switching it on, the power supply went into current limit of 500mA, and the Teensys didn't do anything. When I examined the Teensys, I found that the RxD pin on the Teensy4.0 was shorted to GND. The 3.3V pin was also shorted to GND. Both Teensys are powered by the same +5V voltage source. I disconnected the both USB power supply pads on the Teensyboard.

I checked my wiring again and found no errors. I then inserted two other Teensys and powered the circuit again. The power supply again indicated a short circuit and went into current limiting. Both Teensys are defective again. I then powered the circuit without the Teensys, and the current was a few mA. I have no idea what the cause is. I have now ordered two new Teensys and will solder a 1k resistor between the TxD pin and RxD pin.
 
Regarding the last post: I used the 3.3V voltage from the Teensy4.1 (I2s master) to control the LED driver (24 LEDs). The LEDs are low-current and consume approximately <50mA together. When the +5V supply is switched on, the LEDs are off.

I use 7x ATtiny404s for the potentiometer and button sensing. The ATtinys are powered by a separate +3.3V voltage (not via Teensy). The ATtinys are connected to the Teensy4.1 via an SPI bus. The 4.7K SPI pull-up resistors are connected to the separate +3.3V voltage.

I'm going to change the circuit now. I'm going to separate the +3.3V voltage from the Teensy4.1 for the LED drivers and connect it to the separate +3.3V voltage. This way, I don't have any load on the 3.3V pins of the Teensy
 
Hello everyone.
Because of the defective Teensy4 modules there are now changes in the circuit diagram of the Degenerator2.
There are changes to the Degenerator2 power supply circuit diagram. There is now only one +3.3 V power supply.
The +3.3 V power supply of the Teensy4 modules is no longer used.

For the parameter control of the Teensy4 effects module (U7), I soldered a 1 kΩ resistor to the RxD input (pin 2) of the Teensy Fx (U7) as a precaution.
In the event of large voltage differences between the two Teensy processors, the TXD output of Teensy4.1 (U4) is protected.
The Teensy4.1 is programmed as an I2S master and sends its digital audio data via the I2S bus to the Teensy4.0 Fx processor (U7).
The Teensy4.0 (U7) is programmed as an I2S2 slave Input and sends its audio data directly to the PCM5102 DAC.

Degenerator2 Circuit Diagram V1.2
Schematic_Degenerator2.png
 
Last edited:
Back
Top