MATLAB Answers

0

simulinkで複数の音源ファイルを再生したい

Asked by Kazuhiro Ouchi on 2 Nov 2018
Latest activity Commented on by Naoya
on 15 Nov 2018
simulinkで複数の音源ファイルを再生したいです。
音源の読み込みはFrom Multimedia Fileを使っています。
サンプリング周波数は44100[Hz],オーディオチャネルあたりのサンプル数は128サンプルとしています。
読み込んでいる音源はwavファイルです。
複数のFrom Multimedia Fileで読み込んだ音源をAudioDeviceWriterで再生する方法を教えていただきたいです。

  0 Comments

Sign in to comment.

1 Answer

Naoya
Answer by Naoya
on 7 Nov 2018

複数の信号源を束ねて多チャンネル化して 1つのデバイスに出力する方法ですが、 Matrix Concatenate ブロックで 列ベクトルのフレーム信号配列を 2次元方向に結合して、 Audio Device Writer へ渡すとよろしいかと思います。
下記キャプチャは Matrix Concatenate ブロックの使用例となります。

  6 Comments

Kazuhiro Ouchi on 15 Nov 2018
Naoyaさん
回答ありがとうございます。
Matrix Concatenate ブロックを用いた方法についてですが,
オーディオチャネルあたりのサンプル数が1024,チャンネル数が5つの時
Matrix Concatenate ブロックの入力数を5とすると,
出力が[1024 × 5]となってしまい, Audio Device Writerの入力数である2チャンネルを超えてしまいます。
私の理解力不足もあるかとは思いますが,うまく動作しませんでした。
Kazuhiro Ouchi on 15 Nov 2018
Shoumei Yamadaさん
回答ありがとうございます。
回答のようにAddブロックを用いてみたところ,3つ以上の音源ファイルに関して再生を行うことができました。
ありがとうございました。
Naoya
on 15 Nov 2018
上記ご連絡ありがとうございます。
再生デバイスが 2ch で 5ch 分出力ということでしたら、 Yamada様が提案される方法がベターだと思います。
信号が doubleや single型の場合、 -1 ~ 1 の間で波を表現された方がよいと思います。加算してこの範囲を超えますと -1 または 1 に飽和され再生されますのでご留意ください。

Sign in to comment.