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

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

 채택된 답변

Naoya
Naoya 2018년 11월 7일

3 개 추천

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

댓글 수: 6

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

제품

릴리스

R2017b

질문:

2018년 11월 2일

댓글:

2018년 11월 15일

Community Treasure Hunt

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

Start Hunting!