Download
preparing to program in the audio industry n.
Skip this Video
Loading SlideShow in 5 Seconds..
Preparing to Program in the Audio Industry PowerPoint Presentation
Download Presentation
Preparing to Program in the Audio Industry

Preparing to Program in the Audio Industry

239 Vues Download Presentation
Télécharger la présentation

Preparing to Program in the Audio Industry

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Preparing to Program in the Audio Industry Beau Silver, MuE and CS Advisor: Colby Leider

  2. How did programming become important in audio? • electrical engineers • wax records, tape machines, • analog signal processors • computer programmers • computed math and research

  3. 2007 – everything audio is digital • software for recording and signal processing (Pro Tools) • hard drive for storing audio • software devices for reproduction (Ipod)

  4. Matlab • high level programming language • easy audio manipulation • waveread(), wavewrite(), sin(), sound(), filter() • *Matlab Project • no understanding of low level

  5. How does one prepare to program in the audio industry? • Learn format of digital audio files • Learn programming on a large scale • Learn Libraries to perform audio programming

  6. How are audio files stored and manipulated? • continuous waveform -> discrete samples • Nyquist Sampling Theorem • run low pass filter • quantization • sample rate / bit depth

  7. series of 44,100 samples per second with 16 bit depth precision, between -1 and 1 • *run print program

  8. How does one prepare to program in the audio industry? • Learn format of digital audio files • Learn programming on a large scale • Learn Libraries to perform audio programming

  9. How does one program on a large scale? • Dolby • Digidesign • Microsoft • C++ in development software (Visual C++)

  10. Learning C++ and Visual C++ • Hello World • *“Hello World Program” • I/O • Header files • Using Classes • *“Sorting_Classes_Header” program • Using Non-standard Libraries • Overloading • *“FunctionOverloadingPractical Program” • Inheritance • *”Inheritance program”

  11. namespace • Localizes visibilty of names of functions declared within it -> allows the same name in different contexts • class and object • A class is a set of plans that specify how to build an object • An object is an instance of a class • function overloading • Two or more functions can share the same name as long as their parameter declarations are different • Default arguments • Inheritance • Allows to define a general class that can be inherited by a more specific class • Allows for hierarchal classification

  12. How does one prepare to program in the audio industry? • Learn format of digital audio files • Learn programming on a large scale • Learn Libraries to perform audio programming

  13. What libraries are needed to perform audio programming? • Port Audio • http://www.portaudio.com/ • LibSndFile • http://www.mega-nerd.com/libsndfile/

  14. Port Audio • create a sin wave • play it on sound card • allow for easy “sine” function • *Sine wave project

  15. LibSndFile “Sound Pro” • open a sound file • perform simple dsp • write out to a file • Communication I/O -> command line (argv, argc) and scanf • *SoundPro Project

  16. DSP • Gain Change • raise / lower volume of samples • Normalization • raise volume of sound to maximum without clipping • Moving Average Low Pass • remove high frequencies

  17. The future Sound Pro • More processing options • Nice GUI • Available on all platforms

  18. Conclusions: • Audio in 2007 • Programming! Programming! Programming! • How to prepare? • Digital audio • Programming on a large scale • Libaries

  19. The End open for questions…