Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
animo [2025/08/28 13:45] – admin | animo [2025/08/31 14:06] (current) – admin | ||
---|---|---|---|
Line 3: | Line 3: | ||
**Animo** is a set of open-source music oriented software I developed. | **Animo** is a set of open-source music oriented software I developed. | ||
- | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
- | ===== Rino ===== | + | ===== 🐫 Chamo ===== |
- | + | ||
- | Rino is a live coding program based on the Lua programming language. | + | |
- | It is meant to be used with other music software via the OSC protocol (Supercollider, | + | |
- | Here, live coding means that you create rhythms and melodies through the use of algorithms. Each time you update the file you are working on, **Rino** updates the sequence. | + | |
- | It is highly inspired by the [[https:// | + | |
- | + | ||
- | If **Rino** is not in development anymore, I used it a lot during live coding events and I really rarely had issues with it. | + | |
- | + | ||
- | <code lua> | + | |
- | + | ||
- | -- Set the BPM by changing the BPM global variable | + | |
- | BPM = 60 | + | |
- | + | ||
- | -- Create a loop called " | + | |
- | function loop_kick() | + | |
- | -- Send a play command to Supercollider | + | |
- | scplay(" | + | |
- | -- Wait for 1 beat | + | |
- | wait(1) | + | |
- | end | + | |
- | + | ||
- | function loop_lead() | + | |
- | local freq | + | |
- | local dur | + | |
- | + | ||
- | -- Define a pitch sequence | + | |
- | -- Each time loop_lead() is called, it will loop through the notes (hz) list | + | |
- | freq = pseq({220, 330, 440}) | + | |
- | -- Define a time sequence (in beats) | + | |
- | -- Each time loop_lead() is called, it will pick a random note time in the list | + | |
- | dur = rand({0.125, | + | |
- | -- Send a play command to Supercollider with parameters | + | |
- | scplay(" | + | |
- | " | + | |
- | " | + | |
- | }) | + | |
- | -- Wait for a certain period of time | + | |
- | wait(dur) | + | |
- | end | + | |
- | </ | + | |
- | + | ||
- | * [[https:// | + | |
- | + | ||
- | ===== Chamo ===== | + | |
**Chamo** changed a lot. It started as a complete node based music software where users were able to code their own nodes based on a tracker with patterns and a timeline. | **Chamo** changed a lot. It started as a complete node based music software where users were able to code their own nodes based on a tracker with patterns and a timeline. | ||
Line 70: | Line 26: | ||
* [[https:// | * [[https:// | ||
- | {{: | + | {{: |
- | {{: | + | {{: |
- | {{: | + | |
<code lua> | <code lua> | ||
Line 100: | Line 55: | ||
</ | </ | ||
- | ===== Blairo ===== | + | ===== 🦡 Blairo ===== |
**Blairo** is a web browser node based graphical user interface for [[https:// | **Blairo** is a web browser node based graphical user interface for [[https:// | ||
Line 111: | Line 66: | ||
{{: | {{: | ||
+ | |||
+ | ===== 🦏 Rino ===== | ||
+ | |||
+ | **Rino** is a live coding program based on the Lua programming language. | ||
+ | It is meant to be used with other music software via the OSC protocol (Supercollider, | ||
+ | Here, live coding means that you create rhythms and melodies through the use of algorithms. Each time you update the file you are working on, **Rino** updates the sequence. | ||
+ | It is highly inspired by the [[https:// | ||
+ | |||
+ | If **Rino** is not in development anymore, I used it a lot during live coding events and I really rarely had issues with it. | ||
+ | |||
+ | <code lua> | ||
+ | |||
+ | -- Set the BPM by changing the BPM global variable | ||
+ | BPM = 60 | ||
+ | |||
+ | -- Create a loop called " | ||
+ | function loop_kick() | ||
+ | -- Send a play command to Supercollider | ||
+ | scplay(" | ||
+ | -- Wait for 1 beat | ||
+ | wait(1) | ||
+ | end | ||
+ | |||
+ | function loop_lead() | ||
+ | local freq | ||
+ | local dur | ||
+ | |||
+ | -- Define a pitch sequence | ||
+ | -- Each time loop_lead() is called, it will loop through the notes (hz) list | ||
+ | freq = pseq({220, 330, 440}) | ||
+ | -- Define a time sequence (in beats) | ||
+ | -- Each time loop_lead() is called, it will pick a random note time in the list | ||
+ | dur = rand({0.125, | ||
+ | -- Send a play command to Supercollider with parameters | ||
+ | scplay(" | ||
+ | " | ||
+ | " | ||
+ | }) | ||
+ | -- Wait for a certain period of time | ||
+ | wait(dur) | ||
+ | end | ||
+ | </ | ||
+ | |||
+ | * [[https:// |