TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Noisefunge: A music programming environment in Befunge

55 pointsby qdot76367over 4 years ago

7 comments

lifthrasiirover 4 years ago
Two-dimensional programming languages like Funges are a fruitful ground for live coding, but I was unsure how to achieve that until Ocra [1] appeared. Funge-98 does support threaded execution (via `t`), but its threading model is cooperative and thus requires meticulous synchronization for most uses of live coding. For example, you can &quot;park&quot; each instruction pointer to some position until the next beat, but you can&#x27;t really control time to next note from there because it would be proportional to the number of instructions executed (and you need noticable delay to show the IP&#x27;s movement).<p>Orca cleverly avoided this issue by making every instruction running simultaneously. If I understood correctly, NoiseFunge seems to found another solution out: it queues notes to play by the next beat and moves on. As I&#x27;m not really a live coding person I can&#x27;t see this approach is easier than Orca or not though. Anyway, an interesting attempt indeed.<p>[1] <a href="https:&#x2F;&#x2F;100r.co&#x2F;site&#x2F;orca.html" rel="nofollow">https:&#x2F;&#x2F;100r.co&#x2F;site&#x2F;orca.html</a>
rev_nullover 4 years ago
Creator here. I just updated the README and name for this project since it is the legacy implementation. I started the new implementation in Rust earlier this year.<p>If you&#x27;re interested in seeing it in action, here&#x27;s a recent video (there are more on my youtube page): <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeseWGmcIbY" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=qeseWGmcIbY</a>
评论 #24550443 未加载
评论 #24552657 未加载
nexuistover 4 years ago
Ahh, this reminds me of my own attempt in Brainfuck!<p><a href="http:&#x2F;&#x2F;nexuist.github.io&#x2F;brainsynth&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nexuist.github.io&#x2F;brainsynth&#x2F;</a><p>Been a year or two since I touched it, so I have no idea if it still works. Last I remember it was extremely slow; I think eventually I wanted to rewrite it in Vue or Svelte or even WebAssembly.<p>I think it&#x27;s a fun concept, just need to work on the execution to make it painless to play with.
评论 #24551459 未加载
qdot76367over 4 years ago
I have just been informed that there is now a new version written in Rust.<p>Complete with its own rust based Befunge compiler.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;revnull&#x2F;noisefunge.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;revnull&#x2F;noisefunge.rs</a>
gnramiresover 4 years ago
This is really, really good (in particular the composition). So good I envy you for not thinking of it earlier! :)<p>Keep on the algorhythm &lt;3<p>(I have hacked together scripts in python for a few incomplete compositions and experiments with harmony. I even make the samples from scratch using basic math and waveforms -- I encourage you to try deriving the raw samples as well! waveform shape and phase interactions are surprisingly complex)
stevehiehnover 4 years ago
I&#x27;m intrigued, but its not 100% clear to me what this is. Is this essentially parallel to Sonic PI? What generates the actual sound? Does it control synths via MIDI or are synths&#x2F;oscillators in the codebase? Thx
评论 #24553884 未加载
Rochusover 4 years ago
What exactly is it? Is it an algorithmic composition tool? Is there a description?
评论 #24550134 未加载