Digitální audio stanice (DAW) jsou využívány muzikanty a zvukovými inženýry, kdykoliv je vyžadováno komplexní přehrávání nebo nahrávání zvuku. Vývoj DAW specializované pro živá vystoupené je popsán v této práci. Softwarová DAW pro živá vystoupení je aplikace pro osobní počítače, která využívá interní nebo externí zvukovou kartu k přijímání a odesílání signálu s minimální latencí. Signál může být dle nastavení aplikace zpracován a vyhodnocován. Aplikace je implementovaná v programovacím jazyce C++ s použitím grafického frameworku Qt a knihovny PortAudio pro práci se zvukovými vstupy a výstupy. Umožňuje uživatelům vytvoření a uložení vlastních pravidel pro přesměrování a slučování vstupů a výstupů zvukové karty a zvukových souborů. Jsou implementovány funkce jako zobrazení grafu signálu v čase nebo vytváření playlistů. Bylo navrhnuto rozhraní pro zpracování signálu a implementovány čtyři jednotky, které je možné aplikovat na libovolný vstup. Tyto jednotky jsou: Volume Processing Unit pro úpravu hlasitosti signálu, VST Processing Unit, která umožňuje využití otevřeného standardu pro nezávisle DSP bloky nazvané VST Plug-in, Tempo Processing Unit, která implementuje moderní algoritmus pro detekci tempa na základě analýzy spektrální diference a MIDI Process Unit pro odesílání předdefinovaných MIDI zpráv při detekci první doby.
Anotace v angličtině
Whenever there is complex audio playback or recording necessary, audio workstations have been used to fit the needs of musicians and sound engineers. In this thesis, research and development of a digital audio workstation (DAW) is described. A software DAW is an application for personal computers that uses internal or external sound card to obtain, process and output audio in real-time, allowing application to be used during live performances where low latency output is mandatory. Application is implemented in C++ using Qt graphical framework and PortAudio audio I/O library. It allows users to create custom routing between sound card input and output channels as well as audio files. Several features like creating and saving of a playlist settings or displaying graph of a signal in time were implemented. Interface for signal processing units was designed and four processing units were created that can be applied on any input selected by the user. These units are: Volume Processing Unit to control the volume of the signal, VST Processing Unit that allows usage of open standard for application independent DSP blocks called VST Plug-ins, Tempo Processing Unit that implements state-of-the-art algorithm for detecting tempo of a song using spectral flux and MIDI Process Unit for sending pre-defined MIDI message triggered by musical onset to selected MIDI device.
Klíčová slova
digitální audio stanice, zpracování hudby, detekce tempa
Klíčová slova v angličtině
digital audio workstation, music processing, onset detection
Rozsah průvodní práce
61 s.
Jazyk
AN
Anotace
Digitální audio stanice (DAW) jsou využívány muzikanty a zvukovými inženýry, kdykoliv je vyžadováno komplexní přehrávání nebo nahrávání zvuku. Vývoj DAW specializované pro živá vystoupené je popsán v této práci. Softwarová DAW pro živá vystoupení je aplikace pro osobní počítače, která využívá interní nebo externí zvukovou kartu k přijímání a odesílání signálu s minimální latencí. Signál může být dle nastavení aplikace zpracován a vyhodnocován. Aplikace je implementovaná v programovacím jazyce C++ s použitím grafického frameworku Qt a knihovny PortAudio pro práci se zvukovými vstupy a výstupy. Umožňuje uživatelům vytvoření a uložení vlastních pravidel pro přesměrování a slučování vstupů a výstupů zvukové karty a zvukových souborů. Jsou implementovány funkce jako zobrazení grafu signálu v čase nebo vytváření playlistů. Bylo navrhnuto rozhraní pro zpracování signálu a implementovány čtyři jednotky, které je možné aplikovat na libovolný vstup. Tyto jednotky jsou: Volume Processing Unit pro úpravu hlasitosti signálu, VST Processing Unit, která umožňuje využití otevřeného standardu pro nezávisle DSP bloky nazvané VST Plug-in, Tempo Processing Unit, která implementuje moderní algoritmus pro detekci tempa na základě analýzy spektrální diference a MIDI Process Unit pro odesílání předdefinovaných MIDI zpráv při detekci první doby.
Anotace v angličtině
Whenever there is complex audio playback or recording necessary, audio workstations have been used to fit the needs of musicians and sound engineers. In this thesis, research and development of a digital audio workstation (DAW) is described. A software DAW is an application for personal computers that uses internal or external sound card to obtain, process and output audio in real-time, allowing application to be used during live performances where low latency output is mandatory. Application is implemented in C++ using Qt graphical framework and PortAudio audio I/O library. It allows users to create custom routing between sound card input and output channels as well as audio files. Several features like creating and saving of a playlist settings or displaying graph of a signal in time were implemented. Interface for signal processing units was designed and four processing units were created that can be applied on any input selected by the user. These units are: Volume Processing Unit to control the volume of the signal, VST Processing Unit that allows usage of open standard for application independent DSP blocks called VST Plug-ins, Tempo Processing Unit that implements state-of-the-art algorithm for detecting tempo of a song using spectral flux and MIDI Process Unit for sending pre-defined MIDI message triggered by musical onset to selected MIDI device.
Klíčová slova
digitální audio stanice, zpracování hudby, detekce tempa
Klíčová slova v angličtině
digital audio workstation, music processing, onset detection
Zásady pro vypracování
Seznamte se s knihovnami PortAudio a Qt pro C++. Zvolte si vhodné vývojové nástroje pro jazyk C++ a vhodné API (např. ASIO).
Vytvořte aplikaci pro míchání audio signálů v reálném čase s následujícími možnostmi:
-možnost vícestopého záznamu/přehrávání
-import/export WAV souborů
-přidávání/ubíraní mono/stereo stop
-nastavení pevného nebo plovoucího tempa, ve druhém případě řízeného vybraným audio vstupem
-výstup synchronizace tempa na MIDI a metronomu do vybrané audio stopy
-možnost vložení VST pluginu do signálové cesty před výstupem
-správa souborů a playlistů s rychlým načítáním
Upravte grafické uživatelské prostředí aplikace tak, aby bylo vhodné pro ovládání při živých vystoupení. Ověřte aplikaci v reálném provozu.
Text práce zpracujte v anglickém jazyce.
Zásady pro vypracování
Seznamte se s knihovnami PortAudio a Qt pro C++. Zvolte si vhodné vývojové nástroje pro jazyk C++ a vhodné API (např. ASIO).
Vytvořte aplikaci pro míchání audio signálů v reálném čase s následujícími možnostmi:
-možnost vícestopého záznamu/přehrávání
-import/export WAV souborů
-přidávání/ubíraní mono/stereo stop
-nastavení pevného nebo plovoucího tempa, ve druhém případě řízeného vybraným audio vstupem
-výstup synchronizace tempa na MIDI a metronomu do vybrané audio stopy
-možnost vložení VST pluginu do signálové cesty před výstupem
-správa souborů a playlistů s rychlým načítáním
Upravte grafické uživatelské prostředí aplikace tak, aby bylo vhodné pro ovládání při živých vystoupení. Ověřte aplikaci v reálném provozu.
Text práce zpracujte v anglickém jazyce.
Seznam doporučené literatury
\renewcommand{\labelenumi}{[\arabic{enumi}]}
H. L. Van Trees, Optimum Array Processing: Part IV of Detection, Estimation, and Modulation Theory, John Wiley & Sons, Inc.,2002.
U. Zolzer, DAFX: Digital Audio Effects, John Wiley & Sons, 2002.
Seznam doporučené literatury
\renewcommand{\labelenumi}{[\arabic{enumi}]}
H. L. Van Trees, Optimum Array Processing: Part IV of Detection, Estimation, and Modulation Theory, John Wiley & Sons, Inc.,2002.
U. Zolzer, DAFX: Digital Audio Effects, John Wiley & Sons, 2002.
Přílohy volně vložené
žádné
Přílohy vázané v práci
-
Převzato z knihovny
Ano
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Průběh obhajoby je zveřejněn pouze přihlášenému uživateli.