La génération du son / de synthèse avec python?
Est-il possible d'obtenir python pour générer un son simple comme une onde sinusoïdale?
Est-il un module pour ça? Si non, comment voulez-vous créer votre propre?
Aussi, auriez-vous besoin d'une sorte d'environnement hôte pour python pour exécuter dans afin de jouer un son, ou peut-il être atteint simplement de faire des appels à partir du terminal?
Si la réponse est OS-dépendante, je suis sur un mac.
Vous devez vous connecter pour publier un commentaire.
Je cherchais la même chose, En fin de compte, j'ai écrit ce code qui fonctionne bien.
RESTRAMES
est et le but de l'ajout deWAVEDATA + chr(128)
?BITRATE
serait plus correctement nomméBYTERATE
.Je sais que je suis un peu en retard pour le jeu sur ce point, mais c'est une question assez fantastique projet de python pour la synthèse et la composition sonore: https://github.com/hecanjog/pippi
C'est toujours activement développé, mais il s'est passé pendant un certain temps.
Le Python Dans la Musique de la page wiki n'a pas été très bien gardé, mais c'est un bon point de départ.
http://wiki.python.org/moin/PythonInMusic
Après de perdre du temps sur certaines uncompilable ou inexistante projets, j'ai découvert le module python wavebender, qui offre à la génération d'une ou de plusieurs canaux de sinus, carré, combinée des vagues. Les résultats peuvent être rédigés soit à un wavefile ou à
sys.stdout
, d'où ils peuvent être interprétés directement par aplay en temps réel. Quelques exemples sont expliqués ici, et sont inclus dans le projet de page github.J'aime PyAudiere , qui permet de jouer à des tableaux numpy que des sons... je suppose que jives avec mon Matlab arrière-plan. Je crois qu'il est multi-plateforme. Je pense que scikits.audiolab fait la même chose, et peut-être plus courante /mieux pris en charge... me semble plus facile pour moi que d'essayer de sauver les choses comme wavfiles ou écrire à des tampons et de l'utilisation de Python est builtin bibliothèque de sons.
Je suis en train de travailler sur un puissant synthétiseur en python. J'ai utilisé des fonctions personnalisées à écrire directement sur un .fichier wav. Il y a des fonctions intégrées qui peuvent être utilisés à cette fin. Vous aurez besoin de modifier le .wav en-tête afin de refléter le taux d'échantillonnage, le nombre de bits par échantillon, le nombre de canaux, et la durée de la synthèse.
Voici une première version d'un péché générateur d'ondes qui renvoie une liste de valeurs que, après l'application bytearray devient approprié pour l'écriture du paramètre de données d'un fichier wave. [modifier] Une fonction de conversion devra transformer la liste en little endian valeurs hexadécimales avant l'application de l'objet bytearray. Voir le fichier son WAVE PCM format lien ci-dessous pour plus de détails sur l' .wav spécification.[/edit]
Une version plus récente peut utiliser des formes d'onde pour moduler la fréquence, de l'amplitude et de la phase de la forme d'onde paramètres. Le format de données rend banal de mélange et de concaténer des vagues. Si cela vous semble votre allée, découvrez WAVE PCM format de fichier son.
J'ai trouvé ces deux python dépôts très utile, pourrait tu veux avoir un coup d'oeil...
python https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder
ipython : https://timsainb.github.io/spectrograms-mfccs-and-inversion-in-python.html
[EDIT] Comme l'a souligné, voici un explanational des deux liens
python l'on semble avoir une erreur, mais beaucoup de gens ont été en mesure de le faire fonctionner, donc je ne suis pas sûr. ipython a travaillé comme un charme, alors j'espère que vous pouvez l'exécuter.
Les deux liens sont censés prendre un audio en entrée, de préférence .wav fichier. Featurize il ( l'UTILISATION de la FFT : 512, taille = 512/8 ) pour obtenir des spectrogrammes ( vous pouvez même visualiser ), c'est une matrice 2D, puis former votre Machine des objets d'apprentissage ou de faire ce que vous voulez l'aide d'une matrice qui représente l'audio d'origine. Si vous voulez, à anypoint, ce que ces vecteurs représentent vous pouvez resynthétiser audio du dos ainsi.