GrooveTransformer Eurorack

GrooveTransformer Eurorack

Loading...
  • Access
  • License
  • Publication
  • Contact

If you are interested in trying out the module, there is a software version of it available here

Copyright (c) Music Technology Group, 2023

Permission is hereby granted, free of charge, to any person obtaining a copy of this hardware design and associated documentation files (the “Design”), to deal in the Design without restriction, including without limitation the rights to use, copy, modify, merge, publish, and distribute copies of the Design, subject to the following conditions:

THE DESIGN MAY NOT BE USED FOR COMMERCIAL PURPOSES.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Design.

To cite this work, please use the following BibTeX entries:

@inproceedings{Haki2024GrooveTransformer,
  author = {Evans, Nicholas and Haki, Behzad and Jorda, Sergi},
  booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression (NIME) 2024},
  year = {2024},
  month = sep,
  publisher = {NIME},
  title = {GrooveTransformer: A Generative Drum Sequencer Eurorack Module},
}
@phdthesis{Haki2025DesignDevelopmentDeployment,
    author = {Haki, Behzad},
    title = {Design, development, and deployment of real-time drum accompaniment systems},
    school = {Universitat Pompeu Fabra},
  year={2025},
}

You can reach any of the authors if you have any inquiries or questions about the project.

  • Overview
  • Demo

Source Code


Daisy Seed Source (C++)

Download File

Libre (or RPi) Code (Python)

Download File

Additional Info

Download File


PCB


Schematics

Download File: Front PCB

Download File: Bottom PCB

Gerber Files

Download File

JLCPCB Production Files

Download File

Images

BackPCP 1 BackPCP 2

FrontPCP 1 FrontPCP 2


Faceplate


Design

Panel Design

Different Finishes

No Faceplate:

NoFaceplate

Laser Cut and Laser Etched Wood:

Wood

Glass:

Glass

Glass with Printed Sticker:

Sticker


Interface Controls and Parameters


  Figure Index Name Description
Utility Parameters 1 Internal Clock Tempo Knob Sets the internal clock tempo
  2 Internal Clock CV Output CV clock output
  3 External Clock CV Input Input for external CV clock source
  4 Metronome Click Output Metronome click audio output
  5 Play/Stop Switch Starts and stops the outputs and input groove record buffer
  6 Record/Overdub/Off Switch Three-way switch to change the mode of the input groove record buffer
  7 Clear Button Clears the input groove record buffer
  8 Shift Button Enables secondary functions of other buttons
CV/MIDI Pattern Generation Output 9 CV Gate Voice Output MIDI output and CV gate and velocity output for each voice
  10 CV Velocity Voice Output  
  11 MIDI Output  
Input Groove Control 12 Input Groove CV Gate Input MIDI input and CV gate and velocity input for input groove
  13 Input Groove CV Velocity Input  
  14 Input Groove MIDI Input  
  15 Input Groove Velocity Knob Quantizes the input groove to the grid and quantizes the velocity of each note
  16 Input Groove Offset Knob  
Generation Control 17 Uncertainty Knob Sets the value of the Uncertainty parameter
  18 Uncertainty CV Input CV input for the Uncertainty parameter
  19 Voice Density Knob Controls the number of hits in each sequence by adjusting the threshold of the model
  20 Voice Velocity Scale Knob Scales the velocity output. At minimum value, no scaling is applied to the outputs. At maximum value, all velocities are scaled to the maximum value.
Latent Space Interpolation 21 Preset Selection Knob Selects the preset number to be loaded or to be saved to. A preset consists of the saved states in the latent space Z_A and Z_B
  22 Preset Save/Load Button Saves current states Z_A and Z_B to the selected preset number. Pressing with shift button loads the preset at the selected preset number
  23 Save/Randomize A and B Button Sets the current state to be Z_A or Z_B in the latent space. Pressing with shift button generates a random placement for Z_A or Z_B in the latent space
  24 A/B Interpolation Slider Interpolation position ( \alpha ) between states Z_A and Z_B in the latent space
  25 A/B Interpolation CV Input CV input to automate the interpolation position ( \alpha ) in the latent space
  26 Follow Knob Sets the value of the Follow parameter ( \beta ) in the latent space
  27 Follow CV Input CV input to automate the Follow parameter ( \beta )

Eurorack Jams

Setup:

For the GrooveTransformer’s input groove, it receives a multiple of the Intellijel Metropolix gate and pitch sequence that controls the Acid Technology Chainsaw voice in the Eurorack. In this scenario, we have opted to use the pitch values of each note event to represent the velocity of the input. The pitch and gate voltages are sent from the Eurorack to the GrooveTransformer via an Expert Sleepers ES-9 DC-coupled audio interface and a Cardinal CV to MIDI converter plug-in. Generated drum patterns from the GrooveTransformer are converted to Control Voltage (CV) and sent to the Eurorack via a PolyEnd Poly2 MIDI to CV converter.

Drum Synthesis:

We use 7 voices of the generated patterns (kick, snare, open and closed hi-hat, and lo/mid/hi tom) to trigger 4 voices in the Eurorack:
Kick: Schlappi Engineering Angle Grinder + Make Noise Moddemix VCA + Intellijel Quadrax envelope generator Snare: Intellijel Plonk Open and Closed Hi-Hats: Basimilus Iteritas Alter Lo, Mid, Hi Toms: Akemie’s Taiko

To retain generated dynamics, the kick, hi-hats, and toms are routed to individual channels on a Mutable Instruments Veils. The level of each channel is controlled with the velocity sequence associated with the corresponding voice The Intellijel Plonk has a dedicated velocity input that we utilized rather than routing the signal to Veils

Video 1
Video 2
Video 3
Video 4

Module Videos (Exploring Synthesis)

Hardware 1

Hardware 2