
Imparare a suonare il pianoforte è un processo impegnativo e divertente, ma ogni principiante avrà un dilemma: che tipo di strumento acquistare? La scelta sul mercato è ampia, dai piccoli strumenti da due ottave come nella foto sopra alle tastiere di dimensioni standard da 70 kg in un cabinet di legno. Da un lato, avere chiavi in più non farà mai male; d’altra parte, c’è sempre un compromesso tra dimensioni, peso e prezzo.
Ovviamente, uno dei modi è semplicemente chiedere a un insegnante cosa può consigliare, ma forse la maggior parte dei musicisti non ha mai pensato alla musica da quella prospettiva. Esiste un modo più quantitativo per trovare una risposta? In realtà la risposta è sì; possiamo facilmente creare una distribuzione di note musicali usando Python.
Questo tutorial può essere utile per i principianti nella scienza dei dati; non richiede calcoli o librerie complesse e i risultati sono facili da interpretare. Può essere utile anche per chi vuole imparare a suonare ma non ha ancora deciso che tipo di strumento acquistare.
Entriamo nel vivo!
Fonte di dati
Per l’analisi dei dati, utilizzerò MIDI File. È un formato piuttosto vecchio; la prima specifica MIDI (Musical Instrument Digital Interface) è stata pubblicata nel 1983. La caratteristica fondamentale dei file MIDI è che memorizzano la musica non come audio grezzo ma nella forma di notazione “originale”. Ogni registrazione in un file midi contiene il tipo di strumento, l’intonazione, il tempo e altri parametri. Ad esempio, posso aprire un file Bagatelle in do minore scritto da Beethoven in forma gratuita MuseScore applicazione e vedi qualcosa di simile a questo:
Apriamo lo stesso file in Python e scarichiamo il suo contenuto:
import mido # pip3 install midomid = mido.MidiFile("Beethoven/Bagatelle.mid", clip=True)
for ind, track in enumerate(mid.tracks):
print(f"Track {ind}")
for item in track(:10):
print(item)
L’output è simile al seguente (un file completo è più lungo; qui stampo solo le prime righe di ciascuna traccia):
Fonte: towardsdatascience.com