How to specify path name in sprintf?

41 vues (au cours des 30 derniers jours)
sangeet sagar
sangeet sagar le 28 Jan 2018
Commenté : Walter Roberson le 28 Jan 2018
I have a folder specified by the path D:\BTP\0 (1)\0 . This contains wave file ranging from 0 to 59 and I need to read each of them using the command
for m=0:59
filename = sprintf('%d.wav',m);
[s,fs] = audioread(filename);
end
I need to specify file name inside sprintf command. How do I do so?

Réponse acceptée

Domanic
Domanic le 28 Jan 2018
Modifié(e) : Domanic le 28 Jan 2018
You can do this through string concatenation:
mypath = 'D:\BTP\0 (1)\';
for m=0:59
filename = [mypath num2str(m) '.wav'];
[s,fs] = audioread(filename);
end
If it needs to be inside sprintf, you can use:
mypath = 'D:\\BTP\\0 (1)\\';
filename = sprintf([mypath '%d.wav'],m);
where the double slash, \\, generates the single \ in this context.
  4 commentaires
sangeet sagar
sangeet sagar le 28 Jan 2018
I also wanted to ask one more: I have wave files with names like:
00 01 02 03 04 .... and so on till 59. How do I read them using sprintf? The first digit of the filename specifies speaker id and the second digit specifies utterence id .
Walter Roberson
Walter Roberson le 28 Jan 2018
filename = fullfile(mypath, sprintf('%02d.wav', m));

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by