ThatOtherAndrew

ThatOtherAndrew

0-day streak
https://imgutil.s3.us-east-2.amazonaws.com/07125ab196c90172d090f370c22f29ce5e4cf236d8afcdb8312935a149d46ff3/953fab91-5e3a-483e-a8ed-97cf82562bcb.png
summer-of-making emoji
github emoji
🎉 The first movement of the Celestial Suite is done! 🎉 I've been composing a symphony orchestra arrangement of the Celeste OST by Lena Raine as I have admired her work for a long time now, and wanted to try a little bit of orchestral scoring, which I've never done before. The first movement is based off the Prologue chapter of the game. Score: musescore.com/user/27306878/scores/19944166 Video: youtu.be/f78diHebH5w
https://imgutil.s3.us-east-2.amazonaws.com/3e0291b6659d8abaaeccd5ecb41863e00eccc8c802f6b4db5d1b4e7fd0e70ea7/25b29a15-1355-441f-8e06-ef3f0657b268.png
🎉 Synchrotron is Somewhat Usable™️! 🎉 ❓ *What is Synchrotron? Synchrotron is a graph-based audio processing engine, inspired by tools such as Supercollider, Pure Data and the Blender node editor. What's more, it's written entirely in Python! :python: ❓ How do I use it? Install with `pip install git+<https://github.com/ThatOtherAndrew/Synchrotron.git>`, then use the `synchrotron-server` command to start the server. You can connect to the server either through the `synchrotron-console` TUI, or using the web UI at <https://github.com/ThatOtherAndrew/SynchrotronUI> ✨ ❓ What features does it have currently? • Standalone server for full versatility in various use cases • Custom DSL (domain-specific language) built from the ground up, called Synchrolang • Web server with documented REST API • Elegant and expressive Python API • (Almost) fully functioning web user interface • A variety of simple nodes to get started with • Support for live playback, accelerated rendering to WAV files, and MIDI input and processing ❓ How can I learn more? • Documentation is currently very limited, but I'd be more than happy to chat to anybody reading this about my project as I'm pretty passionate about it and proud of what I've managed so far! Fun fact, I have presented a live demo of Synchrotron to @clairebookworm and musician Charmaine Lee and they both have endorsed this project :O
https://scrapbook-into-the-redwoods.s3.amazonaws.com/53912340-9a4e-4181-8df6-2f717ed88ae9-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/df8d3c13-72af-41eb-a6f2-90e4e329c359-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/b655bf9815adb472de85b4f4f67e51aac445f0794c3ad3d96e59015b70dc5949/97ef1ef3-cae2-4ac4-a508-179b5ab672be.png
Trying my hand at some composition again! Let's see if this is something I can see through to the end :p
summer-of-making emoji
https://imgutil.s3.us-east-2.amazonaws.com/de07e2c6688e5e999a275259855ebf00837a2866bbf79b4c77417e2651c38e63/79b55f38-f0f8-4870-9258-64289e17f5b2.png
summer-of-making emoji
github emoji
Progress update on my Python live synthesiser! The web interface now sports a console, the DSL has been redesigned a little, new nodes have been added, the UI has been improved, and more! :D To try it out, check out github.com/ThatOtherAndrew/Synchrotron :> Here's some sample code you can use to try out a basic pulse-width modulation square wave synth example:
new 0.2 pwm_mod_freq;
new 0.24 scale_val;
new SineNode pwm_mod;
new 0.75 offset_val;
new MultiplyNode scale;
new 440 freq;
new AddNode offset;
new SquareNode square;
new PlaybackNode out;

link square.out -> out.left;
link square.out -> out.right;
link pwm_mod_freq.out -> pwm_mod.frequency;
link pwm_mod.out -> scale.a;
link scale_val.out -> scale.b;
link scale.out -> offset.a;
link offset_val.out -> offset.b;
link freq.out -> square.frequency;
link offset.out -> square.pwm;
summer-of-making emoji
python emoji
This is Synchrotron, a live audio synthesis engine written pretty much from scratch in pure Python, inspired by existing projects such as Pure Data and SuperCollider! What you're seeing here is a console with Synchrolang, a language I created to interact with the Synchrotron audio server. The video shows off a basic demo using sine waves at different frequencies!