Graph-oriented live coding language and music/audio DSP library written in Rust
MIT License
Bot releases are visible (Hide)
Full Changelog: https://github.com/chaosprint/glicol/compare/v0.12.4...v0.12.5
Published by chaosprint over 2 years ago
Full Changelog: https://github.com/chaosprint/glicol/compare/v0.12.0...v0.12.1
See this example, which is very straightforward:
https://glicol-npm.netlify.app
Source code of the example:
Published by chaosprint over 2 years ago
Glicol VST now supports ~input
.
This really opens many possibilities.
Demo:
https://youtu.be/tmmBhBmIEW0
Download the zip file below, unzip it and put it into /Library/Audio/Plug-Ins/VST/
on your Mac.
For M1 users, you need to run your DAW with Rosetta
.
I only tested it with M1 chip, but old models may also work
Update:
Tested in an old Inter model Macbook. No Rust installed. Just download the zip, unzip and put the
vst
file to the folder mentioned above. Then install Ableton Live 11 trial. Go to Ableton settings to allow VST. If you have seen Apple cannot open it because of unverified publisher, just go to Mac settings Security and clickopen anyway
. Then do the scanning again in Ableton.
Known issues:
reaper
due to key conflicts: space
will always play the track rather than input codeOpen your favourite DAW. Mine is Ableton Live 11 trail. Then, make sure the DAW finds the VST.
Ableton has good guidance here:
https://help.ableton.com/hc/en-us/articles/209068929-Using-AU-and-VST-plug-ins-on-Mac
Use Glicol VST
as an audio effects.
Here are some receipts:
Dattorro Plate Reverb in VST:
https://github.com/chaosprint/glicol/discussions/83
Or you can try this sample-level one-pole filter:
o: ~input >> meta `
r = 1./10000.;
output.pad(128, 0.0);
b = (-2.0 * PI() * r).exp();
a = 1.0 - b;
for i in 0..128 {
y = input[i] * a + b * z;
output[i] = y;
z = y;
};
output
`
Published by chaosprint over 2 years ago
On your PC, plug in Bela and make sure you can visit http://bela.local
in your browser.
Then on your PC terminal:
wget https://github.com/chaosprint/glicol/releases/download/v0.11.10/glicol
If you use Mac, you need to
brew install wget
first.
Then:
scp glicol [email protected]:~
In your PC terminal:
Then:
./glicol "o: saw ~mod; ~mod: ~adc3 >> mul 110 >> add 220"
Published by chaosprint over 2 years ago
Full Changelog: https://github.com/chaosprint/glicol/compare/v0.11.1...v0.11.8
Published by chaosprint over 2 years ago
Full Changelog: https://github.com/chaosprint/glicol/compare/v0.11.0...v0.11.1
Published by chaosprint over 2 years ago
Published by chaosprint over 2 years ago
Published by chaosprint over 2 years ago
Example:
##v()#
o: speed 8 >> seq ~a >> sp \##s()#
~a: choose 60 72 0 0
Try it out: https://glicol.org/solo
Published by chaosprint over 2 years ago
Now you can write code like this:
~t1: seq 60 >> sp \##rnds()#
~t2: seq _ 60 >> sp \##rnds()#
~t3: seq _60 _ >> sp \##rnds()#
~t10: seq _ _60 >> sp \##rnds()#
out: mix ~t.. >> plate 0.1
~t..
will match all the references that begins with ~t
. That's it. Very useful for mixing to a reverb.
Try it now on: https://glicol.org
Published by chaosprint over 2 years ago
TL;DR: Glicol is a graph-oriented live coding language and audio DSP library written in Rust. try the latest version: https://glicol.org
there are a lot of updates in this release. I basically rewrote all the rust part from scratch. now the source code is much easier to read. the error handling is also more robust. just pick some highlights:
expecting...
or unexpected...
and posget_ast
function for parsing which will return a HashMap
glicol_synth
begins with a fork of the dasp_graph
crate, written by @mitchmindtree.
many features and contents are added:
const generics
feature of rust for a customisable buffer sizeVec
to HashMap
, so users can use a node id to select inputMessage
to each node in real-time for interactionAudioContext
for easier APIsnext_block()
methodHashMap
ast first and compare it with the old astnode_to_add
, node_to_update
and node_to_remove
sharedarrarybuffer
addSampleFiles
, addSampleFolder
, showAllSamples
, getRandSample