6.1.6 PlayAudio

6.1.6.1 ノードの概要

入力された音声波形データの再生を行う.

6.1.6.2 必要なファイル

無し.

6.1.6.3 使用方法

どんなときに使うのか

分離音声や収録した音声を試聴する場合に使用する.

典型的な接続例

PlayAudio ノードの接続例を図 6.11 と図 6.12 に示す.

6.11 は,分離音声を試聴する場合の接続例である. 分離音声は, GHDSS などで分離を行った後, Synthesize で時間領域波形に変換したものを入力する. 2チャンネルのステレオ出力であれば, INPUT1 に入力した波形は L チャンネル, INPUT2 に入力した波形は R チャンネルから出力される. INPUT1 および INPUT2 にマルチチャンネルの音声波形が入力された場合,それぞれの合成音が各出力チャンネルから再生される.

6.12 は,収録した音声を試聴する場合の接続例である. AudioStreamFromWave などで得られたマルチチャンネル音声波形を INPUT_MULTI_CHANNEL に入力する. 出力チャンネルへのアサインは MULTI_CHANNEL_ASSIGN パラメータを用いて行う.

\includegraphics[width=.9\textwidth ]{fig/modules/PlayAudio-connection1}
Figure 6.11: PlayAudio の接続例1

\includegraphics[width=.9\textwidth ]{fig/modules/PlayAudio-connection2}
Figure 6.12: PlayAudio の接続例2

6.1.6.4 ノードの入出力とプロパティ

Table 6.14: PlayAudio のパラメータ表

パラメータ名

デフォルト値

単位

説明

MASTER_VOLUME

float 

0

[dB]

マスターボリュームの設定.

DEVICE

int 

   

デバイスリストの番号でデバイスを指定する. 指定しない場合はOS標準のデバイスに出力.

CHANNNEL_COUNT

int 

2

 

再生チャンネル数. 最大2チャンネルに対応.

MULTI_CHANNEL_ASSIGN

Vector<int> 

下記参照

 

INPUT_MULTI_CHANNEL使用時のチャンネルアサイン.

LATENCY

int 

1000

[msec]

安定再生を図るための遅延時間.

LENGTH

int 

512

[pt]

FFT長.

ADVANCE

int 

160

[pt]

シフト長.

SAMPLING_RATE

int 

16000

[Hz]

サンプリングレート.

入力

INPUT1

: 型は Matrix<float> ,Map<int, ObjectRef> ,または Vector<float> 型. オーディオデバイスのチャンネル1 から出力する音声データ. 複数チャンネル,複数音源が入力された場合はミックスして出力する. Map<int, ObjectRef> の ObjectRef は Vector<float> .

INPUT2

: 型は Matrix<float> ,Map<int, ObjectRef> ,または Vector<float> 型. オーディオデバイスのチャンネル2 から出力する音声データ.複数チャンネル, 複数音源が入力された場合はミックスして出力する. Map<int, ObjectRef> の ObjectRef は Vector<float> .

INPUT_MULTI_CHANNEL

: 型は Matrix<float> または Map<int, ObjectRef> 型. 出力チャンネルのアサインは MULTI_CHANNEL_ASSIGN で行う.

出力

OUTPUT

: Matrix<float> 型. 再生データ. 出力データにパラメータ LATENCY の影響は受けない.

パラメータ

MASTER_VOLUME

: float 型. マスターボリュームの設定.

DEVICE

: int 型. デバイスリストの番号でデバイスを指定する.指定しない場合はOS標準のデバイスに出力する. デバイスリスト番号の確認方法は,ノードの詳細を参照.

CHANNNEL_COUNT

: int 型. 再生チャンネル数.最大2チャンネルに対応.

MULTI_CHANNEL_ASSIGN

: Vector<int> 型. INPUT_MULTI_CHANNEL 使用時のチャンネルアサイン. 再生チャンネルに対し,入力データのインデックスまたは音源IDを0ベースで指定する. たとえば,4チャンネル収録データの Matrix<float> を入力,そのうちインデックス1およびインデックス2に対応する音声データを L チャンネルと R チャンネルから出力したい場合, <Vector<int> 1 2>  と指定する. 指定したパラメータが入力データサイズおよびCHANNEL_COUNTを上回る場合,実際の再生パラメータを表示の上,再生可能な範囲内で再生する. 本パラメータを指定しない場合,入力データの上位チャンネルからCHANNEL_COUNTで指定したチャンネル数で再生する.

LATENCY

: int 型. 安定再生を図るための遅延時間.

LENGTH

: int 型. FFT長.前段階における値(AudioStreamFromMic ,MultiFFT ノードなど)と一致している必要がある.

ADVANCE

: int 型. シフト長.前段階における値(AudioStreamFromMic ,MultiFFT ノードなど)と一致している必要がある.

SAMPLING_RATE

: int 型. 入力波形のサンプリングレート.

6.1.6.5 ノードの詳細

基本的には INPUT# または INPUT_MUITI_CHANNEL のどちらかを使用することになるが,両方同時に入力された場合はミックスされた音が出力される.

オーディオデバイスを使用するため,本ノードはネットワークファイルに1つのみ設置可能である.

出力チャンネルのアサイン変更方法:

INPUT1 , INPUT2 を利用する場合は,ノード同士の接続を変更することでチャンネルのアサインを決定する. INPUT_MULTI_CHANNELにデータを入力する場合は,マルチチャンネルデータを入力し,ノードのパラメータでチャンネルのアサインを決定する.

デバイスリスト番号の確認方法:

デバイスリスト番号は, Windows 版 HARK で提供している Output Sound Device List を使って確認できる. [スタート] $\rightarrow $ [プログラム] $\rightarrow $ [HARK] にある Output Sound Device List をクリックすると,図 6.13 に示すように現在接続中のデバイス名が表示される.

\includegraphics[width=.8\textwidth ]{fig/modules/PlayAudio-outputdevlist}
Figure 6.13: デバイスリスト番号の確認