Carl-Erik Kopseng wrote:
Having searched the net for hours, I still cannot find
any tutorials or
intro-material for someone new to sound programming in Linux. Can anyone
tip me of such a place?
Things that would be valuable for a newbie:
- Introduction to various ways of storing audio; float vs integer
representation, bit depth issues, etc.
integer used to be computationally more effective. (although i've heard
people who should know it say it's no longer an issue on modern cpus.
still, if you are targetting embedded systems, be sure to check out
their floating point performance.)
float has the very big advantage that it will always give you optimum
resolution (i.e. use all vailable bits) regardless of your level, and
that you don't have to worry about overflow. only in the last step
before the DAC do you need to clamp it between 0 and 1.0.
when reducing bit depth, be sure to understand about dither. wikipedia
should have something, steve harris explained it in a joint paper we did
some years ago at a LAC
(
http://spunk.dnsalias.org/public_stuff/linux_audio/audio_engineering_in_a_n…),
and there is an excellent chapter in bob katz' book on mastering audio.
- Introduction to using standard libraries such as
libsndfile and
libsamplerate.
both come with example programs.
- How to programatically convert 24 bit sound files
to 16 bit files
bit-shift and dither.
The *only* audio programming introductions I could
find was about ALSA
and OSS.
in the open source world, every app is a howto :-D
Trying to directly use the APIs is very frustrating
when one doesn't
have a high-level understanding of what goes on ...
the easiest and most rewarding API is probably JACK. check out the
example programs. apart from hiding the gruesome details of audio
hardware, it will make your application part of the most versatile and
creative free infrastructure existing today.
--
jörn nettingsmeier
home://germany/45128 essen/lortzingstr. 11/
http://spunk.dnsalias.org
phone://+49/201/491621
Kurt is up in Heaven now.