Using #PortAudio to send PCM on my Mac was causing a few problems, so, I whipped up some #golang to talk to #CoreAudio via CGO and now everything is nicely going beepboop. And I’m discovering that using go to generate sfx, music, and tts is kinda fun.
I did a bit of #AudioDev for the past few days, but eventually I finally got my pipeline to work. I have mixed feelings about demuxing a html stream, piping aac/mp3 across #FFmpeg to get PCM, doing some manipulation (because FFTs are fun), then calling #PortAudio to call #CoreAudio to make the speakers go beep-boop.

Footywhoops – Un synthé codé en Go qui génère des patterns musicaux à la volée

https://fed.brid.gy/r/https://korben.info/footywhoops-synthetiseur-go-portaudio-dsp.html

Random #fact: some features in #Tenacity depend on the libraries we use, including #wxWidgets. If you want to see Tenacity get better and want to contribute, we suggest you look into our supporting libraries such as wxWidgets and #PortAudio.

#clive , my thing for #LiveCoding #audio #dsp in the #C programming language, now has a #PortAudio backend which enables it to work on #Termux on #Android !

git clone https : / / code.mathr.co.uk / clive-core.git

and search the README.md for termux

thanks to @synte for telling me that portaudio could make sound on termux :)

switched from #Android app #UserLAnd to #Termux due to the promise of working sound via #portaudio , and also being generally much less outdated.

need to add a portaudio backend to clive (my thing for #LiveCoding #audio #dsp in the #C programming language) to be able to test it.

had hoped to test with #godwit (my #uzulang in progress) and classic Dirt sampler (which built in Termux with minor fixes), but compiling godwit depends on the #haskell programs alex and happy for generating the parser, and it seems Termux repos don't have them. nor is there darcs (also implemented in Haskell), which I'd need to get #HaskellHugs Hugs 2019 improvement (inc happy) working.

getting happy and alex working with #MicroHs is also far from trivial, even old versions depend on MagicHash and other ghc-isms.

Prueba de generación de sonido, literalmente escribiendo cada sample en un array gracias a la librería portaudio (https://github.com/PortAudio/portaudio).

#programming #c #audio #indiedev #PortAudio

GitHub - PortAudio/portaudio: PortAudio is a cross-platform, open-source C language library for real-time audio input and output.

PortAudio is a cross-platform, open-source C language library for real-time audio input and output. - PortAudio/portaudio

GitHub

Today's minor software victory involves arm-wrestling with the portaudio wrapper for Python.

The hotplug branch (referenced in https://github.com/PortAudio/portaudio/wiki/HotPlug) of the C level portaudio code seems to be a dead-end, so that's a bumner.

Experimentally I observed that calling terminate() twice on the PyAudio() object gets me a fresh list without restarting the program (a TUI) even though, as far as I can tell, I only call open() once. Some ref-count bug?

I'll take the win 🔊

#Python #PyAudio #PortAudio

HotPlug

PortAudio is a cross-platform, open-source C language library for real-time audio input and output. - PortAudio/portaudio

GitHub

I spent a few hours on New Years Eve trying to listen to my USB microphone using Python3, PyQt5 and pyAudio. I can play WAV files using pyAudio, but fetching my microphone is becoming a bit challenging.

Lets see if I can get this working New Years Day. Time to read the documentation.
https://people.csail.mit.edu/hubert/pyaudio/docs/

#Linux #python #python3 #pyqt #pyqt5 #pyaudio #portaudio #USB #USB3 #microphone #WAV

PyAudio Documentation — PyAudio 0.2.14 documentation

For small real-time #audio thing i’m working for my own entertainment i stick to good old #C and #PortAudio.

Working on Rust would mostly getting into unsafe mode and cursing that there is no “first-class” way to check each and every dynamic memory allocation success. Finally, the audio libraries are quite bad when considering ones actually implemented with Rust (e.g. CPAL), not just bindings to e..g PortAudio.

So where I would not like to Rust bother, it would come to poke me with. a stick, and where I would need its help, it totally ignores the issue.

I’d like Rust more if people would stop describing it as a memory safe language.There is no such thing as memory safe language. There’s only languages with weaker and stronger checks/guarantees, and usually only for a subset of overall memory management.

In the case of Rust it can handle dangling references but ignores memory usage and out-of-memory conditions completely.

#rustlang