1 / 24

Preparing to Program in the Audio Industry

Preparing to Program in the Audio Industry. Beau Silver, MuE and CS Advisor: Colby Leider. How did programming become important in audio?. electrical engineers wax records, tape machines, analog signal processors computer programmers computed math and research.

salena
Download Presentation

Preparing to Program in the Audio Industry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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…

More Related