Skip to content

modante/Raspi-Loop-Station

Repository files navigation

Raspi-Loop-Station

UPDATE: Migrated to https://github.com/modante/LooPyStation


Inspired on the great Raspi Looper from RandomVertebrate https://github.com/RandomVertebrate/raspi-looper

Main changes:

  • New design from 8 buttons (Rec/Mute for each track) to 6 Buttons: Rec, Mute, Undo/Clear, Next Loop, Prev Loop and Mode.
    • Mode Button: Switches from Looper Mode to FluidSynth Mode.
    • Rec Button:
      • Press to Record. Press again to Stop Recording (Looper Mode) / Decrease 10 preset numbers (FluidSynth Mode)
    • Mute/Solo Button:
      • Press to Mute. Press again to UnMute (Looper Mode) / Increase 10 preset numbers (FluidSynth Mode)
      • Hold to Solo. Hold again to UnSolo
    • Undo/Clear Button:
      • Press to Undo
      • Hold to Clear track (if track 0 is selected, Reset all the Looper)
    • Prev Button: Jumps to the prev track (Looper Mode) / Decrease 1 preset number (FluidSynth Mode)
    • Next Button: Jumps to the next track (Looper Mode) / Increase 1 preset number (FluidSynth Mode)
  • Added a 7 segments display to show the Track number (0-9) (Looper Mode) or the last digit of GM selected preset (when FluidSynth Mode)
  • Support for 10 tracks (originally only 4) and could be increased till the limits of resources/latency.
  • Mute/Solo waits till the starting of the Master Track to execute it

imagen

imagen

ToDo:

  • Adapt the code from PyAudio to Python Jack Client (https://jackclient-python.readthedocs.io/en/0.5.5/).
  • Add FluidSynth to the Main program, connect it to the Looper and allow to capture it on a track.
  • Change the 3 Latched buttons of left side by 3 momentary buttons and implement some "hold" functions.
  • Remove all the debug messages.
  • ...

Note: This is a "working" version of the adapted raspi-looper with pyAudio using 3 momentary buttons for Rec, Mute/Solo and Undo/Clear and 3 latched buttons (it is what I have at the moment, I will change them soon) for PrevLoop, NextLoop, and Mode (there is a Mode where FluidSynth runs an instance and PrevLoop and NextLoop Buttons changes the preset). Then I have made a first version using Jack Client but still doesn't work: https://github.com/modante/Raspi-Loop-Station/tree/Jack-Implementation I have a problem with buffers. I am not sure if the input buffer is been recorded on current_rec_buffer (line 540) or the play_buffer is been copied in the output_port.get_array() (line 616). The result is always silence. If you can help me, please, contact me.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published