PulseAudio 9.0 released
freedesktop.org
freedesktop.org
I can think of a use: plug a long wire into an audio out port and use it to transmit very-low-power AM radio without even needing a mixer. 384 kHz is enough to cover a decent chunk of the AM radio band :)
Of course, I bet your average "384 kHz" soundcard does some "direct stream digital" or similar garbage and has a truly atrocious SNR that those frequencies, so this might not actually work.
EDIT: Brain fart. 384 kilosamples per second is too low for normal AM radio unless there's a nonlinearity you can exploit. It would still be a fun experiment, though.
Nyquist would suggest otherwise but why let pesky math get in the way of the golden ears. This is just more MHz war, DECT 6.0 style BS. I'm holding out for the dulcet tones of 1Mhz PCM audio myself.
> The high rate is just an ALSA quirk originating from the choice of pretending that the compressed data is PCM audio with only two channels, while the compressed data actually carries more channels.
This is almost certainly not a quirk of ALSA, but more likely a reflection of how certain audio formats are (or were) transmitted over an AES or SPDIF digital link.
--
And why does PA need to have a 384k hard limit anyway? Just report the driver's supported rates, maybe with a blacklist for drivers like the old BT878(?) that support silly high sample rates (presumably for non-audio purposes).
If you use a bona fide 1-bit DAC, you can sample pretty much as fast as you want if all you care about is your pretty spec sheet. 2+MHz sampling? No problem!
The classic article is here:
https://xiph.org/~xiphmont/demo/neil-young.html
Count me out, of course, but I still think it would be amusing to find a "384 kHz" audio DAC that actually worked at high enough frequencies to transmit AM radio. You'd have to actively exploit insufficiently filtered harmonics to have a chance.
This commit[1] however shows that what they're actually using is GNU11, i.e. C11 with GNU extensions, since they seem to rely on those. I double-checked the most recent revision of the configure.ac file[2] and it seems to be still at GNU11.
Not complaining, but I think the changelog entry ("Changed the C standard from C99 to C11") is ever so slightly misleading.
[1] https://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?i... [2] https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/conf...
gcc's default has always been the 'gnu' variant, so previously gnu90, now gnu99.
I has similar problems when I switched from the default (at the time) C++03 to -std=c++11 and found unexpected things broke. I switched to -std=gnu++11 and everything was fine.
Their idea was to use this to communicate data across an air gap.
[0] http://www.cnet.com/news/malware-jumps-air-gap-between-non-n...
The beamforming in Pulse Audio is simply the second half of this process. Given a microphone array and a desired direction to listen in, it can control the pickup pattern of the array by delaying the signals from each mic differently.
1: I haven't really studied how Echo works, so these are mostly assumptions. 2: https://en.wikipedia.org/wiki/Beamforming