DTalkerTts Class Reference
Inherits from | NSObject |
---|---|
Declared in | DTalkerTts.h |
Overview
Framework : DTalkerTts.framework
ドキュメントトーカ日本語音声合成エンジンは、正確な読み、自然なイントネーション、明瞭な発音を特徴とした日本語音声合成エンジンで、Windows,Mac,Android等で広く使用されております。
日本語音声合成エンジンは大きくわけて言語処理と波形処理、音声出力の3つの処理が必要になりますが、これらの処理をSpeakというメソッドで完結します。
言語処理:日本語の漢字混じり文を表音文字に変換する処理。より正確な読みとアクセントを作り出すために以下の技術を使用しています。
- 高精度な形態素解析と文法処理に基づく表音化技術
- 約25万語の単語の読みとアクセント等を記憶した単語辞書
波形処理:表音文字を音声波形(PCM)に変換する処理。携帯端末での使用を考慮し、かつ、高い明瞭度(聞き取りやすさ)を実現するために以下の技術を使用しています。
- 4種類の音声
- 太郎・花子:男女各約15000種の素片データに基づく1ピッチ波形編集方式
- たかし・けいこ:コーパスベース波形編集方式
- 声の高さ(5段階)、速さ(10段階)、音量(10段階)
音声出力:音声波形を音声として出力する。
言語処理、波形処理を使用して、テキストをサウンドとして効率よく再生したり、話速変換や再生位置の変更などを再生中にリアルタイムで可能にするライブラリーとしてまとめられております。
また、AVSpeechSynthesizerクラスを継承した、DT_AVSpeechSynthesizer も用意してあります。
プロパティで設定されるパラメータは、音声出力とは非同期で行われ即座に反映されます。
メソッドで設定されるパラメータは、音声出力と同期されて反映されます。
初期化
– init
初期化
- (id)init
Return Value
初期化された DTalkerTts オブジェクト
Discussion
デフォルト音声として「たかし」
Declared In
DTalkerTts.h
– initWith:
音声を指定して初期化
- (id)initWith:(int)dict
Parameters
dict |
0=たかし, 1=けいこ, 2=太郎, 3=花子 |
---|
Return Value
初期化された DTalkerTts オブジェクト
Declared In
DTalkerTts.h
– getDictPath
辞書パス
- (NSURL *)getDictPath
Return Value
辞書の格納URL
Discussion
辞書の格納URLを返します。
Declared In
DTalkerTts.h
– getUserDictPath
ユーザー辞書パス
- (NSURL *)getUserDictPath
Return Value
ユーザー辞書の格納URL
Discussion
ユーザー辞書の格納URLを返す
Declared In
DTalkerTts.h
– setDefault
規定値に設定
- (void)setDefault
Discussion
speed = 6, tone = 3, volume = 7, hightone = 0, intonation = 2, wartRatio = 1.0, tempoRate = 1.0, audioVolume = 1.0, echo = 0, fastFoward = 0,
Declared In
DTalkerTts.h
プロパティ
delegate
delegate
@property (nonatomic, assign) id<DTalkerTtsDelegate> delegate
Declared In
DTalkerTts.h
speed
音声の速さ
@property int speed
Discussion
0 - 9 default = 6
プロパティで設定されるパラメータは、音声出力とは非同期で行われ即座に反映されます。
Declared In
DTalkerTts.h
tempoRate
話速変換レイト
@property float tempoRate
Discussion
speed設定とは別に、話速変換により速さを変えることができます。
値の範囲:0.5-1.5 default = 1.0 値が小さいほど早くなります。
Declared In
DTalkerTts.h
warpRatio
早送りレイト
@property float warpRatio
Discussion
speed設定とは別に、早送りにより速さを変えることができます。ただし、トーンが変更されます。
値の範囲:0.6 - 1.0 default = 1.0 値が小さいほど早くなります。
Declared In
DTalkerTts.h
fastFoward
2倍速
@property int fastFoward
Discussion
speed設定とは別に、速さが2倍になります。ただし、トーンが変わります。
0=なし、1=あり default = 0
Declared In
DTalkerTts.h
audioVolume
オーディオボリューム
@property float audioVolume
Discussion
volume設定とは別に、システムのオーディオボリュームを変更します。
0.0 - 1.0 default = 1.0
Declared In
DTalkerTts.h
filterLevel
フィルターレベル
@property int filterLevel
Discussion
ローパスフィルターをかけます。0は無し、1−4段階のレベル
0 - 4 default = 0
Declared In
DTalkerTts.h
delimiter_crlf
文章境界
@property BOOL delimiter_crlf
Discussion
CRLFを文章の境界とするか、CRLFを無視する
YES:文章境界とする,NO:文章境界としない default = YES
Declared In
DTalkerTts.h
kigouyomi_enable
記号の読み上げ
@property BOOL kigouyomi_enable
Discussion
記号を全て読み上げるか、一部のみ読み上げる。
YES:すべての記号を読む(句読点を含まない), NO:全ては読まない
Declared In
DTalkerTts.h
kutouten_enable
句読点の読み上げ
@property BOOL kutouten_enable
Discussion
YES:句読点を読み上げる,NO:読み上げない default = NO
Declared In
DTalkerTts.h
numerical_analysis
数字読み解析
@property BOOL numerical_analysis
Discussion
日付、住所、試合等の数字読み解析を行う。
YES:解析を行う, NO:行わない default = YES
Declared In
DTalkerTts.h
romaji_mojisu
ローマ字読み文字数
@property int romaji_mojisu
Discussion
ローマ字読み対象とする英単語の最小文字数 default = 4
Declared In
DTalkerTts.h
ssml_enable
SSML
@property BOOL ssml_enable
Discussion
文頭にSSML表記があればSSML解析を行う。
YES:SSML対応する, NO:対応しない
Declared In
DTalkerTts.h
syosai_enable
詳細読み
@property BOOL syosai_enable
Discussion
出力が1文字の時、詳細読みを行う
YES:詳細読みを行う,NO:行わない
Declared In
DTalkerTts.h
syosai_dict
詳細読み辞書の指定
@property int syosai_dict
Discussion
3種類の辞書から選択できます。
0=Ishikawa, 1=Tamachi, 2=Saito
Declared In
DTalkerTts.h
音声出力・制御
– speak:
読み上げ
- (int)speak:(NSString *)textString
Parameters
textString |
読み上げるテキスト |
---|
Return Value
0=失敗,1=正常
Declared In
DTalkerTts.h
– speak:startPos:
指定した位置からの読み上げ
- (int)speak:(NSString *)textString startPos:(int)pos
Parameters
textString |
読み上げるテキスト |
---|---|
pos |
読み上げ開始位置 |
Return Value
0=失敗,1=正常
Declared In
DTalkerTts.h
– speakPhoneme:
表音文字で読み上げ
- (int)speakPhoneme:(NSString *)phonemeString
Parameters
phonemeString |
表音文字 |
---|
Return Value
0=失敗,1=正常
Declared In
DTalkerTts.h
– sing:
歌唱
- (int)sing:(NSString *)mmlText
Parameters
mmlText |
MML形式テキスト |
---|
Return Value
0=失敗,1=正常
Discussion
MMLフォーマットの歌唱用テキストを音声で再生する
Declared In
DTalkerTts.h
– sing:option:
歌唱
- (int)sing:(NSString *)mmlText option:(int)option
Parameters
mmlText |
MML形式テキスト |
---|---|
option |
1=Vibrate |
Return Value
0=失敗,1=正常
Declared In
DTalkerTts.h
– speakBookmark:
Bookmark出力
- (int)speakBookmark:(NSString *)bookmarkString
Parameters
bookmarkString |
Bookmarkテキスト |
---|
Return Value
0=失敗,1=正常
Declared In
DTalkerTts.h
– stop
読み上げの停止
- (void)stop
Discussion
キューにあるものを含め全ての読み上げを停止します。 pause 状態だった場合は解除されます。
Declared In
DTalkerTts.h
– nextFrame
読み上げを停止し次のフレームに移る
- (void)nextFrame
Discussion
読み上げ中に有効であり、現在の読み上げを停止し、次のフレームの読み上げに移行します。
Declared In
DTalkerTts.h
– again
現在のフレームを繰り返す
- (void)again
Discussion
読み上げ中に有効であり、現在の読み上げを停止し、現在のフレームを再度読み上げます。その時、speakModeOption により、文節単位の読み上げを行うか、詳細読みで行うかが決まります。現在のフレームの読み上げが終われば、通常の読み上げに戻ります。
Declared In
DTalkerTts.h
– back
前のフレームに移動
- (void)back
Discussion
読み上げ中に有効であり、現在の読み上げを停止し、前のフレームの読み上げに移行します。
Declared In
DTalkerTts.h
– againCancel
againフレームのキャンセル
- (void)againCancel
Discussion
again読み上げをキャンセルし、次のフレームからの通常読み上げを行います。
Declared In
DTalkerTts.h
同期パラメータ設定
– setSpeedVal:
速さの設定
- (void)setSpeedVal:(int)val
Parameters
val |
0−9 メソッドで設定されるパラメータは、音声出力と同期されて反映されます。 |
---|
Declared In
DTalkerTts.h
– setHighToneVal:
ハイトーンの設定
- (void)setHighToneVal:(int)val
Parameters
val |
0,1 |
---|
Declared In
DTalkerTts.h
– setIntonationVal:
イントネーションの設定
- (void)setIntonationVal:(int)val
Parameters
val |
0-3 |
---|
Declared In
DTalkerTts.h
– setDelayTimerVal:
遅延時間の設定
- (void)setDelayTimerVal:(int)val
Parameters
val |
時間 単位: |
---|
Declared In
DTalkerTts.h
– setWarpRatioVal:
Warp ratio
- (void)setWarpRatioVal:(int)val
Parameters
val |
60-100 |
---|
Declared In
DTalkerTts.h
– setTempoRatioVal:
Tempo Ratio
- (void)setTempoRatioVal:(int)val
Parameters
val |
50 - 150 |
---|
Declared In
DTalkerTts.h
– setFastForwardVal:
FF
- (void)setFastForwardVal:(int)val
Parameters
val |
0,1 |
---|
Declared In
DTalkerTts.h
– setKigouYomiVal:
記号読み
- (void)setKigouYomiVal:(int)val
Parameters
val |
0,1 |
---|
Declared In
DTalkerTts.h
– setKutoutenYomiVal:
句読点読み
- (void)setKutoutenYomiVal:(int)val
Parameters
val |
0,1 |
---|
Declared In
DTalkerTts.h
PCM作成
– makePcm:pcmsize:endian:
PCMデータの作成
- (short *)makePcm:(NSString *)textString pcmsize:(int *)pcmSize endian:(BOOL)endian
Parameters
textString |
PCM作成したいテキスト |
---|---|
pcmSize |
作成されたPCMサンプルサイズ |
endian |
YES=Big, NO=Little |
Return Value
PCMデータ
Discussion
テキストから16Bit,16Khz,Mono のPCMデータを作成する。
Declared In
DTalkerTts.h
– songMake:pcmsize:endian:
MMLフォーマットの歌唱用テキストからPCMデータを作成する。
- (short *)songMake:(NSString *)mmlText pcmsize:(int *)pcmSize endian:(BOOL)endian
Parameters
mmlText |
MML formated text |
---|---|
pcmSize |
作成されたPCMサンプルサイズ |
endian |
YES=Big, NO=Little |
Return Value
PCMデータ
Declared In
DTalkerTts.h
– songMake:pcmsize:endian:option:
MMLフォーマットの歌唱用テキストからPCMデータを作成する。
- (short *)songMake:(NSString *)mmlText pcmsize:(int *)pcmSize endian:(BOOL)endian option:(int)option
Parameters
mmlText |
MML formated text |
---|---|
pcmSize |
作成されたPCMサンプルサイズ |
endian |
YES=Big, NO=Little |
option |
1=vibrate, 0=none |
Return Value
PCMデータ
Declared In
DTalkerTts.h
各種変換
– hiraganaConvert:
ひらがな変換
- (NSString *)hiraganaConvert:(NSString *)kanjStr
Parameters
kanjStr |
テキスト |
---|
Return Value
ひらがなテキスト
Discussion
漢字まじり文をひらがなテキストに変換する
Declared In
DTalkerTts.h
– getSentence:max:
文節変換
- (NSArray *)getSentence:(NSString *)textString max:(int)n
Parameters
textString |
テキスト |
---|---|
n |
文節の最大数、0 は制限なし |
Return Value
文節の配列
Discussion
テキストを文節ごとに分解する
Declared In
DTalkerTts.h
– kanjiToKanaConvert:
テキストを表音文字に変換
- (NSString *)kanjiToKanaConvert:(NSString *)textString
Parameters
textString |
テキスト |
---|
Return Value
表音文字
Discussion
テキストを表音文字に変換する
Declared In
DTalkerTts.h
– kanjiToSongPhoneme:
テキストを歌唱用表音文字に変換
- (NSString *)kanjiToSongPhoneme:(NSString *)textString
Parameters
textString |
テキスト |
---|
Return Value
表音文字
Discussion
テキストを歌唱用表音文字に変換する
Declared In
DTalkerTts.h
ユーザー辞書(1)
– dictCheckByNet
辞書更新チェック
- (int)dictCheckByNet
Return Value
1=要更新,0=最新, -1=ネットワーク接続失敗・確認できず
Discussion
辞書が最新かどうか、ネットワークを介して調査されます。
Declared In
DTalkerTts.h
– dictUpdateByNet
辞書の更新
- (int)dictUpdateByNet
Return Value
1=更新完了,0=失敗, -1=ネットワーク接続失敗・確認できず
Discussion
ネットワークを介して辞書の更新がなされます。
Declared In
DTalkerTts.h
– vc2ToJeita:
ユーザー辞書の書き出し
- (void)vc2ToJeita:(NSString *)fileName
Parameters
fileName |
ファイル名(full path) |
---|
Discussion
指定されたファイルに、JEITA形式でユーザー辞書の内容を書き出します。
Declared In
DTalkerTts.h
– jeitaToVc2:
ユーザー辞書の読み込み
- (void)jeitaToVc2:(NSString *)fileName
Parameters
fileName |
ファイル名(full path) |
---|
Discussion
指定されたJEITA形式ファイルから、ユーザー辞書に読み込みます。
Declared In
DTalkerTts.h
– userDictEdit:
ユーザー辞書の編集
- (void)userDictEdit:(UIViewController *)uc
Parameters
uc |
UIViewController |
---|
Discussion
ユーザー辞書の編集画面を呼び出します
Declared In
DTalkerTts.h
ユーザー辞書(2)
– checkUsrDictWordKanj:
単語のチェック
- (NSString *)checkUsrDictWordKanj:(NSString *)kanjStr
Parameters
kanjStr |
単語 |
---|
Return Value
修正後の単語
Discussion
ユーザー辞書へ登録しようとする単語のチェックを行う
漢字16文字32バイト以内、半角スペース削除
Declared In
DTalkerTts.h
– checkUsrDictWordKana:
読み方のチェック
- (NSString *)checkUsrDictWordKana:(NSString *)kanaStr
Parameters
kanaStr |
読み方 |
---|
Return Value
修正後の読み方(ひらがな)
Discussion
ユーザー辞書へ登録しようとする読み方のチェックを行う
Declared In
DTalkerTts.h
– convertKanaToPhoneme:
表音文字変換
- (NSString *)convertKanaToPhoneme:(NSString *)kanaStr
Parameters
kanaStr |
読み方 |
---|
Return Value
表音文字
Discussion
読み方を表音文字に変換(音声出力可能にするため)
Declared In
DTalkerTts.h
– accentChange:
アクセント変更
- (NSString *)accentChange:(NSString *)kanaStr
Parameters
kanaStr |
読み方 |
---|
Return Value
修正後の読み方(ひらがな)
Discussion
アクセントを順繰りに変更していきます
Declared In
DTalkerTts.h
– addUsrDict:Kana:Hinsi:Katuyou:
ユーザー辞書登録
- (int)addUsrDict:(NSString *)kanj Kana:(NSString *)kanaStr Hinsi:(int)hins Katuyou:(int)katu
Parameters
kanj |
単語 |
---|---|
kanaStr |
読み方 |
hins |
品詞 |
katu |
活用 |
Return Value
0=正常,-1=失敗
Discussion
サ変名詞:hins=0x10, Katu=0x00 普通名詞:hins=0x20, Katu=0x00 固有名詞:hins=0x20, Katu=0x01
Declared In
DTalkerTts.h
– deleteUsrDict:Kana:
ユーザー辞書削除
- (int)deleteUsrDict:(NSString *)kanjStr Kana:(NSString *)kanaStr
Parameters
kanjStr |
単語 |
---|---|
kanaStr |
読み方 |
Return Value
0=正常,-1=失敗
Discussion
ユーザー辞書から指定した単語と読み方を削除する
kanaStrに@“"を指定することで四方方を省略することができる
Declared In
DTalkerTts.h
– getUsrDictContents:Kana:Hinsi:Katuyou:hankaku:
ユーザー辞書内容取得
- (int)getUsrDictContents:(NSString *)kanjStr Kana:(NSString **)kanaStr Hinsi:(int *)hins Katuyou:(int *)katu hankaku:(BOOL)hz
Parameters
kanjStr |
単語 |
---|---|
kanaStr |
取得した読み方 |
hins |
取得した品詞 |
katu |
取得した活用 |
hz |
NO=kanaStrは全角,YES=kanaStrは半角 |
Return Value
0=正常,-1=失敗
Discussion
指定した単語からユーザー辞書の内容を取得する
Declared In
DTalkerTts.h
– getUsrDictContents:Kanji:Kana:Hinsi:Katuyou:hankaku:
ユーザー辞書内容取得
- (int)getUsrDictContents:(int)no Kanji:(NSString **)kanjStr Kana:(NSString **)kanaStr Hinsi:(int *)hins Katuyou:(int *)katu hankaku:(BOOL)hz
Parameters
no |
順位数 |
---|---|
kanjStr |
取得した単語 |
kanaStr |
取得した読み方 |
hins |
取得した品詞 |
katu |
取得した活用 |
hz |
NO=kanaStrは全角,YES=kanaStrは半角 |
Return Value
0=正常,-1=失敗
Discussion
ユーザー辞書の内容を順に取得する。no を0から順にアップし、戻り値が -1 になるまで繰り返すことでユーザー辞書の内容を取得できる。
Declared In
DTalkerTts.h
– getUsrDictIndex:
単語を指定して順位数を取得
- (int)getUsrDictIndex:(NSString *)kanjStr
Parameters
kanjStr |
単語 |
---|
Return Value
順位数
Declared In
DTalkerTts.h
– isUsrDictEnabled:
他のユーザー辞書の有効チェック
- (BOOL)isUsrDictEnabled:(int)no
Parameters
no |
1=ユーザー登録辞書,2=記号辞書,3=英単語辞書,4=住所辞書,5=名前辞書,6=顔文字辞書 |
---|
Return Value
YES=有効,NO=無効
Declared In
DTalkerTts.h
– usrDictEnable:
ユーザー辞書の有効化
- (void)usrDictEnable:(int)no
Parameters
no |
1=ユーザー登録辞書,2=記号辞書,3=英単語辞書,4=住所辞書,5=名前辞書,6=顔文字辞書 |
---|
Declared In
DTalkerTts.h
– usrDictDisable:
ユーザー辞書の無効化
- (void)usrDictDisable:(int)no
Parameters
no |
1=ユーザー登録辞書,2=記号辞書,3=英単語辞書,4=住所辞書,5=名前辞書,6=顔文字辞書 |
---|
Declared In
DTalkerTts.h
– kigouYomiEnable:
記号読み辞書の有効化・無効化
- (void)kigouYomiEnable:(BOOL)onOff
Parameters
onOff |
YES=有効,NO=無効 |
---|
Declared In
DTalkerTts.h