Comment écrire de la musique en Python - trois bibliothèques thématiques vous aideront (pour les spécialistes de différents niveaux)

Nous continuons le sujet de la programmation musicale - plus tôt, nous avons parlé des langages Csound, SuperCollider et Pure Data, et aujourd'hui nous parlons de Python et des bibliothèques FoxDot , Pippi et Music-Code .





Photo par Conor Samuel / Unsplash



FoxDot



C'est une bibliothèque pour les muses en herbe. programmeurs. Il a été développé par l' ingénieur Ryan Kirkbride en 2015. FoxDot conçu comme un projet personnel - avec l'aide de Ryan ustaivayte live-session sous le pseudonyme Qirky - mais maintenant avec l'outil travaillant dans le monde entier.



La bibliothèque utilise les capacités du protocole de paquets Open Sound Control (OCS) et de l'environnement virtuel SuperCollider pour la synthèse audio , qui a été développé en 1996, mais qui est toujours activement pris en charge.communauté. Le programmeur crée des objets avec des arguments indiquant l'instrument, la hauteur, la durée. Les sons peuvent être modelés et mis en boucle pour créer des conceptions musicales complexes. Le code se transforme en musique en temps réel - voici un exemple de travail avec la bibliothèque:





Si vous souhaitez apprendre l'outil vous-même, il est logique de commencer par la documentation officielle détaillée . Les réponses à de nombreuses questions se trouvent sur le forum thématique . Vous pouvez laisser vos suggestions et souhaits pour de nouvelles fonctionnalités dans le référentiel sur GitHub .



Pippi



Cette bibliothèque a été développée par l'un des représentants du label indépendant LuvSound, qui soutient la nouvelle musique et les jeunes artistes. Dans sa composition, il a plusieurs structures pour travailler avec le son, y compris le SoundBuffer et Wavetable communs . Le but du Pippi est de travailler avec des sons existants - l'instrument vous permet de combiner et de modifier des échantillons chargés.



from pippi import dsp

sound1 = dsp.read('sound1.wav')
sound2 = dsp.read('sound2.flac')

# Mix two sounds
both = sound1 & sound2


Il permet également de construire des conceptions acoustiques complètement nouvelles basées sur des échantillons - par exemple, pour former des sons «granulaires». Il s'agit d'une méthode dans laquelle un échantillon est divisé en plusieurs sections courtes («granules») et mélangé. Voici le code pour créer un signal de 10 secondes de ce format à partir de l'audio dans la variable enveloppée :



# Synthesize a 10 second graincloud from the sound,
# with grain length modulating between 20ms and 2s
# over a triangle shaped curve.
cloudy = enveloped.cloud(10, grainlength=dsp.win('tri', dsp.MS*20, 2))


La bibliothèque Pippi ne permet pas la lecture de musique en temps réel, elle n'est donc pas en elle-même bien adaptée aux concerts en direct. Cependant, dans un fil thématique sur Hacker News, l'auteur a déclaré qu'il avait développé une interface tierce - Astrid . Il redémarre automatiquement le fichier de musique après l'enregistrement, ouvrant ainsi des possibilités de performances sur scène.



Code de musique



Cette petite bibliothèque a été écrite par le Data Scientist Wesley Laurence . Elle est capable de générer des accords, des sons de batterie et de basse. L'auteur utilise son outil pour créer des échantillons de modèles d'apprentissage automatique. La bibliothèque vous permet de travailler avec des séquenceurs, des agrégateurs, des échantillonneurs et divers effets acoustiques. Outre la musique, Music-Code vous permet de préparer des visualisations pour des compositions musicales.





Photo par Tanner Boriack / Unsplash



Jusqu'à présent, Music-Code a un public très restreint, car la bibliothèque est assez jeune - elle a été publiée sur GitHubil y a à peine trois mois. Cependant, l'auteur envisage de développer son outil et espère pouvoir attirer de nouveaux utilisateurs - notamment parmi les spécialistes du domaine des systèmes d'IA. L'auteur prévoit d'enregistrer et de télécharger une vidéo avec des instructions sur la façon de démarrer avec Music-Code.






Lectures supplémentaires dans le "World of Hi-Fi":



Qu'est-ce que la programmation musicale - qui la fait et pourquoi

Où obtenir de l'audio pour l'apprentissage automatique: une sélection de bibliothèques ouvertes

Comment fonctionne Sporth - Java pour les sessions de musique en direct

Où obtenir de l'audio pour développer des jeux et d'autres projets

Sons pour l'interface utilisateur: une sélection de ressources thématiques







All Articles