JP6645063B2 - ターゲット文字列の推定 - Google Patents

ターゲット文字列の推定 Download PDF

Info

Publication number
JP6645063B2
JP6645063B2 JP2015150085A JP2015150085A JP6645063B2 JP 6645063 B2 JP6645063 B2 JP 6645063B2 JP 2015150085 A JP2015150085 A JP 2015150085A JP 2015150085 A JP2015150085 A JP 2015150085A JP 6645063 B2 JP6645063 B2 JP 6645063B2
Authority
JP
Japan
Prior art keywords
phoneme
string
target
character
character string
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.)
Active
Application number
JP2015150085A
Other languages
English (en)
Other versions
JP2016033662A (ja
Inventor
山本 和彦
山本  和彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2015150085A priority Critical patent/JP6645063B2/ja
Publication of JP2016033662A publication Critical patent/JP2016033662A/ja
Application granted granted Critical
Publication of JP6645063B2 publication Critical patent/JP6645063B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means for controlling the transition from one tone waveform to another
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/221Keyboards, i.e. configuration of several keys or key-like input devices relative to one another
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/455Gensound singing voices, i.e. generation of human voices for musical applications, vocal singing sounds or intelligible words at a desired pitch or with desired vocal effects, e.g. by phoneme synthesis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • G10L13/0335Pitch control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Electrophonic Musical Instruments (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、所望の文字列(ターゲット文字列)の間接的な指定に基づき、指定された文字列の実体(ターゲット文字列)を推定する技術に関し、特に、所望のターゲット文字列を簡易な手法で間接的に指定できるようにすることに関する。
従来、メロディに従って音高を変化させながら歌詞の音声を合成することで歌唱音声を生成する装置が知られている。例えば、特許文献1においては、演奏データ発生装置からMIDIメッセージが順次与えられるのに応じて、予め記憶した歌詞データに基づき、現歌唱位置を順次更新する技術が開示されている。また、特許文献2には、表音文字データが出力されるのに応じて、メロディ記憶領域から音階音データを順次読み出し、表音文字データが示す表音文字の音声であって、メロディ記憶領域から読み出した音階音データが示す音階音(音高)を有する音声を合成する技術が開示されている。
さらに、非特許文献1には、母音キー、子音キー、濁点キーを組み合わせながら日本語の仮名文字からなる歌詞文字を一文字ずつ指定する鍵盤楽器が開示されている。さらに、非特許文献2には、アコーディオンの演奏指示ボタン群に複数文字が割り当てられており、所望のボタンを操作することで一文字ずつ歌詞を指定することができるようにした楽器が開示されている。
特開2008−170592号公報 特開2012−083569号公報
山本和彦、加々見翔太、濱野桂三、柏瀬一輝、"リアルタイム日本語歌唱鍵盤楽器のための文字入力インタフェースの開発"、情報処理学会論文誌、Vol.54 No.4、p1373-1382 (2013) 佐近田展康、「兄弟式リアルタイム音声合成演奏システム」の概要と背景, 名古屋学芸大学メディア造形学部研究紀要、p21-33 (2013)
従来の、歌唱音声を生成する装置など、文字に基づき音声を生成する装置においては、簡易な操作で所望の文字を指定することが困難であった。具体的には、上記特許文献1においては楽曲演奏の進行に同期して歌詞が自動で進行するようになっており、また、上記特許文献2においては歌詞の進行に同期してメロディが自動で進行するようになっている。すなわち、いずれの場合も、文字列の音声生成は、歌詞の進行の通りにしか行われない。よって、いずれの従来技術においても、順序通りの歌詞とは異なる進行で文字を選択しながら、任意の旋律でアドリブ演奏を行うことはできなかった。従って、アドリブで歌詞音声を変更したり繰り返したりすること等ができなかった。
一方、上記非特許文献1,2などの従来技術においては、歌詞の文字を自由に指定することができるものの、上記非特許文献1においては文字を指定するための操作が複雑であり、上記非特許文献2においては文字を指定するための選択肢が極めて多数であり、実用的な楽曲演奏の進行速度で所望の歌詞をリアルタイムに生成できるように選択操作を行うことは困難であった。
本発明は、上述の点に鑑みてなされたもので、歌詞のような予め規定された文字列中の所望の部分(ターゲット文字列)を簡易な手法で間接的に指定することを可能にし、かつ、指定されたターゲット文字列の実体を的確に推定する技術を提供することを目的とする。
上述の目的を達成するため、本発明は、予め規定された基準文字列からターゲット文字列を推定するためのターゲット文字列推定装置であって、前記基準文字列を限られた複数種の特定音素を用いて間接的に表現した基準音素列を取得する基準音素列取得手段と、前記限られた複数種の特定音素を用いてターゲット文字列を間接的に表現したターゲット音素列を取得するターゲット音素列取得手段と、前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定するターゲット文字列推定手段とを備える。
本発明によれば、所望のターゲット文字列は、直接的に指定されるのではなく、限られた複数種の特定音素を用いて、該ターゲット文字列を間接的に表現してなるターゲット音素列により、間接的に指定される。一方、予め規定された基準文字列に関連した基準音素列も、該限られた複数種の特定音素を用いて、前記基準文字列を間接的に表現してなるものである。所望のターゲット文字列を間接的に表現するターゲット音素列は、例えば利用者の選択操作に基づき、取得される。そして、前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列が特定される。基準文字列と基準音素列との関連性は予め判明しているので、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列は容易に判明する。こうして特定された前記基準文字列内の文字配列が、前記ターゲット音素列に対応するターゲット文字列に相当する、と推定することができる。
こうして、本発明によれば、ターゲット文字列を間接的に表現するターゲット音素列に基づき、実体的なターゲット文字列を推定することができる。そして、そのようなターゲット音素列は、限られた複数種の特定音素を用いて表現されるので、ターゲット音素列を指定する際の選択対象となる音素種類数がかなり少数となり、そのため、選択操作を簡易に且つ素早く行うことができる。例えば、前記複数種の特定音素を母音を主体とするものとすれば、5個程度の母音の文字キーの選択操作を行えば足りることになる。これは、例えばアルファベット26文字キーの選択操作によって通常の文字入力を行う場合に比べて、かなり簡素化された容易な選択操作で済むことを意味する。例えば、ユーザは、片手の位置を動かすことなく、指をわずかに動かすことで、ブラインドタッチで、該複数種の特定音素内の所望の音素を素早く選択できるであろう。従って、一例として本発明を音楽関連装置に適用して、楽曲演奏に伴い生成すべき歌唱音声を指定する文字列をリアルタイムに指定する、というような応用を行う場合、楽曲演奏の進行速度で所望の歌詞音声を生成できるようにリアルタイムに文字列を指定する操作を行うことができる。また、楽曲演奏中にリアルタイムでアドリブで一部の歌詞フレーズを指定してその音声を生成させる、という応用にも適する。
一実施例において、前記特定音素は、母音を含んでいてよく、さらに、特定の1又は複数の子音であってよい。具体的にどのような音素を前記特定音素内に含めるべきかは、本発明を実装した装置の適用対象とする言語体系に依存する。母音は、どのような言語体系のどのような単語においても高い頻度で出現するので、母音を前記特定音素に含めることは、言語体系を問わず有効であろう。一方、前記特定音素に含めるべき前記特定の子音の種類は、適用対象とする言語体系に少なからず依存するかもしれない。典型的には、前記特定の子音とは、当該言語体系において、母音と組み合わされることなく、1かたまりの明確な音節を構成しうるような子音であるかもしれない。それにより、母音だけで元の音節を表現できない場合、この前記特定の子音を用いて表現することができる。例えば、日本語においては、子音"n"が単独で意味のある音節を構成しうるので、子音"n"を前記特定の音素集合に含めることは有利である。
一実施例において、前記特定音素の中のいずれかの音素をユーザ操作に応じて選択するためのセレクタを備えてよい。その場合、ユーザ操作に応じて前記セレクタから時系列的に入力される音素列が、前記ターゲット音素列として取得すされる。一例として、本発明に係る装置を電子楽器に実装する場合、前記セレクタは、該電子楽器が持っている鍵盤のような音高指定操作子群の一部を流用するとよい。この構成によれば、利用者は、楽器の演奏のような操作手法で所望のターゲット音素列を指定するための入力操作を行うことができる。また、前記特定音素が割り当てられた音高指定操作子に対応する音高を楽譜に記すことにより、所定のターゲット文字列に対応するターゲット音素列を指定するための音高指定操作子の操作手順を書面化することができ、これにより、ターゲット音素列を指定するための操作を客観的に第3者に伝えたり、利用者が練習を行うことを可能にしたりすることができる。なお、一台の楽器の一部の音高指定操作子に前記特定音素を割り当てる構成とすれば、該特定音素が割り当てられた音高指定操作子で文字(歌詞)を指定しながら、他の音高指定操作子で該文字に対応して生成すべき音声の音高を指定することが可能になる。
(1A)は本発明の一実施形態にかかる指定文字推定装置を備える鍵盤楽器の模式図、(1B)は鍵盤楽器のブロック図、(1C)は表示部上の表示例を示す図である。 (2A)は基準文字列の一例を示す図、(2B)は基準文字列の形態素グループ化の一例を示す図、(2C)は(2B)に示す基準文字列に対応する基準音素列を示す図である。 ターゲット音素列を時間経過に伴い指定(取得)する一例、及びそれに対応して特定される1以上の遷移的音素配列ならびにその評価値(遷移確率)の一例を示す図である。 (4A)は推定処理の一例を示すフローチャート、(4B)は音声生成処理の一例を示すフローチャートである。
(1)システム構成
図1Aは、本発明の一実施形態にかかるターゲット文字推定装置を実装した鍵盤楽器10を模式的に示す図である。鍵盤楽器10は、略直方体の筐体を備えており、筐体の一面に複数の白鍵および黒鍵からなる音高操作子50と入出力部60とが形成されている。なお、音高操作子50は、本来、音高を指定するための操作子であるが、本実施形態においては一部の鍵が所望のターゲット文字列を間接的に指定する(直接的には後述するターゲット音素列を指定する)ための操作子として利用される。
入出力部60は、利用者からの指示等を入力する入力部と利用者に各種の情報(画像情報や音声情報)を出力する出力部(ディスプレイ及びスピーカ)とを含んでいる。図1Aにおいては、一例として、鍵盤楽器10が備える入力部としての回転スイッチおよびボタンと出力部としての表示部のイメージが破線内に示されている。利用者は、入出力部60の入力部によって音色の選択や、演奏される歌の歌詞を示す基準文字列情報の選択等を行い、音高操作子50を操作することにより、文字および音高を指定することができる。文字および音高が指定されると、指定された文字に対応する音声が指定された音高で音出力部から出力される。すなわち、利用者は、既定の歌詞を所望の音高で歌唱させる演奏を行うことができる。
図1Bは、鍵盤楽器10において音声を生成し出力するための構成を示すブロック図である。図1Bに示すように、鍵盤楽器10は、CPU20と不揮発性メモリ30とRAM40と音高操作子50と入出力部60と音出力部70とを備える。音出力部70は、音声を出力するための回路およびスピーカー(図1Aには図示せず)を備える。CPU20は、RAM40を一時記憶領域として利用して不揮発性メモリ30に記録されたプログラムを実行可能である。
また、不揮発性メモリ30には、音声生成プログラム30aと基準文字列情報30bと音声素片データベース30cとが予め記録される。基準文字列情報30bは、歌詞のような予め規定された基準文字列の情報である。なお、本実施形態においては、テキスト形式(個々の文字を示すコードが基準文字列内の文字順序に従って並んだ形式)によって基準文字列情報30bが定義されている。基準文字列情報30bは、演奏の前に不揮発性メモリ30に記録されていれば良く、利用者が入出力部60を操作することによって作成された基準文字列情報30bが不揮発性メモリ30に記録されても良いし、予め作成された基準文字列情報30bが図示しないインタフェースを介して不揮発性メモリ30に記録されても良い。むろん、基準文字列情報30bは、1曲分用意されても良いし、複数曲分用意されても良い。
音声素片データベース30cは、人の歌声を再現するためのデータであり、本実施形態においては、予め、文字が示す音声が基準の音高で発音される際の音声の波形を収集し、短い期間の音声素片に分割し、当該音声素片を示す波形データをデータベース化することによって生成される。すなわち、音声素片データベース30cは、複数の音声素片を示す波形データで構成されている。当該音声素片を示す波形データを組み合わせると、任意の文字が示す音声を再現することができる。
具体的には、音声素片データベース30cは、CV(子音から母音への遷移部)、VV(母音から他の母音への遷移部)、VC(母音から子音への遷移部)などのような音声の遷移部分(Articulation)や母音Vの伸ばし音(Stationary)などの波形データの集合体である。すなわち、音声素片データベース30cは、歌唱音声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。本実施形態においては、任意の文字や任意の文字列が示す音声を再現する際に結合されるべき音声素片データが予め決められており、結合されるべき音声素片データを特定するための情報が不揮発性メモリ30に記録されている(図示せず)。CPU20は、基準文字列情報30bが示す任意の文字や文字列に応じて不揮発性メモリ30を参照し、結合すべき音声素片データを選択する。そして、CPU20が選択した音声素片データを結合すると、任意の文字や任意の文字列が示す音声を再現するための波形データが生成される。なお、音声素片データベース30cは、各種の言語用に用意されていても良いし、発音者の性別や音声の特性等に応じて用意されていても良い。また、音声素片データベース30cを構成する波形データは、音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列を一定時間長のフレームに分割したデータであっても良いし、当該データに対してFFT(高速フーリエ変換)を行うことにより得られたフレーム毎のスペクトルデータ(振幅スペクトルおよび位相スペクトル)であってもよい。ここでは、波形データが後者である例を説明する。
本実施形態において、CPU20は、不揮発性メモリ30に記録された音声生成プログラム30aを実行することができる。音声生成プログラム30aが実行されると、CPU20は、音声生成プログラム30aに従って、利用者によるターゲット音素列の指定を受け付けて、該指定されたターゲット音素列に対応するターゲット文字列を推定する処理を実行し、当該推定されたターゲット文字列が示す音声を利用者が音高操作子50で指示した音高で生成する。そして、CPU20は、当該音声信号に従って音声を出力する指示を音出力部70に対して出力する。この結果、音出力部70は、当該音声を出力するためのアナログ波形信号を生成し、増幅してスピーカーから音声を出力する。
(2)基準文字列
なお、本実施形態における基準文字列情報30bは、利用者によって指定された文字(ターゲット文字)の推定精度を向上させるために、基準文字列が複数の文字からなるグループに分割される。グループは、複数の指標に基づいて定義することができ、本実施形態においては、形態素、フレーズおよび繰り返しの発生に基づいて階層的にグループ化される。一例として、文字のグループ化の最小単位は形態素である。すなわち、1つの基準文字列に関する基準文字列情報30bに含まれる全文字は、有意な最小単位である形態素毎にグループ化される(形態素グループ)。また、複数の形態素によって構成される1フレーズに対応してフレーズグループが形成される。当該フレーズグループは、文法上の単語の集合からなるフレーズによって形成されても良いし、音楽上の区切り(メロディの区切り)からなるフレーズによって形成されても良い。
さらに、フレーズグループが階層を形成していても良い。例えば、2個の形態素からなるフレーズグループが属する階層と、当該フレーズグループが結合されて形成されるさらに上位のフレーズグループの階層とから構成されていても良い。さらに、同一の文字または文字列が連続して繰り返される場合、繰り返される文字または文字列とその繰り返し回数からなる情報によってグループが形成される(繰り返しグループ)。なお、グループ化は、例えば、利用者等によって人為的に行われてもよいし、鍵盤楽器10のCPU20等で自動的に行われても良い。本実施形態において、グループ化されていない基準文字列情報30bをCPU20が解析し、グループ化を行うようにしてよい。いずれにしても、グループに基づいて定義された遷移パターンに基づいて基準文字列から利用者の指定した文字が推定されることで、文字の推定精度が向上するように構成されている(詳細は後述)。
さらに、個々の基準文字列に関連して基準音素列が予め用意される。基準音素列とは、限られた複数種の特定音素を用いて、対応する基準文字列を間接的に表現してなるものであり、その詳細例は追って説明する。なお、以下説明する実施例における対象言語は、日本語であるとする。従って、該限られた複数種の特定音素は、当該言語つまり日本語の特徴を考慮して決定されるべきである。日本語を対象とする場合、典型的には、5つの母音"a","i","u","e","o"と、特定の1つの子音"n"、の合計6種の音素が、該特定音素の集合内に含まれるであろう。これに限らず、対象とする言語体系に依存して、任意の限られた複数種の音素が前記特定音素に含まれてよい。処理対象として選択された1つの基準文字列に関連する基準音素列をCPU20による事前処理によって作成し、この基準音素列をRAM40に記憶しておくようにしてよく、あるいは、不揮発性メモリ30において各基準文字列に関連して予め作成された基準音素列がそれぞれ記録されるようになっていてもよい。
図2Aは、基準文字列の一例を示す図であり、複数の文字列からなる歌詞の一部を抜き出したものを便宜的な参照符号を用いて模式的に示している。図2Aに示す例は、左から右に向けて並ぶ日本語の文字列を便宜的な参照符号を用いて示しており、小さい矩形の1個が日本語の1仮名文字を示すが、図では、日本語の仮名文字を直接記すことなく、便宜的な参照符号「CVa」、「CVe」、「CVu」、「CVo」等を用いて記載している。1仮名文字に対応する1参照符号「CVa」等の記載の仕方は、一般に日本語の1仮名文字の音節は子音と母音の組み合わせからなるため、該1仮名文字の音節を構成する子音を符号「C」及びサフィックスによって識別し、該1仮名文字の音節を構成する母音を符号「V」及びサフィックスによって識別している。例えば、符号「C」は或る子音(例えば"k")を示し、符号「C」は別の子音(例えば"s")を示す、というように、符号「C」のサフィックスが異なれば異なる子音を示す。また、各符号「Va」、「Vi」、「Vu」、「Ve」、「Vo」は、それぞれ、母音"a","i","u","e","o"を示すものとする。なお、図2Aに示す例においては、同一の部分的文字列が連続して又は間を置いて繰り返される場合、繰り返される部分的文字列を太い線で囲んで示している。例えば、部分的文字列Sと部分的文字列Sは同一の文字列の繰り返しであり、部分的文字列Sと部分的文字列Sは同一の文字列の繰り返しである。
図2Aにおいて、基準文字列における各文字の下段に記された符号P,P,P,...は、基準文字列における該各文字の位置(発生順位)を示す。前記揮発性メモリ30に記録された文字情報30bは、このような、位置データP,P,P,...をも含む。この位置データP,P,P,...により、基準文字列における各文字と、それに対応する基準音素列における各音素との1対1の対応づけを行うことができる。
図2Bは、図2Aに示す文字列が形態素によってグループ化された例を示している。同図2Bにおいては異なる形態素グループ毎に分離して示しており、例えば、部分的文字列「CVa、CVe、CVu、CVo」が1つの形態素を構成する1グループである。フレーズによるグループ化は、1フレーズを構成する連続する2個以上の形態素グループをグレープ化するための適宜の識別情報を追加することでなされる。繰り返しの発生によるグループ化は、連続した文字列(または文字)の繰り返しが発生した場合に行われるため、図2Aに示す例においては、連続していない部分的文字列Sと部分的文字列Sはグループ化されず、連続している部分的文字列Sと部分的文字列Sはグループ化される。すなわち、図2Bに示す例において、部分的文字列Sと部分的文字列Sからなる文字列が繰り返しグループとしてグループ化され、この繰り返しグループは、先行する1つの部分的文字列Sと繰り返し回数(図示例では「2」)を示す繰り返し情報との組み合わせによって表現され得る。なお、間を開けた繰り返しである部分的文字列Sと部分的文字列Sについても、利用者によって指定されたターゲット文字列の推定精度を向上させることができるため、これらの部分的文字列が繰り返しであることを示す適宜の情報が基準文字列情報30bに付記されても良い。
図2Cは、図2Aに示す基準文字列に対応する基準音素列を、図2Bに示すようにグループ化された状態で示す図である。基準音素列とは、対応する基準文字列を、前記6種の特定音素(母音"a","i","u","e","o"と特定の1つの子音"n")を用いて表現したものである。従って、図2Cは、図2Bに示された基準文字列内の各文字から母音"a","i","u","e","o"及び特定の1つの子音"n"のみを抽出したデータ構成からなる。基準音素列における各音素のデータは、それに対応する元の文字の位置データP,P,P,...を付属している。従って、この位置データP,P,P,...に基づき、基準音素列における各音素に対応する基準文字列における元の文字を容易に再現できる。
(3)ターゲット文字列のリクエスト
上記基準文字列に含まれる任意の部分的文字列であって、利用者が該基準文字列から呼び出したい(若しくは取り出したい)部分的文字列のことを、本実施例では「ターゲット文字列」と言う。本実施例において、利用者は、所望のターゲット文字列を直接的に指定するのではなく、前記6種の特定音素(母音"a","i","u","e","o"と特定の1つの子音"n")を用いて、該ターゲット文字列を間接的に表現してなる音素列(これを「ターゲット音素列」という)により、間接的に指定(リクエスト)する。
本実施形態においては、音高操作子50の一部が、ターゲット音素列を指定若しくは選択するための操作子(特定音素セレクタ51)として割り当てられている。具体的には、音高操作子50(鍵盤)のうち、演奏者(すなわち利用者)が左手で操作可能な範囲にある、C,D,E,F,Gのノートに対応する5つの白鍵に母音"a","i","u","e","o"が割り当てられ、かつ、D#のノートに対応する黒鍵に特定の1つの子音"n"が割り当てられており、少なくとも本発明に従いターゲット文字列のリクエストを行うときは、これらのノートC,D,D#,E,F,Gに対応する鍵は、音高指定鍵として機能することなく、上記の特定の音素を指定若しくは選択するための特定音素セレクタ51として機能する。この構成においては、演奏者は片手を移動させることなく該片手の各指で特定音素セレクタ51を操作可能であるため、ブラインドタッチに適しており、簡単かつ素早い操作が行える。
日本語においては、"a","i","u","e","o"の各母音のいずれかがほぼ全ての文字の発話音(又は音節)に含まれるため、上述の構成によれば、ほぼ全ての文字についての発話音(又は音節)に含まれる音素の少なくとも一部を、母音が割り当てられた白鍵によって指定することが可能である。一方、日本語において、子音"n"単独からなる発話音(又は音節)は、母音を使用して表現できない音節の唯一の例外である。従って、上記6種の音素を用いれば、ほぼ全ての文字に関して、該文字が発話される際の発話音(音節)に含まれる音素の少なくとも一部を、指定することが可能である。
各種の言語で利用される文字の数は典型的には数十個であり、1文字ずつ選択する構成を想定するとその選択肢の数が極めて多数になる。これに対して、本実施形態のように、限られた複数種の特定音素の中から選択を行う場合、全ての文字を選択対象とする場合と比較して選択肢の数を極めて少ない数(上記例では「6」)にすることができる。利用者は、特定音素セレクタ51を利用して自らが意図する文字を間接的にリアルタイムに指定することができる。すなわち、利用者は、自らが意図する文字の母音(または特定の子音)を認識し、特定音素セレクタ51でこれを選択する。ただし、異なる音節に同じ母音が含まれる文字は複数個存在し得るため、利用者によって指定されたターゲット音素列に該当する文字列の候補は複数有り得る。そこで、CPU20は、音声生成プログラム30aの処理により、基準文字列の中から利用者の指定したターゲット文字列に該当するものを推定するように構成されている。
(4)音声生成プログラムの構成
このために、音声生成プログラム30aは、ターゲット音素列取得部20a、基準音素列取得部20b、ターゲット文字列推定部20c、表示制御部20dの各プログラムモジュールを備えており、各部によってCPU20に所定の機能を実行させる。ターゲット音素列取得部20aは、前記特定音素セレクタ51の利用者操作に応じて、ターゲット文字列を間接的に表現してなるターゲット音素列を取得するための機能をCPU20に実行させる。すなわち、CPU20は、ターゲット音素列取得部20aの処理により、特定音素セレクタ51の出力信号に基づいて、前記6種の特定音素のうち所望の音素を利用者が指定する選択操作を受け付ける。別の例として、ターゲット音素列取得部20aは、通信ネットワークを介した遠隔的なリクエスト等その他適宜のやり方で、ターゲット文字列を間接的に表現してなるターゲット音素列を取得するようにしてもよい。
基準音素列取得部20bは、処理対象として選択された1つの基準文字列に関連する基準音素列を取得する機能をCPU20に実行させる。例えば、CPU20による事前処理によって、処理対象として選択された1つの基準文字列に関連する基準音素列を作成する場合は、CPU20は、基準音素列取得部20bの処理により、基準文字列情報30bを参照し、基準文字列内の各文字の音節構成から前記6種の音素(母音"a","i","u","e","o"と特定の1つの子音"n")を分析し、この分析に基づき、該基準文字列を該6種の特定音素で表現された基準音素列に変換する。図2Cは、そのように、図2Bに示すグループ化された基準文字列から生成された基準音素列を示している。なお、別の実施例として、不揮発性メモリ30において各基準文字列に関連して予め作成された基準音素列がそれぞれ記録されている場合は、基準音素列取得部20bは、処理対象として選択された1つの基準文字列に関連する基準音素列を不揮発性メモリ30から取得するようにしてよい。
ターゲット文字列推定部20cは、ターゲット音素列と基準音素列とを比較することに基づき、基準文字列からターゲット文字を推定する機能をCPU20に実行させる。詳しくは、ターゲット文字列推定部20cは、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字の配列を特定する機能を、CPU20に実行させる。
(5)音声生成プログラムによる処理
次に、CPU20が音声生成プログラム30aによって実行する推定処理の一例を図4Aによって説明する。この推定処理に先立って、CPU20は、予め、前記基準音素列取得部20bの処理により、処理対象の基準文字列から基準音素列を生成し、該推定処理に必要な基準音素列を取得するものとする。この推定処理は、前記ターゲット音素列取得部20aおよびターゲット文字列推定部20cが行う処理である。
例えば、任意の歌唱タイミングに合わせて、ユーザは、処理対象の基準文字列中の所望のターゲット文字列に対応するターゲット音素を特定音素セレクタ51で順次指定する。図4Aに示す推定処理は、特定音素セレクタ51のユーザ操作により1つのターゲット音素が指定される毎に行われる。1つのターゲット音素を指定するために特定音素セレクタ51が操作されると、CPU20は、図4Aの推定処理を開始し、該特定音素セレクタ51の操作によって指定されたターゲット音素のデータを取得し、該取得したターゲット音素のデータをターゲット音素列記憶用のバッファ内に取り込む(S100)。順次指定されたターゲット音素のデータが該バッファ内に順番に記憶される。
次に、CPU20は、該バッファ内に記憶されたターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定する(S110)。一例として、このステップS110におけるマッチングのために、CPU20は、前記ターゲット音素列における前記特定音素の配列に一致する前記基準音素列内の1以上の遷移的音素配列を特定する処理(S111)と、特定された各遷移的音素配列における前記特定音素の並びの正しさ度合いに応じて、各遷移的音素配列に評価値を付与する処理(S112)と、相対的に高い評価値が付与された遷移的音素配列に対応する前記基準文字列内の文字配列を特定する処理(S113)を行う。ここで、前記遷移的音素配列とは、前記基準音素列における前記特定音素の正しい並びからなる配列及び幾分乱れた並びからなる配列などを指す。この遷移的音素配列は、隣接する2音素の遷移に対して、次に述べるようないくつかの遷移パターンをテンプレートとして適用して、比較対象である基準音素列において特定することができる。なお、ステップS111で候補として特定された1以上の遷移的音素配列を示す情報が、RAM40内にバッファ記憶され、次のターゲット音素が特定音素セレクタ51で指定されたときに実行される当該ステップS111における処理において利用される。
具体的には、本実施形態においては、基準文字列上で文字が0文字以上遷移するパターンが複数の遷移パターンとして予め定義されている。遷移とは、基準文字列(換言すれば、基準音素列)上での文字の移動を許容してターゲット音素列のマッチング処理を行うことを可能にする概念であり、遷移文字数や遷移の方向(文字列の順序に沿った方向と順序の逆方向)としては各種の数や方向を設計上規定してよい。これは、基準文字列における文字の正しい並びからなる文字配列のみならず、幾分の乱れた並びからなる文字配列をも、ターゲット文字列として推定できるようにするものである。したがって、基準文字列から少し逸脱したアドリブ的なターゲット文字列の推定や、幾分の入力ミスを許容したターゲット文字列の推定を可能にする。なお、0文字の遷移とは次の文字に進まず同じ文字に留まる状況を指し、1文字の遷移とは前後の文字への移動を指し、2文字の遷移とは前後方向に1文字飛ばしその次の文字へ移動することを指す。3文字以上も同様に適宜に定義可能である。遷移パターンは、各種の要素によって定義可能であり、本実施形態においては、遷移前後の文字の基準文字列上での位置の関係に基づいて決定され、遷移前後で移動した文字数、遷移方向(順序に沿って遷移する順方向、または順序とは逆方向に遷移する逆方向)、遷移前後の文字の属性(グループ中の文字の位置(グループ先頭であるか否か等))等に基づいて遷移パターンが定義される。
例えば、遷移パターンとしては、
A.基準文字列の順序通りの遷移
B.同一グループの繰り返し
C.異なる位置に存在する同一文字列の次の文字への遷移
D.同一グループ内での2文字以上の遷移
E.異なるグループへの遷移
F.基準文字列に存在しない文字への遷移
等が挙げられる。
なお、上記C(異なる位置に存在する同一文字列の次の文字への遷移)は、例えば、図2Bに示す例において、文字列Sの最後の文字「CVo」から、異なる位置に存在する同一文字列Sの次の文字「CVi」への遷移である。また、上記F(基準文字列に存在しない文字への遷移)は、ある文字の次に利用者が誤操作した場合の遷移である。
むろん、これらの遷移パターンはさらに細分化されていても良い。例えば、上記B(同一グループの繰り返し)であっても、図2Bに示すような、文字列の繰り返しが発生しているグループGrと他のグループとが異なる遷移パターンに分類されていても良い。また、上記D(同一グループ内での2文字以上の遷移)については、遷移前後での移動文字数や移動方向、遷移前後の文字の周囲の文字列の類似度合い、遷移後の文字のグループ内での位置(先頭であるか否か等)等によって遷移パターンが細分化されていても良い。さらに、上記E(異なるグループへの遷移)については、遷移後の文字のグループ内での位置やグループの位置関係(曲の1番、2番などの既定の集合に含まれるグループの中の先頭に位置するグループであるか否か等)等によって遷移パターンが細分化されていても良い。
本実施形態においては、さらに、各遷移パターン毎に、利用者によって現在指定された1文字がその直前に指定された文字から該遷移パターンで遷移する確率が遷移確率(遷移評価値)として予め定義され、各遷移パターンの遷移確率を示す情報が不揮発性メモリ30に記録されている(図示せず)。遷移確率は、複数の遷移パターンのそれぞれが発生する確率の大きさを反映していれば良く、各遷移パターンの発生回数を計測して遷移確率を定義しても良いし、各遷移パターンが発生する確率が特定の分布、例えば、正規分布のように分布すると見なして遷移確率を定義しても良く、種々の定義を採用可能である。なお、本明細書においては、上述の遷移パターンの上記Aが最も遷移確率が大きく、上記B.C.D.E.F.の順に遷移確率が小さくなるものとする。該遷移確率が前記評価値として機能する。すなわち、上記Aの遷移パターンは、基準文字列における文字の正しい並び(換言すれば、基準音素列における特定音素の正しい並び)からなるため、遷移確率(遷移評価値)が高く設定され、それ以外の遷移パターンは、基準文字列における文字の並びの正しさ度合い(換言すれば、基準音素列における特定音素の並びの正しさ度合い)が適宜低下するので、遷移確率(遷移評価値)が相対的に低く設定される。
こうして、CPU20は、ターゲット文字列推定部20cの処理により、前記各遷移パターン毎に、前記バッファに取り込まれた現在のターゲット音素列におけるターゲット音素の遷移が該遷移パターンに該当し、かつ、該遷移パターンが基準文字列(換言すれば、基準音素列)内に存在するかどうかを調べ、該当しかつ存在していれば該遷移パターンに対応する基準文字列(換言すれば、基準音素列)内の遷移的音素配列を特定する(S111)。そして、各特定された遷移的音素配列に対応する前記遷移パターンに対して定義された遷移確率(すなわち遷移評価値)が該遷移的音素配列に付与される(S112)。特定された遷移的音素配列を示す情報(特に位置データ)及びそれに対応する遷移確率(遷移評価値)は、CPU20によってRAM40に記録される。なお、ステップS112の具体例として、詳しくは追って説明するように、遷移的音素配列毎に、該遷移的音素配列における隣り合う2音素に対してその遷移パターンに応じて遷移確率(遷移評価値)をそれぞれ付与し、該遷移確率(遷移評価値)を合成することにより該遷移的音素配列の全体評価値を生成する。次に、CPU20は、相対的に高い評価値(全体評価値)が付与された遷移的音素配列に対応する基準文字列内の文字配列を特定する(S113)。
なお、ステップS111〜S113の処理は、2個以上のターゲット音素が指定されたときに行うものとする。利用者が最初のターゲット音素を指定したときは、取得したターゲット音素列は、1音素のみであるため、ステップS111〜S113の処理は行わず、特殊な処理が行われる。すなわち、CPU20は、ターゲット文字列推定部20cの処理により、1個のターゲット音素に基づいて所定の規則に従って基準文字列から利用者の指定した文字を推定する。この所定の規則は、任意に定めてよい。例えば、該最初に指定されたターゲット音素が基準文字列の中で最も早い順序で出現する位置にある文字が指定されたと推定するようにしてよい。あるいは、基準文字列内の複数のグループのうち、該最初に指定されたターゲット音素が最も早い順序で出現するグループにおける該ターゲット音素の位置にある文字が指定されたと推定するようにしてよい。
(6)ターゲット文字列の推定例
さらに図3を参照して、図4Aの推定処理によって実行されるターゲット文字列の推定の具体例について説明する。図3は、前記図2A〜2Cに示すような基準文字列及び基準音素列を対象として、利用者が特定音素セレクタ51によって時刻T,T,T,Tにおいて、所望のターゲット文字列を間接的に指定するターゲット音素として、"Ve"、"Vu"、"Vo"、"Va"を順次指定した場合を示す図である。図3における「ターゲット音素列」の欄には、これら各時刻T,T,T,Tにおける、ターゲット音素列記憶用バッファの記憶状態が示されている。すなわち、該バッファには、前記ステップS100の処理によって、指定されたターゲット音素"Ve"、"Vu"、"Vo"、"Va"を示すデータが順次記憶される。さらに、図3においては、これら4時刻T,T,T,Tにおいて、前記ステップS111の処理によって取り出される複数の遷移的音素配列の状態も示されている。図3において、各遷移的音素配列の欄においては、該配列に含まれる各特定音素を、該特定音素に対応する文字の基準文字列内における位置を示す符号(P及びサフィックスからなる符号)を用いて示している。
図3の例では、時刻Tにおいて、最初のターゲット音素として「Ve」(母音"e")が指定され、CPU20は、これを取得して前記バッファに記憶する(S100)。この例では、最初に指定されたターゲット音素に対して適用する上述の所定の規則が、該最初に指定されたターゲット音素が基準文字列の中で最も早い順序で出現する位置にある文字が指定されたと推定する規則であるとしている。この場合、CPU20は、図2Cにおける2番目の「Ve」(位置P)が利用者の指定したターゲット音素であると確認し、利用者が最初に指定した文字(ターゲット音素)が基準文字列の2番目の文字「CVe」(位置P)であると仮定する。なお、このように仮定された最初に指定した文字の位置は、次に述べるように、2番目のターゲット音素との組み合わせにおいて、別の位置に変更され得る。
次に、利用者が時刻T2において特定音素セレクタ51によって2番目のターゲット音素「Vu」を指定すると、CPU20は、これを取得して前記バッファに記憶し(S100)、該バッファ内には、ターゲット音素列"Ve"、"Vu"が保持される。すなわち、この時点では、2つの特定音素"Ve"、"Vu"からなるターゲット音素列がトータルで取得されたことになる。そして、CPU20は、前記ステップS111の処理により、現時点でバッファ内に取得したターゲット音素列"Ve"、"Vu"における前記特定音素の配列"Ve"、"Vu"に一致する、前記基準音素列内の1以上の遷移的音素配列を特定する。そして、前記ステップS112の処理により、特定された各遷移的音素配列における前記特定音素の並びの正しさ度合いに応じて、各遷移的音素配列に遷移評価値を付与する(つまり、該当する遷移パターンのタイプに応じて遷移確率を決定する)。この実施例においては、ステップS112における処理の具体例として、当該遷移的音素配列における各隣り合う2音素に対してその遷移パターンに応じて遷移評価値(遷移確率)をそれぞれ付与し、該遷移評価値を合成することにより該遷移的音素配列の全体評価値を生成する。なお、2番目のターゲット音素を取得した時点では、隣り合う2音素は1対しかないので、遷移評価値(遷移確率)の合成は不要である。
図2Cに示された基準音素列において、ターゲット音素列"Ve"、"Vu"に一致する遷移的音素配列は、前記遷移パターンAに該当するものが、位置P,Pからなる配列、位置P,P10からなる配列、位置P15,P16からなる配列、の3つであり、前記遷移パターンEに該当するものが、位置P,Pからなる配列、位置P,P13からなる配列、の2つである。従って、前記ステップS111の処理により、これら5つの配列を特定し、それぞれ記憶する。つまり、これら5つの配列が、現時点までに指定されたターゲット音素列によって間接的に指定されたターゲット文字列を特定しうる候補である。
図3においては、時刻Tにおけるその取得に応じてこうして特定され記憶された前記5つの遷移的音素配列を、それぞれ符号Q12,Q22,Q32,Q42,Q52,で示している。また、図3においては、各遷移的音素配列Q12〜Q52の下に、それに対して付与された評価値の一例を矩形状の図式的な目盛りによって示している。この図式的な目盛りにおいては、白い矩形部分と黒い矩形部分の合計が100%(確率1)を示し、黒い矩形部分が対応する遷移的音素配列の遷移確率(遷移評価値)を示している。例えば、上述の遷移パターンAに該当する上位3個の遷移的音素配列Q12〜Q32は遷移確率は、約50%(確率1/2)程度であり、上述の遷移パターンEに該当する下位2個の遷移的音素配列Q42,Q52は約20%(確率1/5)程度である。従って、上位3個の遷移的音素配列Q12〜Q32の方が、下位2個の遷移的音素配列Q42,Q52よりも、評価値が大きく、前者における前記特定音素の並びの正しさ度合いが後者におけるそれよりも高いと評価される。なお、各遷移的音素配列における隣り合う2音素に対して決定された遷移確率(遷移評価値)は記憶され、全体評価値を求めるために利用される。
次に、利用者が時刻Tにおいて特定音素セレクタ51によって3番目のターゲット音素「Vo」を指定すると、CPU20は、これを取得して前記バッファに記憶し(S100)、該バッファ内には、ターゲット音素列"Ve"、"Vu"、"Vo"が保持される。すなわち、この時点では、3つの特定音素"Ve"、"Vu"、"Vo"からなるターゲット音素列がトータルで取得されたことになる(つまり、取得したターゲット音素列が更新される)。そして、CPU20は、前記ステップS111の処理により、現時点でバッファ内に取得したターゲット音素列"Ve"、"Vu"、"Vo"における前記特定音素の配列"Ve"、"Vu"、"Vo"に一致する、前記基準音素列内の1以上の遷移的音素配列を特定する。
具体的には、前記ステップS111では、利用者が前回ターゲット音素を指定した時刻Tにおいて特定された(候補となった)各遷移的音素配列Q12〜Q52の最後の音素「Vu」から今回指定された音素「Vo」への遷移に着目して、今回指定された音素「Vo」が基準音素列のどの位置にあるかを、各遷移的音素配列毎にそれぞれ判定し、該判定した位置の基準音素を前回特定した遷移的音素配列の末尾に配置する(連鎖的に記憶する)ことにより新たな遷移的音素配列を特定する。
このようにして時刻Tにおいて特定される遷移的音素配列、つまり、ターゲット音素列"Ve"、"Vu"、"Vo"に一致する遷移的音素配列は、位置P,P,Pからなる配列、位置P,P10,P11からなる配列、位置P15,P16,Pからなる配列、位置P,P,P11からなる配列、位置P,P13,P14からなる配列、の5つである。図3においては、時刻Tにおけるターゲット音素の取得に応じてこうして特定され記憶された前記5つの遷移的音素配列を、それぞれ符号Q13,Q23,Q33,Q43,Q53で示している。また、前述と同様に、各遷移的音素配列Q13〜Q53の下に、それに対して付与された評価値の一例を矩形状の図式的な目盛りによって示している。
各遷移的音素配列の評価値を求めるための前記ステップS112の処理においては、現在時点(時刻T)では、過去の(1番目と2番目の2音素)の遷移パターンに応じた遷移確率(遷移評価値)は既に求められ記憶されているので、現在取得した(3番目の)音素とその直前の(2番目の)音素の間の遷移パターンに応じて遷移確率(遷移評価値)を求めればよい。
例えば、遷移的音素配列Q13の下側には、前回の時刻Tで特定した遷移的音素配列Q12における隣り合う2音素(位置Pから位置Pへの遷移)に付与された遷移確率(遷移評価値)O23と、現在の時刻Tで特定した遷移的音素配列Q13における最新の隣り合う2音素(前回特定された位置Pから今回特定された位置Pへの遷移)に付与された遷移確率(遷移評価値)O34とがグラフィカルに描かれており、さらに、その下側に、両者の積である合成確率W13(=O23×O34)(つまり、遷移評価値を合成した全体評価値)がグラフィカルに描かれている。この場合、前回の遷移に対して付与された遷移確率O23は前述のように約50%(確率1/2)程度であり、今回の遷移(PからPへの遷移)は上述の遷移パターンAに該当するから、これに対して付与される遷移確率O34も約50%(確率1/2)程度である。従って、両者の合成確率W13は、約25%(確率1/4)程度となる。
図3において、時刻Tにおいて特定される他の遷移的音素配列Q23〜Q53の下方にも同様の書式で、各隣り合う2音素の遷移パターンに応じた遷移確率(遷移評価値)および合成確率W23〜W53(つまり全体評価値))がグラフィカルに描かれている。なお、前回の時刻Tで特定した遷移的音素配列Q12から派生される遷移的音素配列は、前記Q13に限らず、例えば、P,P,P11という配列も存在し得る。しかし、PからP11への遷移に対しては低い遷移確率しか付与されないので、その合成確率も低いものとなる。しかし、可能性のあるすべての遷移的音素配列を記憶することには意味がないので、後述するように、そのような合成確率の低い遷移的音素配列は記憶することなく適宜削除してよい。従って、ステップS111で特定する1以上の遷移的音素配列は、可能性のあるすべての遷移的音素配列である必要はなく、可能性の高いいくつかを候補として特定するようにしてよい。
1つの遷移的音素配列が長くなると、基準文字列から利用者の指定したターゲット文字を推定する際の推定精度が飛躍的に向上する。例えば、図3に示す例において、時刻Tでの遷移音素配列Q12〜Q32の合成確率は同一であったが、ターゲット音素列を構成する音素の増加によって遷移的音素配列が遷移的音素配列Q12〜Q32から時刻Tでの遷移的音素配列Q13〜Q33に更新されると、合成確率に顕著な差異が生じる。すなわち、遷移的音素配列Q13,Q23において、特定音素「Vu」から特定音素「Vo」への遷移に該当する基準文字列上での文字の遷移は、P,Pという遷移およびP10,P11という遷移であり、上述の遷移パターンAに相当している。
一方、遷移的音素配列Q33において、特定音素「Vu」から特定音素「Vo」への遷移に該当する基準文字列上での文字の遷移は、P16,Pという遷移であり、上述の遷移パターンEである。従って、遷移特定音素列Q13,Q23と遷移特定音素列Q33とでは、特定音素「Vu」から特定音素「Vo」への遷移に対応する遷移パターンの遷移確率に差異があり、合成確率に差異が生じる。そして、このような差異は、遷移的音素配列が延びるほど顕著になる。
ところで、CPU20が各遷移的音素配列の合成確率を取得すると、CPU20はターゲット文字列推定部20cの処理により、各合成確率と所定の閾値を比較するように構成されている。そして、CPU20は、合成確率が該所定の閾値以下である遷移的音素配列を破棄する(RAM40から削除する)。この結果、破棄された遷移的音素配列は、基準文字列から利用者の指定したターゲット文字列を推定するための候補から除外される。図3に示す例において、該所定の閾値を符号Thで示しており、遷移的音素配列Q33,Q43,Q53の合成確率W33,W43,W53は所定の閾値Th以下であるためこれらの遷移的音素配列Q33,Q43,Q53は破棄される。
このため、図3に示す例のように、時刻Tにおいて利用者が4番目のターゲット音素「Va」を指定することにより、ターゲット音素が"Ve"、"Vu"、"Vo","Va"に更新されたとき、すでに破棄された遷移的音素配列Q33,Q43及びQ53は候補から除外される。一方、破棄されていない遷移的音素配列Q13及びQ23は候補に残され、これらをベースにして、ステップS111による基準音素列内の1以上の遷移的音素配列を特定する処理が行われる。図3においては、遷移的音素配列Q13に今回指定された特定音素"Va"が続く遷移的音素配列Q14(P,P,P,Pからなる配列)及びQ24(P,P,P,Pからなる配列)と、遷移的音素配列Q23に今回指定された特定音素"Va"続く遷移的音素配列Q34(P,P10,P11,Pからなる配列)及びQ44(P,P10,P11,Pからなる配列)が特定されることが例示されている。
各遷移的音素配列の評価値を求めるための前記ステップS112の処理においては、現在時点(時刻T)では、過去の(1番目と2番目の2音素及び2番目と3番目の2音素)の遷移パターンに応じた遷移確率(遷移評価値)は既に求められ記憶されているので、現在取得した(4番目の)音素とその直前の(3番目の)音素の間の遷移パターンに応じて遷移確率(遷移評価値)を求める。
例えば、遷移的音素配列Q14の下側には、前々回及び前回の時刻T及びTで特定した各隣り合う2音素の遷移(位置Pから位置Pへの遷移、及び位置Pから位置Pへの遷移)に付与された遷移確率(遷移評価値)がそれぞれ描かれ、かつ、現在の時刻Tで特定した遷移的音素配列Q14における最新の隣り合う2音素(前回特定された位置Pから今回特定された位置Pへの遷移)に付与された遷移確率(遷移評価値)がグラフィカルに描かれており、さらに、その下側に、3者の積である合成確率W14(つまり、遷移評価値を合成した全体評価値)がグラフィカルに描かれている。この場合、前々回及び前回の遷移に対して付与された遷移確率は前述のようにそれぞれ約50%(確率1/2)程度であり、今回の遷移(PからPへの遷移)は上述の遷移パターンAに該当するから、これに対して付与される遷移確率も約50%(確率1/2)程度である。従って、3者の合成確率W14は、約12.5%(確率1/8)程度となる。
図3において、時刻Tにおいて特定される他の遷移的音素配列Q24〜Q44の下方にも同様の書式で、各隣り合う2音素の遷移パターンに応じた遷移確率(遷移評価値)および合成確率W24〜W44(つまり全体評価値))がグラフィカルに描かれている。
さて、各時刻T,T,T毎に、各遷移的音素配列の合成確率が取得されると、CPU20は、前記ステップS113の処理により、合成確率が最も高い遷移的音素配列に対応する基準文字列内の1つの文字配列を特定する。こうして特定された1つの文字配列が、利用者の意図したターゲット文字列であると推定することができる。なお、図2B,図2Cに示すように、基準音素列を構成する各音素の位置と基準文字列を構成する各文字の位置とは、一対一に対応しているため、基準音素列から生成された遷移的音素配列を構成する特定音素の各位置に対応する基準文字列の文字の各位置は容易に特定することができる。
例えば、図3に示す例で、時刻Tにおいては、最も合成確率が高い遷移的音素配列は、Q12,Q22,Q32であるから、適宜の基準に従って、そのうちいずれか1を選択することにより、選択された1つの遷移的音素配列に基づき、前記指定されたターゲット音素列"Ve,Vu"に対応する文字配列を特定する。この選択基準は、どのようなものでもよい。例えば、位置データの順位が最も若いものを選択してもよいし、ランダム選択してもよい。位置データの順位が最も若いものを選択すると仮定すると、位置データP,Pからなる遷移的音素配列Q12が選択され、指定されたターゲット音素列"Ve,Vu"に対応する文字配列として、"CVe,CVu"が特定される。なお、後述するように、特定した文字をリアルタイムに表示するようにしてよく、また、特定した文字に基づく音声をリアルタイムに生成してもよい。後述するように、特定した文字列に対応する音声をリアルタイムに生成する場合は、特定した文字列の情報をRAM40内に記憶しておき、適宜の音声生成タイミングで必要な1又は複数文字に対応する音声を生成し出力すればよい。
また、時刻Tにおいては、最も合成確率が高い遷移的音素配列は、Q13,Q23であるから、前記基準に従って、そのうちいずれか1を選択することにより、選択された1つの遷移的音素配列に基づき、前記指定されたターゲット音素列"Ve,Vu,Vo"に対応する文字配列を特定する。例えば、位置データP,P,Pからなる遷移的音素配列Q13が選択され、指定されたターゲット音素列"Ve,Vu,Vo"に対応する文字配列として、"CVe,CVu,CVo"が特定される。
同様に、時刻Tにおいては、最も合成確率が高い遷移的音素配列はQ14であるから、該Q14に基づき、前記指定されたターゲット音素列"Ve,Vu,Vo,Va"に対応する文字配列を特定する。これにより、位置データP,P,P,Pからなる遷移的音素配列Q14に基づき、文字配列"CVe,CVu,CVo,CVa"が特定される。
なお、前記ステップS111における処理において特定される遷移的音素配列における隣接する2音素は、必ずしも、基準文字列の順方向に遷移するものである必要はない。例えば、図3における時刻Tにおいて特定される遷移的音素配列Q33には、位置P16からPへと逆方向に遷移している。また、前記遷移パターンF(基準文字列に存在しない文字列への遷移)として例示したように、図2C等に示す符号P〜P18に該当しない位置への文字の遷移(を含む配列も遷移的音素配列となり得る。すなわち、利用者が特定音素「Vu」と異なる特定音素「Va」を意図しながら、誤って特定音素「Vu」を操作してしまうこともあるため、このような遷移も遷移的音素配列として特定され得る。なお、上記説明では、合成確率(全体評価値)が所定の閾値以下になった候補を破棄するようにしているが、これに限らず、他の構成、例えば、合成確率の上位の一定個数の遷移的音素配列を記憶保持するようにしてもよい。
(7)音声生成処理
図4Aに示すターゲット文字列の推定処理と並行して、CPU20は、音声生成力プログラム30aの処理により、図4Bに示すような音声生成処理を実行する。なお、順次に取得されるターゲット音素(時刻T〜T)に応じた、図4Aに示す推定処理の結果得られる、最新の更新された文字配列の情報(つまり、推定したターゲット文字列の情報)がRAM40に記憶され、該記憶したターゲット文字列の情報に基づき、該文字列を発話するための音声が、適宜の音声生成タイミングで生成される。一例として、該音声生成タイミングは、利用者が音高操作子50で所望の音高を選択する操作に同期して設定される。別の例として、該音声生成タイミングは、MIDIデータなどに基づく自動演奏シーケンスに従って自動的に設定されてもよい。さらに別の例として、該音声生成タイミングは、通信ネットワークを介して遠隔地から受信した情報に基づいて設定されてもよい。以下の説明では、該音声生成タイミングは、利用者が音高操作子50で所望の音高を選択する操作に同期して設定されるものとする。なお、原則的には、所望のターゲット音素を指定するタイミングは、該ターゲット音素に対応する音声を発音すべきことを指定するタイミングよりも適宜に先行していることが望ましい。しかし、ターゲット音素の指定タイミングの時間遅れを適宜に吸収するために、音声生成開始を待機する処理を行うことにより、前者の遅れを適切に吸収することができる。
指定したターゲット文字列に対応する音声を生成するタイミング及び該音声の音高を指定する音高操作子50は、該音高操作子50(鍵盤)の全部ではなく、該音高操作子50(鍵盤)から特定音素セレクタ51として使用される部分を除外した部分である。利用者が所望の音高を指定するために音高操作子50を押し込み操作(キーオン)すると、CPU20は、図4BのステップS200でキーオンと判定して、ステップS201に進み、音高操作子50が備えるセンサの出力情報に基づいて、操作状況(該指定された音高を示す音高指定情報及び該操作時のベロシティ若しくは強度等を示す情報など)を取得する。次に、CPU20は、前記特定された文字配列(ターゲット文字列と推定されたRAM40に記憶された文字列)の中から、音声生成すべき1又は複数の文字を示す文字情報を取得する(S205)。例えば、RAM40に記憶された文字列において、どの文字まで音声生成を行ったか(又は次にどの文字を音声生成すべきか)を示すポインタを備え、該ポインタから判断して、RAM40に記憶された文字列の中から、音声未生成である1又は複数の文字を示す文字情報を取得する。もし音声未生成である1又は複数の文字が存在しない場合は、ステップS205では、適宜の基準に従って文字情報を取得すればよい。例えば、直前に音声生成した1又は複数の文字を示す文字情報を再度取得してもよい。若しくは、音声未生成である1又は複数の文字が存在しない場合は、又は、音声未生成である1又は複数の文字が存在するか否かに係わらず、ステップS205で所定の短時間待機するようにしてもよい。これにより、操作タイミングのバラツキのために、意図せずに、音高操作子50の操作による音声生成タイミングの指定が特定音素セレクタ50によるターゲット音素の指定に幾分先行したとしても、問題のない音声生成を行うことができる。
次に、CPU20は、前記取得した文字情報に対応する音声を前記取得した音高指定情報により指定された音高および音量強度等で生成する(S210)。具体的には、CPU20は、音声素片データベース30cから前記取得した文字情報によって示された1又は複数文字に対応する音声を再現するための音声素片データを取得する。さらに、CPU20は、取得された音声素片データの中の母音に対応したデータに対して音高変換処理を実行し、前記音高指定情報により指定された音高を持つ母音音声素片に変換する。さらに、CPU20は、前記取得した文字情報によって示された1又は複数文字に対応する音声を再現するための音声素片データの中の母音に対応したデータを、前記音高変換処理後の母音音声素片データに置換し、これらの音声素片データを組み合わせたデータに対して逆FFTを施す。この結果、前記取得した文字情報によって示された1又は複数文字に対応する音声を再現するための音声信号(時間領域のデジタル音声信号)が生成される。
なお、前記音高変換処理は、特定の音高の音声を他の音高の音声に変換する処理であれば良く、例えば、音高操作子50で指示された音高と音声素片データが示す音声における基準の音高との差分を求め、当該差分に相当する周波数だけ音声素片データの波形が示すスペクトル分布を周波数軸方向に移動させる処理等によって実行可能である。むろん、音高変換処理は、他にも種々の処理によって実現可能であり、当該処理は時間軸上で行われてもよい。さらに、ステップS210の処理において、生成される前記音声の種々の態様(音高、音量、音色等)が調整可能であっても良く、例えばビブラート等を付与する音声制御が実行されても良い。
音声信号が生成されると、CPU20は、当該音声信号を音出力部70に対して出力する。この結果、音出力部70は、当該音声信号をアナログ波形信号に変換し、増幅して出力する。従って、音出力部70から、前記取得した文字情報によって示された1又は複数文字に対応する音声であって、音高操作子50で指定された音高及び音量等を持つ該音声が出力される。
さらに、CPU20は、音高操作子50が備えるセンサの出力情報に基づいて、音高操作子50に対する押し込み操作が解除された(キーオフ)か否か判定する(S202)。そして、音高操作子50に対する押し込み操作が解除されたと判定された場合、CPU20は、生成中の音声を停止(又は減衰)し、音出力部70から出力される音声信号が消音されるようにする(S215)。この結果、音出力部70からの音声出力が停止する。以上の構成により、CPU20は、音高操作子50で指定された音高および強度の音声を、音高操作子50で指定された期間継続して出力させる。
以上の処理によれば、利用者が、特定音素セレクタ51の操作直後(または操作と同時)に所望の音高を指定する音高操作子50を操作することにより、利用者所望の文字を利用者所望の音高で出力する演奏を行うことが可能になる。また、利用者が、音高を指定する音高操作子50の操作直後に特定音素セレクタ51を操作した場合、つまり、特定音素セレクタ51の操作がわずかに音高を指定する音高操作子50の操作よりも遅かった場合であっても、特定音素セレクタ51の操作がわずかに音高を指定する音素セレクタ50の操作よりも早かった場合と実質的には変わらない音声が出力される。
なお、特定音素セレクタ51が操作されることなく、音高操作子50の押鍵が繰り返された場合、ステップS205において、音声未生成である1又は複数の文字が存在しないことにより、直前に音声生成した1又は複数の文字を示す文字情報を再度取得するように構成することにより、同じ文字情報に基づく音声が繰り返し生成され得る。このような機能は、例えば、或る文字「ら」に対応する音声を同一の音高または異なる音高で「ら、ら、ら」のように、何回か繰り返して出力する場合に利用されるのに適している。
以上述べた実施例によれば、利用者は、特定の限られた複数種の音素の中から必要な音素を指定するという簡易な操作で、ターゲット文字列中の所望の文字を指定することが可能になる。また、利用者がアドリブや誤操作を含む各種の操作を行ったとしても、CPU20は基準文字列から利用者の指定した文字を高精度に推定することができる。従って、利用者は、予め決められた基準文字列内の文字を高い自由度で指定することができる。さらに、利用者は、任意の基準文字列の歌詞を、利用者所望のテンポおよび利用者所望の音高で出力させることができる。従って、任意の基準文字列の歌詞を演奏する際に、利用者は、旋律を自由に変更することができる。
(8)ユーザーインターフェイス
特定音素セレクタ51の操作によって指定される音素は、基準文字列内の所望のターゲット文字を間接的に示しているため、直感的に意図した文字を指定できるようにするために各種の支援が行われてもよい。この点に鑑みて、本実施形態においては、入出力部60の表示部に所定のユーザーインターフェイスが表示され、利用者がより直感的に特定音素セレクタ51を操作できるように構成されている。
図1Cは、当該ユーザーインターフェイスの例を示す図である。CPU20は、表示制御部20dの処理によって、当該ユーザーインターフェイスを入出力部60の表示部D上に表示する。図1Cに示すユーザーインターフェイスにおいては、入出力部60の表示部D上に前記特定音素セレクタ51のイメージ(一例として複数の白鍵及び黒鍵のイメージ)を示す画像51dが表示される。そして、画像51dの各鍵イメージ内に、該鍵に対応する特定音素が次に指定された場合に、それに応じて推定される文字を、最有力候補として表示するように構成されている。本実施形態においては、特定音素セレクタ51を構成するC,D,E,F,G,D#の各鍵のイメージ内に、対応する特定音素が次に指定された場合に最有力候補として表示される。図1Cにおいて、各鍵のイメージ内に記載された符号C,C,C,C,C,CD#は、各特定音素に対応して推定される最有力候補の文字を示している。従って、実際には、これらの符号C,C,C,C,C,CD#が描かれた箇所に、実際の文字が表示される。このように、次の最有力候補文字が表示部に表示されると、利用者が当該表示部を視認することにより、利用者は、特定音素セレクタ51の各鍵と次の最有力候補文字とを関連づけて直感的に確認することができる。従って、特定音素セレクタ51によって特定の限られた音素を指定する構成でありながら、利用者が実質的に文字を指定しているように感じるように構成することができる。
なお、図1Cに示すユーザーインターフェイスにおいては、次の最有力候補文字以外にも各種の情報が表示される。例えば、アイコンIには、現時点の推定処理によって利用者が指定したと推定された最新の1文字が表示される。また、ウィンドウWには、処理対象として選択された基準文字列(その全体又は一部)が表示され、ウィンドウWには、図2Bに示すようなグループ化後の該基準文字列(その全体又は一部)が表示される。なお、図1Cにおいては、基準文字列から利用者の指定した文字として推定された1文字を符号「CV」で示している。この構成によれば、利用者が当該表示部を視認することにより、自身が意図する文字と推定された文字とが一致しているか否かを確認することができる。なお、最新の1文字のみを表示するアイコンIに代えて、現時点までに特定された複数文字からなる文字配列を表示してもよい。
なお、ウィンドウWにおいては、前記推定処理の結果を利用して、利用者が基準文字列から指定したと推定された文字が含まれるグループを強調する表示を付加しても良い。当該付加表示を行うためには、CPU20は、基準文字列から利用者の指定した文字を推定した後、当該文字が含まれる形態素グループを判定し、当該形態素グループを強調表示するための制御信号を入出力部60の表示部に与えればよい。
画像51dの各鍵イメージ内で表示すべき次の最有力候補文字の決定手法の一例について説明する。例えば、図3に示す時刻Tにおいて、CPU20は、次に特定音素セレクタ51が操作される前に、表示制御部20dの処理によって、今回指定された音素「Vo」の次にすべての特定音素のそれぞれが指定される場合を仮定し、それぞれの場合について、対応する最有力候補文字の推定を行う。例えば、音素「Va」が指定されたと仮定する場合、CPU20は、図3において時刻Tに例示したように、合成確率が最も高い遷移的音素配列に基づいて位置Pの文字が指定されたと推定する。CPU20は、他の特定音素についても同様に、各音素が指定されたと仮定した場合において特定される文字の推定を行う。
各音素が指定されたと仮定した場合における文字の推定が行われると、CPU20は、各特定音素について推定された文字を該特定音素に関連する次の最有力候補文字とする。そして、CPU20は、表示制御部20dの処理により、該次の最有力候補文字を表示部D上の画像51dのエリアに表示する。
(9)複数の遷移パターンの意義
上述した本実施形態によれば、指定されたターゲット音素列に完全一致する音素配列のみを基準音素列から抽出するのではなく、指定されたターゲット音素列のように特定音素が遷移する遷移的音素配列を基準音素列から1以上抽出し、各遷移的音素配列の遷移確率に基づいて基準文字列から利用者の指定したターゲット文字列を推定している。従って、ターゲット音素列の指定の際に、利用者がアドリブで文字の位置のジャンプを行った場合や誤操作した場合も含む1以上の場合に対応する遷移的音素配列を候補として特定し、これらの候補の中から選択された遷移的音素配列に基づき、基準文字列から利用者の指定した文字を推定していることになる。従って、基準文字列における正しい順序を適宜変更して利用者がターゲット音素列を指定することからなる「アドリブ」や、誤操作が行われた場合であっても、基準文字列の中から利用者の指定した文字を推定することができる。
さらに、本実施形態においては、遷移パターンとして典型的なパターンを複数個予め定義しておくことにより、典型的な遷移パターンの全てを考慮してターゲット文字列の推定処理を行うことができる。このため、典型的な複数個の遷移パターンについて解析するのみで、利用者によって指定されたターゲット音素列における文字の遷移として起こりえるパターンを充分に考慮することができ、簡易な解析によって利用者が指示した文字を高精度に推定することができる。
さらに、本実施形態においては、利用者が基準文字列から文字を指定する際に発生する特徴的な文字の遷移を遷移パターンとして表現することによって、基準文字列から利用者の指定した文字の推定精度を向上させることができる。例えば、繰り返しを含む歌詞において、当該繰り返しにおける文字の配列順序と繰り返しが行われない他の部位における文字の配列順序とは顕著に異なる場合が多い。従って、例えば上述の遷移パターンBが発生した場合、極めて高い確率で利用者が歌詞の或る特定の部分を繰り返し指定したと推定することができ、推定精度を向上させることができる。
なお、基準文字列が歌詞である場合、1番と2番が存在する歌詞など、歌詞内の異なる場所に同一文字列が存在する場合がある。そのような場合、同じ文字配列からなる2つの(1番と2番の)文字列の一方の文字列の後に、歌詞の順序通りではなく、他方の文字列の直後の歌詞を歌いたい場合もあり得る。例えば、図2Bに示す例において、文字列Sの後に、位置Pの歌詞文字ではなく、位置P12の歌詞文字を歌いたい場合もあり得る。このような遷移は、アドリブ演奏や演奏の練習などにおいて発生する極めて特徴的な遷移である。このような場合は、上述の遷移パターンC(異なる位置に存在する同一文字列の次の文字への遷移)に該当するので、該遷移パターンCを適用して評価値を算出することにより、推定精度を向上させることができる。
さらに、本実施形態においては、上述の遷移パターンの一部が上述のグループに基づいてパターン化されているため、遷移パターンに基づく利用者の文字の指定の推定精度を向上させることができる。例えば、上述の例では、2文字以上の遷移については、遷移パターンDと遷移パターンEとの異なるパターンで類型化されている。そして、一般的な歌詞の進行においては、歌詞の位置が大きく変化する場合より、変化が小さい場合(誤って一文字飛ばす等)の方が発生しやすい。従って、遷移前後のグループの位置関係に基づいて遷移が発生しやすいか否か区別することができ、遷移パターンDの遷移確率を遷移パターンEの遷移確率よりも大きくすることで正確に推定を行うことができる。
グループ化を利用すると、さらに、詳細な遷移パターンを定義することでさらに推定精度を向上させることも可能である。例えば、形態素によって構成された各グループに着目すると、各グループは意味のある集合であるため、任意の位置から各グループの先頭へ遷移することはあり得るが、各グループの途中や末尾に遷移する確率は極めて小さい。従って、グループの先頭への遷移確率をグループの他の位置への遷移確率より高くすれば、推定精度を向上させることができる。
(10)ターゲット音素列の楽譜表記
本実施形態においては、それぞれに特定音素が割り当てられた複数の鍵を、特定音素セレクタ51として使用している。これによれば、利用者は、楽器の演奏のような操作で所望の特定音素を指定することができる。また、特定音素セレクタ51に対応する音高(鍵名)を楽譜に記すことにより、所定のターゲット文字列を指定するための特定音素セレクタ51の操作手順を書面化することができる。このように書面化された情報は、所定のターゲット文字列を指定するための操作手順を客観的に第3者に伝えたり、該情報を参照して利用者が反復練習を行うことを可能にする。
(11)他の実施形態:
本発明の適用対象は、鍵盤楽器10に限定されず、音高操作子50を備えた他の電子楽器であってもよいし、基準文字列情報30bを含む録音情報や録画情報の再生装置などであってもよい。
さらに、特定音素を指定するための操作子は、鍵盤楽器10の鍵に限定されない。例えば、キーボードやタッチパネル等によって特定音素を指定する構成であっても良い。さらに、特定音素を指定するための手法としても種々の手法を採用可能であり、例えば、押し込み操作やボタンの指定操作以外にも、フリック操作等を採用可能である。さらに、1個のキーやボタンに1個の特定音素が対応していても良いし、複数個(例えば、3個)のキーやボタンの組み合わせでより多数の特定音素を指定する構成等を採用しても良い。
さらに、一旦指定したターゲット音素列を利用者が修正できるように構成しても良い。例えば、利用者が特定音素の指定の際に誤操作した場合にCPU20が誤操作のキャンセル操作を利用者から受け付け、当該誤操作をキャンセルするように構成しても良い。また、推定処理の結果得られたターゲット文字列が誤推定であった場合にもCPU20が誤推定のキャンセル操作を利用者からを受け付け、当該推定をキャンセルするように構成しても良い。さらに、基準文字列の一部(例えば、演奏開始の初期のみ)について本実施形態における文字の推定が行われるように構成されていても良い。この場合、利用者の指定した特定音素から演奏開始時の歌詞が推定される一方、演奏開始後には自動的に歌詞を1文字ずつ進行するように構成できるので、アドリブ演奏に対応しつつも演奏中の操作が容易になる。
さらに、遷移的音素配列の遷移確率を取得する際に参照される遷移の回数には上限が設けられても良い。例えば、遷移回数の上限を4回〜8回とするような構成を採用可能であり、遷移回数の上限が4回であれば、最後に指定された特定音素とそれより前に指定された3回分の特定音素とによってターゲット音素列が形成されることになる。
さらに、各遷移パターンに対して割り当てられた遷移確率の値は、推定処理動作の実行中に適宜補正されるようになっていてもよい。例えば、或るターゲット文字列をリクエストするために、特定音素を順次指定してゆく過程において、該特定音素の指定が進行するに伴い、現時点以前に特定された遷移的音素列に基づき、それ以降において、或る遷移パターンの発生する確率が高いまたは低いことが判明する場合がある。そのような場合、当該ターゲット文字列をリクエストするために、以後指定される特定音素に応じた推定処理に際しては、当該遷移パターンの遷移確率を適宜補正した上で評価を行うようにしてよい。このように、各遷移パターンに対して割り当てられた遷移確率を固定することなく、現在以前に指定された複数回分の経過的なターゲット音素列に応じて特定された経過的な遷移的音素列に基づいて、それ以後における適宜の遷移パターンの遷移確率を調整しても良い。
より具体的には、図2Cに示す位置P15,P16のように同一文字列が2回繰り返される場合において、その直後の基準音素が「Ve」である場合を想定する。この場合において、位置P15以後に指定されるターゲット音素列が「Ve,Vu,Ve,Vu,Ve」である場合、利用者が、位置P15,P16の文字を3回繰り返して指定しようとしている場合と、位置P15,P16の文字を2回繰り返して指定した後に基準文字列の正しい順序通りに歌詞を進行させた場合との双方が遷移的音素配列の候補となる。しかし、通常は、基準文字列通りの正しい遷移が発生する確率が一番高いため、利用者が前者よりも後者の指定する確率が高いことが、基準文字列から推定される。従って、前者を示す遷移的音素配列よりも後者を示す遷移的音素配列の方が、相対的に高く評価されるように遷移確率を補正しても良い。
また、図2Cに示す位置P15,P16のように同一文字列が2回繰り返される場合において、その直後の基準音素列が「Ve,Vu」である場合を想定する。この場合において、位置P15以後に指定されるターゲット音素列が「Ve,Vu,Ve,Vu,Ve,Vu」である場合、利用者が、位置P15,P16の文字を3回繰り返して指定した場合と、位置P15,P16の文字を2回繰り返して指定した後に基準文字列の順列通りに歌詞を進行させた場合との双方が遷移的音素配列の候補となる。この場合、最後に特定音素「Vu」が指定された段階において、前者、後者のいずれであるのか区別できないが、さらに特定音素の指定が進行すれば、繰り返しが行われた場合と基準文字列の正しい順序通りに歌詞を進行させた場合とが区別できる。例えば、基準順列において、図2Cに示す位置P15,P16のように同一文字列が2回繰り返され、その直後の基準音素列が「Ve,Vu,Va」である場合、利用者が特定音素「Ve,Vu」の指定を3回繰り返した後に特定音素「Va」を指定すれば後者である確率が高く、特定音素「Ve」を指定すれば前者である確率が高いと推定することができる。従って、この段階で、確率が高い方の遷移的音素配列が相対的に高く評価されるように遷移確率を補正しても良い。
さらに、上述の実施形態において、特定音素「ん」は唯一の子音であるとともに、特定音素「ん」を指定する特定音素セレクタ51のみが黒鍵である。従って、特定音素「ん」が指定された場合、他の特定音素が指定された場合よりも信頼性が高いと見なし、最後の特定音素が「ん」となる遷移的音素配列が相対的に高く評価されるように遷移確率を補正しても良い。
10…鍵盤楽器、20…CPU、20a…ターゲット音素列取得部、20b…基準音素列取得部、20c…ターゲット文字列推定部、20d…表示制御部、30…不揮発性メモリ、30a…音声生成プログラム、30b…基準文字列情報、30c…音声素片データベース、40…RAM、50…音高操作子、51…特定音素セレクタ、51d…画像、60…入出力部、70…音出力部

Claims (6)

  1. 予め規定された基準文字列からターゲット文字列を推定するためのターゲット文字列推定装置であって、
    前記基準文字列を限られた複数種の特定音素を用いて間接的に表現した基準音素列を取得する基準音素列取得手段と、
    前記特定音素を用いてターゲット文字列を間接的に表現したターゲット音素列を取得するターゲット音素列取得手段と、
    前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定するターゲット文字列推定手段と、
    前記特定音素の中のいずれかの音素をユーザ操作に応じて選択するためのセレクタを備え、
    前記ターゲット音素列取得手段は、ユーザ操作に応じて前記セレクタから時系列的に入力される音素列を、前記ターゲット音素列として取得するように構成されている、
    を備える、
    ターゲット文字推定装置。
  2. 前記特定音素は、母音を含む、
    請求項1に記載のターゲット文字列推定装置。
  3. 前記特定音素は、単独で意味のある音節を構成し得る特定の子音を含む、
    請求項1または請求項2のいずれかに記載のターゲット文字列推定装置。
  4. ユーザ操作に応じて前記セレクタから1又は複数の音素が入力される毎に、その時点で特定された少なくとも1文字を表示し、かつ、前記文字配列から推測される前記基準文字列中の次の文字を、候補として表示装置に表示する表示制御手段をさらに備える、
    請求項1〜請求項3のいずれかに記載のターゲット文字列推定装置。
  5. 前記ターゲット文字列推定手段は、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列、に対応する前記基準文字列内の前記文字配列を特定するために、
    前記ターゲット音素列における前記特定音素の配列に一致する、前記基準音素列内の1以上の遷移的音素配列を特定し、前記遷移的音素配列は、前記基準音素列における前記特定音素の正しい並びからなる配列及び1以上の乱れた並びからなる配列の少なくとも1つを含み、
    特定された前記遷移的音素配列のそれぞれにおける前記特定音素の並びの正しさ度合いに応じて、前記遷移的音素配列のそれぞれに評価値を付与し、
    相対的に高い前記評価値が付与された前記遷移的音素配列に対応する、前記基準文字列内の前記文字配列を特定する、
    請求項1〜請求項のいずれかに記載のターゲット文字列推定装置。
  6. 前記ターゲット文字列推定手段は、前記遷移的音素配列のそれぞれにおける前記特定音素の並びの正しさ度合いに応じて、前記遷移的音素配列のそれぞれに前記評価値を付与するために、
    前記遷移的音素配列のそれぞれに、該遷移的音素配列における各隣り合う2音素に対してその遷移パターンに応じて遷移評価値をそれぞれ付与し、該遷移評価値を合成することにより該遷移的音素配列の全体評価値を生成する、
    請求項に記載のターゲット文字列推定装置。
JP2015150085A 2014-07-29 2015-07-29 ターゲット文字列の推定 Active JP6645063B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015150085A JP6645063B2 (ja) 2014-07-29 2015-07-29 ターゲット文字列の推定

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014153596 2014-07-29
JP2014153596 2014-07-29
JP2015150085A JP6645063B2 (ja) 2014-07-29 2015-07-29 ターゲット文字列の推定

Publications (2)

Publication Number Publication Date
JP2016033662A JP2016033662A (ja) 2016-03-10
JP6645063B2 true JP6645063B2 (ja) 2020-02-12

Family

ID=55180201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015150085A Active JP6645063B2 (ja) 2014-07-29 2015-07-29 ターゲット文字列の推定

Country Status (2)

Country Link
US (1) US9711133B2 (ja)
JP (1) JP6645063B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6728754B2 (ja) * 2015-03-20 2020-07-22 ヤマハ株式会社 発音装置、発音方法および発音プログラム
CN108369804A (zh) * 2015-12-07 2018-08-03 雅马哈株式会社 语音交互设备和语音交互方法
WO2018136829A1 (en) * 2017-01-19 2018-07-26 Netherland Eric Electronic musical instrument with separate pitch and articulation control
JP2018159786A (ja) * 2017-03-22 2018-10-11 カシオ計算機株式会社 電子楽器、方法及びプログラム
JP6849621B2 (ja) * 2018-02-02 2021-03-24 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
JP6911785B2 (ja) * 2018-02-02 2021-07-28 日本電信電話株式会社 判定装置、判定方法及び判定プログラム
CN111653266B (zh) * 2020-04-26 2023-09-05 北京大米科技有限公司 语音合成方法、装置、存储介质和电子设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481593A (en) * 1981-10-05 1984-11-06 Exxon Corporation Continuous speech recognition
US4489434A (en) * 1981-10-05 1984-12-18 Exxon Corporation Speech recognition method and apparatus
JP3277616B2 (ja) * 1993-05-31 2002-04-22 カシオ計算機株式会社 楽音発生装置
US5890115A (en) * 1997-03-07 1999-03-30 Advanced Micro Devices, Inc. Speech synthesizer utilizing wavetable synthesis
US6511324B1 (en) * 1998-10-07 2003-01-28 Cognitive Concepts, Inc. Phonological awareness, phonological processing, and reading skill training system and method
JP2001067375A (ja) * 1999-08-30 2001-03-16 Sharp Corp 名称検索装置、キーボード及び名称検索プログラムを記録した記録媒体
US6847931B2 (en) * 2002-01-29 2005-01-25 Lessac Technology, Inc. Expressive parsing in computerized conversion of text to speech
EP1372139A1 (en) * 2002-05-15 2003-12-17 Pioneer Corporation Speech recognition apparatus and program with error correction
JP4144307B2 (ja) * 2002-09-25 2008-09-03 ヤマハ株式会社 楽器鍵盤を使用する文字入力装置
US20040158464A1 (en) * 2003-02-10 2004-08-12 Aurilab, Llc System and method for priority queue searches from multiple bottom-up detected starting points
JP2005165887A (ja) * 2003-12-05 2005-06-23 Victor Co Of Japan Ltd 単語認識装置
US20070009865A1 (en) * 2004-01-08 2007-01-11 Angel Palacios Method, system, program and data set which are intended to facilitate language learning thorugh learning and comprehension of phonetics and phonology
JP2006195385A (ja) * 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd 音楽再生装置および音楽再生プログラム
WO2007080764A1 (ja) * 2006-01-12 2007-07-19 Matsushita Electric Industrial Co., Ltd. 対象音分析装置、対象音分析方法および対象音分析プログラム
JP4735544B2 (ja) 2007-01-10 2011-07-27 ヤマハ株式会社 歌唱合成のための装置およびプログラム
JP2008180794A (ja) * 2007-01-23 2008-08-07 Yamaha Corp データ再生装置
JP5025353B2 (ja) * 2007-07-03 2012-09-12 ニュアンス コミュニケーションズ,インコーポレイテッド 対話処理装置、対話処理方法及びコンピュータ・プログラム
JP2010026731A (ja) * 2008-07-17 2010-02-04 Nec Saitama Ltd 文字入力装置、文字入力方法、文字入力システム、文字入力サーバー及び端末
KR20100081587A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 로봇의 소리 인식 장치 및 그 제어 방법
JP5033824B2 (ja) * 2009-02-24 2012-09-26 株式会社野村総合研究所 処理装置
JP2012083569A (ja) 2010-10-12 2012-04-26 Yamaha Corp 歌唱合成制御装置および歌唱合成装置

Also Published As

Publication number Publication date
US9711133B2 (en) 2017-07-18
JP2016033662A (ja) 2016-03-10
US20160034446A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
JP6645063B2 (ja) ターゲット文字列の推定
EP2733696B1 (en) Voice synthesizing method and voice synthesizing apparatus
US9489938B2 (en) Sound synthesis method and sound synthesis apparatus
JP4887264B2 (ja) 音声データ検索システム
JP7448053B2 (ja) 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム
JP6485185B2 (ja) 歌唱音合成装置
JP2008275731A (ja) テキスト発音記号変換辞書作成装置、認識語彙辞書作成装置、及び音声認識装置
JP2007249212A (ja) テキスト音声合成のための方法、コンピュータプログラム及びプロセッサ
WO2015194423A1 (ja) 文字に基づく音声生成のためのコントローラ及びシステム
JP5753769B2 (ja) 音声データ検索システムおよびそのためのプログラム
JP7180587B2 (ja) 電子楽器、方法及びプログラム
JP2001092496A (ja) 連続音声認識装置および記録媒体
JP4736483B2 (ja) 歌データ入力プログラム
JP4738847B2 (ja) データ検索装置および方法
CN112002304B (zh) 语音合成方法及装置
JP4929604B2 (ja) 歌データ入力プログラム
JP2008268478A (ja) アクセント調整可能な音声合成装置
US20220044662A1 (en) Audio Information Playback Method, Audio Information Playback Device, Audio Information Generation Method and Audio Information Generation Device
JP4584511B2 (ja) 規則音声合成装置
Yamamoto et al. Livo: Sing a song with a vowel keyboard
JP6578544B1 (ja) 音声処理装置、および音声処理方法
JP5098932B2 (ja) 歌詞データ表示装置、歌詞データ表示方法、歌詞データ表示プログラム
JP4640063B2 (ja) 音声合成方法,音声合成装置,およびコンピュータプログラム
JP2020204755A (ja) 音声処理装置、および音声処理方法
JP6617441B2 (ja) 歌唱音声出力制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190709

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: 20191210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R151 Written notification of patent or utility model registration

Ref document number: 6645063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151