Laktawan sa pangunahing nilalaman

Paano lumikha ng musika gamit ang artipisyal na katalinuhan at pag-aaral ng makina



Alamin upang lumikha ng musika na may artipisyal na katalinuhan! Ang umuulit na mga network ng neural para sa paglikha ng musika!

Data file MAESTRO at Wave2Midi2Wave
Matapos tingnan ang mga mapagkukunang ito, nakakita ako ng isang dokumento sa pananaliksik na nagpapakilala ng isang bagong dataset na tinatawag na MAESTRO (na nakatayo para sa MIDI at Audio Edited para sa Synchronous TRacks at Organization). Dinisenyo din niya ang bagong arkitektura ng Wave2Midi2Wave, na karaniwang pinagsasama ang tatlong mga algorithm ng state-of-the-art at sinasanay ang mga ito nang sama-sama sa isang file ng MAESTRO data.

Ang MIDI ay karaniwang isang pamantayang pang-teknikal na kasama ang maraming mga protocol para sa mga computer na may iba't ibang uri ng mga audio device. Ito ay kapaki-pakinabang sapagkat ang impormasyong ipinadala ay may kasamang impormasyon sa tono, pitch, bilis, at tempo.

Ang pangunahing kadahilanan na napakahalaga ng bagong dataset na ito ay naglalaman ito ng mas maraming data kaysa sa anumang naunang nakaraang pag-record. Upang mailagay ito sa pananaw, ang file ng data ng MAESTRO ay naglalaman ng 172 na oras ng audio at MIDI transkrip. Ang file ng data ng MAPS ay naglalaman lamang ng 17,9 na oras at ang file ng MusicNet data lamang ng 15,3 na oras.

Tulad ng nabanggit ko kanina, ang Wave2Midi2Wave ay karaniwang isang kumbinasyon ng tatlong magkakaibang mga modelo ng state-of-the-art at bawat isa ay nagsasagawa ng ibang gawain. Una, ang Wave2Midi ay ginagamit upang isalin ang tunog sa isang simbolikong representasyon (MIDI). Pagkatapos bahagi ng Midi network ay lumilikha ng bagong nilalaman. Ang lahat ng ito ay synthesized ng Midi2Wave upang makabuo ng makatotohanang tunog.

Ang unang network ng Wave2Midi2Wave ay gumagamit ng isang arkitekturang state-of-the-art na tinatawag na Onsets at Frame, na awtomatikong na-convert ang iyong mga pag-record sa mga tala na kinakatawan sa MIDI. Kaya kung ikaw ay nag-improvising, maaari mong malaman nang eksakto kung ano ang nilalaro mo!

Gamit ang CNN at LSTM, nagawa ng mga siyentipiko na "mahulaan ang simula ng pitch at pagkatapos ay gamitin ang mga hula na ito upang ayusin ang mga hula sa frame pitch." Mahalagang ito ay nangangahulugan na ang isang neural network sa modelo ay ginagamit upang mahulaan kung ang isang tala ay nilalaro (ibig sabihin, simula). At ang isa pang neural network ay hinuhulaan kung gaano katagal ang isang tala na nilalaro (bawat frame na aktibo).

Midi: Music Transformer
Para sa pangalawang network sa Wave2Midi2Wave, isang espesyal na uri ng transpormer ang ginamit upang makabuo ng mga bagong pagkakasunud-sunod ng musika na may pangmatagalang kooperasyon. Ang output ng network ay gumagawa ng isang mas istraktura na kahulugan kung ihahambing sa iba pang mga neural network.

Sa isang maginoo Transformer, binabayaran ang pansin sa pagmomolde ng mga ugnayan sa pagitan ng mga salita, sapagkat sa mga pangungusap ang kahulugan ng isang salita ay batay hindi lamang sa mga salita na nauna nito, kundi sa konteksto ng buong pangungusap.
Ang mga transformer pinagsama-samang impormasyon mula sa lahat ng iba pang mga bahagi ng network at nakabuo ng isang representasyon para sa bawat salita batay sa buong konteksto. Ang prosesong ito ay paulit-ulit upang ang bawat salita ay bumubuo ng mga bagong representasyon.

