Mjukvaruutveckling
Total Page:16
File Type:pdf, Size:1020Kb
Mjukvaruutveckling - inom ljudområdet Jonas Ekeroot, Sveriges Radio, Teknisk Utveckling Språktyper Systemprogrammeringsspråk (C,C++) Skriptspråk (Tcl/Tk + Snack) Grafisk/Visuell programmering (jMax, Pd, Max/MSP) jMax IRCAM (Institut de Recherche et Coordination Acoustique/Musique) 1 2 Generell ljudmjukvara Generell ljudmjukvara audio SW 3 Generell ljudmjukvara audio SW audio HW Generell ljudmjukvara audio SW driver audio HW Generell ljudmjukvara audio SW audio API driver audio HW 4 Generell ljudmjukvara audio SW audio API driver audio HW API (Application Programming Interface) Generell ljudmjukvara audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW API (Application Programming Interface) Generell ljudmjukvara plug-in audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, OSS, ALSA driver audio HW API (Application Programming Interface) 5 Generell ljudmjukvara plug-in plug-in API audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW API (Application Programming Interface) Generell ljudmjukvara plug-in VST, DirectX, MAS, TDM, plug-in API AS/RTAS/HTDM, LADSPA, AudioUnits audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW API (Application Programming Interface) Audio API:er – Windows MME (MultiMedia Extensions) DS (DirectSound) ASIO (Audio Stream Input/Output) 6 Audio API:er – Mac Sound Manager - MacOS 8/9 Core Audio - MacOS X ASIO (Audio Stream Input/Output) Audio API:er – Linux / Unix OSS (Open Sound System) ALSA (Advanced Linux Sound Architecture) Plug-in API:er / Plug-in-format VST (Virtual Studio Technology) DirectX MAS (Mark of the Unicorn Audio System) 7 Plug-in API:er / Plug-in-format TDM (Time Division Multiplexing) AS (Audio Suite) RTAS (Real-Time Audio Suite) HTDM (Host Time Division Multiplexing) Plug-in API:er / Plug-in-format LADSPA (Linux Audio Developer’s Simple Plug-in API) AU (Audio Units) Plug-in-programmering C-uppsats i ljudteknik ”Implementing a parametric EQ plug-in in C++ using the multi-platform VST specification” http://epubl.luth.se/1402-1773/2003/044/ 8 Generell ljudmjukvara plug-in VST, DirectX, MAS, TDM, plug-in API AS/RTAS/HTDM, LADSPA, AudioUnits audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW API (Application Programming Interface) Latency ”Audio Latency Measurements of Desktop Operating Systems” (2001) MacMillan, Droettboom och Fujinaga Johns Hopkins University ICMC (International Computer Music Conference) 9 10 Generell ljudmjukvara audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW Generell ljudmjukvara audio SW audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW Generell ljudmjukvara audio SW PortAudio audio API MME, DS, ASIO, SoundMgr, CoreAudio, OSS, ALSA driver audio HW 11 Generell ljudmjukvara cross-platform audio SW PortAudio audio API MME, DS, ASIO, SoundMgr, CoreAudio, driver OSS, ALSA audio HW PortAudio Cross-platform audio API open-source (C) http://www.portaudio.com/ libsndfile Cross-platform sound file API open-source (C) http://www.mega-nerd.com/libsndfile/ 12 wxWidgets Cross-platform GUI API (framework) open-source (C++) http://www.wxwidgets.org/ Audacity – fri ljudeditor PortAudio libsndfile wxWidgets http://audacity.sourceforge.net/ Windows, MacOS 9/X, Linux/Unix Audacity 13 Audacity 14.