4 ms·
digital audio, yep -- in contrast with analog audio :) The TL;DR is that you make your computer spit out a certain amount of distinct values per second (like,
by crs0 5y ago
digital audio, yep -- in contrast with analog audio :)
The TL;DR is that you make your computer spit out a certain amount of distinct values per second (like, say, 44100 floats per second, times two for stereo), and your DAC will convert that stream of numbers into an audio signal that your speakers will be able to use to produce sound.
The way I like to mess around with ideas is to grab a library that writes to WAV files and see what I can make -- a Sine oscillator at a certain given frequency is a good place to start -- and then you can load that WAV file into Audacity (or your other favorite sound editor of choice) and analyze what you just made.
More complex audio topics will require some DSP knowledge; I started teaching myself by reading http://www.dspguide.com/pdfbook.htm http://www.dspguide.com/pdfbook.htm, but there are a decent amount of other resources to learn from too. Especially ones that focus more on the audio aspects of DSP.
There are some interesting programming challenges in the audio space; for example, if you want to pipe sound directly to your speakers (or in a plugin for a DAW), you're going to have to make your code real-time friendly. Designing an "audio graph" to hook devices up together (as if it was a modular system) can be a pretty interesting problem space when you're designing for real-time, polyphony, efficiency, etc. It's a fun topic if you're into both programming and music!
- jjice 5y agoThanks a lot, that was great overview!
- gregsadetsky 5y agoAnd if you're interested in audio programming, follow this thread and the links/references therein :-) https://news.ycombinator.com/item?id=27273706 https://news.ycombinator.com/item?id=27273706