Ang punto ay maaari naming gamitin ang mga transformer upang magtalaga ng impormasyon sa iba't ibang mga piraso ng data batay sa konteksto ng buong network. Balik tayo sa paksa ng henerasyon ng musika.
Ang isang problema sa orihinal na Transformer ay na umaasa sa ganap na mga posisyon para sa sariling pansin. Kapag nalalapat ito sa musika, ang mga Transformers ay nakikibaka sa mga distansya, pagkakasunud-sunod at pag-uulit. Gamit ang kamag-anak na pansin, ang modelo ng pagbabago ng musika ay maaaring tumuon sa mga elemento ng relational at makabuo ng mga pagkakasunud-sunod na lampas sa ipinakita sa mga halimbawa ng pagsasanay.

Midi2Wave: WaveNet
Ang huling bahagi ng network ay tumatagal ng modelo ng WaveNet at sinasanay ito sa isang set ng data ng henerasyon ng musika na literal na tunog ng isang pag-record. Ang WaveNet ay isang arkitektura ng modelo na batay sa PixelCNN at dalubhasa sa audio synthesis.
Ang arkitektura ay gumagamit ng mga convolutional layer. Sapagkat ang mga thread ay hindi gumagamit ng mga paulit-ulit na koneksyon tulad ng sa RNN, na nangangahulugang kadalasan mas madaling masanay kaysa sa RNN. Ang isang problema, gayunpaman, ay ang mga toneladang layer o sobrang laki ng mga filter ay kinakailangan upang madagdagan ang larangan ng pang-unawa (ang halaga ng data na maaaring sakupin ng isang modelo), na nagpapataas ng mga gastos sa pagkalkula.

Ang mga pagpapalawak ng mga thread ay ginagamit upang mag-bypass. Ito ay karaniwang nangangahulugang ang mga filter ay maaaring mailapat sa isang mas malaking lugar kung ang ilang mga halaga ng pag-input ay laktawan. Makakamit mo halos ang parehong epekto bilang isang mas malaking filter kung pinalawak mo ito ng mga zero, ngunit mas mahusay ito.

Ang pagsasanay ng WaveNet, ang pinaka-modernong modelo para sa synthesis ng pagsasalita, sa dataset ng MAESTRO ay nagdadala ng ilang mga hindi kapani-paniwalang mga resulta na kung saan ay unti-unti kong ipapakilala sa iyo ang mga tiyak na halimbawa.

Komentáře

Mga sikat na post mula sa blog na ito

Rokytnice nad Jizerou, Lysa hora

Ang Rokytnice nad Jizerou (sa Aleman Rochlitz an der Iser) ay isang bayan at kabundukan sa kanluranin Giant Mountains. Matatagpuan ito sa rehiyon ng Liberec, sa distrito ng Semily, sa pinahabang lambak ng ilog Huťský sa pagitan ng mga masa ng Stráž (782 m), Čertova hora (1022 m) at Lysá hora (1344 m) at sa kaliwa (silangang) bangko ng Ilog Jizera. May nakatira ng humigit-kumulang 2 na naninirahan.

Giant Mountains, Jizera Mountains, Bohemian Paradise

Mahal na mga bisita ng server ng PetrPikora.com, ang mga pahina na nakatuon sa Giant Mountains, ang Jizera Mountains at ang Bohemian Paradise ay maaari na ngayong matagpuan sa bagong Czech domain PetrPikora.cz, salamat. Para sa isang limitadong oras, ang mga matatandang post ay magagamit sa parehong mga domain nang sabay.

Python code simpleng calculator

Ang simpleng programang Python na ito ay humihiling sa gumagamit na piliin ang nais na operasyon. Ang mga pagpipilian sa pagpili ng 1, 2, 3 at 4 ay may bisa. Dalawa kung ... elif ... ibang mga numero ang napili at sumasanga ay ginagamit upang isagawa ang isang tiyak na seksyon ng programa. Ang tinukoy ng gumagamit na add (), ibawas (), magparami (), at hatiin () ang mga pagpapaandar ay nagsasagawa ng naaangkop na operasyon.
# Ang pagpapaandar na ito ay nagdaragdag ng dalawang numero ng def add (x, y): bumalik x + y # Ang pag-andar na ito ay nagbabawas ng dalawang numero ng pagbabawas sa (x, y): bumalik x - y # Ang pagpapaandar na ito ay dumarami ng dalawang bilang ng bilang ng numero ( x, y): bumalik x * y # Ang pag-andar na ito ay naghahati ng dalawang numero ng paghati sa numero (x, y): bumalik x / y print ("Piliin ang operasyon.") i-print ("1.Add") print ("2.Subtract") mag-print ("3.Multiply") print ("4.Divide")