JP6060520B2 - Speech synthesizer - Google Patents
Speech synthesizer Download PDFInfo
- Publication number
- JP6060520B2 JP6060520B2 JP2012109822A JP2012109822A JP6060520B2 JP 6060520 B2 JP6060520 B2 JP 6060520B2 JP 2012109822 A JP2012109822 A JP 2012109822A JP 2012109822 A JP2012109822 A JP 2012109822A JP 6060520 B2 JP6060520 B2 JP 6060520B2
- Authority
- JP
- Japan
- Prior art keywords
- speech
- unit
- data
- phoneme
- decoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
本発明は、音声合成装置に関する。 The present invention relates to a speech synthesizer.
人間の肉声を模した音声を合成するための種々の技術が提案されている。例えば、特許文献1には、人間の肉声(以下「入力音声」という)を音素ごとに切り出して音声素片を採取しておき、これらの音声素片を相互に連結することによって任意の音声を合成する技術が開示されている。また、特許文献2には、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する技術が提案されている。
Various techniques for synthesizing speech imitating human real voice have been proposed. For example, in
ところで、特許文献2に記載された技術のように、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する装置においては、音声素片データのデコード処理や音声合成処理等により、ユーザによる演奏操作から発音/消音までの間に遅延が生じる。特に、消音のタイミングが遅れると演奏しているユーザが違和感を覚える場合があった。
本発明は上述の背景に鑑みてなされたものであり、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することのできる技術を提供することを目的とする。
By the way, in the apparatus that synthesizes the singing voice in accordance with the performance freely performed by the user as in the technique described in Patent Document 2, the performance by the user is performed by the decoding processing of the speech segment data, the speech synthesis processing, or the like. There is a delay between operation and sound / mute. In particular, if the timing of mute is delayed, the user who is playing may feel uncomfortable.
The present invention has been made in view of the above-described background, and in an apparatus for generating synthesized speech in accordance with a performance freely performed by a user, until a synthesized speech is muted after a performance operation for silencing is performed. It is an object of the present invention to provide a technique capable of reducing the delay of the system.
上述した課題を解決するために、本発明は、音素の発音開始指示又は発音終了指示を示す発音指示を取得する発音指示取得部と、前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部と、前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部とを具備することを特徴とする音声合成装置を提供する。 In order to solve the above-described problem, the present invention provides a pronunciation instruction acquisition unit that acquires a pronunciation instruction indicating a pronunciation start instruction or a pronunciation end instruction of a phoneme, and when the pronunciation instruction acquisition unit acquires the pronunciation instruction, A phoneme specifying unit that specifies a phoneme corresponding to the acquired pronunciation instruction, and a phoneme unit that is a set of phoneme unit data in which data representing a phoneme waveform for each phoneme and phoneme chain is encoded according to a predetermined rule A speech unit data acquisition unit that acquires speech unit data corresponding to the phoneme specified by the phoneme specifying unit from a database, and a decoding unit that decodes the speech unit data acquired by the speech unit data acquisition unit Generating synthesized speech data representing synthesized speech using the speech segment data decoded by the decoding unit, and outputting the generated synthesized speech data When the pronunciation instruction acquisition unit acquires the pronunciation termination instruction, the speech unit data is registered in the speech unit database and represents a speech waveform of a transition part from a predetermined phoneme to silence. Corresponding to the speech waveform of the transition part from the phoneme specified by the phoneme specifying unit as a phoneme corresponding to the acquired sounding end instruction from the storage unit storing decoded data obtained by decoding the segment data Read the decoded data, generate synthesized speech data using the read decoded data, output the synthesized speech data generated, and timing before the pronunciation instruction acquisition unit acquires the pronunciation termination instruction , The speech unit data representing the speech waveform of the transition from the phoneme to the silence satisfying the predetermined condition is decoded and the decoded data is decoded. It generates and provides a speech synthesis apparatus characterized by the generated decoded data to and a decoded data storage control unit for storing in the storage unit.
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、前記発音指示取得部が前記発音開始指示を取得した場合に、該発音開始指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。 Further, in a further preferred aspect of the present invention, the decoded data storage control unit is specified by the phoneme specifying unit as a phoneme corresponding to the pronunciation start instruction when the pronunciation instruction acquisition unit acquires the pronunciation start instruction. The decoded speech data may be generated by decoding the speech segment data representing the speech waveform of the transition from the phoneme to the silence, and the generated decoded data may be stored in the storage unit.
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、前記音声合成部における処理の履歴に基づいて1又は複数の音素を選定し、選定した音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。 Further, in a further preferred aspect of the present invention, the decoded data storage control unit selects one or a plurality of phonemes based on the processing history in the speech synthesis unit, and the speech of the transition portion from the selected phonemes to silence. The speech unit data representing the waveform may be decoded to generate decoded data, and the generated decoded data may be stored in the storage unit .
また、本発明の更に好ましい態様において、前記音声合成部は、前記発音指示取得部が前記発音開始指示を取得し、かつ、該取得された発音開始指示に対応する音素に対応するデコード済データが前記記憶部に記憶されている場合に、ユーザに報知を行うための情報を出力してもよい。
また、本発明の更に好ましい態様において、前記記憶部は、前記デコード済データを、前記音声合成部による音声合成処理が終了するまでの期間に渡って記憶してもよい。
Further, in a further preferred aspect of the present invention, the speech synthesizer has the pronunciation instruction acquisition unit acquire the pronunciation start instruction, and decoded data corresponding to a phoneme corresponding to the acquired pronunciation start instruction is stored. When stored in the storage unit, information for notifying the user may be output.
Further, in a further preferred aspect of the present invention, the storage unit may store the decoded data over a period until the speech synthesis process by the speech synthesizer ends.
本発明によれば、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することができる。 ADVANTAGE OF THE INVENTION According to this invention, in the apparatus which produces | generates a synthetic | combination voice according to the performance performed freely by the user, the delay until a synthetic | combination voice is muted after performing performance operation for mute can be reduced.
図面を参照しながら本発明の実施の形態を説明する。以下に示す各実施形態は、楽曲の歌唱音声を合成するために本発明を適用した態様である。 Embodiments of the present invention will be described with reference to the drawings. Each embodiment shown below is the aspect which applied this invention in order to synthesize | combine the song voice of a music.
1.構成
図1は、この発明の一実施形態である歌唱合成システムの構成を示すブロック図である。この歌唱合成システムは、演奏データ発生装置100と、音声合成装置200とをMIDIケーブル等の通信ケーブル300により接続してなるものである。この歌唱合成システムにおいて、演奏データ発生装置100は、ユーザの演奏操作に応じて演奏データたるMIDIメッセージを発生する装置であり、例えばMIDI鍵盤楽器である。音声合成装置200は、合成音声を生成する装置であり、例えばパーソナルコンピューターや携帯通信端末等の装置である。音声合成装置200は、演奏データ発生装置100からMIDIメッセージが順次与えられるのに応じて、予め記憶した歌詞データを歌唱位置を変えつつ順次利用し、MIDIメッセージにより定まるピッチおよび発音期間を持った歌唱音声をリアルタイムに合成する。
1. Configuration FIG. 1 is a block diagram showing a configuration of a singing voice synthesis system according to an embodiment of the present invention. This singing voice synthesizing system is formed by connecting a performance
演奏データ発生装置100は、制御部110、記憶部120、操作部130、表示部140、インターフェース部150、鍵盤部160、音源部170を有し、これら各部がバス190を介して接続されている。制御部110は、CPU(Central Processing Unit)等のプロセッサーや、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有している。制御部110において、CPU等のプロセッサーが、ROMや記憶部120に記憶されているコンピュータープログラムを読み出してRAMにロードして実行することにより、演奏データ発生装置100の各部が制御される。
The performance
記憶部120は、各種のデータを記憶するための記憶部である。記憶部120としては、磁気ディスクを内蔵したハードディスク装置や、CD−ROMに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部130は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部110に出力する。表示部140は、例えば液晶パネルを備え、制御部110による制御の下、各種の画像を表示する。インターフェース部150は、演奏データであるMIDIメッセージを送信するためのMIDIインターフェースや、磁気ディスクやCD−ROMなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。
The
鍵盤部160は、ユーザによって押鍵される複数の鍵とこれらの各鍵が押鍵されているか離鍵されているかを示す信号を制御部110に供給するキースイッチ回路とにより構成されている。音源部170は、制御部110からの指令に従い、デジタル楽音信号を形成する装置である。サウンドシステム180は、音源部170において形成されたデジタル楽音信号をアナログ楽音信号に変換するD/A変換器と、このアナログ楽音信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
The
音声合成装置200は、制御部210、記憶部220、操作部230、表示部240、インターフェース部250、サウンドシステム260を有し、これら各部がバス270を介して接続されている。制御部210は、CPU等のプロセッサーや、RAM、及びROM等を有している。制御部210において、CPU等のプロセッサーが、ROMや記憶部220に記憶されているコンピュータ−プログラムを読み出してRAMにロードして実行することにより、音声合成装置200の各部が制御される。
The
記憶部220は、各種のデータを記憶するための記憶部である。記憶部220としては、磁気ディスクを内蔵したハードディスク装置や、CD−ROMに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部230は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部210に出力する。表示部240は、例えば液晶パネルを備え、制御部210による制御の下、各種の画像を表示する。インターフェース部250は、演奏データであるMIDIメッセージを受信するためのMIDIインターフェースや、磁気ディスクやCD−ROMなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。サウンドシステム260は、音声合成装置200において合成された音声を出力するものであり、合成音声のサンプルデータである歌唱音声データをアナログ音声信号に変換するD/A変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
The
記憶部220は、図示のように、音声素片データベースDB1記憶領域221と、歌詞データ記憶領域222とを有している。音声素片データベースDB1記憶領域221には、単数又は複数の音素(phoneme)で構成される音声素片を表すデータ(以下「音声素片データ」という)の集合である音声素片データベースDB1が記憶されている。音声素片データは合成音声を生成する際に用いられるデータである。本実施形態において「音素」とは、言語上の意味の区別の最小単位(例えば母音や子音)に相当するものであり、ある言語の実際の調音と音韻体系全体を考慮して設定される、その言語の音韻論上の最小単位である。音声素片は、特定の発声者によって発声された入力音声のうち所望の音素や音素連鎖に相当する区間が切り出されたものである。本実施形態における音声素片データは、音声素片の周波数スペクトルを示すデータである。以下の説明では、「音声素片」の語は、単一の音素(例えばモノフォン)や、音素連鎖(例えばダイフォンやトライフォン)を含むものとして用いる。
The
具体的には、音声素片データベースDB1には、[a]、[i]といったような単一の音素の音声素片データや、[a−i]、[a−p]といったような音素連鎖の音声素片データが記憶されている。この実施形態では、音素を表す発音記号としてSAMPA(Speech Assessment Methods Phonetic Alphabet)で規定された発音記号を用いる。なお、音素を表す記号はこれに限らず、例えばX−SAMPA(Extended SAM Phonetic Alphabet,拡張SAM音声記号)やIPA(国際音声記号)等の他の規格に沿ったものであってもよい。 Specifically, in the speech unit database DB1, speech unit data of single phonemes such as [a] and [i], and phoneme chains such as [ai] and [ap] are stored. Are stored. In this embodiment, phonetic symbols defined by SAMPA (Speech Assessment Methods Phonetic Alphabet) are used as phonetic symbols representing phonemes. The symbols representing phonemes are not limited to this, and may be in accordance with other standards such as X-SAMPA (Extended SAM Phonetic Alphabet) and IPA (International Phonetic Symbols).
図2は、音声素片の一例を示す図である。図2の(a1)は、子音の音素[s]とこれに続く母音の音素[a]とを組み合わせた音素連鎖[s−a]の波形を示す。図2の(a1)に示す波形は、時点Ta1が音素[s]の始点として指定されるとともに時点Ta3が音素[a]の終点として指定され、さらに時点Ta2が音素[s]と音素[a]との境界として指定された場合が想定されている。図2の(a1)に示されるように、音素[a]の波形は、その発声のために口を開いていく発声者の動作に対応するように時点Ta2から徐々に振幅が増大していき、発声者が口を開き切った時点Ta0を越えると振幅が略一定に維持される形状となる。音素[a]の終点Ta3としては、音素[a]の波形が定常的な状態に遷移した後の時点(すなわち図2の(a1)に示される時点Ta0以降の時点)が選定される。 FIG. 2 is a diagram illustrating an example of a speech element. (A1) in FIG. 2 shows a waveform of a phoneme chain [s−a] in which a phoneme [s] of a consonant and a phoneme [a] of a vowel following the consonant are combined. In the waveform shown in (a1) of FIG. 2, the time point Ta1 is specified as the start point of the phoneme [s], the time point Ta3 is specified as the end point of the phoneme [a], and the time point Ta2 is further specified as the phoneme [s] and the phoneme [a. ] Is assumed as the boundary. As shown in (a1) of FIG. 2, the waveform of the phoneme [a] gradually increases in amplitude from the time point Ta2 so as to correspond to the action of the speaker who opens his / her mouth for the utterance. When the speaker exceeds the time Ta0 when the mouth is fully opened, the amplitude is maintained substantially constant. As the end point Ta3 of the phoneme [a], a time point after the waveform of the phoneme [a] transitions to a steady state (that is, a time point after the time point Ta0 shown in (a1) of FIG. 2) is selected.
一方、図2の(b1)は、母音の音素[a]を含む音声素片[a−#]の波形を示す。[#]は無音を表す。この音声素片[a−#]に含まれる音素[a]の波形は、発声者が口を開き切った状態にて発声してから徐々に口を閉じていって最後には完全に口が閉じられるという発声の動作に対応した形状となる。すなわち、音素[a]の波形は、初めに振幅が略一定に維持され、発声者が口を閉じる動作を開始する時点(定常点)Tb0から振幅が徐々に減少していく。このような音声素片の始点Tb1は、音素[a]の波形が定常的な状態に維持されている期間内の時点(すなわち定常点Tb0よりも前の時点)として選定される。 On the other hand, (b1) of FIG. 2 shows the waveform of the speech segment [a- #] including the vowel phoneme [a]. [#] Represents silence. The waveform of the phoneme [a] contained in the speech segment [a- #] is that the voice is gradually closed after the speaker speaks with the mouth fully open, and finally the mouth is completely closed. The shape corresponds to the utterance action of being closed. That is, the amplitude of the phoneme [a] waveform is initially maintained substantially constant, and the amplitude gradually decreases from the time point Tb0 when the speaker starts the closing operation (steady point) Tb0. The start point Tb1 of such a speech element is selected as a point in time during which the waveform of the phoneme [a] is maintained in a steady state (that is, a point before the steady point Tb0).
以上のようにして時間軸上における範囲が画定された音声素片は所定の時間長(例えば5msないし10ms)のフレームFに区分される。図2の(a1)に示されるように、各フレームFは時間軸上において前のフレームに後のフレームが一部重なるように選定される。これらのフレームFは簡易的には同一の時間長の区間とされるが、例えば音声素片のピッチに応じて各フレームFの時間長を変化させてもよい。こうして区分された各フレームFの波形にFFT(Fast Fourier Transform)処理を含む周波数分析が実施されることによって周波数スペクトルが特定され、これらの周波数スペクトルを示すデータがエンコードされたものが音声素片データとして音声素片データベースDB1に記憶される。したがって、図2の(a2)および(b2)に示されるように、各音声素片の音声素片データは、各々が別個のフレームFの周波数スペクトルを示す複数の単位データD(D1、D2、……)を含む。 The speech segment whose range on the time axis is defined as described above is divided into frames F having a predetermined time length (for example, 5 ms to 10 ms). As shown in FIG. 2 (a1), each frame F is selected so that the subsequent frame partially overlaps the previous frame on the time axis. These frames F are simply set as sections having the same time length, but the time length of each frame F may be changed according to the pitch of the speech segment, for example. A frequency spectrum including FFT (Fast Fourier Transform) processing is performed on the waveform of each frame F divided in this way to specify a frequency spectrum, and data representing these frequency spectra is encoded as speech unit data. Is stored in the speech unit database DB1. Therefore, as shown in (a2) and (b2) of FIG. 2, the speech unit data of each speech unit is composed of a plurality of unit data D (D1, D2,. ……)including.
図3は、音声素片データベースDB1の内容の一例を示す図である。図示のように、音声素片データベースDB1には、音素又は音素連鎖毎に音声素片データ(の全部又は一部)がエンコードされて記憶されている。なお、ひとつの音素又はひとつの音素連鎖について、ピッチ毎、ゲイン毎、波長毎に複数の音声素片データが記憶されていてもよい。例えば、ピッチに関して、ひとつの音素(又はひとつの音素連鎖)について高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の3つの音声素片データが記憶されていてもよい。このように、音声素片データベースDB1に、ひとつの音素又はひとつの音素連鎖について、その属性毎に異なる音声素片データが記憶されていてもよい。 FIG. 3 is a diagram illustrating an example of the contents of the speech unit database DB1. As shown in the figure, speech unit data (all or a part thereof) is encoded and stored for each phoneme or phoneme chain in the speech unit database DB1. A plurality of speech element data may be stored for each pitch, for each gain, and for each wavelength for one phoneme or one phoneme chain. For example, with respect to the pitch, three speech element data, that is, speech element data for high sounds, speech element data for medium sounds, and speech element data for bass sounds, are stored for one phoneme (or one phoneme chain). May be. As described above, different speech segment data may be stored for each attribute of one phoneme or one phoneme chain in the speech segment database DB1.
歌詞データ記憶領域222には、操作部230の操作により入力される文字列が歌詞データとして格納される。操作部230の操作により入力される文字列が歌詞データとしてRAM内に格納され、操作部230の操作により格納コマンドが入力された場合、制御部210がRAM内の歌詞データを歌詞データ記憶領域222に格納する。歌詞データ記憶領域222には、このようにして格納された歌詞データおよびインターフェース部250を介して外部から入力される歌詞データの集合が記憶される。
In the lyrics
次に、図4に示すブロック図を参照しながら、音声合成装置200の機能的構成の一例について説明する。図4において、初期設定部211と、MIDIメッセージ受信処理部212と、歌唱合成部213とは、制御部210のプロセッサーが、ROM又は記憶部220に記憶されたコンピュータープログラムを読み出しRAMにロードして実行することにより実現される。
Next, an example of a functional configuration of the
初期設定部211は、歌唱音声を生成するためのアプリケーション(以下「歌唱合成アプリケーション」という)が起動されたタイミングで、各種の初期設定を行う。特に、初期設定部211は、予め定められた音素(この実施形態では、母音と鼻音)から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースDB1から読み出し、読み出した音声素片データをデコードする。初期設定部211は、デコードした音声素片データ(デコード済データ)をRAM内の所定の記憶領域(以下「デコード済データ記憶領域231」という)に格納する。デコード済データ記憶領域231には、音声素片[a−#]、[i−#]、[u−#]、[e−#]、[o−#]、[n−#]のそれぞれの音声波形を表す音声素片データをデコードしたデコード済データが格納される。初期設定部211は本発明に係るデコード済データ記憶制御部の一例である。以下の説明では、説明の便宜上、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データを「無音遷移データ」と称して説明する。
The
なお、ひとつの音素又はひとつの音素連鎖について、その属性毎(ピッチ毎、ゲイン毎、波長毎、等)に異なる音声素片データが音声素片データベースDB1に記憶されている場合には、初期設定部211は、予め定められた音素に対応する全ての属性の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。例えば、初期設定部211は、ひとつの音素又はひとつの音素連鎖について、高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の3つの音声素片データが記憶されている場合には、これらの3つの音声素片データに対してデコード処理を行ってもよい。また、初期設定部211は、予め定められた音素に対応する音声素片データのうちの一部の属性(予め定められた属性)の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。このように属性毎に異なる音声素片データがデータベースに記録されている場合は、後述する変換処理部216は、合成すべき音の属性に対応する音声素片データを選択するようにすると良い。例えばピッチに関して高音用・中音用・低音用の音声素片データがある場合、変換処理部216は、その音符に最も近い音高の音声素片データを選択するようにすると良い。このようにすることで高品質な合成音を得ることができる。
In addition, for one phoneme or one phoneme chain, when speech unit data different for each attribute (pitch, gain, wavelength, etc.) is stored in the speech unit database DB1, initial setting is performed. The
デコード済データ記憶領域231は、歌唱合成アプリケーションの終了に伴って開放される。すなわち、デコード済データ記憶領域231には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データ(デコード済データ)が記憶される。
The decoded
MIDIメッセージ受信処理部212は、インターフェース部250の中のMIDIインターフェースがMIDIメッセージを受信したときに起動される割り込みルーチンである。MIDIメッセージ受信処理部212は、MIDIインターフェースにより受信されたMIDIメッセージを解釈し、解釈結果に従って、歌唱合成部213内の各部に制御情報を供給する。MIDIメッセージ受信処理部212は、ノートオン(音素の発音開始)又はノートオフ(音素の発音終了)を示す発音指示(MIDIメッセージ)を取得する発音指示取得部の一例である。
The MIDI message
歌唱合成部213は、歌唱位置更新処理部214と、素片選択部215と、変換処理部216と、素片連結部219とで構成される。歌唱位置更新処理部214は、歌詞データが示す歌詞のうち歌唱合成を行う歌唱対象部分の位置、すなわち、歌唱位置の更新を行うルーチンである。歌唱位置更新処理部214は、MIDIメッセージ受信処理部212がMIDIメッセージを受信(取得)した場合に、取得されたMIDIメッセージに対応する表音文字(音素)を特定する音素特定部の一例である。歌唱位置更新処理部214は、歌詞データが示す歌詞のうち歌唱対象部分となっている表音文字を、素片選択部215及び素片連結部219に通知する。歌唱位置更新処理部214が歌唱位置の更新を行う契機には、次の2種類がある。
The singing
第1の契機は、MIDIメッセージとしてノートオンメッセージがMIDIインターフェースによって受信され、そのノートオンメッセージがMIDIメッセージ受信処理部212から歌唱位置更新処理部214に引き渡されたときである。この場合、歌唱位置更新処理部214は、例えば日本語の歌唱の場合には、歌詞を構成する表音文字列のうち現在の歌唱対象部分となっている表音文字の次の表音文字を新たな歌唱対象部分とする。また、英語の歌唱の場合には、通常、1つの音符に合わせて発声させる母音文字または子音文字および母音文字の組が発音の単位となる。そこで、英語の歌唱の場合には、歌唱位置更新処理部214は、歌詞を構成する表音文字列のうち現在の歌唱対象部分の直後にあり、発音の単位となる母音文字または子音文字および母音文字の組を新たな歌唱対象部分とする。
The first opportunity is when a note-on message is received as a MIDI message by the MIDI interface, and the note-on message is delivered from the MIDI message
第2の契機は、MIDIメッセージとして歌唱位置変更指示を含むシステムイクスクルーシブメッセージがMIDIインターフェースによって受信され、その歌唱位置変更指示がMIDIメッセージ受信処理部212から歌唱位置更新処理部214に引き渡されたときである。歌唱位置変更指示には、1つ前の音符に戻る、2つ前の音符に戻る、…、曲の先頭に戻る等の各種の指示がある。歌唱位置更新処理部214は、この歌唱位置変更指示に従い、歌詞データにおける歌唱位置を変更する。
The second opportunity is that a system exclusive message including a song position change instruction is received as a MIDI message by the MIDI interface, and the song position change instruction is delivered from the MIDI message
素片選択部215は、歌唱位置更新部213によって更新された歌唱位置に対応する音声素片データを読み出すルーチンである。素片選択部215は、現在の歌唱位置にあたる表音文字(英語の場合は母音文字または子音文字と母音文字の組)を参照し、必要であれば、これに加えて、その直前に歌唱対象部分であった表音文字とを参照することにより、音声波形の合成を行う1または複数の音声素片を決定する。素片選択部215は、決定した音声素片に対応した音声素片データを音声素片データベースDB1から読み出して、変換処理部216に引き渡す。素片選択部215は、本発明に係る音声素片データ取得部の一例である。
The
変換処理部216は、デコード部217と、音声合成部218とで構成される。デコード部217は、素片選択部215から引き渡される音声素片データをデコードし、RAMに展開する。デコード部217は、例えば、ADPCM(Adaptive Differential Pulse Code Modulation)やMP3(MPEG Audio Layer-3)などの音声圧縮アルゴリズムで圧縮(エンコード)されている波形圧縮データをデコードするものであってもよく、また、SMS(Spectral Modeling Synthesis)技術によって調和成分(Deterministic Component)と非調和成分(Stochastic Component)とに区分された各成分を示す音声素片データのような手法でエンコードされたものをデコードする構成であってもよい。もちろん、音声合成手法や波形圧縮手法など音声素片データを取り扱うことができる手法を用いてエンコード・デコードしてもよい。音声合成部218は、素片選択部215から引き渡される音声素片データを用いて合成音声を表す合成音声データ(歌唱音声データ)を生成する。すなわち、音声合成部218は、デコード部217によってデコードされた音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ピッチ変換を施すとともに逆FFTを施し、MIDIメッセージ受信処理部212から引き渡されるピッチデータが示すピッチを持った歌唱音声データ(時間領域のデジタル音声信号)として出力する。
The
また、音声合成部218は、子音や母音の歌唱音声データの継続時間を調整する役割をも果たす。さらに音声合成部218は、ビブラート、ピッチベンド、音の強弱等、音楽的表情付けのためのピッチの変更や音量の変更を歌唱音声データに施す機能を備えている。音楽的表情付けのための指令は、演奏データ発生装置100からMIDIメッセージとして音声合成装置200に供給され、MIDIメッセージ受信処理部212を介して音声合成部218に与えられる。
The voice synthesizer 218 also serves to adjust the duration of the singing voice data of consonants and vowels. Furthermore, the speech synthesizer 218 has a function of changing the pitch and volume of the singing voice data for adding a musical expression such as vibrato, pitch bend, and sound intensity. An instruction for musical expression is supplied as a MIDI message from the performance
音声合成部218は、ノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。すなわち、音声合成部218は、ノートオフメッセージを受信した場合または後続の音符のノートオンメッセージを受信した場合に、生成した合成音声データの出力を停止する。このとき、音声合成部218は、ノートオフメッセージを受信する前に後続のノートオンメッセージを受信した場合またはノートオフメッセージを受信してから予め定められた時間(例えば、1/4小節、0.5秒、等。以下「予め定められた時間T3」という)内に後続の音符のノートオンメッセージを受信した場合には、後続の音符に対応する音声素片データを用いて合成音声データを生成する。すなわち、音声合成部218は、後続のノートオンメッセージを受信した場合は、後続の音符に対応する音声素片データをデコード部217にデコードさせ、デコード部217によりデコードされた音声素片データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素[a]に対応するノートオンメッセージの後に、ノートオフメッセージを受信することなく、音素[i]に対応するノートオンメッセージを受信する場合や、音素[a]に対応するノートオフメッセージを受信してから予め定められた時間T3内に音素[i]に対応するノートオンメッセージを受信する場合が想定される。このような場合には、音声合成部218は、音声素片[a−i]の音声波形を表す音声素片データを音声素片データベースDB1から読み出し、読み出した音声素片データを用いて合成音声データを生成する。 The voice synthesizer 218 terminates the pronunciation of the singing target portion triggered by reception of a note-off message or reception of a note-on message of a subsequent note. That is, the speech synthesizer 218 stops outputting the generated synthesized speech data when receiving a note-off message or when receiving a note-on message of a subsequent note. At this time, the speech synthesizer 218 receives a subsequent note-on message before receiving the note-off message or a predetermined time after receiving the note-off message (for example, 1/4 measure, 0. 5 seconds, etc. When the note-on message of the subsequent note is received within the following “predetermined time T3”), the synthesized speech data is generated using the speech segment data corresponding to the subsequent note. To do. That is, when the speech synthesis unit 218 receives the subsequent note-on message, the speech synthesis unit 218 causes the decoding unit 217 to decode the speech unit data corresponding to the subsequent note, and uses the speech unit data decoded by the decoding unit 217. To generate synthesized voice data and output the generated synthesized voice data. Specifically, for example, when a note-on message corresponding to phoneme [i] is received after receiving a note-on message corresponding to phoneme [a] without receiving a note-off message, It is assumed that a note-on message corresponding to phoneme [i] is received within a predetermined time T3 after receiving a corresponding note-off message. In such a case, the speech synthesizer 218 reads speech unit data representing the speech waveform of the speech unit [ai] from the speech unit database DB1, and uses the read speech unit data to synthesize speech. Generate data.
一方、音声合成部218は、ノートオフメッセージを受信してから予め定められた時間T3内に後続の音符のノートオンメッセージを受信しなかった場合には、デコード済データ記憶領域231から、受信されたノートオフメッセージに対応する音素の無音遷移データを読み出し、読み出した無音遷移データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素[a]に対応するノートオフメッセージを受信してから予め定められた時間T3内に次の音素についてのノートオンメッセージを受信しなかった場合には、音声合成部218は、音声素片[a−#]の音声波形を表すデコード済データをデコード済データ記憶領域231から読み出し、読み出した音声素片データを用いて合成音声データを生成する。
On the other hand, the speech synthesizer 218 receives the note-on message from the decoded
素片連結部219は、最終的に得られる歌唱音声が一連の音声素片が滑らかに繋がったものとなるように、変換処理部216の処理を経た歌唱音声データの調整を行う。さらに素片連結部219は、MIDIメッセージ受信処理部212による制御の下、RAM内のバッファ領域を利用して、歌唱音声データに遅延処理を施してサウンドシステム260に与え、歌唱音声データが歌唱音声として放音されるタイミング制御を行う機能を備えている。
The
図5は、本実施形態に係るデコード処理と音声合成処理のタイミングを示すタイミングチャートである。また、図6は、従来の音声合成装置(無音遷移データのデコード処理を前もって行わない装置)におけるデコード処理と音声合成処理のタイミングを示すタイミングチャートである。図5と図6に示す例では、「あ」という表音文字について合成音声を生成する場合の処理のタイミングを示している。本実施形態では、図5に示すように、システムが起動されたタイミングT2−1において、初期設定部211が無音遷移データのデコード処理を行い(T2−2)、デコード済データ記憶領域231に格納しておく。その後、MIDIメッセージ受信処理部212が、タイミングT2−3において、「あ」という表音文字についてのノートオンメッセージを受信すると、素片選択部215は、音声素片[#−a]の音声素片データと音声素片[a]の音声素片データを音声素片データベースDB1から順次読み出して、デコード処理を行う(T2−4、T2−5)。音声合成部218は、デコード処理が施された音声素片データを用いて順次音声合成処理を行う(T2−7、T2−8)。このとき、ノートオンメッセージが受信されてから音声合成処理が開始されるまでの間には、デコード処理の処理時間に起因して図5に示すような遅延時間T2−6が発生する。
FIG. 5 is a timing chart showing the timing of decoding processing and speech synthesis processing according to this embodiment. FIG. 6 is a timing chart showing the timing of the decoding process and the voice synthesizing process in the conventional voice synthesizing apparatus (the apparatus that does not perform the silence transition data decoding process in advance). In the example shown in FIG. 5 and FIG. 6, the processing timing in the case where the synthesized speech is generated for the phonetic character “a” is shown. In the present embodiment, as shown in FIG. 5, at the timing T <b> 2-1 when the system is activated, the
また、音声合成部218によって生成された音声合成データは順次素片連結部219に供給され、素片同士の連結処理が施された後サウンドシステム260に供給され、音として出力される(T2−10、T2−11)。このとき、音声合成処理が開始されてから発話処理(発音処理)が開始されるまでの間には、音声合成処理の処理時間に起因して図5に示すような遅延時間T2−9が発生する。
The speech synthesis data generated by the speech synthesizer 218 is sequentially supplied to the
その後、MIDIメッセージ受信処理部212が、タイミングT2−12において、ノートオフメッセージを受信し、かつ、ノートオフメッセージを受信してから予め定められた時間T3内に次の音素のノートオンメッセージを受信しなかった場合には、音声合成部218は、[a−#]のデコード済の音声素片データ(無音遷移データ)をデコード済データ記憶領域231から読み出し、音声合成処理を行う(T2−13)。音声合成処理により生成された音声合成データは素片連結部219に供給され、素片同士の連結処理が施された後サウンドシステム260に供給され、音として出力される(T2−15)。図5に示すように、[a−#]の音声素片データについて音声合成処理が開始されてから発話処理(発音処理)が開始されるまでの間には、音声合成処理の処理時間に起因する遅延時間T2−14が発生する。
Thereafter, the MIDI message
ここで、図5に示すタイミングチャートと図6に示すタイミングチャートとが異なる点は、[a−#]の音声素片データのデコード処理を行うタイミングが異なる点と、[a−#]の音声素片データについてのデコード処理が開始されてから音声合成処理が開始されるまでの間に遅延時間(図6の時間T1−12)の発生の有無が異なる点である。図6に示す例では、MIDIメッセージ受信処理部212がタイミングT1−10においてノートオフメッセージを受信した後に、デコード部217が[a−#]についての音声素片データのデコード処理を行い(時間T1−11)、その後音声合成処理が行われる(時間T1−13)。そのため、図6に示す例では、[a−#]についてのデコード処理が開始されてから(すなわちノートオフメッセージが受信されてから)音声合成処理が開始されるまでの間には遅延時間T1−12が発生する。
Here, the timing chart shown in FIG. 5 is different from the timing chart shown in FIG. 6 in that the timing at which [a- #] speech segment data is decoded is different from that in [a- #]. There is a difference in whether or not a delay time (time T1-12 in FIG. 6) occurs between the start of the decoding process for the segment data and the start of the speech synthesis process. In the example shown in FIG. 6, after the MIDI message
図5と図6を比較すると明らかなように、本実施形態では、母音(又は鼻音)から無音への遷移部分を含む音声素片データのデコードを開始してから合成処理を開始するまでに発生し得る遅延時間(図6の時間(T1−12))を抑えることができる。これにより、ノートオフメッセージを受信してから合成音声が消音されるまでの遅延を軽減することができる。そのため、例えば、歌唱合成時に、発音しているノート(のノートオフ)と次のノートのノートオンに関して、次のノートとつながって発音されてしまうことを避けることができ、ノートオフの追従性を上げることができる。特にリアルタイム音声(歌唱)合成の演奏では歌い終わりのタイミングを正確に制御したい場合があり、ノートオフの追従性を上げる事はそのような場合に大きな効果がある。 As is apparent from a comparison between FIG. 5 and FIG. 6, in this embodiment, this occurs from the start of decoding of speech segment data including a transition portion from a vowel (or nasal sound) to silence until the start of synthesis processing. The possible delay time (time (T1-12) in FIG. 6) can be suppressed. Thereby, it is possible to reduce the delay from when the note-off message is received until the synthesized speech is muted. Therefore, for example, when synthesizing a song, it can be avoided that the note that is sounding (note off) and the note on the next note are connected to the next note, and the note-off tracking performance is improved. Can be raised. In particular, in the performance of real-time speech (singing) synthesis, there is a case where it is desired to accurately control the timing of the end of the singing, and improving the follow-up performance of note-off has a great effect in such a case.
2.動作
次に、本実施形態の動作を説明する。
2. Operation Next, the operation of this embodiment will be described.
2−1.歌唱合成の準備作業
ユーザは、音声合成装置200に歌唱合成を行わせるに当たり、必要なアプリケーションの立ち上げを行う。すなわち、操作部230の操作により、歌詞データを入力するためのアプリケーション(以下「歌詞データ入力アプリケーション」という)や歌唱合成アプリケーションの起動を制御部210に指示する。また、ユーザは、操作部130の操作により、MIDIメッセージを発生させるためのアプリケーションの起動を制御部110に指示する。
2-1. Preparatory work for singing synthesis The user starts up a necessary application when the
アプリケーションが起動されると、まず、初期設定部211は、各種の初期設定を行うとともに、無音遷移データのデコード処理を行い、デコード処理が施された無音遷移データをデコード済データ記憶領域231に格納する。
When the application is started, first, the
次にユーザは、歌唱対象となる歌詞データの準備を行う。すなわち、ユーザは、歌詞データ入力アプリケーションが起動されている状態において、操作部230の操作により歌詞を構成する表音文字列や音声記号列を入力する。制御部210は、入力される表音文字列や音声記号列を用いて歌詞データを生成し、RAMに記憶する。なお、歌唱対象である歌詞データが歌詞データ記憶領域222に記憶されている場合には、操作部230の操作により、その歌詞データを歌詞データ記憶領域222からRAMに転送してもよい。
Next, the user prepares lyrics data to be sung. That is, the user inputs a phonetic character string or a phonetic symbol string constituting the lyrics by operating the
次にユーザは、操作部230を操作して、歌唱合成開始の指示を制御部210に指示する。これにより歌唱合成の準備が完了する。
Next, the user operates the
2−2.音声合成動作
次いで、音声合成装置200が行う音声合成動作について説明する。上述のようにして歌唱合成の準備が完了すると、ユーザは、演奏データ発生装置100の鍵盤部160を用いて鍵盤演奏を行い、必要に応じて操作部130を操作する。演奏データ発生装置100では、鍵盤部160や操作部130の操作イベントが制御部110に引き渡される。制御部110は、操作イベントに対応したMIDIメッセージを生成し、生成したMIDIメッセージをインターフェース部150内のMIDIインターフェースを介して音声合成装置200に送信する。
2-2. Speech Synthesis Operation Next, the speech synthesis operation performed by the
音声合成装置200では、インターフェース部250の中のMIDIインターフェースがMIDIメッセージを受信する度に、制御部210に対する割り込み要求が発生し、MIDIインターフェースにより受信されたMIDIメッセージがMIDIメッセージ受信処理部212に引き渡される。MIDIメッセージ受信処理部212は、このMIDIメッセージを解釈し、解釈結果に従って、歌唱合成部213の各部の制御を行う。
In the
MIDIメッセージ受信処理部212は、ノートオンメッセージまたはノートオフメッセージが引き渡された場合、そのメッセージを歌唱位置更新処理部214と、素片選択部215と、変換処理部216と、素片連結部219に引き渡す。歌唱位置更新処理部214は、RAM内において歌唱対象となっている歌詞データ中の歌唱位置を管理しており、基本的にはノートオンメッセージが引き渡されたときに歌唱位置を更新する。すなわち、歌唱位置更新処理部214は、例えば歌詞データが「さいたさいた…」という歌詞を示す場合には、1個目のノートオンメッセージが引き渡されたときに歌唱位置を歌詞の最初の表音文字「さ」とし、2個目のノートオンメッセージが引き渡されたとき歌唱位置を「さ」から「い」に移動し、3個目のノートオンメッセージが引き渡されたとき歌唱位置を「い」から「た」に移動し、…という具合に、歌唱位置を表音文字1個分ずつ進める。なお、歌唱位置更新処理部214は、英語などの言語においては歌唱位置を1音節ずつ(例えば、Sep-tem-ber、等)進める。
When a note-on message or a note-off message is delivered, the MIDI message
素片選択部215は、基本的には歌詞データが示す表音文字列のうち歌唱位置更新処理部214が特定する歌唱位置にある表音文字(日本語の場合は1個、英語の場合は1個または複数)の音声波形の合成に用いる1または複数の音声素片を決定し、その音声素片に対応した音声素片データを音声素片データベースDB1から読み出して、変換処理部216に引き渡す。
The
変換処理部216は、MIDIメッセージ受信処理部212からノートオンメッセージが引き渡されたとき、このノートオンメッセージから発音すべき音のピッチを指定するノートナンバーを取り出す。そして、その時点において素片選択部215から引き渡されている音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ノートナンバーに対応したピッチへのピッチ変換を施す。上述したように音声素片データが音声素片のサンプル列のスペクトルデータを波形データとして含む場合、このピッチ変換は、例えばノートナンバーが示すピッチと音声素片データに含まれる素片ピッチデータが示すピッチとの差分を求め、この差分に相当する周波数だけ波形データが示すスペクトル分布を周波数方向に移動させる処理を行うことにより実行可能である。変換処理部216は、このようなピッチ変換を経た音声素片データに逆FFTを施し、時間領域のデジタル音声信号である歌唱音声データを出力する。
When the note-on message is delivered from the MIDI message
その際に、変換処理部216は、歌唱音声データの持続時間を調整する。更に詳述すると、基本的に本実施形態では、ノートオンメッセージの受信をトリガとして歌唱対象部分の発音を開始させ、このノートオンメッセージと対をなすノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。
At that time, the
一方、変換処理部216は、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間T3内に次の音素のノートオンメッセージが引き渡されなかったとき、このノートオフメッセージに対応する音素の無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行う。なお、MIDIメッセージ受信処理部212が受信したノートオフメッセージに対応する音素の無音遷移データがデコード済データ記憶領域231に記憶されていない場合には、変換処理部216は、その音素の無音遷移データを音声素片データベースDB1から読み出し、読み出した音声素片データに対してデコード処理や音声合成処理を施す。
On the other hand, the
素片連結部219は、変換処理部216の処理を経た歌唱音声データ(時間領域の信号)を受け取り、各歌唱音声データを時間軸上において連結したデジタル音声信号をRAM内のバッファ領域に格納し、適切な遅延処理を施してサウンドシステム260に与える。
The
以上に説明したように、本実施形態においては、素片接続型音声合成において、使用頻度の高い素片波形データ(特に、母音や子音から無音への遷移部分の音声波形を表す音声素片データ)をあらかじめ展開(エンコードされた音声素片データをデコードしメモリへ展開)することで、ユーザによって消音のための演奏操作がなされてから合成音声が消音されるまでの遅延が軽減される。 As described above, in this embodiment, in unit-connected speech synthesis, segment waveform data that is frequently used (particularly, speech unit data representing a speech waveform of a transition portion from vowels and consonants to silence). ) In advance (decoded encoded speech segment data is decoded and expanded in the memory), the delay from when the user performs a performance operation for mute to when the synthesized speech is muteed is reduced.
3.変形例
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
3. Modification The above embodiment can be modified as follows. In addition, you may implement the following modifications suitably combining.
3−1.変形例(1)
音声素片データの態様は上記実施形態に示したものに限られない。例えば、各音声素片のフレームFごとのスペクトル包絡(スペクトルエンベロープ)を示すデータを音声素片データとしてもよいし、各音声素片の時間軸上における波形を示すデータを音声素片データとしてもよい。また、音声素片の波形をSMS(Spectral Modeling Synthesis)技術によって調和成分(Deterministic Component)と非調和成分(Stochastic Component)とに区分し、この各成分を示すデータを音声素片データとしてもよい。この場合には、調和成分と非調和成分の双方について音声合成部218による処理が実行されるとともに、この処理後の調和成分と非調和成分とが音声合成部218の後段の加算部によって加算されることになる。また、各音声素片をフレームFに区分したうえで各フレームFのスペクトル包絡に関する複数の特徴量(例えばスペクトル包絡のピークの周波数やゲイン、またはスペクトル包絡の全体の傾きなど)を抽出しておき、これらの特徴量を表す複数のパラメータのセットを音声素片データとしてもよい。このように、本発明において音声素片を保持する形態の如何は不問である。
3-1. Modification (1)
The form of the speech segment data is not limited to that shown in the above embodiment. For example, data indicating a spectrum envelope (spectrum envelope) for each frame F of each speech unit may be used as speech unit data, or data indicating a waveform on the time axis of each speech unit may be used as speech unit data. Good. Further, the waveform of a speech unit may be divided into a harmonic component (Deterministic Component) and an inharmonic component (Stochastic Component) by SMS (Spectral Modeling Synthesis) technology, and data indicating each component may be used as speech unit data. In this case, processing by the speech synthesis unit 218 is executed for both the harmonic component and the non-harmonic component, and the harmonic component and the non-harmonic component after this processing are added by the subsequent addition unit of the speech synthesis unit 218. Will be. Further, after dividing each speech unit into frames F, a plurality of feature quantities (for example, the frequency and gain of the peak of the spectrum envelope, or the overall inclination of the spectrum envelope) are extracted in advance. A set of a plurality of parameters representing these feature quantities may be used as speech segment data. Thus, it does not matter how the speech unit is held in the present invention.
3−2.変形例(2)
上記実施形態においては、歌唱音声を合成するための装置に本発明を適用した場合を例示したが、これ以外の装置にも本発明を適用できることはもちろんである。例えば、各種の文書を示す文書データ(例えばテキストファイル)に基づいて当該文書の文字列を読み上げる装置にも本発明は適用される。すなわち、テキストファイルに含まれる文字コードに基づいて素片取得部215が音声素片データを音声素片データベースDB1から読み出し、この音声素片データに基づいて音声が合成される構成としてもよい。この場合は、装置の制御部が、各音素の発音開始タイミングや発音終了タイミングを示す発音指示を、ユーザによる操作に応じた操作信号を出力する操作部や、また、通信ケーブル等を介して接続された他の装置から取得する構成としてもよい。
3-2. Modification (2)
In the said embodiment, although the case where this invention was applied to the apparatus for synthesize | combining singing voice was illustrated, of course, this invention can be applied also to apparatuses other than this. For example, the present invention is applied to an apparatus that reads out a character string of a document based on document data (for example, a text file) indicating various documents. In other words, the
また、音声合成処理の詳細は、実施形態で説明したものに限定されない。音符と発音記号(文字)とが与えられたときに、その音符および発音記号に応じた音声を合成するものであれば、どのような処理が用いられてもよい。また、音符に代えて、ピッチカーブのような音の並びを表すデータが与えられる構成とし、そのピッチカーブに応じた音声を合成する処理であってもよい。
また、上述の実施形態では、演奏データ発生装置100として鍵盤を備えたMIDI鍵盤楽器を例示したが、演奏データ発生装置はMIDI鍵盤楽器に限らず、MIDIメッセージを出力するパーソナルコンピューター等の他の装置であってもよい。また、演奏データ発生装置100が出力するメッセージはMIDIメッセージに限定されるものではなく、音素の発音開始タイミングや発音終了タイミングを示す発音指示を出力する装置であればどのような装置であってもよい。
The details of the speech synthesis process are not limited to those described in the embodiment. As long as a note and a phonetic symbol (character) are given, any processing may be used as long as it synthesizes a sound corresponding to the note and the phonetic symbol. Further, instead of a musical note, a process may be used in which data representing the arrangement of sounds such as a pitch curve is given, and a process of synthesizing a sound corresponding to the pitch curve.
In the above-described embodiment, a MIDI keyboard instrument having a keyboard is exemplified as the performance
3−3.変形例(3)
音声合成装置200のハードウェア構成は、図1で説明したものに限定されない。図4に示される機能を実装できるものであれば、音声合成装置200はどのようなハードウェア構成であってもよい。例えば、音声合成装置200は、図4に示される機能要素の各々に対応する専用のハードウェア(回路)を有していてもよい。また、例えば、図4に示す変換処理部216が、DSPなどの音声処理に専用されるハードウェアによって実現されてもよい。
3-3. Modification (3)
The hardware configuration of the
また、上述の実施形態において、複数の装置が、上記実施形態の音声合成装置200に係る機能を分担するようにしてもよい。例えば、図4の歌唱位置更新処理部214、素片選択部215の機能を実現する第1の装置と、変換処理部216、素片連結部219の機能を実現する第2の装置とが別体となって構成されていてもよい。また、通信ネットワークで接続された2以上の装置が、上記実施形態の音声合成装置200に係る機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態の音声合成装置200を実現するようにしてもよい。
In the above-described embodiment, a plurality of devices may share functions related to the
また、上述の実施形態では、音声合成装置200が音声素片データベースDB1を記憶する構成について説明したが、これに限らず、例えば、図7に示すように、音声素片データベース400が音声合成装置200と別体として構成されていてもよい。図7に示す例では、演奏データ発生装置100、音声合成装置200、音声素片データベース400が、ネットワーク500により接続されている。
In the above-described embodiment, the configuration in which the
また、上述の実施形態では、図1に示す各部がバス270によって接続されている構成について説明したが、バス270に代えて通信ネットワークで各部が接続される構成であってもよい。また、上述の実施形態では、演奏データ発生装置100と音声合成装置200とが通信ケーブル300により接続される構成について説明したが、これに限らず、演奏データ発生装置100と音声合成装置200とが一体となった装置として構成されていてもよい。
In the above-described embodiment, the configuration in which the units illustrated in FIG. 1 are connected by the
3−4.変形例(4)
上述の実施形態では、歌唱合成処理を行う前にユーザが歌詞データを予め入力する構成としたが、歌詞データが入力されるタイミングはこれに限らず、歌詞データをリアルタイムに入力される構成であってもよい。すなわち、MIDIメッセージが音声合成装置200に入力されるのと並行して歌詞データが入力される構成であってもよい。また、例えば、MIDIメッセージに歌詞(音素)を表すデータを含める構成としてもよい。
3-4. Modification (4)
In the above-described embodiment, the user inputs the lyrics data in advance before performing the singing synthesis process. However, the timing at which the lyrics data is input is not limited to this, and the lyrics data is input in real time. May be. In other words, the lyrics data may be input in parallel with the MIDI message being input to the
3−5.変形例(5)
上述の実施形態では、初期設定部211が、歌唱合成アプリケーションが起動されたときに、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データをデコードし、デコード済データ記憶領域231に記憶する構成とした。無音遷移データをデコードするタイミングは上述の実施形態で示したタイミングに限らない。例えば、予め定められた音素(母音又は鼻音)に対応するノートオンメッセージが受信されたタイミングで、無音遷移データのデコード処理を行う(図5に点線で示す時間T2−16)ようにしてもよい。この場合、例えば、素片選択部215は、歌唱位置更新部213によって現在の歌唱位置であると特定された表音文字が母音である場合には、この母音に対応する音声素片データを音声素片データベースDB1から読み出すに加えて、この母音から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースDB1から読み出して変換処理部216に引き渡す。具体的には、例えば、歌唱位置更新部213によって「あ」の表音文字が特定された場合には、素片選択部215は、[a]の音声素片データを音声素片データベースDB1から読み出すとともに、[a−#]の音声素片データを音声素片データベースDB1から読み出し、変換処理部216のデコード部217に供給する。
3-5. Modification (5)
In the above-described embodiment, when the singing synthesis application is activated, the
無音遷移データのデコード処理を行うタイミングは、装置の電源がオンにされたタイミングや音声合成アプリケーションが起動されたタイミングであってもよく、また、予め定められた音素についてのノートオンメッセージを受信したタイミングであってもよい。予め定められた音素について説明すると、予め定められた音素は使用されるデータベースによって決まる。更に説明すると、予め定められた音素は、例えば日本語のデータベースの場合は母音や鼻音であり、英語のデータベースの場合や母音と子音である。また、データベースの収録状況や作成方針によって予め定められた音素の種類は増減がありえる。要は、予め定められた音素についての発音終了指示(ノートオフメッセージ)を受信する前に、無音遷移データのデコード処理が開始されるタイミングであればどのようなタイミングであってもよい。ノートオフメッセージが受信される前に無音遷移データのデコード処理を開始することによって、ノートオフメッセージが受信されてから消音処理が行われるまでの遅延時間を軽減することができる。 The timing for decoding the silence transition data may be the timing when the device is turned on or the time when the speech synthesis application is started, or a note-on message for a predetermined phoneme is received. It may be timing. To explain the predetermined phonemes, the predetermined phonemes are determined by the database used. More specifically, the predetermined phonemes are, for example, vowels and nasal sounds in the case of a Japanese database, and vowels and consonants in the case of an English database. In addition, the types of phonemes that are predetermined according to the database recording status and creation policy may increase or decrease. In short, any timing may be used as long as the decoding process of silence transition data is started before receiving a sound generation end instruction (note-off message) for a predetermined phoneme. By starting the silence transition data decoding process before the note-off message is received, the delay time from when the note-off message is received until the mute process is performed can be reduced.
また、上述の実施形態では、初期設定部211が、歌唱合成アプリケーションが起動されたときにデコード処理を行ってデコード済データをデコード済データ記憶領域231に記憶する構成としたが、これに限らず、例えば、音声合成装置200とネットワーク500で接続された他の装置(例えば、音声素片データベース400)に、デコード済データが記憶される構成であってもよい。この場合、他の装置にデコード済データが予め記憶されている構成であってもよく、また、音声合成装置200の制御部210が予め定められたタイミング(例えば、歌唱合成アプリケーションの起動時)にデコード処理を行ってデコード済データを生成し、生成したデコード済データを他の装置に送信する構成であってもよい。
In the above-described embodiment, the
3−6.変形例(6)
上述の実施形態では、デコード済データ記憶領域231には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データが記憶される構成としたが、記憶エリアが開放されるタイミングは上述の実施形態で示したものに限らない。例えば、予め定められた音素に対応するノートオンメッセージが受信されたタイミングで無音遷移データのデコード処理を行ってデコード済データ記憶領域231にデコード済の無音遷移データを格納し、この無音遷移データについての発音処理が終了したタイミングでこのデコード済の無音遷移データが格納された記憶エリアを開放する構成としてもよい。
3-6. Modification (6)
In the above-described embodiment, the decoded
3−7.変形例(7)
上述の実施形態において、どの音素についての無音遷移データを予めデコードしておくかを、ユーザが操作部230を用いて選定できるようにしてもよい。この場合、初期設定部211は、ユーザによって操作される操作部230から出力される情報に従って1又は複数の音素を選定し、選定した音素に対応する無音遷移データをデコードしてデコード済データを生成し、生成したデコード済データをデコード済データ記憶領域231に記憶する構成としてもよい。
3-7. Modification (7)
In the above-described embodiment, it may be possible for the user to select, using the
また、予めデコードしておく無音遷移データを選定する手法は上述したものに限らず、例えば、制御部210が、音声合成処理において音素の後が無音となる頻度を音素毎に統計する構成とし、頻度が予め定められた条件を満たす(頻度が高い)音素を特定し、特定した音素の無音遷移データを予めデコードしておく構成としてもよい。また、他の例として、例えば、制御部210が、ユーザが過去に行った音声合成処理の履歴から予めデコードしておく音素を選定してもよい。また、他の例として、例えば、複数の装置と通信ネットワーク等により接続されたサーバ装置に各装置の音声合成処理の履歴を蓄積する構成とし、制御部210が、サーバ装置に蓄積された履歴に基づいて予めデコードする音素を選定してもよい。
In addition, the method of selecting the silence transition data to be decoded in advance is not limited to the above-described method. For example, the
また、上述の実施形態において、制御部210が、ノートオンメッセージの受信後に、対応するデコード済データが存在し(あるいはデコード済データを作成し)、デコード済の無音遷移データを用いて音声合成処理を行う準備が整ったタイミングで、(次のノートオフに対して)低レイテンシー対応である旨を、通知ランプの点灯・点滅や対象鍵が光る・点滅・振動などによりユーザに通知してもよい。すなわち、制御部210が、ノートオンメッセージを受信(取得)し、かつ、受信されたノートオンメッセージに対応するデコード済データがデコード済データ記憶領域231に記憶されている場合に、ユーザに対して何らかの報知を行うための情報を出力するようにしてもよい。具体的には、例えば、図5に示す例では、制御部210は、タイミングT2−3から予め定められた時間T3が経過した場合に、通知ランプの点灯を開始するための制御情報を演奏データ発生装置100に出力する。また、制御部210は、ユーザがノートオフしたタイミング(ノートオフメッセージが受信されたタイミングT2−12)で、その点灯を終了する旨を示す制御情報を演奏データ発生装置100に出力する。演奏データ発生装置100の制御部110は、音声合成装置200から受信される制御情報に従って報知処理(例えば通知ランプの点灯・点滅の制御、振動のオン/オフ、等)を行う。また、この態様において、このランプ点灯に対してユーザがキャンセル動作を行えるようにしてもよい。この場合は、ユーザが操作部130を用いてキャンセル操作を行うと、制御部110は、操作部130から出力される情報に従って報知処理を停止(例えば、通知ランプの消灯、振動のオフ、等)する。
In the above-described embodiment, after the note-on message is received, the
3−8.変形例(8)
上述の実施形態では、変換処理部216は、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間T3内に次の音素のノートオンメッセージが引き渡されなかったときに、無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行った。これに代えて、変換処理部126が、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡された場合に、(予め定められた時間T3だけ待機することなく)無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行ってもよい。具体的には、例えば、歌詞データとして「今日は、」や、「…でした。」のように文節区切れがある場合には、次の音素のノートオンメッセージの受信の有無を判断することなく、デコード済の無音遷移データを用いて音声合成処理を行ってもよい。
3-8. Modification (8)
In the above-described embodiment, the
また、上述の実施形態において、予め定められた時間T3をユーザが操作部230等を用いて設定できるようにしてもよい。この場合、制御部210は、操作部230から出力される信号に応じて時間T3を設定する。
In the above-described embodiment, the user may be allowed to set a predetermined time T3 using the
3−9.変形例(9)
本発明は、音声合成装置以外にも、これらを実現するための方法や、コンピュータに音声合成機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
3-9. Modification (9)
In addition to the speech synthesizer, the present invention can be understood as a method for realizing these and a program for causing a computer to realize a speech synthesis function. Such a program may be provided in the form of a recording medium such as an optical disk storing the program, or may be provided in the form of being downloaded to a computer via the Internet or the like and installed and used.
100…演奏データ発生装置、110…制御部、120…記憶部、130…操作部、140…表示部、150…インターフェース部、160…鍵盤部、170…音源部、180…サウンドシステム、190…バス、200…音声合成装置、210…制御部、211…初期設定部、212…MIDIメッセージ受信処理部、213…歌唱合成部、214…歌唱位置更新処理部、215…素片選択部、216…変換処理部、217…デコード部、218…音声合成部、219…素片連結部、220…記憶部、221…音声素片データベースDB1記憶領域、222…歌詞データ記憶領域、230…操作部、231…デコード済データ記憶領域、240…表示部、250…インターフェース部、260…サウンドシステム、270…バス、300…通信ケーブル、DB1…音声素片データベース
DESCRIPTION OF
Claims (4)
前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、
音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、
前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、
前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部と、
前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部と
を具備することを特徴とする音声合成装置。 A pronunciation instruction acquisition unit for acquiring a pronunciation instruction indicating a phoneme pronunciation start instruction or a pronunciation end instruction;
When the pronunciation instruction acquisition unit acquires the pronunciation instruction, a phoneme specifying unit that specifies a phoneme corresponding to the acquired pronunciation instruction;
A speech element corresponding to the phoneme specified by the phoneme specifying unit is obtained from a speech unit database which is a set of speech unit data in which data representing speech waveforms for each phoneme and each phoneme chain is encoded according to a predetermined rule. A speech segment data acquisition unit for acquiring fragment data;
A decoding unit that decodes the speech unit data acquired by the speech unit data acquisition unit;
When the synthesized speech data representing the synthesized speech is generated using the speech unit data decoded by the decoding unit, the generated synthesized speech data is output, and the pronunciation instruction acquisition unit acquires the pronunciation termination instruction From a storage unit for storing decoded data obtained by decoding speech unit data registered in the speech unit database and decoded from speech unit data representing a speech waveform of a transition portion from a predetermined phoneme to silence. , Read out the decoded data corresponding to the speech waveform of the transition part from the phoneme specified by the phoneme specifying unit as a phoneme corresponding to the acquired pronunciation end instruction, and use the decoded data A voice synthesizer that generates data and outputs the generated synthesized voice data ;
At the timing before the sound generation instruction acquisition unit acquires the sound generation end instruction, the speech unit data representing the sound waveform of the transition from the phoneme to the silence satisfying the predetermined condition is decoded to generate decoded data And a decoded data storage control unit that stores the generated decoded data in the storage unit.
ことを特徴とする請求項1に記載の音声合成装置。 Before SL decoded data storage control unit, transition portion of the if sound instruction acquisition unit acquires the sounding start instruction, to the silence phoneme identified by the phoneme identification part as a sound element corresponding to the emitting sound start instruction 2. The speech synthesizer according to claim 1 , wherein the speech unit data representing the speech waveform is decoded to generate decoded data, and the generated decoded data is stored in the storage unit.
ことを特徴とする請求項1又は2に記載の音声合成装置。 The decoded data storage control unit selects one or a plurality of phonemes based on the processing history in the speech synthesis unit, and decodes speech unit data representing a speech waveform of a transition portion from the selected phonemes to silence. 3. The speech synthesizer according to claim 1 , wherein decoded data is generated and the generated decoded data is stored in the storage unit.
ことを特徴とする請求項1乃至3のいずれか1項に記載の音声合成装置。 Before Symbol speech synthesis unit, the sound instruction acquisition unit acquires the sounding start instruction, and, if the decoded data corresponding to the phoneme corresponding to the acquired sounding start instruction is stored in the storage unit In addition, the voice synthesizer according to any one of claims 1 to 3 , wherein information for notifying a user is output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012109822A JP6060520B2 (en) | 2012-05-11 | 2012-05-11 | Speech synthesizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012109822A JP6060520B2 (en) | 2012-05-11 | 2012-05-11 | Speech synthesizer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013238662A JP2013238662A (en) | 2013-11-28 |
JP6060520B2 true JP6060520B2 (en) | 2017-01-18 |
Family
ID=49763745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012109822A Expired - Fee Related JP6060520B2 (en) | 2012-05-11 | 2012-05-11 | Speech synthesizer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6060520B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016080827A (en) * | 2014-10-15 | 2016-05-16 | ヤマハ株式会社 | Phoneme information synthesis device and voice synthesis device |
JP6561499B2 (en) * | 2015-03-05 | 2019-08-21 | ヤマハ株式会社 | Speech synthesis apparatus and speech synthesis method |
JP2016177277A (en) * | 2015-03-20 | 2016-10-06 | ヤマハ株式会社 | Sound generating device, sound generating method, and sound generating program |
WO2020217801A1 (en) * | 2019-04-26 | 2020-10-29 | ヤマハ株式会社 | Audio information playback method and device, audio information generation method and device, and program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4012682B2 (en) * | 2000-12-04 | 2007-11-21 | ヤマハ株式会社 | Sound source system |
JP4735544B2 (en) * | 2007-01-10 | 2011-07-27 | ヤマハ株式会社 | Apparatus and program for singing synthesis |
-
2012
- 2012-05-11 JP JP2012109822A patent/JP6060520B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013238662A (en) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6561499B2 (en) | Speech synthesis apparatus and speech synthesis method | |
US20110231193A1 (en) | Synthesized singing voice waveform generator | |
US20180130462A1 (en) | Voice interaction method and voice interaction device | |
US12106745B2 (en) | Electronic musical instrument and control method for electronic musical instrument | |
JP2008545995A (en) | Hybrid speech synthesizer, method and application | |
WO2006123539A1 (en) | Speech synthesizer | |
JP2008170592A (en) | Device and program for synthesizing singing voice | |
US9552806B2 (en) | Sound synthesizing apparatus | |
US8103505B1 (en) | Method and apparatus for speech synthesis using paralinguistic variation | |
JP2006030575A (en) | Speech synthesizing device and program | |
US11854521B2 (en) | Electronic musical instruments, method and storage media | |
JP2007086316A (en) | Speech synthesizer, speech synthesizing method, speech synthesizing program, and computer readable recording medium with speech synthesizing program stored therein | |
JP6060520B2 (en) | Speech synthesizer | |
JP6044284B2 (en) | Speech synthesizer | |
JP2009157220A (en) | Voice editing composite system, voice editing composite program, and voice editing composite method | |
JP2014098802A (en) | Voice synthesizing apparatus | |
JP6191094B2 (en) | Speech segment extractor | |
JP3233036B2 (en) | Singing sound synthesizer | |
JP2004061753A (en) | Method and device for synthesizing singing voice | |
JP2002304186A (en) | Voice synthesizer, voice synthesizing method and voice synthesizing program | |
JP6056190B2 (en) | Speech synthesizer | |
WO2023182291A1 (en) | Speech synthesis device, speech synthesis method, and program | |
JP2021149043A (en) | Electronic musical instrument, method, and program | |
JP5982942B2 (en) | Speech synthesizer | |
JP2020166298A (en) | Voice synthesis method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161128 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6060520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |