GithubHelp home page GithubHelp logo

rukano / reseq Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 0.0 108 KB

A stripped down pattern and formula interpreter for Renoise built for generating note and parameter sequences of a track pattern. Should be suitable for live coding.

Lua 100.00%

reseq's Introduction

______     _____            
| ___ \   /  ___|           
| |_/ /___\ `--.  ___  __ _ 
|    // _ \`--. \/ _ \/ _` |
| |\ \  __/\__/ /  __/ (_| |
\_| \_\___\____/ \___|\__, |
                         | |
                         |_|

ReSeq

A tool for algorithmic sequence generation and live coding in Renoise

ReSeq tries to bring some live coding ideas to Renoise. By making a simplified pattern description and allowing custom formulas and mathematical expressions, it is possible to fill the current pattern track with algorithmically produced values.

DISCLAIMER

ReSeq is under HEAVY developement. Everything can change and it's not very usable right now. Use at your own risk. I'm happy about recommendations, help, hints and suggestions you can give me. "You can't programm", "Nice tool, but not usable", "I rocked the club yesterday with your tool", anything is acceptable, I'm open for critique.

Current State

Unusable. Code won't be executed

Building the GUI. Kind of working now.

Pattern library not yet bound.

HELP

Commands

  • Note: sets the value of the note column
  • Instrument: sets the value of the instrument column
  • Volume: sets the value of the volume column
  • Paning: sets the value of the paning column
  • Delay: sets the value of the delay column

(in the future maybe fx columns will be covered)

Patterns

  • Sequence: the slots will be used sequentially (with looping)
  • Interlace: the slots will be used sequentially and subtables will be handled sequentially too (for every iteration)
  • Random: the slots will be used random, there are no checks for repetition, just random.
  • Shuffle: the slots order is randomized for every new loop, this ensures all slot items will be used, and on each loop the order will be different (more to come?)

Syntax

  • Every new line represents a new slot
  • You can write expressions/formulae on every line
  • Some variables will be passed to each slot:
    • i = The current line (from 0 to number of lines - 1)
    • v = The value of the current line
    • n = The total number of lines
    • _ = Pause/Empty value
    • x = OFF command (only for notes) TODO!
  • Some functions are already defined and can be used:
    • r(min,max) = random number between min and max
    • r{a,b,c...} = random items from the list
    • sin(), cos(), tan(), etc (the whole lua math library!)
  • Other commands:
    • cond ? true : false (if statements as ternary operator) NOTE: be careful with ifs, use only one per slot, haven't figured out how to chain them.
    • expr ! x repeats the expr x times in the sequence
    • TODO @x "expr" sets the expression for a x index in the table.
    • TODO x from here replace the pattern
  • TODO You can define your own functions in pure Lua and use them in your slots.

Examples

  • a note: 60
  • a function: sin(i) * 3 + 60
  • a control statement: i>60 ? 80 : 121
  • an operation on the current value: v + 12
  • a repetition: 121!3
  • random numbers: r(60,62)
  • random items: r{60,80,100,121}
  • a pause or empty value: _
  • interpolation from 40 to 60: floor((i/n)*20)+40

reseq's People

Contributors

rukano avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

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.