Skip to content

Beat Repeater with Sidechain Beat Recognation and Midi-Clock Sync

License

Notifications You must be signed in to change notification settings

sonejostudios/SuperBeatRepeater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperBeatRepeater

Beat Repeater with Sidechain Beat Recognation and Midi-Clock Sync.

Very useful i.e to add musical diversity by looping short parts of the stream (i.e drums).

--

Features:

  • Repeat the last loop of the stream according to the beats.
  • Beat detection from audio sidechain click track
  • Beat detection from Midi-Clock
  • BPM Slider to set the tempo manually
  • Very simple Tap Tempo if needed (no average)
  • Loop one or two bars
  • Midi Controllable In/Out
  • Loop divider Slider Control (to switch loop lenght during the loop)
  • Loop x3 Mode for Triplets (with Midi LED Feedback)
  • The REPEAT! checkbox is usable as Momentary or Toggle

Demo: https://youtu.be/C38gep4vkm8?t=6m17s

-- screenshot

--

Inputs/Outputs:

  • Audio Outputs (L,R)
  • Audio Inputs (L,R, Sidechain)
  • Midi Input: for Midi-Clock and External Controllers
  • Midi Output : for External Controller LED Lightning

--

Midi Controls (on Midi Channel 1):

  • REPEAT! [midi : ctrl 111] - with Midi LED Feedback on ctrl 111
  • Use BPM Slider instead of SC/MC sync [midi : ctrl 39]
  • BPM Slider [midi : ctrl 23]
  • Loop Divider Selector [midi : ctrl 29]
  • Set Loop Divider Value x3 [midi : ctrl 110] - with Midi LED Feedback on ctrl 110

To change the Midi Controls simply edit the source file and recompile.

--

Build/Install:

  • Use the Faust Online Compiler to compile it as Standalone Jack Application or Audio Plugin (LV2, VST, etc): http://faust.grame.fr/compiler

  • This software was tested only with Linux JackQT Faust Compiler.

  • Or compile them simply with (you'll need to install the Faust Compiler):

    • $ faust2jaqt -midi SuperBeatRepeater.dsp
  • To Start:

    • $ ./SuperBeatRepeater

--

Get Started with SuperBeatRepeater and SuperCutSequencer:

You will need to send Midi-Clock to SuperBeatRepeater & SuperCutSequencer. Use a Midi-Clock generator like jack_midi_clock (on GNU/Linux). You also need to set the tempo (bpm) to Jack Transport (which will be used by the Midi-Clock). Use any Jack-able Sequencer for that (Hydrogen, Ardour,...). If you want to use them with an Hardware Midi Controller you'll need to use the a2jmidid -e Bridge.

  • $ qjackctl &

  • (Start the Jack Server)

  • $ jack_midi_clock &

  • $ a2jmidid -e &

  • Start SuperBeatRepeater & SuperCutSequencer from the build folder :

    • $ ./SuperBeatRepeater
    • $ ./SuperCutSequencer
  • Launch the Sequencer (i.e Hydrogen) in Jack Transport Master mode.

  • Connect jack_midi_clock to SuperBeatRepeater & SuperCutSequencer (via Jack Midi). The song tempo (bpm) of the Sequencer musst be displayed in QjackCtl.

  • Connect the Audio outputs of the Sequencer (or whatever sound source) to SuperBeatRepeater and/or SuperCutSequencer. (For instance, The drums to SuperBeatRepeater and the bass to SuperCutSequencer.)

  • Start Jack Transport (Play Button)

  • If the "Midi-Clock" checkboxes in SuperBeatRepeater & SuperCutSequencer are blinking (recieving Midi-Clock signal) and the "Start/Stop" checkboxes are checkt automatically (by Midi-Clock Start/Stop messages), then everything should work fine.

  • If you have a Midi Controller with LEDs (i.e LaunchControl XL, NanoKontrol,...), connect the Midi Inputs and Outputs to SuperBeatRepeater & SuperCutSequencer (via Jack Midi / a2jmidid)

About

Beat Repeater with Sidechain Beat Recognation and Midi-Clock Sync

Resources

License

Stars

Watchers

Forks

Packages

No packages published