course overview
play

Course Overview Programming Week #1 - 4/7/2006 CCRMA, Department - PDF document

Music 3SI: Introduction to Audio/Multimedia App. Course Overview Programming Week #1 - 4/7/2006 CCRMA, Department of Music Stanford University 4/7/06, Music 3SI, CCRMA, Stanford 1 2 Music 3SI Staff Programming Instructor: Woon


  1. Music 3SI: Introduction to Audio/Multimedia App. Course Overview Programming Week #1 - 4/7/2006 CCRMA, Department of Music Stanford University 4/7/06, Music 3SI, CCRMA, Stanford 1 2 Music 3SI Staff • Programming • Instructor: Woon Seung Yeo (officially: course leader) • Audio / multimedia � woony@ccrma.stanford.edu � http://ccrma.stanford.edu/~woony • Introductory course • Office hours: TBD (or by appointment) • SI: Student-Initiated course � P/NC only, 1 or 2 units • Faculty sponsor: Prof. Jonathan Berger 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 3 4 Why? CCRMA/Music Courses • From my personal experience: • 220c � not familiar with C/C++ (I hate pointers!) • 120 / 250a: Pd extern, OSC � want/need to develop my own audio app. • 424: VST � don’t really know how/where to begin � need some “jumpstart”! • 420: Stk • A “service” course for CCRMA • 220a / 320 / 421 / 422 � homework / projects for many CCRMA courses 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 5 6

  2. For Whom? Samples (1) • Rated E for everyone (hopefully...) • Especially... � “Hello World” C/C++ programmers #include <stdio.h> � musicians main() � multimedia artists { � printf("This is a C program\n"); � CCRMA students } • Tutorials, demos, & templates � width > depth 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 7 8 Samples (2) Samples (3) #include <iostream> using namespace std; int main () #include <iostream> { using namespace std; int a,b,c; int main () a=2; { b=7; � cout << "Hello World!"; c = (a>b) ? a : b; � return 0; } cout << c; return 0; } 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 9 10 Samples (4) Samples (5) #include <iostream> #include "WaveLoop.h" using namespace std; #include "FileWvOut.h" void increase (void* data, int size) int main() { { switch (size) // Set the global sample rate before creating class instances. { Stk::setSampleRate( 44100.0 ); case sizeof(char) : (*((char*)data))++; break; case sizeof(int) : (*((int*)data))++; break; WaveLoop input; } FileWvOut output; } input.openFile( "rawwaves/sinewave.raw", true ); int main () output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 ); { char a = 'x'; input.setFrequency( 440.0 ); int b = 1602; increase (&a,sizeof(a)); for ( int i=0; i<40000; i++ ) increase (&b,sizeof(b)); output.tick( input.tick() ); cout << a << ", " << b << endl; return 0; return 0; } } 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 11 12

  3. OS & Computer Topics • Mac OS X / Linux • C / C++ basics • CCRMA machines • Audio / sound � Linux boxes • Audio plug-ins � Mac minis • GUI programming � obtain CCRMA account TODAY! • Visual / multimedia • Your own computer • Network • No support for Windows � can be used, though... 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 13 14 Week 1: Introduction • Today! • Course overview Schedule • Demos 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 15 16 Week 2: Audio Prog. (1) Week 3: Audio Prog. (2) • C/C++ review • Stk instrument / effect classes • Overview of audio APIs • Audio effect / DSP basics � Stk (StkX) / RtAudio • Fast Fourier Transform � PortAudio, ALSA, OpenAL, CoreAudio � FFTW • Audio programming basics � AltiVec • Assignment #1 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 17 18

  4. Week 4: Plug-ins Week 5: GUI (1) • Audio plug-in technologies • Guest lecturer from Apple � VST • Cocoa API � LADSPA, Audio Unit • GUI design: Interface Builder • VST SDK � Stk and Cocoa • Pd (& Max/MSP) externals � flext • Assignment #2 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 19 20 Week 6: GUI (2) Week 7: Visuals • Cocoa review • GUI review � Stk and Cocoa • Image processing basics • Qt API • Core Image (Core Graphics) • Qt Designer • OpenGL with Cocoa / Qt • The GIMP (and plug-ins) • Final project proposal 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 21 22 Week 8: Multimedia Week 9: Network & etc. • Review of audio/visual programming • Audio streaming � InetWvIn / InetWvOut classes (Stk) • Possible mappings • Open Sound Control (OSC) � sonification / visualization • Examples • Project help session � SonART � R.S.V.P. � iTunes plug-ins 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 23 24

  5. Week 10: Presentation • 6/9/2006 (tentative) Assignments, Project, & Grading 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 25 26 Assignments / Project Grading / Credit • Assignment #1 • P/NC only � command-line audio application � no letter grade � no incomplete • Assignment #2 • 1 or 2 units � GUI-based audio app., VST plug-in, or Pd extern • F.P.: anything about audio/MM, including • Music grad students: BE CAREFUL! � audio processing application / plug-in / extern • Auditors are always welcome! � sonification / visualization program � audio streaming / sound control over network 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 27 28 CCRMA/Music Courses • 220c • 120 / 250a: Pd extern, OSC Related Courses • 424: VST • 420: Stk • 220a / 320 / 421 / 422 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 29 30

  6. CS • CS106b • CS107 Course Website • CS193e 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 31 32 Course Website • http://ccrma.stanford.edu/courses/3SI/ • Stay tuned to announcements Examples • Weekly schedule & readings • Links: lots of interesting stuffs • Templates / examples 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 33 34 Examples Finally... • Command-line audio applications • Survey • GUI-based audio applications • CCRMA account application form • VST plug-in (compressor) • Image / graphics applications • Sonification / visualization • Network (OSC) 4/7/06, Music 3SI, CCRMA, Stanford 4/7/06, Music 3SI, CCRMA, Stanford 35 36

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend