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 – / 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 ()

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