|
|
Thread Tools | Display Modes |
01-03-2023, 03:11 PM | #1 |
Human being with feelings
Join Date: Nov 2015
Location: Athens, Greece
Posts: 68
|
midiLooper and ReaLearn for live MIDI clip launching with the Akai APC key 25
I was having fun with midiLooper and ReaLearn so I decided to upload an example project, so that anyone who is interested can start playing without wasting time to set up the plugins. Enjoy!
Get the example project here https://stash.reaper.fm/46023/MidiLo...01%20-%20B.RPP Plugins you will need for this project 1) Helgoboss Realearn (installable via Reapack) Website: https://www.helgoboss.org/projects/realearn/ 2) midiLooper. For Linux VSTs - from the reboot of the legendary pizMidi plugins by sleiner (https://liv.nl.tab.digital/s/P7mrmm7Dm3ACPrS) I have uploaded the Linux versions to a nextcloud fileshare temporarily as sleiner's builds on github expired. For Windows VSTs - download the latest 'pizjuce' zip file from https://code.google.com/archive/p/pizmidi/downloads 3) input_quantize - download the following two files and copy into the 'Effects' subfolder in REAPER's resource path (you can find this by clicking on 'Options' in REAPER's menu and then selecting 'show REAPER resource path in explorer/finder...' file 1: https://raw.githubusercontent.com/Ia..._quantize.jsfx file 2: https://raw.githubusercontent.com/Ia...y-lib.jsfx-inc For anyone interested the full repo where these JSFX come from, it is at https://github.com/IanHalbwachs/gianniMIDI How the project is set up This example project has five instances of midiLooper, each on a separate track each of which sends MIDI to a different track containing a virtual instrument. The powerful and flexible ReaLearn by Helgoboss is used to control the parameters of the midiLooper instances with an Akai APC key 25. I set up this controller because I currently own it, but midiLooper's paramaters could be mapped to any MIDI controller using ReaLearn. Although midiLooper can launch clips when it receives MIDI notes, I chose to control its parameters with ReaLearn because it allows visual feedback by lighting the LEDs on the Akai APC key 25, so we can see which loops are playing/recording. This example project is set up so that clip playback, stop and recording always starts at the beginning of the following bar. This is achieved using the 'input_quantize' JSFX. midiLooper does have a 'wait for next bar' option for clip playback, however this option doesn't affect clip recording, making it difficult to sync recorded loops with the rest of the arrangement. As a workaround I used the 'input_quantize' JSFX plugin before the instance of ReaLearn which controls the midiLoopers. When 'input_quantize' is active, it only allows the MIDI notes we send to control ReaLearn to pass at the beginning of the next bar, thus forcing our loop to start recording at the start of the bar, keeping our loops in sync. This workaround forced me to use two instances of ReaLearn, one placed after 'input_quantize' which handles play/stop and record/play and one placed on another track to handle master play/stop and the conditional activation of mappings, all fuctions which shouldn't be delayed until the next bar. Usage Loop Playback Each of the first five columns on the 8x5 button matrix on the APC is mapped to separate instance of midiLooper, controlling Play/Stop for clips 1-5 (of a total of 16 available clips.) Press a button to begin playback at the start of the next bar. In this example project, the project has to be playing back in order for clips to launch, because PPQ mode is selected for 'Host Sync Mode' on midiLooper. If 'sample' is selected for 'Host Sync Mode', the project doesn't have to be playing back. Loop Recording If the round button below a column is pressed (lights up red), the buttons on that column become record/play. Press a button and recording will begin at the start of the next bar. Press the same button again to stop recording and start playback. Recording only needs to be stopped if 'Record Length' is set to 'Manual'. Record length can also be set to a number of bars, and recording will automatically stop after the set number of bars has passed. Monitoring When the 'rec arm' button in pressed, the button matrix no longer controls the playback and recording of loops and the bottom row of buttons on the 8x5 matrix now controls the 'thru' parameter on the midiLooper. If 'thru' is enabled for an instance, we are able to monitor what we are playing live on our MIDI keyboard. This is useful if we want to record a loop, or if we want to play one of our virtual instruments live. (the 'monitor' option also has to be enabled for this to work). Track Volumes In the example project, the track volume control for the five tracks with the virtual instruments is mapped to the first five rotary knobs on the APC key 25. Loading a Clip into a Loop Slot Click the 'Load' button next to the top left of the piano roll in midiLooper to open a file chooser menu where a MIDI file can be selected. MIDI files can also be dragged and dropped from REAPER's media explorer or the file explorer (windows) or finder (macos). Dragging and dropping doesn't work in Linux. Drawing a MIDI pattern into the piano roll Left click on 'Loop Area' above the piano roll to set the loop start position and right click to set the end position. Left doubleclick on the piano roll inserts a note. Right singleclick on a note erases it. Left click+drag on a note moves it Shift + left click+drag moves a note freely if snap to grid is enabled. Alt+Left Click+drag right or left increases or decreases note length. Alt+Left Click+drag up or down increases or decreases note velocity. More info on midiLooper here: https://thepiz.org/plugins/?p=midiLooper Last edited by wholehalf; 09-30-2023 at 01:13 AM. Reason: Updated midilooper links |
03-19-2023, 05:59 PM | #2 |
Human being with feelings
Join Date: Feb 2020
Posts: 14
|
Downloads
Can't seem to download the midilooper plugin. Also, the jsfx files only download the code.
|
03-20-2023, 12:00 AM | #3 | |
Human being with feelings
Join Date: Nov 2015
Location: Athens, Greece
Posts: 68
|
Quote:
For the jsfx you 'save as' from your browser, or you can select all the text and copy into a text editor and save the file from there. Don't forget to save to reaper's 'effects subfolder' (from reaper's options menu click 'show REAPER resource path in explorer/finder...') |
|
05-31-2023, 06:20 AM | #4 |
Human being with feelings
Join Date: Feb 2021
Posts: 9
|
Great initiative!!
Going to try this very soon and let you know my findings. Thanks! |
06-01-2023, 12:01 PM | #5 |
Human being with feelings
Join Date: Feb 2021
Posts: 9
|
Tried and works like a charm. Great job...
It's a nice alternative for Playtime 1 from HelgoBoss which has some graphic glitches since v6.54. Hopefully he will soon continue to develop Playtime 2. Although Playtime also supports audiofiles this setup is great for midi file jamming! You use the Live Input Quantize (GianniMIDI) for quantizing incoming notes, but I found that MidiLooper also has an option to wait for the next bar to play/start quantized. This makes the use of the JSFX obsolete (for me...). |
06-01-2023, 03:43 PM | #6 | |
Human being with feelings
Join Date: Nov 2015
Location: Athens, Greece
Posts: 68
|
Quote:
For audio files, Reaper's Super 8 works quite well, you can drag n drop files from the media explorer into its slots, or ctrl+alt+click n drag media items from the arrange area. I used the 'input quantize' jsfx as a workaround because i couldn't get midilooper to wait for the next bar to start recording (it worked fine for playback), even with 'wait for next bar' selected. Does it work for you? |
|
06-02-2023, 08:27 AM | #7 |
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
|
Why not using clip engine instead of midilooper? Thanks for sharing, did not test anything yet, however.
|
06-04-2023, 10:21 AM | #8 |
Human being with feelings
Join Date: Feb 2021
Posts: 9
|
Hi, The Clip Engine is not yet ready to use as a replacement for it lacks a user interface, has a lot of setting that can only be altered by exporting and importing Lua code and doesn't support drag & drop to name a few disadvantages.
The midilooper solution is really great (and indeed needs the quantize jsfx if you want to quantize the recording start time). Thanks again for the example project! |
07-07-2023, 04:14 PM | #9 | |
Human being with feelings
Join Date: Jul 2009
Posts: 14
|
Quote:
|
|
07-07-2023, 11:03 PM | #10 | |
Human being with feelings
Join Date: Nov 2015
Location: Athens, Greece
Posts: 68
|
Quote:
https://github.com/sleiner/pizmidi/a...uns/4768983772 You need to be signed in to your github account for the downloads to work. |
|
07-08-2023, 02:22 PM | #11 | |
Human being with feelings
Join Date: Jul 2009
Posts: 14
|
Quote:
|
|
08-01-2023, 03:56 PM | #12 | |
Human being with feelings
Join Date: Mar 2022
Posts: 48
|
Quote:
|
|
08-08-2023, 03:16 PM | #13 |
Human being with feelings
Join Date: Apr 2023
Posts: 1
|
Does midiLooper accept midi CC messages? I'm trying to record bends and other info and it's not taking.
I took a look at the learnable parameter and i'm seeing MasterRec, MasterPlay, MasterRecCC, MasterPlayCC, and HostAutomation. When toggling MasterPlayCC or HostAutomation it's still not recording midi CC. Any advise? Anyone experienced this before? Thanks! |
09-30-2023, 01:18 AM | #14 |
Human being with feelings
Join Date: Nov 2015
Location: Athens, Greece
Posts: 68
|
I uploaded the linux versions to a nextcloud share and I am linking to the old windows versions from google code which work fine in windows.
Linux (sleiner reboot) - https://liv.nl.tab.digital/s/P7mrmm7Dm3ACPrS Windows (original versions) - https://code.google.com/archive/p/pizmidi/downloads |
Thread Tools | |
Display Modes | |
|
|