Zpráva k semestrální práci

Podobné dokumenty
Zpráva k semestrální práci z B2M31SYN Syntéza audio signálů

Úvod do MIDI 15. listopadu Co je to MIDI General MIDI MIDI v MATLABu MIDI freeware

Syntéza audio signálů Aditivní syntéza symfonického orchestru a akordeonu

Synth challange 2016

Semestrální práce z předmětu Syntéza audio signálů


Zpráva k semestrální práci z předmětu Syntéza audio signálů. Vypracoval: Jakub Krista Zimní semestr 2016/2017 Datum odevzdání:

Syntéza zvuků a hudebních nástrojů v programovém prostředí MATLAB

A2B31SMS 3. PŘEDNÁŠKA 15. října 2015

A2B31SMS 2. PŘEDNÁŠKA 9. října 2017 Číslicové signály

Modulační syntéza 8. prosince 2014

X31ZZS 3. PŘEDNÁŠKA 6. října Periodické průběhy Fourierovy řady Spektrum Barva zvuku Aplikace

Quantization of acoustic low level signals. David Bursík, Miroslav Lukeš

Spektrální analýza a diskrétní Fourierova transformace. Honza Černocký, ÚPGM

B2M31SYN 3. PŘEDNÁŠKA 17. října 2018

B2M31SYN 2. PŘEDNÁŠKA 10. října 2018 Generování číslicových signálů

Akustika. 3.1 Teorie - spektrum

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti

ADA Semestrální práce. Harmonické modelování signálů

doc. Dr. Ing. Elias TOMEH Elias Tomeh / Snímek 1

Komplexní obálka pásmového signálu

ANALÝZA LIDSKÉHO HLASU

Vlastnosti Fourierovy transformace

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Klasifikace hudebních stylů

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

B2M31SYN SYNTÉZA AUDIO SIGNÁLŮ

Úvod do zpracování signálů

A7B31ZZS 4. PŘEDNÁŠKA 13. října 2014

ROZPOZNÁNÍ TITULU GRAMOFONOVÉ DESKY PODLE KRÁTKÉ UKÁZKY

Vold-Kalmanova řádová filtrace. JiříTůma

AKUSTIKA. Tón a jeho vlastnosti

Dodatek k uživatelském manuálu Adash 4202 Revize MK

A2B31SMS 11. PŘEDNÁŠKA 4. prosince 2014

Výpis m-souboru: Výsledný průběh:

Vlastnosti a modelování aditivního

Stručný návod k programu Octave

7. ODE a SIMULINK. Nejprve velmi jednoduchý příklad s numerických řešením. Řešme rovnici

3 Tvorba zvuku elektronickou cestou

Algoritmy a struktury neuropočítačů ASN P09. Analýza emocionální řeči neuronovými sítěmi Proč?

Signál v čase a jeho spektrum

IMPLEMENTACE OBJEKTIVNÍHO MODELU HODNOCENÍ KVALITY ZVUKU PEMO-Q V PROSTŘEDÍ MATLAB SE ZAHRNUTÝM MODELEM SLUCHOVÉ CESTY A MODELEM CASP

Číslicové zpracování signálů a Fourierova analýza.

Osnova. Idea ASK/FSK/PSK ASK Amplitudové... Strana 1 z 16. Celá obrazovka. Konec Základy radiotechniky

Zvuk. 1. základní kmitání. 2. šíření zvuku

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU

Semestrální práce z předmětu Matematika 6F

AKUSTIKA. Barva tónu

Číslicové filtry. Honza Černocký, ÚPGM

Amplitudová a frekvenční modulace

Zpracování obrazů. Honza Černocký, ÚPGM

Fyzikální podstata zvuku

PSK1-9. Číslicové zpracování signálů. Číslicový signál

Primární zpracování radarového signálu dopplerovská filtrace

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

Akustika pro posluchače HF JAMU

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

KATEDRA ELEKTRICKÝCH MĚŘENÍ

Kreslení grafů v Matlabu

OSNOVA. 1. Definice zvuku a popis jeho šíření. 2. Rozdělení zvukových záznamů (komprese) 3. Vlastnosti jednotlivých formátů

Mezilaboratorní porovnání při vibračním zkoušení

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému

Základy algoritmizace a programování

PSK1-5. Frekvenční modulace. Úvod. Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka. Název školy: Vzdělávací oblast:

DUM č. 15 v sadě. 31. Inf-7 Technické vybavení počítačů

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

KMS cvičení 6. Ondřej Marek

Nástroje s rotačními elektrooptickými generátory

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

SIMULACE ZVUKOVÉHO POLE VÍCE ZDROJŮ

Úloha D - Signál a šum v RFID

MATLAB základy. Roman Stanec PEF MZLU

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY. 4) Upravujeme nahraný zvuk


BPC2E_C09 Model komunikačního systému v Matlabu

HUDEBNÍ VÝCHOVA. 1. ročník

