Je suis en train de programmer quelques petits trucs sous octave ( logiciel de mathématique comme matlab mais gratuit ).
Mais lorsque j’essaye de lancer un “sound(x)” pour jouer ma fonction ( un beau petit sinus à 440 ), je me retrouve avec l’erreur suivante :
sh: play: command not found
warning: warn_fortran_indexing is no longer a built-in variable; please read the NEWS file or type `news' for details
warning: warn_fortran_indexing is no longer a built-in variable; please read the NEWS file or type `news' for details
warning: broken pipe -- some output may be lost
J’ai essayé le “apt-get install sox” mais en relançant mon script, il me donne cette erreur-ci :
@mattotop :
Non je ne fait rien avec les midi ( du moins pas explicitement ).
Voici mon code, si ça peut vous aider :
function S=sonBasique(n)
% Fréquence d'echantillonage
Fe=n;
% Vecteur d'abscisse allant de 0 a 2
t=0:1/Fe:2;
% Fonction symbolisant la note "la"
x=sin(2*pi*440*t);
% On joue le son
sound(x);
endfunction
quote=“Elverion” @mattotop :
Non je ne fait rien avec les midi ( du moins pas explicitement ).
(…)[/quote] Non, mais je me disais que ce type de manipulation de l’audio qui repose sur de la synthèse de son, et pas sur de la restitution d’un son analogique en PCM sollicitait peut être les fonctionnalités de synthèse midi. Donc mon conseil était de t’assurer que tu réussissais bien à jouer des .mid, pour voir si ça ne venait pas d’une absence de configuration de ces fonctionnalités midi dont je me doutais justement que tu ne les avais jamais vérifiées.
Mais je laisse fran.b, je suis sûr que sa piste est plus sérieuse que la mienne.
Je viens de faire le test, avec sonBasique(440), je n’ai rien mais avec 4400 j’ai un très beau son et avec 400 aussiii octave-audio 1.1.1-2 functions to work with audio files in Octave
ii octave2.9 1:3.0.1-6lenny1 GNU Octave language for numerical computatio
ii octave3.0 1:3.0.1-6lenny1 GNU Octave language for numerical computatio
ii octave3.0-htmldoc 1:3.0.1-6lenny1 HTML documentation on the GNU Octave languag
ii qtoctave 0.7.4+dfsg-3 A Qt front-end to Octave
francois@bling:~$
J’ai lancé un apt-get des paquets que tu as marqué plus haut et il me manquait le octave2.9 ( alors que le 3.0 était installé … ? ) et depuis, lorsque j’essai un sound :
Je sais que quand tu écris ton vecteur dans un fichier .wav, il faut le normaliser.
qqchose comme x = x/max(abs(x));
mon prof faisait meme x = x/(1.1*max(abs(x))); je sais plus pourquoi
Tu as aussi soundsc (pour scaled) comme ça c’est réglé.
Je ne me suis jamais servi de sound mais il a besoin d’un 2eme paramètre, la fréquence de lecture…
“n” pour toi.
Un fichier wav va contenir des info sur la fréquence à laquelle lire le signal ainsi que sur les bits de quantifiaction il me semble bref… tu perds rien à tester qqchose comme soundsc(x,n).
Et je confirme le midi n’a rien à voir là dedans.
Le midi c’est une banque de sons (simulés ou non) dans laquelle on pioche. On peut faire de la simulation musicale en tps réel controlé par un controleur midi.
Exemple: les pianos numériques.
On appuie sur une touche, un capteur mesure la vitesse avec laquelle on appuyé.
Ce paramètre part dans un simulateur (script octave) qui pond un vecteur, le signal sonore final.
On peut aussi créer un fichier midi qui contient plusieurs notes avec le paramètre de vitesse pour chacune. Octave peut ensuite generer chacune des notes (il crée la banque de sons) et ensuite on peut faire jouer un morceau.