How to specify path name in sprintf?

43 ビュー (過去 30 日間)
sangeet sagar
sangeet sagar 2018 年 1 月 28 日
コメント済み: Walter Roberson 2018 年 1 月 28 日
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?

採用された回答

Domanic
Domanic 2018 年 1 月 28 日
編集済み: Domanic 2018 年 1 月 28 日
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 件のコメント
sangeet sagar
sangeet sagar 2018 年 1 月 28 日
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 2018 年 1 月 28 日
filename = fullfile(mypath, sprintf('%02d.wav', m));

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAudio and Video Data についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by