音声データ(wavフ​ァイル)を5秒ごとに​切り取る方法

17 ビュー (過去 30 日間)
一秀 近藤
一秀 近藤 2023 年 4 月 14 日
コメント済み: 一秀 近藤 2023 年 4 月 17 日
wavファイル(5分程度)を5秒毎に切り取りを行い新たなwavファイルを60個ほど作成したいと考えております.また新たなwavファイルにそれぞれナンバリングを行いその後の処理を簡単に行えるようにしたいです.簡単な内容では御座いますがご教授お願いいたします.

回答 (1 件)

Akira Agata
Akira Agata 2023 年 4 月 14 日
編集済み: Akira Agata 2023 年 4 月 14 日
以下のようにすれば実現可能かと思います。
% 対象の .wav ファイルを読み込み
[y, fs] = audioread('fiveMinutesAudioFile.wav');
% 5秒分のサンプル数と全ファイル数を計算 (ただし最後に5秒以下の余りが生じたら捨てることとする)
nSample = fs*5;
nFile = floor(size(y, 1)/nSample);
% 先頭から5秒づつを 0001.wav, 0002.wav,...として保存
for kk = 1:nFile
pt = 1 + nSample*(kk-1);
ySegment = y(pt:pt+nSample-1, :);
fileName = sprintf('%04d.wav', kk);
audiowrite(fileName, ySegment, fs);
end
  1 件のコメント
一秀 近藤
一秀 近藤 2023 年 4 月 17 日
ありがとうございます。
実践してみます

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

カテゴリ

Help Center および File ExchangeSignal Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!