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

– lngReOpen

言語処理の辞書を再オープン

- (void)lngReOpen

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

  tone

音声の高さ

@property int tone

Discussion

 1 - 5 default = 3

Declared In

DTalkerTts.h

  volume

音声の音量

@property int volume

Discussion

 0 - 9 default = 7

Declared In

DTalkerTts.h

  hightone

ハイトーン

@property int hightone

Discussion

 0=通常、1=高音 default = 0

Declared In

DTalkerTts.h

  intonation

イントネーション

@property int intonation

Discussion

 0 - 3 default = 2

Declared In

DTalkerTts.h

  tempoRate

話速変換レイト

@property float tempoRate

Discussion

speed設定とは別に、話速変換により速さを変えることができます。

値の範囲:0.5-1.5  default = 1.0 値が小さいほど早くなります。

Declared In

DTalkerTts.h

  currentPos

現在の話中位置

@property int currentPos

Discussion

値の範囲:0 - 100 (%)

Declared In

DTalkerTts.h

  warpRatio

早送りレイト

@property float warpRatio

Discussion

speed設定とは別に、早送りにより速さを変えることができます。ただし、トーンが変更されます。

値の範囲:0.6 - 1.0 default = 1.0 値が小さいほど早くなります。

Declared In

DTalkerTts.h

  echo

エコー効果

@property int echo

Discussion

 0=なし、1=あり default = 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

  speakModeOption

詳細読みオプション

@property int speakModeOption

Discussion

0 = again メソッドで文節読みを行う

1 = again メソッドで詳細読みを行う

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

– pause

読み上げの一時停止

- (void)pause

Discussion

Pause状態に入ります。stop もしくは resume で pause状態は解除されます。

Declared In

DTalkerTts.h

– resume

読み上げの再開

- (void)resume

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

– isBusy

読み上げ中の取得

- (BOOL)isBusy

Return Value

YES:読み上げ中,NO:読み上げ完了

Declared In

DTalkerTts.h

– isPaused

停止中の取得

- (BOOL)isPaused

Return Value

YES:停止中,NO:停止中でない

Declared In

DTalkerTts.h

同期パラメータ設定

– setSpeedVal:

速さの設定

- (void)setSpeedVal:(int)val

Parameters

val

0−9 メソッドで設定されるパラメータは、音声出力と同期されて反映されます。

Declared In

DTalkerTts.h

– setToneVal:

高さの設定

- (void)setToneVal:(int)val

Parameters

val

1-5

Declared In

DTalkerTts.h

– setVolumeVal:

音量の設定

- (void)setVolumeVal:(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

– setEchoVal:

エコーの設定

- (void)setEchoVal:(int)val

Parameters

val

0,1

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

– getUsrDictCount

ユーザー辞書の単語数を取得

- (int)getUsrDictCount

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