Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati.
La musica è il ritmo della vita
è un linguaggio universale. Ha la capacità di trascendere senza sforzo il corpo opaco, la mente sottile e l'anima invisibile. Alla fine di una lunga giornata di duro lavoro, ascoltare la tua composizione musicale preferita può portarti il comfort e la fresca energia di cui hai bisogno per affrontare la vita con un sorriso.
In questo articolo, Mi sono concentrato sui seguenti argomenti:
- Riproduci e visualizza i raga musicali carnatici utilizzando la libreria magenta di Google
- Genera note raga di musica carnatica utilizzando tecniche di apprendimento automatico
- Genera note Raga di musica carnatica casuali con semplici script Python
introduzione
Avendo imparato le basi della musica carnatica nella mia infanzia, Ho sempre avuto il fascino di automatizzare la generazione di questa antica forma di musica classica dell'India meridionale. La musica Hindustani è popolare nel nord dell'India. La musica da film indiana è più popolare al giorno d'oggi, che si ispira spesso a queste due forme classiche di musica.
Alla ricerca di un buon strumento per generare musica, Mi sono imbattuto nel progetto Google Magenta. Ha un modo semplice ma potente di generare musica in sequenza di note. Ecco il mio tentativo di generare musica carnatica con questo strumento.
Nozioni di base sulla musica carnatica–un–musica occidentale dal vivo
Musica western ha scale e note generate dai tasti con Importante e Meno bilancia, mentre la musica classica indiana ha Varietà oh corpo che è più di un insieme di note o Swaras.
La musica occidentale generata da note è discreta per design. Raga è continuo e cattura le emozioni umane insieme all'umore, espressione ed energia.
Nonostante molte differenze, fortunatamente, entrambi sono basati su 12 note chiave o Swaras che può aiutare a generare musica classica indiana da una prospettiva più ampia, ignorando le perfezioni microtonali.
Vediamo come le note della musica classica indiana (musica carnatica) sono assegnati alle note del pianoforte elettronico per comprendere le somiglianze e le possibilità della generazione musicale carnatica.
A differenza del sistema musicale occidentale dove Swaras/ le frequenze delle note sono fisse; nel sistema musicale classico dell'India sono ammesse variazioni di poche note. Questo schema fornisce 'Per’ e 'Pennsylvania’ come note fisse, insieme a 'Madre’ avendo 2 varianti e il restante Swaras avendo 3 varianti ciascuna. Swaras / Appunti e le sue variazioni sono riportate nella tabella sopra.
Totale, Considerazione sulla musica carnatica 16 Swaras / Note per classificare e accogliere una ricca varietà di Ragas.
“Madre” es la medianoLa mediana è una misura statistica che rappresenta il valore centrale di un insieme di dati ordinati. Per calcolarlo, I dati sono organizzati dal più basso al più alto e viene identificato il numero al centro. Se c'è un numero pari di osservazioni, I due valori fondamentali sono mediati. Questo indicatore è particolarmente utile nelle distribuzioni asimmetriche, poiché non è influenzato da valori estremi.... tra i 7 principale Swaras. Dal momento che 'Ma’ avere 2 varianti, dividere il Radice Ragams chiamato anche “Melakarta” Ragams oh Stranezze dei genitori in due parti uguali. Questa immagine sotto mostra la divisione di questi 72 importante Ragams cosa hai? 7 principale Swaras. Migliaia di raga per bambini si guadagnano aggiungendo, salta o trasponi le note di questi 72 Ragù principali.
1.Musica carnatica con magenta
Basta teoria, ora passiamo alla generazione Carnatic Music utilizzando Google Magenta.
Clic questo link per eseguire da soli i seguenti esempi. Questo è il modo più semplice per iniziare a usare Magenta. Qui, può generare musica, scaricalo come MIDI e visualizza anche i pattern musicali grafici con la libreria Bokeh.
Tutto a Magenta si concentra su NotaSequenze. Questa è una fantastica rappresentazione astratta di una serie di note, ognuno con sfumature diverse o srutis, colpire strumenti e velocità, Come MIDI.
I principianti della musica carnatica vengono prima insegnati con Mayamalavagowla Varietà, il 15 di Melakarta (vedi tabella sopra). Ha il seguente Appunti / swara.
a, ri1, ga2, ma1, così, da1, ni2
Ordine ascendente (Aarohana) e ordine decrescente (Avarohan) hanno tutti lo stesso 7 Swaras, che è una proprietà comune a tutti Ragams de Melakarta. Il seguente script Python riproduce queste note ragam. Correre questo codice a El Paso 1 dalla finestra Hello Magenta Colab mostrata sopra.
Visualizzare i Raga
Il codice sopra genera il grafico e la sequenza di note come file MIDI per 3 Corno.
Puoi vedere la simmetria delle note sul grafico, che potrebbe essere il motivo per cui i nuovi studenti iniziano con questo Mayamalavagowla Ragam.
Premendo le note dei tasti principali sul pianoforte si genererà Sankarabharam Ragam, che sembra essere una distribuzione normale platicúrtica gaussiana.
La musica parla di schemi melodiosi
A un nuovo studente viene insegnato a cantare / suona alcune note /Swaras modelli. Ecco un codice frammento di un modello così bello chiamato sarali swaram.
Alcuni varietà con lo stesso ordine crescente e decrescente, le note possono essere suonate con il pattern precedente
Generazione di sequenze di note a lunghezza variabile
Molte volte, le note / gli swara dovrebbero essere suonati con lunghezze variabili. NoteSequence ha proporcionado esta función con los parametriIl "parametri" sono variabili o criteri che vengono utilizzati per definire, misurare o valutare un fenomeno o un sistema. In vari campi come la statistica, Informatica e Ricerca Scientifica, I parametri sono fondamentali per stabilire norme e standard che guidano l'analisi e l'interpretazione dei dati. La loro corretta selezione e gestione sono fondamentali per ottenere risultati accurati e pertinenti in qualsiasi studio o progetto.... start_time y end_time. Questo questo codice genera note per una di quelle composizioni di base chiamate Pillari Geetam.
2. Genera note Raga usando Melody_RNN
Fino ad ora, usiamo NoteSequence solo per generare Carnatic Raga Notes. Ora, Proviamo a generare musica con il modello Recurrent Neural Network sviluppato dal team di Google Magenta.
One MelodyRNN è uno Basato su LSTM modello linguistico per le note musicali: è meglio continuare con una sequenza di note che ti fornisce. Prova a eseguire questo questo codice a El Paso 2 dal file Hello Magenta Colab per vedere il risultato della generazione di Carnatic Raga Notes usando Melody_RNN.
Ho visto che la sequenza di output generata da Melody_RNN va oltre le note Raga date. Un singolo cambio di nota può comportare una deviazione dal pattern Raga. Questo non è così desiderabile in base alle proprietà rigide di Raga.
3. Genera note Raga con semplici script Python
Quando le cose complesse non funzionano, prova opzioni semplici
Questo è un semplice questo codice per generare note Raga casuali con lunghezze variabili. Questo script genera solo le note presenti nel Raga. Questo è molto semplice e ha lo scopo fondamentale di generare note casuali.
conclusione
In questo articolo, Ho cercato di esplorare le possibilità di generare note di Carnatic Music Raga con Magenta NoteSequence. La sequenza di note automatica può essere generata con Melody_RNN, ma ha prodotto note oltre le note del motivo Raga. Quindi, Ho fornito un semplice generatore di note casuali, che può soddisfare le esigenze di base limitandosi ai limiti della sequenza delle note di Raga.