#audioprogramming — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #audioprogramming, aggregated by home.social.
-
Working on crossfade syntax for section transitions in Sorbis (my open-source computer music scripting language). Which reads better to you?
Option A — keyword:
o: play A xfade 10ms B xfade 5% C xfade 10% A
Option B — symbolic:
o: play A >10%< B >5ms< C >10%< A
(> = fade out, < = fade in, value = overlap amount)
What feels more intuitive?
-
Working on crossfade syntax for section transitions in Sorbis (my open-source computer music scripting language). Which reads better to you?
Option A — keyword:
o: play A xfade 10ms B xfade 5% C xfade 10% A
Option B — symbolic:
o: play A >10%< B >5ms< C >10%< A
(> = fade out, < = fade in, value = overlap amount)
What feels more intuitive?
-
spent winter break building a low level DAW using Rust and Tauri. new blog coming soon for my #AudioProgramming homies 🎶
-
spent winter break building a low level DAW using Rust and Tauri. new blog coming soon for my #AudioProgramming homies 🎶
-
(I'm not sure what I write in this toot is exact, please feel free to correct me)
When doing real-time #AudioProgramming you usually need to implement a function/procedure that will run once for every block of audio samples. Since that function needs to be very responsive, it must contain no memory allocation.
As a corollary, that means languages with automatic memory management are off the table, because you can't trust them not to allocate memory during that procedure.
Now there's this thing called #LinearTypes , which, as far I understand, can be used to control how memory is allocated. And #haskell has them.
So my question is: could one use Haskell with linear types for real-time audio programming? Or does it not offer the guarantees we need w.r.t. control over memory allocations?
-
This is extremely cool:
https://www.heise.de/news/Steinberg-gibt-Audio-Schnittstellen-ASIO-und-VST-unter-Open-Source-Lizenzen-frei-10963347.htmlVST and ASIO under OpenSource Licenses!
-
Anyone out here selling CLAP plugins? What's your experience like?
#AudioDev #AudioDevelopement #AudioProgramming #ComputerMusic #VST #VST3 #Clap #ClapPlugin
-
PD-latent-jamming repo (v0.2.1) contains updates of 'saatR.pd' component including a small add-on to toggle seed inputs. https://github.com/devstermarts/PD-latent-jamming
#puredata #latentjamming #composition #neuralaudio #musicproduction #audioprogramming -
PD-components update (v0.2.1) contains two multi pole filter abstractions, a rev3~ wrapper and a 4 bank step sequencer. Nothing too fancy, but it will make setup for compositions a bit more convenient. https://github.com/devstermarts/PD-components #puredata #composition #audioprogramming #musicproduction
-
I love game audio programming. You have a DAW which you can use live while the player is playing the game, making everything sound dynamic, realistic and engaging.
#GameDev #GameDesign #SoundDesign #AudioProgramming -
🌸 Floral Sample Toolkit is underway, and I'm almost at 10 algorithms in there. Will be using this in my next track, and will make the repo public at the same time!
As you can see, the "Trace Console" logs each step you take, and then exports that along with the final WAV. That way you can do destructive editing, but still share the steps in an open-source sense 😀
-
🌸 Floral Sample Toolkit is underway, and I'm almost at 10 algorithms in there. Will be using this in my next track, and will make the repo public at the same time!
As you can see, the "Trace Console" logs each step you take, and then exports that along with the final WAV. That way you can do destructive editing, but still share the steps in an open-source sense 😀
-
Just found out about the ATS programming language, a functional language with #DependentTypes, and with C-like control over memory allocation thanks to #LinearTypes. I've been longing for a #Haskell -like language that could be used for low-level real time #AudioProgramming , so this looks very interesting.
Note however that it's a research language, "not meant for widespread use", "with tons of accidental complexity"!
-
Having a very nice time at #LibreGraphicsMeeting :) I wonder if there's a similar event for audio? I know about #AudioDeveloperConference but I'm pretty sure it's not specific to free software. Also I like the fact that LGM is focused both on the developer- and the user-facing side (to some extent), whereas ADC is explicitly targeted towards developers
-
Having a very nice time at #LibreGraphicsMeeting :) I wonder if there's a similar event for audio? I know about #AudioDeveloperConference but I'm pretty sure it's not specific to free software. Also I like the fact that LGM is focused both on the developer- and the user-facing side (to some extent), whereas ADC is explicitly targeted towards developers
-
I just released the first version of hworld, the #haskell bindings I wrote for the World library.
Given a recording of a voice, it allows you to compute a "vocoded" representation that is easy to manipulate to perform actions such as:
- pitch shifting
- simulation of whispering
- machine learningand resynthesize high-quality audio based on that manipulated encoding.
There aren't much examples for now, but still feel free to take a look!
-
Variable duty cycle square waves with the Web Audio API
https://www.danblack.co/blog/variable-duty-cycle-square-wave
#HackerNews #VariableDutyCycle #WebAudioAPI #SquareWaves #AudioProgramming #TechInnovation
-
Variable duty cycle square waves with the Web Audio API
https://www.danblack.co/blog/variable-duty-cycle-square-wave
#HackerNews #VariableDutyCycle #WebAudioAPI #SquareWaves #AudioProgramming #TechInnovation
-
Just started a new series on AudioKit!
-
Time for a new game audio programming tutorial!
Learn how to load compressed audio files in either Opus or QOA format to keep your game's file size under control
https://amini-allight.org/post/game-audio-programming-tutorial-part-11
#gamedev #indiedev #opensource #gameaudio #audioprogramming -
Time for a new game audio programming tutorial!
Learn how to load compressed audio files in either Opus or QOA format to keep your game's file size under control
https://amini-allight.org/post/game-audio-programming-tutorial-part-11
#gamedev #indiedev #opensource #gameaudio #audioprogramming -
"rune_b" - Deconstructed
https://makertube.net/w/jsRUby9ififPu6TybpAf1rJoin me in exploring the programming code which created my track "rune_b"
-
"rune_b" - Deconstructed
https://makertube.net/w/jsRUby9ififPu6TybpAf1rJoin me in exploring the programming code which created my track "rune_b"
-
A few minor releases for this autumn:
Roc VAD 0.0.3 (streaming virtual device for macOS) 👉 https://github.com/roc-streaming/roc-vad/releases/tag/v0.0.3
roc-pulse 0.0.8 (#PulseAudio modules) 👉 https://github.com/roc-streaming/roc-pulse/releases/tag/v0.0.8
Signal Estimator 0.1.0 (latency measuremens) 👉 https://github.com/gavv/signal-estimator/releases/tag/v0.1.0
libASPL 3.1.1 (audio server plugins for macOS) 👉 https://github.com/gavv/libASPL/releases/tag/v3.1.1
#roctoolkit #signalestimator #libASPL #audioprogramming #macosaudio
-
Just tagged #libASPL 3.1.0
Release includes better support of overriding low-level I/O handlers with your own and numerous bug-fixes.
-
A test bench for a cool freelance project.
Right #RPi (broadcaster) reads input audio, writes it to speakers, and broadcasts over Wi-Fi. Left RPi (receiver) receives audio from Wi-Fi, listens on the mic, and plays received (higher-quality) audio **in-sync** with what it hears on mic.
In this setup, laptop runs #signalestimator that writes probe impulses to broadcaster input and reads outputs of broadcaster and receiver to measure sync error.
-
One more release of #signalestimator - 0.0.9!
Highlights:
- major improvements in GUI
- new mode for measuring software and hardware delays reported by ALSA
- support arbitrary sample formats for output and input devicesThanks to everybody who participated during #hacktoberfest!
Changelog: https://github.com/gavv/signal-estimator/releases/tag/v0.0.9
-
#signalestimator 0.0.8 is out!
Release highlights:
- major improvements in latency calculation precision
- new mode for measuring I/O and scheduling jitter
- support for multiple input devices to measure synchronicity
- support different settings for different cards
- numerous optimizations and bug-fixesFull changelog: https://github.com/gavv/signal-estimator/releases/tag/v0.0.8
-
#Bitwig now supports an open standard for saving and loading DAW projects. I think I'll whip up a lib to load and save to this format and add it to my open source project (grig).
-
Recently spent some time optimizing #roctoolkit latency over Ethernet.
So far, achieved 7ms for transport + 12ms for two USB sound cards.
This is the photo of my test bench for measurements.
Legend: R1, R2 - #raspberrypi; S0, S1, S2 - sound cards; L1, L3 - jack cables; L2 - ethernet cable.
Roc runs on R1 and R2 and streams sound from S1 to S2.
On PC, I run #signalestimator that writes sound to S0 output, reads it back from S0 input, and measures latency.