frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Nallely a modular reactive Python framework for custom MIDI instruments

https://github.com/dr-schlange/nallely-midi
2•drschlange•3h ago
Hi HN! I'm Vince. I built Nallely, a modular reactive Python framework for creating custom MIDI instruments by patching signal-processing modules together, like a modular synthesizer for controls systems. Nallely focuses on real-time, thread-isolated, reactive behavior, letting you experiment with emergent behaviors.

Demo video: https://www.youtube.com/watch?v=rbMnKAdqAVI building a patch from scratch and hot-debugging a running instance near the end.

Key features:

* Visual patching interface for connecting reactive modules (neurons),

* Extensible via Python API, WebSocket, and/or code generation,

* Integrates any input source (MIDI, webcam, ...) to control synthesizers.

# Yes, but why?

Existing software/libraries that proposes MIDI manipulation are powerful but not friendly to live experimentation. They are low-level, hard to rewire on the fly, and often heavy for embedded or headless setups. I wanted a system that could also evolve dynamically where modules could be patched, hot-swapped, and debugged in real time.

# Architecture

The system is built around a reactive threading model with no shared data: each neuron lives in its own thread and communicates by sending messages through channels. No more CC,... , at the neuron level, everything is a signal (a simple int/float value through time). No global tick, each neuron works on its own time. Each neuron being reactive, they are sleeping the majority of the time. The system takes heavy inspiration from the "Systems as Living Things" philosophy and Smalltalk by treating each thread as a small living entity more than a processing unit. Here is how to code a simple Sample&Hold module:

    class SampleHold(VirtualDevice):
      input_cv = VirtualParameter(name="input", range=(0, 127))
      trigger_cv = VirtualParameter(name="trigger", range=(0, 1), conversion_policy=">0")

      @on(trigger_cv, edge="rising")
      def hold_value(self, value, ctx):
        return self.input
The control layer uses a small WebSocket protocol that the react-based web UI uses to control and introspect sessions. A WebSocket-bus neuron lets external application auto-register to it to send/receive signals: another neuron in the network can serve signals captured from any source. They're useful to distribute computation loads on different machines.

# What have I learned so far

A simple threading model can be powerful in a MIDI/music context:

* you can stop/resume a thread, stopping a part of the processing chain seamlessly;

* overflown neurons can mitigate the pressure without impacting the whole session;

* if a thread crashes, it is paused to give you the ability to debug the instance, and resume it;

* simple websockets have an acceptable throughput.

I was expecting a system entirely based on Python threads to be really ineffective, but it's surprisingly reasonable. Empirically I see ~1-2 % CPU per thread. A 20 threads classical session (~45 patches) uses roughly 21% CPU and 45MB RAM on CPython 3.13 GIL. CPython 3.14 no-GIL shows similar CPU but ~65MB RAM. Feedback loops raise usage (~38 %). Interestingly, on CPython 3.13 the load spreads across multiple cores, I suppose that the threads are sleeping enough to release often the GIL.

# Try it!

You can grab a precompiled PyInstaller built binary in the latest github actions artifacts. Doc is linked in the README, and deep-dive posts are available here: https://dr-schlange.github.io/nallely-midi/posts.

# I would love feedback

* What could be improved to make it easier to get familiar with?

* Are there blind spots or design choices that could be problematic long-term?

* Although it's MIDI-oriented, the system is really signal-agnostic, any idea for non-audio use-case? (e.g. visuals, etc)

Thermodynamic Computing Is Here

https://twitter.com/DaveShapi/status/1985697301298340087
1•delichon•1m ago•0 comments

Bullying Is Not Innovation

https://www.perplexity.ai/hub/blog/bullying-is-not-innovation
2•juokaz•3m ago•0 comments

The Poseidon Problem

https://www.nakedcapitalism.com/2025/11/coffee-break-armed-madhouse-the-poseidon-problem.html
1•speckx•4m ago•0 comments

Parallel achieves 70% accuracy on SEAL, benchmark for hard web research

https://parallel.ai/blog/benchmarks-task-api-sealqa
1•lukaslevert•4m ago•0 comments

From Billion-Dollar Flows to Gooseberry Jam: Fraser Howie's Voltairean Turn

https://worldsensorium.com/from-billion-dollar-flows-to-gooseberry-jam-fraser-howies-voltairean-t...
1•dnetesn•7m ago•0 comments

