All Projects → daveyarwood → alda-clj

daveyarwood / alda-clj

Licence: EPL-2.0 license
A Clojure library for live-coding music with Alda

Programming Languages

clojure
4091 projects
shell
77523 projects

Projects that are alternatives of or similar to alda-clj

Dyci2Lib
"Dicy2 for Max" is a Max package implementing interactive agents using machine-learning to generate musical sequences that can be integrated into musical situations ranging from the production of structured material within a compositional process to the design of autonomous agents for improvised interaction. Check also our plugin for Ableton live !
Stars: ✭ 35 (-35.19%)
Mutual labels:  music-composition, music-generation
csound-extended
Extensions for Csound including algorithmic composition, Android app, and WebAssembly.
Stars: ✭ 38 (-29.63%)
Mutual labels:  music-composition, algorithmic-composition
kotoist
A VST plugin for live coding and algorithmic composition
Stars: ✭ 37 (-31.48%)
Mutual labels:  live-coding, algorithmic-composition
midica
A Music programming language. Translates source code into MIDI. Includes a player. Supports MIDI-Karaoke. Includes a MIDI analyzer.
Stars: ✭ 57 (+5.56%)
Mutual labels:  music-composition, alda
cl-patterns
Library for writing patterns to generate or process (a)musical sequences of mathematically (un)related (non-)compound values in Lisp.
Stars: ✭ 62 (+14.81%)
Mutual labels:  music-composition, live-coding
python-twelve-tone
🎶 12-tone matrix to generate dodecaphonic melodies 🎶
Stars: ✭ 68 (+25.93%)
Mutual labels:  music-composition, music-generation
ziffers
Numbered musical notation for composing algorithmic and generative melodies
Stars: ✭ 53 (-1.85%)
Mutual labels:  music-composition, algorithmic-composition
Alda
A music programming language for musicians. 🎶
Stars: ✭ 4,808 (+8803.7%)
Mutual labels:  music-composition, alda
hum2song
Hum2Song: Multi-track Polyphonic Music Generation from Voice Melody Transcription with Neural Networks
Stars: ✭ 61 (+12.96%)
Mutual labels:  music-composition, music-generation
tidal-cheat-sheet
A cheat sheet for Tidal, a language for live coding patterns
Stars: ✭ 38 (-29.63%)
Mutual labels:  live-coding
sunrise
NumPy, SciPy, MRI and Music | Presented at ISMRM 2021 Sunrise Educational Session
Stars: ✭ 20 (-62.96%)
Mutual labels:  music-composition
hmsl
Hierarchical Music Specification Language, Forth tools for experimental music from the 1980's
Stars: ✭ 80 (+48.15%)
Mutual labels:  music-composition
InpaintNet
Code accompanying ISMIR'19 paper titled "Learning to Traverse Latent Spaces for Musical Score Inpaintning"
Stars: ✭ 48 (-11.11%)
Mutual labels:  music-generation
PhysicalBits
A web-based programming environment for educational robotics that supports live coding and autonomy using a hybrid blocks/text programming language.
Stars: ✭ 16 (-70.37%)
Mutual labels:  live-coding
musyn
Write music together, in real time.
Stars: ✭ 20 (-62.96%)
Mutual labels:  music-composition
bmusegan
Code for “Convolutional Generative Adversarial Networks with Binary Neurons for Polyphonic Music Generation”
Stars: ✭ 58 (+7.41%)
Mutual labels:  music-generation
chords
Text-based chord progression editor
Stars: ✭ 25 (-53.7%)
Mutual labels:  music-composition
superfomus
SuperCollider bindings to Fomus Music Notation
Stars: ✭ 23 (-57.41%)
Mutual labels:  algorithmic-composition
gensound
Pythonic audio processing and generation framework
Stars: ✭ 69 (+27.78%)
Mutual labels:  music-composition
chords
A Kotlin multi-platform view library for displaying stringed instrument chord diagrams
Stars: ✭ 25 (-53.7%)
Mutual labels:  music-composition

alda-clj

Clojars Project

cljdoc badge

alda-clj is a Clojure library for algorithmic music composition and live-coding with Alda.

A simple Clojure DSL provides useful functions like note and chord that can be composed together to create a musical score. The resulting values are translated into a string of Alda code and played in a subprocess via the alda command line client.

alda-clj is intended to be used in at least two ways:

  1. In an improv / live-coding setting, using a live Clojure REPL to generate and play music on the fly.

  2. In a music composition setting, where the composition is a Clojure program / script that uses alda-clj to generate a score.

Usage

NOTE: alda-clj requires Alda version 2.0.0 or greater.

  1. If you haven't already, install Alda and make sure alda is available on your PATH.

alda-clj will shell out and use alda (wherever it's found on your PATH) to play your scores. If desired, you can specify an alternate alda executable by binding alda.core/*alda-executable* to something else, e.g. "/home/dave/Downloads/some-other-alda".

  1. Add the latest release version of alda-clj to your dependencies:
;; deps.edn
io.djy/alda-clj {:mvn/version "X.X.X"}

;; lein/boot
[io.djy/alda-clj "X.X.X"]
  1. Require alda.core and you're off to the races!
(require '[alda.core :refer :all])

(play!
  (part "piano")
  (for [notes [[:c :e :g] [:c :f :a] [:c :e :g]]]
    (apply chord (map #(note (pitch %)) notes))))

Docs, examples, etc.

API documentation, a Getting Started guide and more are available at cljdoc.

There are also example scripts in this repo that will give you a sense of what you can do with alda-clj.

Ping @dave on Slack if you have any questions or if you just want to chat about alda-clj!

License

Copyright © 2018-2022 Dave Yarwood

Distributed under the Eclipse Public License version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].