45 votes

Génération / synthèse de sons avec python ?

Est-il possible de faire en sorte que python génère un son simple comme une onde sinusoïdale ?

Existe-t-il un module disponible pour cela ? Si ce n'est pas le cas, comment procéder pour créer le vôtre ?

De plus, faut-il un environnement hôte pour que python fonctionne afin de jouer du son, ou cela peut-il être réalisé simplement en faisant des appels à partir du terminal ?

Si la réponse dépend de l'OS, j'utilise un mac.

3voto

rdchambers Points 381

J'aime PyAudiere qui vous permet de jouer des tableaux numpy comme des sons... Je suppose que ça colle bien avec mon expérience de Matlab. Je crois que c'est multiplateforme. Je pense que scikits.audiolab fait la même chose, et peut être plus actuel / mieux supporté... me semble plus facile que d'essayer d'enregistrer les choses en tant que fichiers wav ou de les écrire dans des buffers et d'utiliser la bibliothèque sonore intégrée de Python.

3voto

Priyank Pathak Points 144

J'ai trouvé ces deux dépôts python très utiles, vous devriez peut-être y jeter 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 indiqué, voici une explication des deux liens.

python L'un d'eux semble avoir une erreur, mais de nombreuses personnes ont réussi à le faire fonctionner, donc je ne suis pas sûr. ipython a fonctionné comme un charme, donc j'espère que vous pourrez l'exécuter.

Les deux liens sont censés prendre un fichier audio comme entrée, de préférence .wav fichier. Donnez-lui des caractéristiques ( USE FFT : 512, step size = 512/8 ) pour obtenir des spectrogrammes ( vous pouvez même les visualiser ), c'est une matrice 2D, et ensuite entraînez vos objets d'apprentissage automatique ou faites ce que vous voulez en utilisant une matrice qui représente l'audio original. Si vous voulez, à tout moment, savoir ce que ces vecteurs représentent, vous pouvez resynthétiser l'audio.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X