Bonjour à tous,

dans le cadre d'un programme de traitement audio, je dois extraire les données de fichiers wav sous forme de fichiers texte. Pour cela j'utilise Matlab avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
[y, Fs] = wavread('piano.wav')
Mono = (y(:,1)+y(:,2))/2;
Mono=resample(Mono,2500,44100)
save('piano.txt','Mono','-ASCII')
Jusqu'à présent j'avais constitué une bibliothèque de fichiers texte, que je traitais ensuite sous Lazarus. J'aimerais cependant maintenant pouvoir exécuter le programme à partir de n'importe quel fichier wav, sans toutefois avoir à lancer Matlab indépendamment avant. J'ai donc trouvé le code suivant qui devrait me permettre de lancer le traitement Matlab directement à partir de Lazarus.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
 
var nf:string;   MatApp:variant;
begin
MatApp:=CreateOleObject('matlab.application');
MatApp.visible:=1;
nf:='FilenameEdit1.text';
MatApp.Execute('[y, Fs] = wavread(nf) Mono = (y(:,1)+y(:,2))/2; Mono=resample(Mono,2500,44100) save(''piano.txt'',''Mono'',''-ASCII'') ');
 
end;
Cependant, en testant rien ne se passe, et l'historique de Matlab affiche seulement une ligne de commentaire (%-- 11/05/2012 22:20 --%) sans aucune ligne de commande.

Si quelqu'un pouvait m'aider à trouver mon erreur
Merci d'avance!