strudel
johnston
strudel | johnston | |
---|---|---|
9 | 2 | |
557 | 4 | |
13.3% | - | |
9.9 | 10.0 | |
3 days ago | over 2 years ago | |
JavaScript | Rust | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
strudel
- Strudel: A live coding platform to write dynamic music pieces in the browser
-
Velato: A programming language where source code must be a valid MIDI music file
Interesting!
Similar note-based expression can be found on TidalCycles/Strudel. although it's not valid MIDI format anymore, you can use notation like c4, f3, and make them as "pattern". Samples are also supported in the same manner:
https://strudel.cc/
And in my project Glicol, I use only numbers in the seq node. So 60 means middle C. Underscore means rest.
https://glicol.org/
-
Opusmodus: Common Lisp Music Composition System
TidalCycles doesn't. And you can try it online without installing anything.
https://strudel.cc/
Try evaluating `d1 $ s "bd sn"` to get a bass drum-snare drum rhythm going. Then `d1 $ s "bd*2 sn"` to kick the bass drum twice each loop instead of once. It can be extremely intuitive.
-
Tidal Cycles – Live coding music with Algorithmic patterns
An easy way to experiment with this is via Strudel[1], a JS port that plays in-browser (annoyingly, works better with Chrome than Safari.)
[1] https://strudel.tidalcycles.org
-
I made a command-line tool to assist me with writing polyrhythmic drum parts
It's recently gotten a great deal easier to play with thanks to Strudel, a JS variant.
Strudel REPL: https://strudel.tidalcycles.org/
One interesting feature of Tidalcycles is Euclidean Sequences, where various 'natural' ways of distributing X notes over Y durations are easily expressed:
-
How to start into coding generative music
It has a modular design so you can pick together different pieces to build into your project, if you're happy with AGPL: https://github.com/tidalcycles/strudel/
johnston
-
I made a command-line tool to assist me with writing polyrhythmic drum parts
Very excited to see this. It's very much a tool I would use, excited to give it a spin after work tonight. I also look forward to reading the code.
Other cool music tools I've seen implemented in rust:
* glicol - https://glicol.org/
* tune - https://github.com/Woyten/tune
A while back I wanted to make some tools to aid in composition and was using rust. Very partially baked, but a fun pet project to learn the language with. Generated Just Intonation pitch lattices based on my research of Ben Johnston's compositional approach. https://github.com/jcpst/johnston
-
Ask HN: What is the coding exercise you use to explore a new language?
- how easy is it to write/run tests
Here’s one version in Rust, which links to clojure, cl versions. Want to try it with Julia next due to the built-in support for rationals.
https://github.com/jcpst/johnston
https://en.m.wikipedia.org/wiki/Lattice_(music)
What are some alternatives?
polyrhythmix - Polyrhythmically-inclinded Midi Drum generator
tune - Make xenharmonic music and create synthesizer tuning files for microtonal scales.
Tidal - Pattern language
react-piano-roll - piano roll component
Taipei-Torrent - A(nother) Bittorrent client written in the go programming language
tidal-lyrics - Get the lyrics of what you're listening on Tidal
odin_rosettacode - Odin examples for Rosetta Code
stenophone - The Stenophone is a musical instrument combining stenotype and live coding
pbrt-v3 - Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
SuperDirt - Tidal Audio Engine
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!