#webaudioapi — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #webaudioapi, aggregated by home.social.
-
Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.
The browser gives you Float32 audio. The API expects PCM16 at 24kHz.
That means:
Float32 → clamp → Int16 → base64 → send to realtime api
If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.
Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN
-
Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.
The browser gives you Float32 audio. The API expects PCM16 at 24kHz.
That means:
Float32 → clamp → Int16 → base64 → send to realtime api
If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.
Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN
-
Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.
The browser gives you Float32 audio. The API expects PCM16 at 24kHz.
That means:
Float32 → clamp → Int16 → base64 → send to realtime api
If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.
Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN
-
Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.
The browser gives you Float32 audio. The API expects PCM16 at 24kHz.
That means:
Float32 → clamp → Int16 → base64 → send to realtime api
If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.
Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN
-
Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.
The browser gives you Float32 audio. The API expects PCM16 at 24kHz.
That means:
Float32 → clamp → Int16 → base64 → send to realtime api
If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.
Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN
-
Excellent article explaining audio frequency analysis in #JavaScript
-
Excellent article explaining audio frequency analysis in #JavaScript
-
Excellent article explaining audio frequency analysis in #JavaScript
-
Excellent article explaining audio frequency analysis in #JavaScript
-
Excellent article explaining audio frequency analysis in #JavaScript
-
#TIL from building a web audio player (for the mixes):
#Safari's #opus support is still quirky. With a #webm container, playback works but AnalyserNodes won't receive anything to compute frequency data with. With #ogg, `getByteFrequencyData()` works, but the audio element calculates the wrong duration, prob. b/c it always assumes CBR. Also if you build the audio pipeline before the first user interaction in Safari, nothing will get routed to the speakers
But still, the #WebAudioAPI is awesome!
-
#TIL from building a web audio player (for the mixes):
#Safari's #opus support is still quirky. With a #webm container, playback works but AnalyserNodes won't receive anything to compute frequency data with. With #ogg, `getByteFrequencyData()` works, but the audio element calculates the wrong duration, prob. b/c it always assumes CBR. Also if you build the audio pipeline before the first user interaction in Safari, nothing will get routed to the speakers
But still, the #WebAudioAPI is awesome!
-
#TIL from building a web audio player (for the mixes):
#Safari's #opus support is still quirky. With a #webm container, playback works but AnalyserNodes won't receive anything to compute frequency data with. With #ogg, `getByteFrequencyData()` works, but the audio element calculates the wrong duration, prob. b/c it always assumes CBR. Also if you build the audio pipeline before the first user interaction in Safari, nothing will get routed to the speakers
But still, the #WebAudioAPI is awesome!
-
#TIL from building a web audio player (for the mixes):
#Safari's #opus support is still quirky. With a #webm container, playback works but AnalyserNodes won't receive anything to compute frequency data with. With #ogg, `getByteFrequencyData()` works, but the audio element calculates the wrong duration, prob. b/c it always assumes CBR. Also if you build the audio pipeline before the first user interaction in Safari, nothing will get routed to the speakers
But still, the #WebAudioAPI is awesome!
-
#TIL from building a web audio player (for the mixes):
#Safari's #opus support is still quirky. With a #webm container, playback works but AnalyserNodes won't receive anything to compute frequency data with. With #ogg, `getByteFrequencyData()` works, but the audio element calculates the wrong duration, prob. b/c it always assumes CBR. Also if you build the audio pipeline before the first user interaction in Safari, nothing will get routed to the speakers
But still, the #WebAudioAPI is awesome!
-
I just released the alpha of Web Audio Studio.
It's a browser-based tool for writing real Web Audio API code and visualizing the runtime graph it produces. You can inspect connections, follow signal flow, and insert analysers to see what's happening between nodes.
Everything runs locally in the browser. No signup. Desktop-only for now.
Would love feedback from anyone working with #WebAudio or #DSP.
-
I just released the alpha of Web Audio Studio.
It's a browser-based tool for writing real Web Audio API code and visualizing the runtime graph it produces. You can inspect connections, follow signal flow, and insert analysers to see what's happening between nodes.
Everything runs locally in the browser. No signup. Desktop-only for now.
Would love feedback from anyone working with #WebAudio or #DSP.
-
I just released the alpha of Web Audio Studio.
It's a browser-based tool for writing real Web Audio API code and visualizing the runtime graph it produces. You can inspect connections, follow signal flow, and insert analysers to see what's happening between nodes.
Everything runs locally in the browser. No signup. Desktop-only for now.
Would love feedback from anyone working with #WebAudio or #DSP.
-
I just released the alpha of Web Audio Studio.
It's a browser-based tool for writing real Web Audio API code and visualizing the runtime graph it produces. You can inspect connections, follow signal flow, and insert analysers to see what's happening between nodes.
Everything runs locally in the browser. No signup. Desktop-only for now.
Would love feedback from anyone working with #WebAudio or #DSP.
-
I just released the alpha of Web Audio Studio.
It's a browser-based tool for writing real Web Audio API code and visualizing the runtime graph it produces. You can inspect connections, follow signal flow, and insert analysers to see what's happening between nodes.
Everything runs locally in the browser. No signup. Desktop-only for now.
Would love feedback from anyone working with #WebAudio or #DSP.
-
Dittytoy transforme votre navigateur en studio de musique qui se code
https://fed.brid.gy/r/https://korben.info/dittytoy-live-coding-musique-navigateur.html
-
I've worked out how to output discrete values from an LFO’s continuous wave. I can use these multipliers to fluctuate any prop over time. Pretty endless possibilities. In this case, I'm altering a ratio that controls probability (chance) of playback. #WebAudioAPI
-
I've worked out how to output discrete values from an LFO’s continuous wave. I can use these multipliers to fluctuate any prop over time. Pretty endless possibilities. In this case, I'm altering a ratio that controls probability (chance) of playback. #WebAudioAPI
-
I've worked out how to output discrete values from an LFO’s continuous wave. I can use these multipliers to fluctuate any prop over time. Pretty endless possibilities. In this case, I'm altering a ratio that controls probability (chance) of playback. #WebAudioAPI
-
I've worked out how to output discrete values from an LFO’s continuous wave. I can use these multipliers to fluctuate any prop over time. Pretty endless possibilities. In this case, I'm altering a ratio that controls probability (chance) of playback. #WebAudioAPI
-
I've worked out how to output discrete values from an LFO’s continuous wave. I can use these multipliers to fluctuate any prop over time. Pretty endless possibilities. In this case, I'm altering a ratio that controls probability (chance) of playback. #WebAudioAPI
-
Daniel's deep dive into the Web Audio API attempts to bring retro Gameboy vibes to life, proving that nostalgia is only a square wave away 🎮➡️📈. Who knew that painfully recreating 8-bit sounds could be the pinnacle of modern web development? 👾🔊 Let's all pretend we needed another reason to procrastinate with audio nerdiness! 🎶💻
https://www.danblack.co/blog/variable-duty-cycle-square-wave #WebAudioAPI #RetroGaming #8BitNostalgia #AudioNerd #Procrastination #HackerNews #ngated -
Daniel's deep dive into the Web Audio API attempts to bring retro Gameboy vibes to life, proving that nostalgia is only a square wave away 🎮➡️📈. Who knew that painfully recreating 8-bit sounds could be the pinnacle of modern web development? 👾🔊 Let's all pretend we needed another reason to procrastinate with audio nerdiness! 🎶💻
https://www.danblack.co/blog/variable-duty-cycle-square-wave #WebAudioAPI #RetroGaming #8BitNostalgia #AudioNerd #Procrastination #HackerNews #ngated -
Daniel's deep dive into the Web Audio API attempts to bring retro Gameboy vibes to life, proving that nostalgia is only a square wave away 🎮➡️📈. Who knew that painfully recreating 8-bit sounds could be the pinnacle of modern web development? 👾🔊 Let's all pretend we needed another reason to procrastinate with audio nerdiness! 🎶💻
https://www.danblack.co/blog/variable-duty-cycle-square-wave #WebAudioAPI #RetroGaming #8BitNostalgia #AudioNerd #Procrastination #HackerNews #ngated -
Daniel's deep dive into the Web Audio API attempts to bring retro Gameboy vibes to life, proving that nostalgia is only a square wave away 🎮➡️📈. Who knew that painfully recreating 8-bit sounds could be the pinnacle of modern web development? 👾🔊 Let's all pretend we needed another reason to procrastinate with audio nerdiness! 🎶💻
https://www.danblack.co/blog/variable-duty-cycle-square-wave #WebAudioAPI #RetroGaming #8BitNostalgia #AudioNerd #Procrastination #HackerNews #ngated -
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
-
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
-
#Development #Fun
Draw Audio · A musical sketchpad using the Web Audio API https://ilo.im/160rt7_____
#Audio #Music #Creativity #AudioDesign #Design #WebDesign #WebDev #Frontend #WebAudioAPI -
#Development #Fun
Draw Audio · A musical sketchpad using the Web Audio API https://ilo.im/160rt7_____
#Audio #Music #Creativity #AudioDesign #Design #WebDesign #WebDev #Frontend #WebAudioAPI -
#Development #Fun
Draw Audio · A musical sketchpad using the Web Audio API https://ilo.im/160rt7_____
#Audio #Music #Creativity #AudioDesign #Design #WebDesign #WebDev #Frontend #WebAudioAPI -
#Development #Fun
Draw Audio · A musical sketchpad using the Web Audio API https://ilo.im/160rt7_____
#Audio #Music #Creativity #AudioDesign #Design #WebDesign #WebDev #Frontend #WebAudioAPI -
#Development #Approaches
Like button without authentication · How to build a ‘like’ button with audio fingerprinting https://ilo.im/1609lr_____
#Button #Fingerprint #WebAudioAPI #Browser #WebDev #Frontend #JavaScript #Backend #Database #Redis -
#Development #Approaches
Like button without authentication · How to build a ‘like’ button with audio fingerprinting https://ilo.im/1609lr_____
#Button #Fingerprint #WebAudioAPI #Browser #WebDev #Frontend #JavaScript #Backend #Database #Redis -
#Development #Approaches
Like button without authentication · How to build a ‘like’ button with audio fingerprinting https://ilo.im/1609lr_____
#Button #Fingerprint #WebAudioAPI #Browser #WebDev #Frontend #JavaScript #Backend #Database #Redis -
#Development #Approaches
Like button without authentication · How to build a ‘like’ button with audio fingerprinting https://ilo.im/1609lr_____
#Button #Fingerprint #WebAudioAPI #Browser #WebDev #Frontend #JavaScript #Backend #Database #Redis -
#WebAudioAPI question, or audio related in general. I get a replay gain value from my library API for each track. It ranges from -11.8 to 17.2 with my current library. It seems to just be a float with no explanation in the docs. Does anyone know immediately how this should be plugged into a GainNode? I.e. is it obvious and just something I don't know or do I need extra information?
Just setting the value as the GainNode's gain directly is... not good. 😅
#WebDev -
#WebAudioAPI question, or audio related in general. I get a replay gain value from my library API for each track. It ranges from -11.8 to 17.2 with my current library. It seems to just be a float with no explanation in the docs. Does anyone know immediately how this should be plugged into a GainNode? I.e. is it obvious and just something I don't know or do I need extra information?
Just setting the value as the GainNode's gain directly is... not good. 😅
#WebDev -
#WebAudioAPI question, or audio related in general. I get a replay gain value from my library API for each track. It ranges from -11.8 to 17.2 with my current library. It seems to just be a float with no explanation in the docs. Does anyone know immediately how this should be plugged into a GainNode? I.e. is it obvious and just something I don't know or do I need extra information?
Just setting the value as the GainNode's gain directly is... not good. 😅
#WebDev -
#WebAudioAPI question, or audio related in general. I get a replay gain value from my library API for each track. It ranges from -11.8 to 17.2 with my current library. It seems to just be a float with no explanation in the docs. Does anyone know immediately how this should be plugged into a GainNode? I.e. is it obvious and just something I don't know or do I need extra information?
Just setting the value as the GainNode's gain directly is... not good. 😅
#WebDev -
#WebAudioAPI question, or audio related in general. I get a replay gain value from my library API for each track. It ranges from -11.8 to 17.2 with my current library. It seems to just be a float with no explanation in the docs. Does anyone know immediately how this should be plugged into a GainNode? I.e. is it obvious and just something I don't know or do I need extra information?
Just setting the value as the GainNode's gain directly is... not good. 😅
#WebDev -
Revisiting some old projects; I feel like I was onto something with Beep.js back in 2015 🎵😎🎹
https://stewartsmith.io/work/beep-js#BeepJS #music #synth #synthwave #synthesizer #WebAudio #WebAudioAPI #MIDI #WebMIDI #WebMIDIAPI #JS #JavaScript
-
Revisiting some old projects; I feel like I was onto something with Beep.js back in 2015 🎵😎🎹
https://stewartsmith.io/work/beep-js#BeepJS #music #synth #synthwave #synthesizer #WebAudio #WebAudioAPI #MIDI #WebMIDI #WebMIDIAPI #JS #JavaScript
-
Revisiting some old projects; I feel like I was onto something with Beep.js back in 2015 🎵😎🎹
https://stewartsmith.io/work/beep-js#BeepJS #music #synth #synthwave #synthesizer #WebAudio #WebAudioAPI #MIDI #WebMIDI #WebMIDIAPI #JS #JavaScript