Yes, Python.
I can already hear the screams from the rafters telling me how terrible of a choice Python is - but in my case, I valued modularity, extensibility, hackability over raw performance. (It was also a challenge to myself to see how far I can get without referencing existing implementations)
Synchrotron processes nodes: simple Python classes with typed I/O and a render() method for processing. It can be as concise as 5 lines:
class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
Nodes can then be spawned and linked programmatically or in the graphical editor. Synchrotron handles the rest at runtime. Besides the web UI, you can also interact with the engine via Python, REST, DSL, or standalone TUI.Currently you can build synths, FX chains, MIDI instruments, arpeggiators, controllers, or just mess about with sound :>
Editor: https://synchrotron.thatother.dev/ Source: https://github.com/ThatOtherAndrew/Synchrotron
It's still experimental (and my first ever shipped project), but I'd love feedback from people who tinker with audio/DSP/live coding. Docs are terrible currently, but that's my next big goal!
Comments URL: https://news.ycombinator.com/item?id=44836433
Points: 20
# Comments: 0
Jelentkezéshez jelentkezzen be
EGYÉB POSTS Ebben a csoportban
About a year ago I introduced Trayce to HN as the "network tab for docker containers". Now I have released a new version which adds an HTTP client. The idea is to combine network monitoring with a


