Générer une seule note de musique
Le
franssoa

Bonjour,
Je veux faire un petit programme générant des fichiers son facilitant
l’apprentissage de la reconnaissance des intervalles musicaux. Pour cela
j'ai besoin de créer des fichiers (wav) ne contenant qu'une ou deux
notes de musique, proche du son piano.
J'ai pensé utiliser timidity, ou la démo de pianoteq, mais il faut
apparemment les alimenter en fichiers midi, ce que je ne sais pas faire
à la volée.
Quelqu'un connait-il une solution simple, si possible à partir de python ?
franssoa
Je veux faire un petit programme générant des fichiers son facilitant
l’apprentissage de la reconnaissance des intervalles musicaux. Pour cela
j'ai besoin de créer des fichiers (wav) ne contenant qu'une ou deux
notes de musique, proche du son piano.
J'ai pensé utiliser timidity, ou la démo de pianoteq, mais il faut
apparemment les alimenter en fichiers midi, ce que je ne sais pas faire
à la volée.
Quelqu'un connait-il une solution simple, si possible à partir de python ?
franssoa
Pour juste une note pure :
ffmpeg -filter_complex 'aevalsrc=sin(2*PI*440*t)' -f alsa default
(avec une version très récente, on peut remplacer -filter_complex par
-lavfi, c'est plus court, et aevalsrc=... par sineD0, c'est plus rapide
mais moins souple ; quand je dis très récente, c'est hier soir)
Ça ne donnera pas du tout la tonalité du piano, pour ça il faudrait
connaître le profile harmonique et l'enveloppe, et en déduire la formule qui
va bien. Je suppose que ça peut se trouver sur le web.
peut etre utiliser un soundtracker ?
http://www.soundtracker.org/screenshots.php3
Bon, finalement j'ai utilisé Midiutil(1) en python pour générer des
fichiers midi de 2 notes, transformés en wav par timidity(2), puis
assemblés en mp3 par sox(3).
franssoa
(1) http://www.emergentmusics.org/midiutil
(2) timidity source.midi -OwM --output-file tmp1.wav
(3) sox tmp1.waw tmp2.wav ... tmpX.wav -r 44100 final.mp3
Je fis ça autrefois, avec audacity si ma mémoire est bonne.
des exemples là :
http://didierdescamps.free.fr/solfege/intervalles.html#bilan
mais on peut sûrement faire mieux...
Page très intéressante... mais qui va me demander un peu de temps à la
lecture.
tu es sur leur gestionnaire de sources ? :)
Le 21/03/2013 10:25, franssoa a écrit :
Je n'ai pas la réponse scientifique, mais celle-ci :
- utiliser le synthétiseur zynaddsubfx
http://sourceforge.net/projects/zynaddsubfx/
- et enregistrer à l'aide de audacity
Les deux sont dans les paquets deb et existent sans doute sous d'autre
forme (rpm etc.)
--
jp willm
http://perso.orange.fr/willms/index.html