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

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

 Respuesta aceptada

Naoya
Naoya el 7 de Nov. de 2018

3 votos

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

6 comentarios

Kazuhiro Ouchi
Kazuhiro Ouchi el 9 de Nov. de 2018
Naoyaさん
回答ありがとうございます。
回答の通りに行うと,2つの音源に関してはLch,Rchに振り分けて再生を行うことができると思うのですが,3つ以上の音源に関して上記の質問を解決するにはどうしたら良いでしょうか。
Naoya
Naoya el 13 de Nov. de 2018
上記ご連絡ありがとうございます。
Matrix Concatenate ブロックのパラメータで 入力数を例えば 5 と変更すると入力ポートが 5つになりますので、 5ch分の信号を束ねることができますがいかがでしょうか?
Shoumei
Shoumei el 14 de Nov. de 2018
Editada: Shoumei el 14 de Nov. de 2018
3ch以上の音源ですと、Addブロックを使って加算してやればよいのではないでしょうか?
Mix Levelも調整できますよ。
test_audioSource.jpg
Kazuhiro Ouchi
Kazuhiro Ouchi el 15 de Nov. de 2018
Naoyaさん
回答ありがとうございます。
Matrix Concatenate ブロックを用いた方法についてですが,
オーディオチャネルあたりのサンプル数が1024,チャンネル数が5つの時
Matrix Concatenate ブロックの入力数を5とすると,
出力が[1024 × 5]となってしまい, Audio Device Writerの入力数である2チャンネルを超えてしまいます。
私の理解力不足もあるかとは思いますが,うまく動作しませんでした。
Kazuhiro Ouchi
Kazuhiro Ouchi el 15 de Nov. de 2018
Shoumei Yamadaさん
回答ありがとうございます。
回答のようにAddブロックを用いてみたところ,3つ以上の音源ファイルに関して再生を行うことができました。
ありがとうございました。
Naoya
Naoya el 15 de Nov. de 2018
上記ご連絡ありがとうございます。
再生デバイスが 2ch で 5ch 分出力ということでしたら、 Yamada様が提案される方法がベターだと思います。
信号が doubleや single型の場合、 -1 ~ 1 の間で波を表現された方がよいと思います。加算してこの範囲を超えますと -1 または 1 に飽和され再生されますのでご留意ください。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Audio I/O and Waveform Generation en Centro de ayuda y File Exchange.

Productos

Versión

R2017b

Preguntada:

el 2 de Nov. de 2018

Comentada:

el 15 de Nov. de 2018

Community Treasure Hunt

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

Start Hunting!