5 VZDĚLÁVACÍ OBSAH UMĚLECKÝCH OBORŮ 5.1 VZDĚLÁVACÍ OBSAH HUDEBNÍHO OBORU

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

Otázky z hudební nauky 1. ročník

VOLBA ČASOVÝCH OKEN A PŘEKRYTÍ PRO VÝPOČET SPEKTER ŠIROKOPÁSMOVÝCH SIGNÁLŮ

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

UŽITÍ KOHERENČNÍ FUNKCE PRO DISTRIBUOVANOU

A7B31ZZS 6. PŘEDNÁŠKA 27. října 2014

Analogové modulace. Podpora kvality výuky informačních a telekomunikačních technologií ITTEL CZ.2.17/3.1.00/36206

Mgr. et Mgr. Jan Petrov, LL.M. Ph.D. BYZNYS A PRÁVO

mel jednotka subjektivní výšky tónu. Výška tónu o frekvenci 1000 Hz a hladině akustického tlaku 40 db se rovná 1000 melům.

D/A převodník. Třída: 4.C Elektrotechnická Havířov Protokol do MIT Skupina: 3. Střední Průmyslová Škola. Zpráva číslo: 4

Digitalizace převod AS DS (analogový diskrétní signál )

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

Základy Hudební Akustiky. 1. Úvod

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

SYNTÉZA AUDIO SIGNÁLŮ

IMPLEMENTACE VIRTUÁLNÍHO AKUSTICKÉHO ZDROJE NA DSP ZA PODPORY MATLABU

Náhodné signály. Honza Černocký, ÚPGM

Algoritmus pro generování normálních magických čtverců

Programovatelný inteligentní zdroj harmonického napětí

Transkript:

ČVUT FEL Zpráva k semestrální práci A2B31SMS Jan Vimr 2017/2018

1. Postup Zadáním semestrální práce byla syntéza libovolného hudebního nástroje pro skladbu: Let čmeláka Nikolaj Rimskij Korsakov, dále odevzdat dvě durové hudební stupnice daného nástroje a libovolná vlastní realizace audio syntézy v prostředí MATLAB. Jelikož zadaná skladba Let čmeláka má velmi rychlé tempo, a tudíž všechny tóny jsou velmi krátké, hledal jsem pro svoji tvorbu nástroj, který byl pro takovou skladbu vhodný a nakonec jsem se rozhodl pro syntézu xylofonu. A) Let čmeláka První fází mojí práce byla analýza několika vzorků signálu xylofonu a to jak v časové tak spektrální oblasti. Při analýze časového průběhu zvuku xylofonu jsem dospěl k závěru, že nejlepším řešením obálky signálu bude klesající exponenciála. Analýzou spektra signálu jsem získal hodnoty nejvýraznějších spektrálních čar. Dále jsem zjistil, že spektrální složení signálu se v čase mění a proto jsem původně uvažoval o použití tabulkové syntézy. Po několika pokusech jsem ale od této metody ustoupil a pokračoval místo toho v pokusech s aditivní syntézou. Další fází už bylo samotné napsání programu. Použil jsem tedy MIDI Toolbox a začal upravovat funkci synth.m. Pro větší přehlednost jsem pro jednotlivé nástroje vytvořil zvláštní funkce, které jsou zavolány z funkce synth.m. Finální podoba funkce synth.m : if channel~=10; if synthtype == 14 y=xylophone(freq,dur,amp,fs); elseif synthtype == 74 y=flute(freq,dur,amp,fs); elseif synthtype<64 tau = 0.1; % doznivani y = amp.*exp(-t/tau).*sin(2*pi*freq*t); else y = amp.*square(2*pi*freq*t); end end Realizace samotné funkce xylophone.m vypadá takto: function y=xylophone(freq,dur,amp,fs) % XYLOFON % freq... zakladni harmonicka frekvence % dur... delka trvani tonu % amp... hlasitost tonu % Fs... vzorkovaci frekvence tau =.06; % parametr exponencialni obalky dur =.8; % doba trvani tonu t = 0:1/Fs:dur-1/Fs; % casova osa

