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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #25296252
franssoa , dans le message
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.



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.
LeGlod
Le #25296302
Le 21/03/2013 10:25, franssoa a écrit :
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


peut etre utiliser un soundtracker ?
http://www.soundtracker.org/screenshots.php3
franssoa
Le #25296572
Le 21. 03. 13 10:25, franssoa a écrit :
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.



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
dadou
Le #25296762
Le Thu, 21 Mar 2013 10:25:53 +0100, franssoa a écrit :

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 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...
Franssoa
Le #25297022
Le 21/03/2013 19:17, dadou a écrit :

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.
toto
Le #25297472
On Thu, 21 Mar 2013 10:53:20 +0000, Nicolas George wrote:

franssoa , dans le message
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.



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.



tu es sur leur gestionnaire de sources ? :)
jp willm
Le #25297502
Bonjour,

Le 21/03/2013 10:25, franssoa a écrit :

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 ?




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
Publicité
Poster une réponse
Anonyme