Genera la tua musica carnatica con Google Magenta

Contenuti

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:

  1. Riproduci e visualizza i raga musicali carnatici utilizzando la libreria magenta di Google
  2. Genera note raga di musica carnatica utilizzando tecniche di apprendimento automatico
  3. 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 carnaticaunmusica 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.

59760keyboard_raga_notes-1025838

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 mediano tra i 7 principale Swaras. Dal momento che 'Ma’ avere 2 varianti, dividere il Radice Ragams chiamato anche “MelakartaRagams 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.

85831melakartas-1877691

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.

72531mg_sb_ragas-5176142

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 parametri 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.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.