[PYTHON] Code, der zufällig eine Punktzahl generiert

Ich habe einen Code erstellt, der zufällig eine Punktzahl generiert. Verwenden Sie diese Option, um einen Datensatz mit Ergebnissen für maschinelles Lernen zu erstellen.

Sie können ein Bild wie dieses erstellen

0.png

1.png

2.png

3.png

Umgebung

--chromebook debian9 (strecken)

Notwendige Bibliotheken und Software

Python-Bibliothek:

Sanft:

Code

randomScore.py


import music21 as m21
from numpy.random import choice

def makeScore(symbleNum=200, scoreNum=20, noteRange=[3, 4, 5, 6, 7],
              noteRangeProbs=[0.05, 0.4, 0.4, 0.1, 0.05], sharpProb=0.1, 
              restProb=0.2, exportDir='/home'):

    '''
    symbleNum:Wie viele Noten und Pausen pro Notenblatt
    scoreNum:Wie viele Punkte müssen generiert werden?
    noteRange:Wie viele Oktaven, zu denen Noten vorhanden sind (Standard ist C3 bis B)#Bis zu 7)
    noteRangeProbs:Eine Liste der Wahrscheinlichkeiten, wie viel jede Note pro Oktave erscheint
    sharpProb:Wahrscheinlichkeit des Schärfens von Noten
    restProb:Wahrscheinlichkeit der Ruhe
    exportDir:Wo soll die Ausgabedatei gespeichert werden?
    ===========================
Standardmäßig lautet der Dateiname 1, 2, 3, ...Es ist geworden.
    .Es gibt verschiedene andere Dateien als die PNG-Datei, aber Sie können sie löschen.
    '''
    
    quarterLengths = [4, 2.5, 2, 1.5, 1, 0.75, 0.5, 0.25]
    notes = ['C', 'D', 'E', 'F', 'G', 'A', 'B']
    noteRange = list(map(lambda x: str(x), noteRange))
    typeProbs = [1 - restProb, restProb]
    sharpProbs = [sharpProb, 1 - sharpProb]
    chooseThese = [True, False]

    for i in range(scoreNum):
        noteList = []
        measure = m21.stream.Measure()

        for j in range(symbleNum):
            if choice(a=chooseThese, p=typeProbs):
                if choice(a=chooseThese, p=sharpProbs):
                    pitchName = choice(notes) + '#' + choice(a=noteRange, p=noteRangeProbs)

                else:
                    pitchName = choice(notes) + choice(a=noteRange, p=noteRangeProbs)

                n = m21.note.Note(pitchName, quarterLength=choice(quarterLengths))
                noteList.append(n)

            else:
                n = m21.note.Rest(quarterLength = choice(quarterLengths))
                noteList.append(n)

        measure.append(noteList)
        fileName = exportDir + str(i)
        measure.write('lily.png', fileName)

if __name__ == "__main__":
    makeScore()

schlechter Platz

etc

Recommended Posts

Code, der zufällig eine Punktzahl generiert
Befehl zum Generieren von QR-Code
Metaklasse (delete) zum Generieren eines Wörterbuchs
Qiita (1) Wie schreibe ich einen Codenamen?
So codieren Sie eine Drohne mithilfe der Bilderkennung
Erstellen Sie einen Datensatz, indem Sie zufällig MNIST-Daten auswählen
So generieren Sie ein Python-Objekt aus JSON
Ich habe versucht, eine zufällige Zeichenfolge zu generieren
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Python Ver. Einführung in WebPay mit ein wenig Code
Schreiben Sie Python2-Code in Python3 um (2to3)
Ich habe einen Code erstellt, um illustration2vec in ein Keras-Modell zu konvertieren
Ich möchte eine Datei mit Python zufällig testen
So erstellen Sie ein Python-Paket mit VS Code
Schreiben Sie Code in UnitTest, eine Python-Webanwendung
Generieren Sie ein Bash-Skript, um die Einstellungen des Datadog-Monitors hinzuzufügen
Guter und schlechter Code zum Vergleich mit Minikarten
[Python] Generieren Sie zufällig eine große Anzahl englischer Personennamen
Generieren Sie mit apg ein leicht zu merkendes Passwort
Ich möchte automatisch einen modernen Metal-Bandnamen generieren
Ich habe einen Befehl zum Generieren eines Kommentars für eine Tabelle in Django eingegeben
So generieren Sie einen öffentlichen Schlüssel aus einem privaten SSH-Schlüssel
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Ein Weg zum mittleren Python
Eine super Einführung in Linux
Teil 1 Versuch, Mathematik zu codieren (∈)
Fügen Sie MeCab ein Wörterbuch hinzu
So rufen Sie eine Funktion auf
Tool zum Überprüfen des Codestils
Laden Sie eine Datei in Dropbox hoch
Senden Sie ein Signal an den Unterprozess
Setzen Sie VSCode auf PyCharm.
Wie man ein Terminal hackt
Generieren Sie QR-Code in Python
Versuchen Sie, eine Sprache auszuwählen
Konvertieren Sie Python 3.x-Code in Python 2.x.
Generieren Sie einen Fehlerkorrekturcode, um die Datenbeschädigung mit der zfec-Bibliothek wiederherzustellen
Ich habe versucht, einen einfachen Kredit-Score mit logistischer Regression zu erstellen.
Versuchen Sie, eine Python-Umgebung mit Visual Studio Code & WSL zu erstellen
Wie man Jupytext gut einstellt, wenn man Code als Team verwaltet
Ich möchte eine Parameterliste aus CloudFormation-Code (yaml) erstellen.