Skip to content

Commit

Permalink
add core.h
Browse files Browse the repository at this point in the history
  • Loading branch information
Hiroshiba committed Sep 11, 2021
1 parent 90bad8a commit bf87e7d
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/libtorch/lib/" python run.py \

## ライセンス

サンプルコードは [MIT LICENSE](./LICENSE) です。
サンプルコードおよび[core.h](./core.h) [MIT LICENSE](./LICENSE) です。

[Releases](https://github.com/Hiroshiba/voicevox_core/releases) にある
ビルド済みのコアライブラリは別ライセンスなのでご注意ください。
74 changes: 74 additions & 0 deletions core.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#pragma once

#include <utility>

#if defined(_WIN32) || defined(_WIN64)
#define DllExport __declspec(dllexport)
#else
#define DllExport
#endif

/**
* @fn
* 初期化する
* @brief 音声合成するための初期化を行う。他の関数を正しく実行するには先に初期化が必要
* @param root_dir_path 必要なファイルがあるディレクトリ。相対パス・絶対パスどちらも指定可能。文字コードはUTF-8
* @param use_gpu trueならGPU用、falseならCPU用の初期化を行う
* @return 成功したらtrue、失敗したらfalse
* @detail
* 何度も実行可能。use_gpuを変更して実行しなおすことも可能。
* 最後に実行したuse_gpuに従って他の関数が実行される。
*/
extern "C" DllExport bool initialize(char *root_dir_path, bool use_gpu);

/**
* @fn
* メタ情報を取得する
* @brief 話者名や話者IDのリストを取得する
* @return メタ情報が格納されたjson形式の文字列
*/
extern "C" DllExport const char *metas();

/**
* @fn
* 音素ごとの長さを求める
* @brief 音素列から、音素ごとの長さを求める
* @param length 音素列の長さ
* @param phoneme_list 音素列
* @param speaker_id 話者番号
* @return 音素ごとの長さ
*/
extern "C" DllExport bool yukarin_s_forward(int length, long *phoneme_list, long *speaker_id, float *output);

/**
* @fn
* モーラごとの音高を求める
* @brief モーラごとの音素列とアクセント情報から、モーラごとの音高を求める
* @param length モーラ列の長さ
* @param vowel_phoneme_list 母音の音素列
* @param consonant_phoneme_list 子音の音素列
* @param start_accent_list アクセントの開始位置
* @param end_accent_list アクセントの終了位置
* @param start_accent_phrase_list アクセント句の開始位置
* @param end_accent_phrase_list アクセント句の終了位置
* @param speaker_id 話者番号
* @return モーラごとの音高
*/
extern "C" DllExport bool yukarin_sa_forward(int length, long *vowel_phoneme_list, long *consonant_phoneme_list,
long *start_accent_list, long *end_accent_list,
long *start_accent_phrase_list, long *end_accent_phrase_list,
long *speaker_id, float *output);

/**
* @fn
* 波形を求める
* @brief フレームごとの音素と音高から、波形を求める
* @param length フレームの長さ
* @param phoneme_size 音素の種類数
* @param f0 フレームごとの音高
* @param phoneme フレームごとの音素
* @param speaker_id 話者番号
* @return 音声波形
*/
extern "C" DllExport bool decode_forward(int length, int phoneme_size, float *f0, float *phoneme, long *speaker_id,
float *output);
8 changes: 1 addition & 7 deletions example/python/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,7 @@ def run(
f0_correct: float,
) -> None:
# コアの初期化
core.initialize(
"./",
"1",
"2",
"3",
use_gpu,
)
core.initialize("./", use_gpu)

# 音声合成処理モジュールの初期化
forwarder = Forwarder(
Expand Down

0 comments on commit bf87e7d

Please sign in to comment.