All Projects → tommaisey → aeon

tommaisey / aeon

Licence: other
A live-coding system for musical pattern manipulation

Programming Languages

scheme
763 projects
emacs lisp
2029 projects

Projects that are alternatives of or similar to aeon

tinyspec-cling
tiny spectral synthesizer with livecoding support
Stars: ✭ 31 (+40.91%)
Mutual labels:  livecoding
hydra-antlia
A collection of functions for Hydra
Stars: ✭ 45 (+104.55%)
Mutual labels:  livecoding
rs
rs - the Racket Sequencer
Stars: ✭ 16 (-27.27%)
Mutual labels:  livecoding
tilt
Live coding bytebeat-style language for the web
Stars: ✭ 30 (+36.36%)
Mutual labels:  livecoding
improviz
A live-coded visual performance tool
Stars: ✭ 85 (+286.36%)
Mutual labels:  livecoding
larastreamers
There is no better way to learn than by watching other developers code live. Find out who is streaming next in the Laravel world.
Stars: ✭ 184 (+736.36%)
Mutual labels:  livecoding
Live Py Plugin
Live coding in Python with PyCharm, Emacs, Sublime Text, or even a browser
Stars: ✭ 222 (+909.09%)
Mutual labels:  livecoding
facet
Facet is a live coding system for algorithmic music
Stars: ✭ 72 (+227.27%)
Mutual labels:  livecoding
desktop-duplication-cpp
Windows Desktop Duplication Tool for live coding presentations in C++2a
Stars: ✭ 51 (+131.82%)
Mutual labels:  livecoding
flow-synth
*UNMAINTAINED* A modular digital audio workstation for synthesis, sequencing, live coding, visuals, etc
Stars: ✭ 36 (+63.64%)
Mutual labels:  livecoding
sonic-pi.el
Emacs running SonicPi
Stars: ✭ 79 (+259.09%)
Mutual labels:  livecoding
perl-live
perl live coding
Stars: ✭ 13 (-40.91%)
Mutual labels:  livecoding
braid
Polyrhythms in Python: a sequencer and musical notation system for monophonic MIDI synths
Stars: ✭ 34 (+54.55%)
Mutual labels:  livecoding
orca
Lua port of @neauoire orca for monome norns
Stars: ✭ 75 (+240.91%)
Mutual labels:  livecoding
negasonic
This ain't Sonic Pi, but it works on the browser: www.negasonic.org
Stars: ✭ 73 (+231.82%)
Mutual labels:  livecoding
livecore
A hardcore livecoding system for realtime audio synth.
Stars: ✭ 25 (+13.64%)
Mutual labels:  livecoding
liveprinter
Livecoding for 3D printers
Stars: ✭ 30 (+36.36%)
Mutual labels:  livecoding
glicol
(Audio) graph-oriented live coding language and music DSP library written in Rust
Stars: ✭ 853 (+3777.27%)
Mutual labels:  livecoding
melrose
interactive programming of melodies, producing MIDI
Stars: ✭ 130 (+490.91%)
Mutual labels:  livecoding
tidal-maxmsp
Connecting the Tidal live coding environment to MaxMSP
Stars: ✭ 34 (+54.55%)
Mutual labels:  livecoding

aeon [alpha]

A music live-coding suite. Still under development, and not ready for prime-time yet!

Overview

aeon is a live-coding music system. That means that you can improvise live electronic music by typing into a text editor or terminal. Its primary purpose is to create sequences of musical events that can be modified on the fly.

This is far from a new idea, as the list of alternatives suggests. But aeon tries to bring some new ideas to the table, or at least to remix existing ones in novel ways. Some of these are listed in the ‘features’ document. If you want more comprehensive documentation, try the tutorial or manual.

The most important thing: you don’t need to know programming to use aeon. At least, that is my goal. Instead toyou’ll be using a very stripped-down custom notation to define patterns. I think of it a bit like HTML for music. And later you may accidentally learn some programming if you aren’t careful ;)

Installation

aeon currently supports macOS and Linux only. If you’re on Linux, you already have (and probably use) a package manager. If you’re on macOS, I recommend you install Homebrew.

# Install dependencies:
$ brew install chezscheme supercollider # macOS
$ sudo apt install chezscheme supercollider # Ubuntu/Debian linux

# Install
$ git clone [email protected]:tommaisey/aeon.git
$ cd aeon
$ chez aeon.scm

Note that some package managers name the Chez Scheme binary scheme, so the final command might be scheme aeon.scm.

You should see a Chez Scheme welcome message followed by some messages about files being compiled. This will take a short while, but should only happen the first time you launch aeon.

If everything went well, you should see the following message:

-----------------------------------------------
[aeon] musical patterns
-----------------------------------------------

Now you can check that your sound is working by typing this and pressing enter:

(pattern hello (in! (over [4 2 1 2])))

To stop the sound, type: (stop hello). To exit aeon entirely you can hit Ctrl-D or type (exit).

If you want to learn how to get started constructing patterns, sounds and projects, head to the ‘tutorial’ document.

Using a text editor

The REPL (the prompt you are now in) is a fun way to explore and test ideas while learning. But as you build more complex patterns you will want to store and edit them in text files.

The simplest approach is to write your code in any editor you like, then launch scheme aeon.scm and run (load "/path/to/my/file.scm") to evaluate it. You can resave your text file and rerun that command to change the pattern as it plays.

However, for a more seamless experience you will want two things:

  1. Send code to the REPL directly from your editor.
  2. Structural editing and navigation.

‘Structural editing’ is a fancy way of saying that your editor can navigate and edit code quickly using the ubiquitous parentheses () of scheme. This turns those annoying and fiddly parentheses into an advantage, streamlining your experience enormously. But it does take a little practice.

My plan is to create a simple plugin for VS Code that offers these features in the simplest way possible.

Until then, the best choices are:

If you’re not experienced with Emacs, note that it can take a long time to become proficient and to customize it to your tastes. However, the end result is powerful and satisfying. If you just want to make music quickly, you should use VS Code, which is more friendly to newcomers.

Troubleshooting

If you don’t hear any sound it’s likely that SuperCollider isn’t connecting to your audio outputs correctly. The log output above may give some clues, or if not, it’s worth hitting Ctrl-D to get out of scheme, and running scsynth directly, to see if it can tell you more:

# macOS:
$ /Applications/SuperCollider.app/Contents/Resources/scsynth -u 57100

Alternatives

There are many other live-coding systems that you can try, each with different approaches and design trade-offs. Here are some of my favourites:
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].