The Common Business Communication Language, by John McCarthy [pdf]

https://www-formal.stanford.edu/jmc/cbcl2.pdf
2•gglitch•8m ago•0 comments

What Is Intelligence?

https://nautil.us/what-is-intelligence-1242863/
2•dnetesn•9m ago•0 comments

Show HN: Multi-Agent Code Review

2•OliverGilan•11m ago•0 comments

Speedrunning research in 1hr with undergrads (0 research experience)

https://www.orchestra-research.com/share/qPUy7qGJjhMV
1•amberjcjj•13m ago•1 comments

Long-term use of melatonin supplements may have negative health effects

https://newsroom.heart.org/news/long-term-use-of-melatonin-supplements-to-support-sleep-may-have-...
1•michaefe•13m ago•0 comments

A Claude Code Command for Hypothesis

https://hypothesis.works/articles/claude-code-plugin/
1•alpaylan•14m ago•0 comments

Ask HN: Hedge animals for your house that only move when you're not looking?

3•amichail•14m ago•2 comments

Ask HN: Is there anything an individual can do to traceback spam calls?

1•op7•15m ago•0 comments

Show HN: Eintercon – I'm forcing people to decide on friendships in 48 hours

https://eintercon.com/
2•abilafredkb•15m ago•0 comments

Sunset – Cobot is winding down

https://blog.mainfra.me/p/sunset
1•janpio•15m ago•0 comments

How to Set Up Linux Gaming on an NTFS Drive

https://popcar.bearblog.dev/how-to-set-up-linux-gaming-on-an-ntfs-drive/
1•speckx•15m ago•0 comments

Ask HN: Best internationalization solutions for SaaS?

https://github.com/aymericzip/intlayer
1•aurelb•16m ago•1 comments

ChatGPT, is there a seahorse emoji?

https://chatgpt.com/share/690a4e31-0940-800d-823b-fa22342074c9
1•ghgr•17m ago•0 comments

Show HN: Idle Fishing Simulator – A relaxing idle game about fishing (Android)

https://play.google.com/store/apps/details?id=com.nervousibexgames.idlefishingsimulator&hl=en_US
1•NervousIbexDev•19m ago•0 comments

Apple discontinuing support for older Home architecture in February 2026

https://appleinsider.com/articles/25/11/03/apple-discontinuing-support-for-older-home-architectur...
1•bookofjoe•19m ago•0 comments

The Terrible Technical Architecture of My First Startup

https://blog.jacobstechtavern.com/p/my-terrible-startup-architecture
3•jakey_bakey•19m ago•0 comments

Amazon Equips Next Underwater Cable with 'Robust Armoring' to Prevent Cuts

https://www.pcmag.com/news/amazon-equips-next-underwater-cable-with-robust-armoring-to-prevent-cuts
3•walterbell•26m ago•1 comments

We're ill-prepared to combat the threat of space terrorism

https://www.rnz.co.nz/news/on-the-inside/577852/the-threat-of-space-terrorism-is-no-longer-scienc...
4•billybuckwheat•26m ago•0 comments

Pivots, Paths, and Prototypes

https://debliu.substack.com/p/pivots-paths-and-prototypes
1•kiyanwang•27m ago•0 comments

In Pursuit of Democracy

https://pudding.cool/2025/11/democracy/
2•c-oreills•28m ago•0 comments

IBM to Cut Roles in Focus on Software Growth

https://www.bloomberg.com/news/articles/2025-11-04/ibm-to-cut-thousands-of-roles-in-focus-on-soft...
2•toomuchtodo•29m ago•1 comments

Elon Musk claims Tesla's new AI5 chip is 40x more performant than previous-gen

https://www.tomshardware.com/tech-industry/elon-musk-claims-teslas-new-ai5-chip-is-40x-more-perfo...
2•alexellisuk•31m ago•0 comments

Copy command recursively copies itself `cp -r [dot] src dst`

https://twitter.com/_diginova/status/1985781161134809212
2•diginova•32m ago•1 comments

Gaza Riviera: from devastated territory to digital age commoditiy

https://www.ynetnews.com/opinions-analysis/article/s1ikwpwkzx
1•datelligence•32m ago•0 comments

Man spent 200 days building a solar-powered explorer yacht that can run forever

https://supercarblondie.com/solar-powered-explorer-yacht-helios-11/
9•rmason•34m ago•0 comments