質問: 音声ファイルの無作為抽出について 音声ファイルの無作為抽出方法を教えてください。 例えば、「001.wav」「002.wav」「003.wav」の音声ファイルがあったとして、 これらからランダムに1つのファイルを選択・再生をするプログラム方法を知りたいです。
回答: 音声ファイル名を1つのセル配列にまとめ、randi 関数を使ってインデックスを求める方法がございます。 % ファイルをセル配列に格納 cellfiles = {'001.wav', '002.wav', '003.wav'}; % ランダムなインデックス値を取得 idx = randi( numel(cellfiles), 1 ); % インデックス値からファイル名を取得 filename = cellfiles{idx}; % 音声再生 [y, fs] = audioread( filename); sound(y, fs);