合成

straightSynthInitConfig

目的
STRAIGHT合成エンジンの設定を行う構造体を初期化します。
書式
#include <straight/straight.h>

stBool straightSynthInitConfig(StraightSynthConfig *config);
引数
config
StraightSynthConfig型変数のアドレスを指定します。
戻り値
初期化に成功するとST_TRUEが返り、失敗するとST_FALSEが返ります。
説明
実体はマクロとなっており、構造体のメンバにバージョンIDなどを設定します。 これにより、ライブラリのバイナリレベルでの互換性が保たれています。
関連項目
初期化関数用構造体

straightSynthInitialize

目的
StraightSynth型のメモリを確保するとともに、STRAIGHT合成エンジンを初期化します。
書式
#include <straight/straight.h>

StraightSynth straightSynthInitialize(StraightSynthConfig *config);
引数
config
straightSynthInitConfigを呼び出した後に 所望の設定を行ったStraightSynthConfig型変数のアドレスを指定します。
戻り値
初期化に成功するとメモリ確保されたStraightSynth型が返り、失敗するとNULLが返ります。 STRAIGHT合成エンジンを解放する際には、straightSynthDestroyを呼び、StraightSynth型のメモリを解放して下さい。
関連項目
straightSynthInitConfig

straightSynthDestroy

目的
StraightSynth型のメモリを解放するとともに、STRAIGHT合成エンジンを解放します。
書式
#include <straight/straight.h>

stBool straightSynthDestroy(StraightSynth synth);
引数
synth
straightSynthInitialize で得られたStraightSynth型を指定します。
戻り値
解放に成功するとST_TRUEが返り、失敗するとST_FALSEが返ります。
関連項目
straightSynthInitialize

straightSynthCompute

目的
STRAIGHT合成を実行します。
書式
#include <straight/straight.h>

stBool straightSynthCompute(Straight straight, StraightSource source, StraightSpecgram specgram, StraightSynth synth,
                            double pitchConversionRate, double frequencyAxisConversionRate, double timeAxisConversionRate);
引数
straight
straightInitialize で得られたStraigh型を指定します。
source
straightSourceInitialize で得られたStraightSource型を指定します。 この関数の呼び出しが成功するためには、 straightSourceCompute がすでに実行されており、音源分析が終了している必要があります。
specgram
straightSpecgramInitialize で得られたStraightSpecgram型を指定します。 この関数の呼び出しが成功するためには、 straightSpecgramCompute がすでに実行されており、スペクトログラム分析が終了している必要があります。
synth
straightSynthInitialize で得られたStraightSynth型を指定します。
pitchConversionRate, frequencyAxisConversionRate, timeAxisConversionRate
それぞれ、基本周波数、周波数軸、時間軸の変換率を指定します。 1.0を指定した場合は変換を行いません。
戻り値
実行に成功するとST_TRUEが返り、失敗するとST_FALSEが返ります。
説明
合成結果は、第4引数のsynthの内部に保持されます。 結果を音声ファイルに書き出す関数として、straightWriteSynthAudioFileが、 内部バッファへのポインタを取得する関数として、 straightSynthGetOutputWave が用意されています。
関連項目
straightSynthInitializestraightWriteSynthAudioFilestraightSynthGetOutputWave

straightSynthGetOutputWave

目的
合成音の内部バッファへのポインタを取得します。
書式
#include <straight/straight.h>

double *straightSynthGetOutputWave(StraightSynth synth, long *outputLength);
引数
synth
straightSynthInitialize で得られたStraightSynth型を指定します。
outputLength
合成音の内部バッファの長さを取得するためのlong型変数のアドレスを指定します。
戻り値
実行に成功すると内部バッファへのポインタが返り、失敗するとNULLが返ります。 合成が一度も実行されていない場合など、合成音保持用のバッファが用意されていない 状態のときにはNULLが返ります。 なお、戻り値に対して、メモリ解放などを行ってはいけません。

straightSynthCompute を呼び出して合成を再実行した場合には、内部バッファは解放されますので、 以前のポインタは無効になります。

関連項目
straightSynthComputestraightWriteSynthAudioFile

Last modified: "2008-08-21 15:24:00 hideki"