RPMate

RPMate

norns as sampler buddy

norns_rpmate

This script is a little util that allows to record a sound an play it back at various RPM ratios.

The main use is to replay the sample sped up into a hardware sampler to save memory and add some punch to samples (demonstration of the effect).

It comes with its own fork of the timber engine with some tweaks, so a sleep is necessary.

Requirements

none

Documentation

-- K1 held is SHIFT
--
-- Anywhere:
--  E1: switch page
--
-- Main screen:
--  E2: record speed
--  E3: playback speed
--  SHIFT + E1: sampler model
--  K2: record start/stop
--  K3: playback start/stop
--
-- HW Sampler Instructions:
--  E2: record speed
--  E3: playback speed
--
-- Dirtying:
--  SHIFT + E1: preset
--  E2: sample rate
--  SHIFT + E2: sample rate (x 1k)
--  E3: bit depth

Next Features

  • 3 band EQ (:white_check_mark: only via params menu, still need a UI page)
  • tuning / timestretching compensation
  • load a sample from disk
  • stereo to mono summing, phase invert toggle
  • instructions for other hardware samplers (SP1200, SP-202…)
  • support for intermediate RPM values
  • IPS units (for tape input source)
  • animations

See also

Download

No release for now, not yet on maiden.

39 Likes

I know its not your priority but a simple slice and save option with clever/fast naming would be great!
Cool stuff btw !

I thought about it, even though it’s not the primary purpose of the script (where a hardware sampler would do this duty).

In the meantime, although minimalist, sam might suit your needs.

2 Likes

Hey there. I’ve been wanting to try this out and just got around to it. After restart getting an error: load fail.

matron:

norns.script.load(“code/rpmate-main/rpmate.lua”)

script load: /home/we/dust/code/rpmate-main/rpmate.lua

cleanup

script clear

MISSING INCLUDE: rpmate/lib/librpmate

SCRIPT ERROR: load fail

/home/we/dust/code/rpmate-main/rpmate.lua:31: MISSING INCLUDE: rpmate/lib/librpmate

stack traceback:

/home/we/norns/lua/core/norns.lua:138: in function </home/we/norns/lua/core/norns.lua:138>

[C]: in function ‘error’

/home/we/norns/lua/core/startup.lua:49: in function ‘include’

/home/we/dust/code/rpmate-main/rpmate.lua:31: in main chunk

[C]: in function ‘dofile’

/home/we/norns/lua/core/script.lua:186: in function </home/we/norns/lua/core/script.lua:186>

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:139: in field ‘try’

/home/we/norns/lua/core/script.lua:186: in function ‘core/script.load’

(…tail calls…)

script clear

Need to load this up and see if I’m experiencing the same thing. Really looking forward to trying this!

1 Like

The issue seems to be that you cloned the repo as a rpmate-main folder instead of the expected rpmate.

Renaming the folder should fix the issue.

The reason why it fails is that I include the lib with path rpmate/lib/*. I later discovered that lib/* would also work, making the code agnostic to the folder name. I will update the code accordingly.

Wow! Looking forward to using this with my SP1200 & Mirage samplers

1 Like

That worked! Thank you!

I finally got access back to my MPC 2k XL and was able to test.

It works surprisingly well, even with a youtube video recorded at regular speed and then sped up w/ RPMate.

I tried in the past by feeding sped up youtube video to the MPC and the result was pretty garbage (lots of artifacts).

Also, I managed to steal the 3 band EQ from pedalboard. Its buried deep in the params menu, I need to create an UI page for more direct control.

I bet it would do wonders w/ the SP. I’ve heard it does a similar sound enhancement to the MPC 2000 / S2000 w/ the speed up / slow down trick.

Don’t know about the Ensoniq, but it’s a beast of a machine (early Alchemist sound, IIRC).

4 Likes