diff --git a/docs/Pukownik C. - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia.pdf b/docs/Pukownik C - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia v2.pdf similarity index 97% rename from docs/Pukownik C. - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia.pdf rename to docs/Pukownik C - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia v2.pdf index a62fdc0..ce84433 100644 Binary files a/docs/Pukownik C. - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia.pdf and b/docs/Pukownik C - Generowanie muzyki przy pomocy gÅ‚Ä™bokiego uczenia v2.pdf differ diff --git a/docs/document.fdb_latexmk b/docs/document.fdb_latexmk index 96fe471..f0b9858 100644 --- a/docs/document.fdb_latexmk +++ b/docs/document.fdb_latexmk @@ -1,10 +1,10 @@ # Fdb version 3 -["makeindex document.idx"] 1592557594 "document.idx" "document.ind" "document" 1592561820 - "document.idx" 1592561782 0 d41d8cd98f00b204e9800998ecf8427e "" +["makeindex document.idx"] 1592564494 "document.idx" "document.ind" "document" 1592564645 + "document.idx" 1592564504 0 d41d8cd98f00b204e9800998ecf8427e "" (generated) - "document.ilg" "document.ind" -["pdflatex"] 1592561777 "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" "document" 1592561820 + "document.ilg" +["pdflatex"] 1592564503 "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" "document" 1592564645 "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc" 1550343089 1946 62ba825cda1ff16dbaa60d53ac60525a "" "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc" 1550343089 3126 59f33ff3e396436ebc36f4e7b444d5c4 "" "c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc" 1550343089 2005 f094775651a1386335c158fb632529f1 "" @@ -193,10 +193,10 @@ "c:/software/latex/texmf-var/web2c/pdftex/pdflatex.fmt" 1550344823 4224189 05b80a2fc98956d1ad757099b6714631 "" "c:/software/latex/texmf.cnf" 1550344763 715 839ef4b14d931ce86420174d3a223d3e "" "chapter-style.sty" 1560952449 376 87871882de090607c810d89fd5ae18d9 "" - "document.aux" 1592561809 12412 2aecdd25dcfa881b68f535c7ca66dccc "" - "document.ind" 1592557594 0 d41d8cd98f00b204e9800998ecf8427e "makeindex document.idx" - "document.tex" 1592561789 95683 f15942adacd7abef6ca2184e9ab754c1 "" - "document.toc" 1592561809 5373 969bd356360a2f54401e2ea06cf75c01 "" + "document.aux" 1592564508 12412 2aecdd25dcfa881b68f535c7ca66dccc "" + "document.ind" 1592564494 0 d41d8cd98f00b204e9800998ecf8427e "makeindex document.idx" + "document.tex" 1592564641 95704 46b21c9ff682fbea95d9544058099428 "" + "document.toc" 1592564508 5373 969bd356360a2f54401e2ea06cf75c01 "" "images/autoencoder.png" 1592409298 45138 b1cb8e1c5a4277b2e72bf3e77e86d26c "" "images/general-midi.png" 1592557163 39913 399e67d3d3358eb9656bc3aa91411565 "" "images/gradient_descent_1_long.png" 1592412262 47914 5c985451026c8d5e28901587bf5ee835 "" @@ -226,14 +226,14 @@ "images/training_losses.png" 1592382149 57293 6eb12c89458f62456bc8b0860f6df331 "" "images/wartosc_nut.jpg" 1590441554 48213 d311c2cedb2ed53dcf5eff20f70eda80 "" "images/waveform_axis.png" 1592410460 56303 20c29ea310c3d0f7bef501c488c7de5a "" - "j:/_MAGISTERKA/praca-magisterska/docs/document.aux" 1592561809 12412 2aecdd25dcfa881b68f535c7ca66dccc "" - "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" 1592561789 95683 f15942adacd7abef6ca2184e9ab754c1 "" + "j:/_MAGISTERKA/praca-magisterska/docs/document.aux" 1592564508 12412 2aecdd25dcfa881b68f535c7ca66dccc "" + "j:/_MAGISTERKA/praca-magisterska/docs/document.tex" 1592564641 95704 46b21c9ff682fbea95d9544058099428 "" "pythonhighlight.sty" 1590660734 4822 44a39a68d852c9742af161f7166b2a03 "" (generated) - "document.log" "document.aux" - "document.pdf" - "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" - "j:/_MAGISTERKA/praca-magisterska/docs/document.log" - "document.idx" "document.toc" + "document.log" + "j:/_MAGISTERKA/praca-magisterska/docs/document.log" + "j:/_MAGISTERKA/praca-magisterska/docs/document.pdf" + "document.idx" + "document.pdf" diff --git a/docs/document.log b/docs/document.log index 40cad6d..774ff4f 100644 --- a/docs/document.log +++ b/docs/document.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2019.2.16) 19 JUN 2020 12:16 +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2019.2.16) 19 JUN 2020 13:01 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -686,25 +686,25 @@ File: ot4cmtt.fd 2008/02/24 v1.2.1 Font defs for fonts PL (MW) File: images/general-midi.png Graphic file (type png) -Package pdftex.def Info: images/general-midi.png used on input line 745. +Package pdftex.def Info: images/general-midi.png used on input line 744. (pdftex.def) Requested size: 398.33858pt x 298.75592pt. [32] [33 ] [34 ] -Overfull \vbox (16.08192pt too high) detected at line 758 +Overfull \vbox (16.08192pt too high) detected at line 757 [] Rozdzia\PlPrIeC {\l } 3. [35] [36] LaTeX Font Warning: Font shape `OT4/cmtt/bx/n' in size <10> not available -(Font) Font shape `OT4/cmtt/m/n' tried instead on input line 799. +(Font) Font shape `OT4/cmtt/m/n' tried instead on input line 798. [37] [38] Underfull \vbox (badness 5022) has occurred while \output is active [] [39] [40] [41] [42] [43] -Overfull \hbox (1.58351pt too wide) in paragraph at lines 1100--1101 +Overfull \hbox (1.58351pt too wide) in paragraph at lines 1099--1100 \OT4/cmr/m/n/12 dat-ko-wo u»y-wa-j¡c pa-ra-me-tru [][][][][][][][][][] war-stwa LSTM zwra-ca wek- [] @@ -712,10 +712,10 @@ Overfull \hbox (1.58351pt too wide) in paragraph at lines 1100--1101 File: images/training-model-graph.png Graphic file (type png) -Package pdftex.def Info: images/training-model-graph.png used on input line 1136. +Package pdftex.def Info: images/training-model-graph.png used on input line 1135. (pdftex.def) Requested size: 398.33858pt x 167.1762pt. [45 ] -Overfull \hbox (2.09326pt too wide) in paragraph at lines 1155--1156 +Overfull \hbox (2.09326pt too wide) in paragraph at lines 1154--1155 [][][][][]\OT4/cmr/m/n/12 , za-wie-ra-j¡-ce se-kwen-cje ele-men-tów wyj-±cio-wych, któ- [] @@ -723,70 +723,70 @@ Overfull \hbox (2.09326pt too wide) in paragraph at lines 1155--1156 File: images/inference-decoder-graph.png Graphic file (type png) -Package pdftex.def Info: images/inference-decoder-graph.png used on input line 1190. +Package pdftex.def Info: images/inference-decoder-graph.png used on input line 1189. (pdftex.def) Requested size: 398.33858pt x 100.0106pt. [47 ] [48] [49] [50] [51] [52] [53] File: images/training_losses.png Graphic file (type png) -Package pdftex.def Info: images/training_losses.png used on input line 1494. +Package pdftex.def Info: images/training_losses.png used on input line 1493. (pdftex.def) Requested size: 398.33858pt x 398.33534pt. -Overfull \hbox (3.0656pt too wide) in paragraph at lines 1501--1502 +Overfull \hbox (3.0656pt too wide) in paragraph at lines 1500--1501 []\OT4/cmr/m/n/12 Gdy zde-fi-nio-wa-ne mo-de-le zo-sta-n¡ wy-tre-no-wa-ne mo-»e-my wy-ko-rzy-sta¢ skrypt [] [54] -Overfull \hbox (4.86064pt too wide) in paragraph at lines 1519--1520 +Overfull \hbox (4.86064pt too wide) in paragraph at lines 1518--1519 [][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] [] [55 ] -Overfull \hbox (1.56473pt too wide) in paragraph at lines 1533--1535 +Overfull \hbox (1.56473pt too wide) in paragraph at lines 1532--1534 [][][][][][][][]\OT4/cmr/m/n/12 , któ-re wspie-ra-j¡ for-mat se-kwen-cji sªów mu-zycz-nych omó- [] -Overfull \hbox (0.20659pt too wide) in paragraph at lines 1558--1559 +Overfull \hbox (0.20659pt too wide) in paragraph at lines 1557--1558 \OT4/cmr/m/n/12 oraz opo-wiem ja-kie ulep-sze-nia po-ja-wia-ªy si¦ wraz z po-st¦-pem tre-nin-gu. Wszyst- [] File: images/score_1.png Graphic file (type png) -Package pdftex.def Info: images/score_1.png used on input line 1564. +Package pdftex.def Info: images/score_1.png used on input line 1563. (pdftex.def) Requested size: 398.33858pt x 164.35861pt. [56] File: images/score_10.png Graphic file (type png) -Package pdftex.def Info: images/score_10.png used on input line 1573. +Package pdftex.def Info: images/score_10.png used on input line 1572. (pdftex.def) Requested size: 398.33858pt x 200.99646pt. File: images/score_25.png Graphic file (type png) -Package pdftex.def Info: images/score_25.png used on input line 1582. +Package pdftex.def Info: images/score_25.png used on input line 1581. (pdftex.def) Requested size: 398.33858pt x 211.34148pt. [57 ] File: images/score_50.png Graphic file (type png) -Package pdftex.def Info: images/score_50.png used on input line 1591. +Package pdftex.def Info: images/score_50.png used on input line 1590. (pdftex.def) Requested size: 398.33858pt x 212.13666pt. File: images/score_75.png Graphic file (type png) -Package pdftex.def Info: images/score_75.png used on input line 1600. +Package pdftex.def Info: images/score_75.png used on input line 1599. (pdftex.def) Requested size: 398.33858pt x 209.86871pt. File: images/score_100.png Graphic file (type png) -Package pdftex.def Info: images/score_100.png used on input line 1609. +Package pdftex.def Info: images/score_100.png used on input line 1608. (pdftex.def) Requested size: 398.33858pt x 218.23076pt. File: images/score_150.png Graphic file (type png) -Package pdftex.def Info: images/score_150.png used on input line 1616. +Package pdftex.def Info: images/score_150.png used on input line 1615. (pdftex.def) Requested size: 398.33858pt x 206.14786pt. [58 ] [59 ] [60 ] [61 @@ -796,13 +796,13 @@ Package pdftex.def Info: images/score_150.png used on input line 1616. Here is how much of TeX's memory you used: 16798 strings out of 492616 311656 string characters out of 6131816 - 660983 words of memory out of 5000000 + 661986 words of memory out of 5000000 20350 multiletter control sequences out of 15000+600000 26080 words of font info for 78 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 55i,12n,50p,1574b,1971s stack positions out of 5000i,500n,10000p,200000b,80000s {c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plit.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/pltt.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plrm.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plms.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plmi.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plme.enc}{c:/software/latex/texmf-dist/fonts/enc/dvips/pl/plsc.enc} -Output written on j:/_MAGISTERKA/praca-magisterska/docs/document.pdf (63 pages, 1241654 bytes). +Output written on j:/_MAGISTERKA/praca-magisterska/docs/document.pdf (63 pages, 1241091 bytes). PDF statistics: 351 PDF objects out of 1000 (max. 8388607) 218 compressed objects within 3 object streams diff --git a/docs/document.pdf b/docs/document.pdf index a62fdc0..ce84433 100644 Binary files a/docs/document.pdf and b/docs/document.pdf differ diff --git a/docs/document.synctex.gz b/docs/document.synctex.gz index 7ba6210..865ddd8 100644 Binary files a/docs/document.synctex.gz and b/docs/document.synctex.gz differ diff --git a/docs/document.tex b/docs/document.tex index 61f3b76..5271a9e 100644 --- a/docs/document.tex +++ b/docs/document.tex @@ -609,7 +609,7 @@ The rest of this chapter discusses an example of using the proposed model to gen \newline 5 kwietnia 2020 12:46} - Tak jak pisaÅ‚em wczeÅ›niej wysokość dźwiÄ™ku jest to czÄ™stotliwość drgaÅ„ fali dźwiÄ™kowej wyrażona w hercach. Obecnie używa siÄ™ systemu równomiernie temperowanego, który wyróżnia 12 dzwiÄ™ków równo od siebie oddzielonych. SÄ… to dzwiÄ™ki C, C\#/D$\flat$, D, D\#/E$\flat$, E, F, F\#/G$\flat$, G, G\#/A$\flat$, A, A\#/B oraz H. + Tak jak pisaÅ‚em wczeÅ›niej wysokość dźwiÄ™ku jest to czÄ™stotliwość drgaÅ„ fali dźwiÄ™kowej wyrażona w hercach. Obecnie używa siÄ™ systemu równomiernie temperowanego, który wyróżnia 12 dźwiÄ™ków równo od siebie oddalonych. SÄ… to dźwiÄ™ki C, C\#/D$\flat$, D, D\#/E$\flat$, E, F, F\#/G$\flat$, G, G\#/A$\flat$, A, A\#/B oraz H. Każdej literze przypisana jest czÄ™stotliwość zgodnie z TabelÄ…~\ref{table:dzwieki} @@ -670,7 +670,7 @@ The rest of this chapter discusses an example of using the proposed model to gen \subsubsection{Skala} \label{section:skala} - Skala szereg dzwiÄ™ków uÅ‚ożonych wedÅ‚ug staÅ‚ego schematu interwałów. WspoÅ‚czeÅ›nie wyróżniamy dwa rodzaje skal, durowÄ… (Dur) oraz molowÄ… (Mol). Skala durowa odbierana jest przez sÅ‚uchacza jako "wesoÅ‚a", a skala molowa jako "smutna". SkalÄ™ tworzy siÄ™ wybierajÄ…c dowolny dzwiÄ™k poczÄ…tkowy, który bÄ™dzie pierwszym stopniem skali. NastÄ™pnie dobieramy kolejne dźwiÄ™ki zgodnie ze schematem skali. Skale durowÄ… tworzymy wedÅ‚ug nastÄ™pujÄ…cego schematu + Skala szereg dzwiÄ™ków uÅ‚ożonych wedÅ‚ug staÅ‚ego schematu interwałów. WspoÅ‚czeÅ›nie wyróżniamy dwa rodzaje skal, durowÄ… (Dur) oraz molowÄ… (Mol). Skala durowa odbierana jest przez sÅ‚uchacza jako ,,wesoÅ‚a'', a skala molowa jako ,,smutna". SkalÄ™ tworzy siÄ™ wybierajÄ…c dowolny dźwiÄ™k poczÄ…tkowy, który bÄ™dzie pierwszym stopniem skali. NastÄ™pnie dobieramy kolejne dźwiÄ™ki zgodnie ze schematem skali. Skale durowÄ… tworzymy wedÅ‚ug nastÄ™pujÄ…cego schematu \begin{center} 2 2 1 2 2 2 1. \end{center} @@ -720,8 +720,7 @@ note_on channel=0 note=60 velocity=0 time=0 note\textunderscore off, channel 0, note 48, velocity 100, time 24. \\ \end{center} - Zwróćmy uwagÄ™, że aby ustalić wartość nuty potrzebujemy odebrać dwie wiadomoÅ›ci. Różnica miÄ™dzy parametrami \textit{time} informuje nas o dÅ‚ugoÅ›ci nuty. W tym przypadku jest to 24. - Co oznacza ćwierćnutÄ™. + Zwróćmy uwagÄ™, że aby ustalić wartość nuty potrzebujemy odebrać dwie wiadomoÅ›ci. Różnica miÄ™dzy parametrami \textit{time} informuje nas o dÅ‚ugoÅ›ci nuty. W tym przypadku jest to 24 co oznacza ćwierćnutÄ™. \subsubsection{Rozdzielczość} Czas w MIDI jest reprezentowany jako liczba naturalna i jest on zależny od ustalonego tempa utworu. Standardowa rozdzielczość pliku MIDI to 24. Oznacza to, że jedna jednostka czasu odpowiada jednej dwudziestej czwartej jednego uderzenia. @@ -732,7 +731,7 @@ note_on channel=0 note=60 velocity=0 time=0 \subsubsection{Nuty} Nuty w formacie MIDI opisane sÄ… kolejnymi cyframi naturalnymi w przedziale od 0 do 127. Odpowiada to dźwiÄ™kom od $C_0$ do $C_8$. Dla przykÅ‚adu nuta 69 odpowiada $A_4$, a nuta 47 odpowiada $B_2$. - WyjÄ…tkiem sÄ… nuty z kanaÅ‚u dziewiÄ…tego, gdzie istniejÄ… tylko nuty z zakresu od 35 do 81 i każda nuta odpowiada innemu elementowi perkusyjne, np. 35 to stopa (\textit{ang. kick}), a 37 to werbel {\textit{ang. snare}}. + WyjÄ…tkiem sÄ… nuty z kanaÅ‚u dziewiÄ…tego, gdzie istniejÄ… tylko nuty z zakresu od 35 do 81 i każda nuta odpowiada innemu elementowi perkusyjne, np. 35 to stopa (\textit{ang. kick}), a 37 to werbel (\textit{ang. snare}). \subsubsection{GÅ‚oÅ›ność} Za gÅ‚oÅ›ność dźwiÄ™ku odpowiada parametr \textit{velocity}, który jest liczbÄ… z przedziaÅ‚u od 0 do 127. Im wiÄ™ksza jest wartość tym gÅ‚oÅ›niej wybrzmi dźwiÄ™k. @@ -776,7 +775,7 @@ note_on channel=0 note=60 velocity=0 time=0 Na potrzeby dostosowania danych muzycznych do koncepcji słów w zdaniu zakodowaÅ‚em pojedyncze sÅ‚owo muzyczne jako \begin{center} - ((zbiór wysokoÅ›ci), dÅ‚ugość) + ((zbiór wysokoÅ›ci), dÅ‚ugość). \end{center} W ten sposób byÅ‚em w stanie zakodować pojedyÅ„cze nuty i akordy. @@ -787,7 +786,7 @@ note_on channel=0 note=60 velocity=0 time=0 ((60, 64, 67), 0.5). \end{center} - W ten sposób jesteÅ›my w stanie kodować melodiÄ™ w sekwencji słów muzycznych. Tak skonstruowane dane majÄ… niestety swoje negatywne aspekty. Nie da siÄ™ w ten sposób zapisać partii, w której zostaje grana nowa nuta, gdy poprzednia jeszcze powinna brzmieć. Nasz zapis zakÅ‚ada, że melodia jest grana element po elemencie i nowy element wymusza zakoÅ„czenie poprzedniego. Nie przechowujemy również informacji o dynamice melodii (gÅ‚oÅ›noÅ›ci). Rozszerzenie tego zapisu o informacje o gÅ‚oÅ›noÅ›ci nie jest trudne i nie bÄ™dzie wymagać przebudowy modelu, natomiast wraz ze wzrostem liczby możliwych ,,słów muzycznych'' w sÅ‚owniku i zwiÄ™ksza zÅ‚ożoność obliczeniowÄ…. ZdecydowaÅ‚em siÄ™ na niewykorzystanie tych danych w generowaniu muzyki. + DziÄ™ki temu jesteÅ›my w stanie kodować melodiÄ™ w sekwencjÄ™ słów muzycznych. Tak skonstruowane dane majÄ… niestety swoje negatywne aspekty. Nie da siÄ™ w ten sposób zapisać partii, w której zostaje grana nowa nuta, gdy poprzednia jeszcze powinna brzmieć. Nasz zapis zakÅ‚ada, że melodia jest grana element po elemencie i nowy element wymusza zakoÅ„czenie poprzedniego. Nie przechowujemy również informacji o dynamice melodii (gÅ‚oÅ›noÅ›ci). Rozszerzenie tego zapisu o informacje o gÅ‚oÅ›noÅ›ci nie jest trudne i nie bÄ™dzie wymagać przebudowy modelu, natomiast wraz ze wzrostem liczby możliwych ,,słów muzycznych'' w sÅ‚owniku i zwiÄ™ksza zÅ‚ożoność obliczeniowÄ…. ZdecydowaÅ‚em siÄ™ na niewykorzystanie tych danych w generowaniu muzyki. \subsection{Konwersja MIDI na sekwencje słów muzycznych} @@ -813,7 +812,7 @@ note_on channel=0 note=60 velocity=0 time=0 ...] \end{python} - DziÄ™ki bibliotece \pyth{pretty_midi} plik midi zostaÅ‚ odczytany i przechowany w obiekcie \pyth{PrettyMIDI}. Ten obiekt posiada atrybut \pyth{instruments}, który jest listÄ… Å›cieżek pliku MIDI. Obiekt Å›cieżki posiada atrybut \pyth{notes}, który jest listÄ… nut tej Å›cieżki. Możemy zobaczyć, że biblioteka \pyth{pretty_midi} zamieniÅ‚a potok sygnałów protokoÅ‚u MIDI na konkretne nuty posiadajÄ…ce parametry $start$, $end$, $pitch$ orac $velocity$. Aby otrzymać sekwencjÄ™ danych w takim formacie w jakim potrzebujemy możemy zastosować na obiekcie \pyth{Instrument} poniższÄ… funkcjÄ™. + DziÄ™ki bibliotece \pyth{pretty_midi} plik midi zostaÅ‚ odczytany i przechowany w obiekcie \pyth{PrettyMIDI}. Ten obiekt posiada atrybut \pyth{instruments}, który jest listÄ… Å›cieżek pliku MIDI. Obiekt Å›cieżki posiada atrybut \pyth{notes}, który jest listÄ… nut tej Å›cieżki. Możemy zobaczyć, że biblioteka \pyth{pretty_midi} zamieniÅ‚a potok sygnałów protokoÅ‚u MIDI na konkretne nuty posiadajÄ…ce parametry \pyth{start}, \pyth{end}, \pyth{pitch} oraz \pyth{velocity}. Aby otrzymać sekwencjÄ™ danych w takim formacie w jakim potrzebujemy możemy zastosować na obiekcie \pyth{Instrument} poniższÄ… funkcjÄ™. \begin{python} def parse_pretty_midi_instrument(instrument, resolution,