Giter Site home page Giter Site logo

reascripts's Introduction

ReaScripts

Lua scripts for REAPER - http://reaper.fm/

See the Wiki for details

This repository is ReaPack compatible - The import URL is https://github.com/RobU23/ReaScripts/raw/master/index.xml


If you find any of this stuff useful, and would like to buy me a beer, the internets has the answer... Beer Donation

reascripts's People

Contributors

robu23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

reascripts's Issues

Portamento

Would be very nice with portamento as well (overlapping notes slightly to trigger a note slide on 303, SH-101 etc) Only overlaps on different notes otherwise it would be legato.
Can overlap with note length / 2.

Automatic MIDI generation on repeat

It would be useful to have an option to generate MIDI on repeat.
You can check the MIDI content listening and stop playback if you like it, and if you don't stop, the MIDI will be regenerated on repeat.
You can find great melodies and rhythms just by leaving it alone.
I think a very big advantage is that you can leave it alone and concentrate on the listening.

Screenshot:

swappy-20240217_201145

Reset all sections

Implement right-click reset option for each section to, um, reset to defaults...

Ideally, on the section selection buttons, and for each set of sliders (note probability, grid/length probability, accent & probability, legato probability, etc...)

Sequencer Repeat Functionality

Allow repeats of a section of sequence data

  • Length of repeat (in number of notes, or grid size?)
  • Number of repeats

Following the end of the repeated section, the sequencer should continue writing notes from the end of the last repeat.

Should be in the InsertNotes() function

Euclidean Generator Preset List

Add a preset list of interesting rhythms for the Euclidean generator

Euclidean Rhythms
E(2,5,0) = [10100] = (23) (Persian)
E(3,7,0) = [1010100] = (223) (Bulgarian)
E(4,9,0) = [101010100] = (2223) (Turkish)
E(5,11,0) = [10101010100] = (22223) (Classical)
E(5,16,0) = [1001001001001000] = (33334) (Brazilian Necklace)

Reverse Euclidean Rhythms
E(2,3,2) = [101] = (21) (W.Africa, Latin America)
E(3,4,2) = [1011] = (211) (Trinidad, Persia)
E(3,5,0) = [10101] = (221) (Rumanian and Persian necklaces)
E(3,8,0) = [10010010] = (332) (W.African)
E(4,7,0) = [1010101] = (2221) (Bulgarian)
E(4,11,0) = [10010010010] = (3332) (F.Zappa)
E(5,6,2) = [101111] = (21111) (Arabian)
E(5,7,6) = [1011011] = (21211) (Arabian)
E(5,9,0) = [101010101] = (22221) (Arabian, S.African and Rumanian necklace)
E(5,12,10) = [100101001010] = (32322) (S.African)
E(7,8,2) = [10111111] = (2111111) (Libyan Tuareg)
E(7,16,12) = [1001010100101010] = (3223222) (Brazilian Necklace)
E(11,24,5) = [100101010101001010101010] = (32222322222) (C.African)

Non-Euclidean Rhythms
E(1,4,0) = [1000] - (13) Kick
E(5,8,0) = [10110110] = (21212) (W.African).
E(7,12,10) = [101101011010] = (2122122) (W.African).
E(9,16,12) = [1011010101101010] = (212221222) (W.African, and Brazilian necklaces).
E(13,24,16) = [101101010101011010101010] = (2122222122222) (C.African necklace).

Arpeggiator

Add arpeggiator mode for the note randomizer (yyy, not quite so random...)

  • Modes
    • Up
    • Down
    • Up/Down
    • Down/Up

Permute - Burndown Mode

Option to allow Permute to burndown notes, ensuring every note is used only once.

This will work with selected notes, but not with all note (will run out of notes...), however, should be possible to extend the pool to match all notes..

Note Randomizer Repeat Functionality

All repeat of randomized notes in any sequence data (pre-recorded or self-generated)

  • Length of repeat (in number of notes, or grid size?)
  • Number of repeats

Following the end of the repeated section, the randomizer should continue writing new notes from the end of the last repeat.

Is there a way to use MIDI Ex Machina as a plugin, not an action?

Hi, I love your script, thanks.
But is there a way to use it from FX menu? I don't want to generate MIDI and be forced to hardcode it as MIDI data, I want to keep it as settings in the plugin so I can automate them dynamically, like every other plugin (like the MIDI randomiser plugin currently works)

An error

First time user - this is the error I receive.

...s/MIDI Editor/MIDI Ex Machina/RobU - MIDI Ex Machina.lua:676: attempt to call a nil value (field 'BR_GetMidiSourceLenPPQ')

These are the settings I want

Uploading Screenshot from 2023-09-19 18-31-18.png…

"Dock" parameter missing?

Hiya Rob,

Any idea how to fix this issue when I try to pull your script through MIDI editor?

"...s\MIDI Editor\MIDI Ex Machina\RobU - MIDI Ex Machina.lua:1178: Function 'dock' requires 1 parameters, 5 passed"

Thanks matey,

R

reaper 5.70/64 fail to run

Imported via ReaPack, Load and Run via Actions and got this error:
RobU - MIDI Ex Machina.lua:416: bad argument #1 to 'GetMediaItemInfo_Value' (MediaItem expected)

Not sure if you're maintaining, I will look at this too since I'm learning Lua.

1/32nd Notes - Issue with larger grid sizes

In the sequencer, using grid values smaller than the current reaper grid causes the sequence to sound out of time. This is pronounced when introducing 1/32nd notes. When using grid sizes >= 1/16 this is merely results in syncopation of the sequence (mostly in a good way...)

The options are either to disallow 1/32nd notes, or double them up so that the following note is on at least a 1/16th grid.

Additionally, using a 1/32 grid is of dubious musical value (at least in relation to EDM.... )

Velocity range

Can you, please, fix the velocity range slider, so that it won't only generate min/max values for the note but also the mid values?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.