o = exp(-t./tau); % obalka signalu ampl = [.4.04.3.08.04.09.05]; % amplitudy jednotlivych harmonickych slozek x = o.*[ampl*sin(2*pi*[1 3 7 11.8 13.7 18.5 21.7]'*freq*t)]; % aditivni synteza signalu y = amp.*x; % hlasitost signalu Jelikož většina celé syntézy probíhá na jednom řádku, zde přikládám ještě podrobnější rozepsání této části programu do jednotlivých úkonů: % aditivni synteza signalu ampl = [.4.04.3.08.04.09.05]; % amplitudy jednotlivych harmonickych slozek n = [1 3 7 11.8 13.7 18.5 21.7]'; % sloupcovy vektor obsahujici nasobky harmonickych slozek s = sin(2*pi*n*freq*t); % matice, kde pocet radku = length(n), pocet sloupcu = length(t) a = ampl*s; % nasobeni vektor(1,7)* matice(7,length(t)) -> radky se poscitaji s vahou danou vektorem ampl x = o.*a; % vynasobeni obalkou Ve funkci jsem nakonec nahradil parametr dur, tedy délku trvání tónu, konstantou, jelikož mi přišlo, že to více odpovídá skutečnému xylofonu, u kterého nelze délku tónu ovlivnit. Porovnání skutečného a syntetizovaného zvuku xylofonu: Pomocí MIDI Toolboxu jsem pak už jen vyrobil skladbu Let čmeláka.

B) Dvě oktávy durové stupnice Pro výrobu stupnice jsem napsal skript stupnice.m, který k syntéze využívá funkci synth.m a výsledný signál vyexportuje ve formátu.m4a. Kód skriptu stupnice.m : fs = 48000; %vzorkovaci frekvence noty = [40 42 44 45 47 49 51 52 54 56 57 59 61 63 64]; % jednotlive klavesy doba =.8; freq = 440*2.^((noty-49)/12); % vypocet frekvence z cisla klavesy y=[]; for k = 1:length(noty) x=synth(freq(k),doba,1,fs,14); % synteza jednotlivych tonu y=[y x]; % zapis vsech tonu za sebe end y=y./max(abs(y)); % normovani signalu audiowrite('stupnice_xyl.m4a',y,fs); % zapis do formatu m4a C) Vlastní tvorba Jelikož mě vytváření xylofonu bavilo, ale už jsem neměl další nápady, jak jej dále vylepšovat, rozhodl jsem se pro tvorbu jiného nástroje. Nakonec jsem zvolil flétnu. Postup byl velmi podobný jako u xylofonu. Zanalyzoval jsem několik vzorků zvuku flétny. Po prohlédnutí spektra bylo jasné, že nejlepší volbou bude aditivní syntéza, jelikož spektrum obsahovalo pouze několik spektrálních čar. Obálku jsem realizoval ze dvou částí. První měla tvar lichoběžníku a jejím úkolem bylo vytvořit náběh (attack) a uvolnění (release). Druhá část byla tvořena funkcí sinus, ta má za úkol simulovat kolísání amplitudy signálu tremolo. Tato část obálky dobře dokreslí zvuk flétny, nesmí ale být příliš výrazná, jelikož potom zvuk začne připomínat spíše smyčcové nástroje. Na základě poslechu jsem oproti zkoumanému signálu ponechal pouze liché harmonické složky, zvuk potom působil více jako dechový nástroj. function y = flute(freq,doba,amp,fs) % FLÉTNA t = 0:1/fs:doba-1/fs; % casova osa %obalka signalu p=.1; % parametr doby nabehu a poklesu o1=interp1(doba.*[0 p 1-p 1],[0 1 1 0],t); %vytvori se lichobeznik tvorici prvni cast obalky o2=46+2.5*sin(2*pi*10.1.*t-1); % sinusovy prubeh tvori druhou cast obalky o=o1.*o2; % spojeni do finalni podoby obalky ampl = [.99.25.02]; % amplitudy jednotlivych harmonickych slozek x=o.*(ampl*sin(2*pi*[1 3 5]'*freq*t)); % aditivni synteza signalu y=amp.*x; % hlasitost signalu

Porovnání skutečného a syntetizovaného zvuku flétny: Obdobným způsobem jako u xylofonu jsem vytvořil jednu oktávu durové stupnice a pomocí MIDI Toolboxu jsem nechal vygenerovat skladbu Dolly Suite, Op. 56 - Berceuse - Gabriel Fauré. 2. Závěr Při semestrální práci jsem zdokonalil svoje dovednosti v prostředí MATLAB a rozšířil si znalosti v oblasti syntézy audio signálů. S dosaženými výsledky nejsem zcela spokojen. Xylofon hraje dobře na vyšších frekvencích, slušně na středních ale na nižších frekvencích už je to horší. Zejména se to projeví při skladbě Let čmeláka, která má velký frekvenční rozsah. Syntéza flétny se myslím podařila lépe, ale to částečně i proto, že skladby pro flétnu neobsahují nízké frekvence. 3. Zdroje souborů Vzorky xylofonu: https://soundpacks.com/free-sound-packs/xylophone-samples-pack/ Vzorky flétny: https://soundpacks.com/free-sound-packs/flute-sound-kit/ MIDI soubor pro vlastní tvorbu: http://www4.osk.3web.ne.jp/~kasumitu/eng.htm 4. Přiložené soubory Složka vimrjan_2017 obsahuje kompletní MIDI Toolbox s upravenou funkcí synth.m, přidanými funkcemi xylophone.m, flute.m a skriptem stupnice.m. Zdrojové MIDI soubory jsou ve složce midi. Výstupní soubory jsou ve složce result.

Složky Xylophone a Flue obsahuji skripty Zobrazeni.m, který přehraje přiložené vzorky zvuku nástroje a zobrazí jejich časový průběh a spektrum. A skripty Xyl_adi.m (resp. Flu_adi.m ) které slouží pro porovnání originálních a syntetizovaných zvuků.