Giter Site home page Giter Site logo

karnpapon / anu Goto Github PK

View Code? Open in Web Editor NEW
29.0 1.0 3.0 42.46 MB

regex step-sequencer / live-coding environment

License: Creative Commons Zero v1.0 Universal

JavaScript 65.17% Rust 23.38% CSS 5.83% SuperCollider 5.62%
livecoding regex sequencer music

anu's Introduction

anu

a tiny backend-agnostic step-sequencer/live-coding environment that harnesses the power of matching patterns (RegEx) to create triggers. as the name suggests "anu" (or "อนุ"), which in Thai grammar denotes a prefix meaning "small", "sub" or "minor". It can be prefixed(compatible) with any others software/hardware that support OSC or MIDI protocol (more to be implemented).

unlike others conventional step-sequencers, "anu" explore a new musical expressions and territories, while still balancing deterministic and stochastic processes (previously, this project have been developed under the name "seeq").

written in plain JavaScript with dependencies as less as possible in minds. powered by Tauri, a framework for building tiny, blazing fast binaries for all major desktop platforms.

watch talk: [ Regular Expression as an Irregular Musical Expression ], @ CreativeCoding meetup 2023, Thailand (organized by Creatorsgarten)

 

usages

  • [OSC]: sending OSC message (based-on oscd)
    • in case of sending sequencial messages (like Arpeggiator), use | as a delimiter, eg. "msg1" 440.0 | "msg2" 450.0 will send "msg1" 440.0 and "msg2" 450.0, respectively when triggering.
    • within sequencial messages, you can have any type that OSC is supported including an Array (see complete support list here), which means you can send something like "msg1" 440.0 [12,44,true] | "msg2" 450.0 [30,20.1,"msg inside an array"]

features

  • lightweight and cross-platform (application size only ~9mb)
  • support sending OSC
  • support sending MIDI
  • precise clock scheduling
  • mutable marker
  • reversable marker
  • adjustable BPM (without jittery)
  • fault-tolerance regex
  • live-performance oriented
  • adjustable note-ratio per marker
  • mono step (when finish running current marker it'll automatically run the next marker, and so on, basically the marker will run one-by-one)
  • [!experimental] ratcheting

download

building the native app

developing

  • yarn dev, for development

caveats

  • cannot be built on aarch64 and arm, since it's blocked by linuxdeploy. #4174 #175

inspirations

draw an inspirations from Xenakis's work Achorripsis(1956) and Esoteric Environment like Orca also others obsoleted music software.

anu's People

Contributors

dodadoa avatar karnpapon 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

Watchers

 avatar

anu's Issues

tauri doesn't use NodeJs

Bug report

Required System information

  • Node.js version: 16.14.0
  • NPM version: 8.3.1
  • Host: aarch64-apple-darwin

Describe the bug

since we currently trying to use tauri. unfortunately, tauri doesn't use NodeJs for server stuff. hence, we need to get around with this by implement sidecar, I guess.

Expected behavior

able to "require" node_module into the app.

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.