[PYTHON] Code qui génère un score au hasard

J'ai créé un code qui génère un score au hasard. Utilisez-le pour créer un ensemble de données de scores d'apprentissage automatique.

Vous pouvez créer une image comme celle-ci

0.png

1.png

2.png

3.png

environnement

--chromebook debian9 (étirement)

Bibliothèques et logiciels nécessaires

bibliothèque python:

doux:

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:Combien de notes et de silences par feuille de musique
    scoreNum:Combien de scores générer
    noteRange:Combien d'octaves dans lesquelles se trouvent les notes (par défaut, C3 à B)#Jusqu'à 7)
    noteRangeProbs:Une liste des probabilités d'apparition de chaque note par octave
    sharpProb:Probabilité d'affûter les notes
    restProb:Probabilité de repos
    exportDir:Où enregistrer le fichier de sortie
    ===========================
Par défaut, le nom du fichier est 1, 2, 3, ...Il est devenu.
    .Il existe différents fichiers autres que le fichier png, mais vous pouvez les supprimer.
    '''
    
    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()

mauvais endroit

etc

Recommended Posts

Code qui génère un score au hasard
Commande pour générer un code QR
Metaclass (wip) pour générer un dictionnaire
Qiita (1) Comment écrire un nom de code
Comment coder un drone en utilisant la reconnaissance d'image
Créer un ensemble de données en échantillonnant au hasard les données MNIST
Comment générer un objet Python à partir de JSON
J'ai essayé de générer une chaîne de caractères aléatoire
Je veux générer rapidement UUID (memo memo) ~ Edition Python ~
Python Ver. Présentation de WebPay avec un peu de code
Réécrire le code Python2 en Python3 (2to3)
J'ai créé un code pour convertir illustration2vec en modèle Keras
Je veux échantillonner au hasard un fichier avec Python
Comment créer un package Python à l'aide de VS Code
Écrire du code dans UnitTest une application Web Python
Générer un script bash pour ajouter les paramètres du moniteur Datadog
Bon code et mauvais code à comparer avec la mini-carte
[Python] Générer de manière aléatoire un grand nombre de noms de personne en anglais
Générez un mot de passe facile à retenir avec apg
Je veux générer automatiquement un nom de groupe de metal moderne
J'ai fait une commande pour générer un commentaire pour une table dans Django
Comment générer une clé publique à partir d'une clé privée SSH
Comment générer une requête à l'aide de l'opérateur IN dans Django
Une route vers Python intermédiaire
Une super introduction à Linux
Partie 1 Tentative de codage des mathématiques (∈)
Ajouter un dictionnaire à MeCab
Comment appeler une fonction
Outil pour vérifier le style de code
Télécharger un fichier sur Dropbox
Envoyer un signal au sous-processus
Définissez VSCode sur PyCharm.
Comment pirater un terminal
Générer du code QR en Python
Essayez de sélectionner une langue
Convertir le code python 3.x en python 2.x
Générer un code de correction d'erreur pour restaurer la corruption des données avec la bibliothèque zfec
J'ai essayé de créer un pointage de crédit simple avec régression logistique.
Essayez de créer un environnement python avec Visual Studio Code et WSL
Comment bien définir Jupytext lors de la gestion du code en équipe
Je souhaite créer une liste de paramètres à partir du code CloudFormation (yaml)