JPWO2019003350A1 - 歌唱音生成装置及び方法、プログラム - Google Patents

歌唱音生成装置及び方法、プログラム Download PDF

Info

Publication number
JPWO2019003350A1
JPWO2019003350A1 JP2019526039A JP2019526039A JPWO2019003350A1 JP WO2019003350 A1 JPWO2019003350 A1 JP WO2019003350A1 JP 2019526039 A JP2019526039 A JP 2019526039A JP 2019526039 A JP2019526039 A JP 2019526039A JP WO2019003350 A1 JPWO2019003350 A1 JP WO2019003350A1
Authority
JP
Japan
Prior art keywords
pitch
syllable
instruction
sounding
sound
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.)
Granted
Application number
JP2019526039A
Other languages
English (en)
Other versions
JP6809608B2 (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
Publication of JPWO2019003350A1 publication Critical patent/JPWO2019003350A1/ja
Application granted granted Critical
Publication of JP6809608B2 publication Critical patent/JP6809608B2/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
    • 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
    • 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

Landscapes

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

Abstract

生成する歌唱音の発音音高を、発音する音節に応じた期間で確定することができる歌唱音生成装置を提供する。CPU10は、音高を指定した、発音または発音解除の指示を取得し、取得された音節情報に応じて判定時間幅Tを決定し、取得された発音または発音解除の指示に基づいて、判定時間幅Tの経過後に単一の発音音高を確定し、取得された音節情報と確定された発音音高とに基づいて歌唱音を生成する。

Description

本発明は、発音指示に基づき歌唱音を生成する歌唱音生成装置及び方法、プログラムに関する。
従来、音声合成技術を用い、演奏者による演奏に応じて歌唱合成して発音する装置が知られている(特許文献1)。この装置は、歌詞データが示す歌詞における歌唱位置を演奏に応じて更新する。すなわちこの装置は、1つ1つの演奏操作に応じて、予め歌詞データにおいて定められている順番で歌詞を読み出し、演奏で指定される音高で単音の歌唱音を発音する。
特許第4735544号公報
ところで、鍵盤等の演奏操作子の操作においては、ユーザのミスタッチに起因して複数の操作子が操作され、複数の音高が指定されてしまう場合がある。上記従来の装置で、ミスタッチにより複数の発音が指示されると、意図せずに歌詞が余分に読み出されるおそれがある。仮に、指示された複数の音高のそれぞれに逐一対応して歌唱音が生成・出力されるとすると、聴衆にミスタッチが明確に認識されてしまうおそれがある。
本発明の目的は、生成する歌唱音の発音音高を、発音する音節に応じた期間で確定することができる歌唱音生成装置及び方法、プログラムを提供することである。
上記目的を達成するために本発明によれば、発音する1つの音節を示す音節情報を取得する音節取得部と、前記音節取得部により取得された音節情報に応じて待機時間を決定する決定部と、音高を指定した、発音または発音解除の指示を取得する指示取得部と、前記指示取得部により取得された発音または発音解除の指示に基づいて、前記指示取得部により発音の指示が取得されてから前記決定部により決定された待機時間の経過後に、単一の発音音高を確定する確定部と、前記音節取得部により取得された音節情報と前記確定部により確定された発音音高とに基づいて歌唱音を生成する生成部と、を有する歌唱音生成装置が提供される。
なお、上記括弧内の符号は例示である。
本発明によれば、生成する歌唱音の発音音高を、発音する音節に応じた期間で確定することができる。
歌唱音生成装置の模式図である。 電子楽器のブロック図である。 演奏が行われる場合の処理の流れの一例を示すフローチャートである。 歌詞テキストデータの一例を示す図である。 音声素片データの種類の一例を示す図である。 音素種別情報の模式図である。 音節を発音する際の経過時間に対する音量エンベロープを示す図である。 出力音生成処理のフローチャートである。
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施の形態に係る歌唱音生成装置の模式図である。この歌唱音生成装置は、一例として鍵盤楽器である電子楽器100として構成され、本体部30及びネック部31を有する。本体部30は、第1面30a、第2面30b、第3面30c、第4面30dを有する。第1面30aは、複数の鍵から成る鍵盤部KBが配設される鍵盤配設面である。第2面30bは裏面である。第2面30bにはフック36、37が設けられる。フック36、37間には不図示のストラップを架けることができ、演奏者は通常、ストラップを肩に掛けて鍵盤部KBの操作等の演奏を行う。従って、肩掛けした使用時で、特に鍵盤部KBの音階方向(鍵の配列方向)が左右方向となるとき、第1面30a及び鍵盤部KBが聴取者側を向き、第3面30c、第4面30dはそれぞれ概ね下方、上方を向く。ネック部31は本体部30の側部から延設される。ネック部31には、進み操作子34、戻し操作子35をはじめとする各種の操作子が配設される。本体部30の第4面30dには、液晶等で構成される表示ユニット33が配設される。
電子楽器100は、演奏操作子への操作に応じて歌唱模擬を行う楽器である。ここで、歌唱模擬とは、歌唱合成により人間の声を模擬した音声を出力することである。鍵盤部KBの各鍵は白鍵、黒鍵が音高順に並べられ、各鍵は、それぞれ異なる音高に対応付けられている。電子楽器100を演奏する場合、ユーザは、鍵盤部KBの所望の鍵を押下する。電子楽器100はユーザにより操作された鍵を検出し、操作された鍵に応じた音高の歌唱音を発音する。なお、発音される歌唱音の音節の順番は予め定められている。
図2は、電子楽器100のブロック図である。電子楽器100は、CPU(Central Processing Unit)10と、タイマ11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、データ記憶部14と、演奏操作子15と、他操作子16と、パラメータ値設定操作子17と、表示ユニット33と、音源19と、効果回路20と、サウンドシステム21と、通信I/F(Interface)と、バス23と、を備える。CPU10は、電子楽器100全体の制御を行う中央処理装置である。タイマ11は、時間を計測するモジュールである。ROM12は制御プログラムや各種のデータなどを格納する不揮発性のメモリである。RAM13はCPU10のワーク領域及び各種のバッファなどとして使用される揮発性のメモリである。表示ユニット33は、液晶ディスプレイパネル、有機EL(Electro-Luminescence)パネルなどの表示モジュールである。表示ユニット33は、電子楽器100の動作状態、各種設定画面、ユーザに対するメッセージなどを表示する。
演奏操作子15は、主として音高を指定する演奏操作を受け付けるモジュールである。本実施の形態では、鍵盤部KB、進み操作子34、戻し操作子35は演奏操作子15に含まれる。一例として、演奏操作子15が鍵盤である場合、演奏操作子15は、各鍵に対応するセンサのオン/オフに基づくノートオン/ノートオフ、押鍵の強さ(速さ、ベロシティ)などの演奏情報を出力する。この演奏情報は、MIDI(musical instrument digital interface)メッセージ形式であってもよい。他操作子16は、例えば、電子楽器100に関する設定など、演奏以外の設定を行うための操作ボタンや操作つまみなどの操作モジュールである。パラメータ値設定操作子17は、主として歌唱音の属性についてのパラメータを設定するために使用される、操作ボタンや操作つまみなどの操作モジュールである。このパラメータとしては、例えば、和声(Harmonics)、明るさ(Brightness)、共鳴(Resonance)、性別要素(Gender Factor)等がある。和声とは、声に含まれる倍音成分のバランスを設定するパラメータである。明るさとは、声の明暗を設定するパラメータであり、トーン変化を与える。共鳴とは、歌唱音声や楽器音の、音色や強弱を設定するパラメータである。性別要素とは、フォルマントを設定するパラメータであり、声の太さ、質感を女性的、或いは、男性的に変化させる。外部記憶装置3は、例えば、電子楽器100に接続される外部機器であり、例えば、音声データを記憶する装置である。通信I/F22は、外部機器と通信する通信モジュールである。バス23は電子楽器100における各部の間のデータ転送を行う。
データ記憶部14は、歌唱用データ14aを格納する。歌唱用データ14aには歌詞テキストデータ、音韻情報データベースなどが含まれる。歌詞テキストデータは、歌詞を記述するデータである。歌詞テキストデータには、曲ごとの歌詞が音節単位で区切られて記述されている。すなわち、歌詞テキストデータは歌詞を音節に区切った文字情報を有し、この文字情報は音節に対応する表示用の情報でもある。ここで音節とは、1回の演奏操作に応じて出力する音のまとまりである。音韻情報データベースは、音声素片データ(音節情報)を格納するデータベースである。音声素片データは音声の波形を示すデータであり、例えば、音声素片のサンプル列のスペクトルデータを波形データとして含む。また、音声素片データには、音声素片の波形のピッチを示す素片ピッチデータが含まれる。歌詞テキストデータ、音声素片データは、それぞれ、データベースにより管理されてもよい。
音源19は、複数の発音チャンネルを有するモジュールである。音源19には、CPU10の制御の基で、ユーザの演奏に応じて1つの発音チャンネルが割り当てられる。歌唱音を発音する場合、音源19は、割り当てられた発音チャンネルにおいて、データ記憶部14から演奏に対応する音声素片データを読み出して歌唱音データを生成する。効果回路20は、音源19が生成した歌唱音データに対して、パラメータ値設定操作子17により指定された音響効果を適用する。サウンドシステム21は、効果回路20による処理後の歌唱音データを、デジタル/アナログ変換器によりアナログ信号に変換する。そして、サウンドシステム21は、アナログ信号に変換された歌唱音を増幅してスピーカなどから出力する。
図3は、電子楽器100による演奏が行われる場合の処理の流れの一例を示すフローチャートである。ここでは、ユーザにより演奏曲の選択と選択した曲の演奏とが行われる場合の処理について説明する。また、説明を簡単にするため、複数の鍵が同時に操作された場合であっても、単音のみを出力する場合について説明する。この場合、同時に操作された鍵の音高のうち、最も高い音高のみについて処理してもよいし、最も低い音高のみについて処理してもよい。なお、以下に説明する処理は、例えば、CPU10がROM12やRAM13に記憶されたプログラムを実行し、電子楽器100が備える各種構成を制御する制御部として機能することにより実現される。
電源がオンにされると、CPU10は、演奏する曲を選択する操作がユーザから受け付けられるまで待つ(ステップS101)。なお、一定時間経過しても曲選択の操作がない場合は、CPU10は、デフォルトで設定されている曲が選択されたと判断してもよい。CPU10は、曲の選択を受け付けると、選択された曲の歌唱用データ14aの歌詞テキストデータを読み出す。そして、CPU10は、歌詞テキストデータに記述された先頭の音節にカーソル位置を設定する(ステップS102)。ここで、カーソルとは、次に発音する音節の位置を示す仮想的な指標である。次に、CPU10は、鍵盤部KBの操作に基づくノートオンを検出したか否かを判定する(ステップS103)。CPU10は、ノートオンが検出されない場合、ノートオフを検出したか否かを判別する(ステップS107)。一方、ノートオンを検出した場合、すなわち新たな押鍵を検出した場合は、CPU10は、音を出力中であればその音の出力を停止する(ステップS104)。次にCPU10は、ノートオンに応じた歌唱音を発音する出力音生成処理を実行する(ステップS105)。
この出力音生成処理を略説する。CPU10はまず、カーソル位置に対応する音節の音声素片データを読み出し、ノートオンに対応する音高で、読み出した音声素片データが示す波形の音を出力する。具体的には、CPU10は、音声素片データに含まれる素片ピッチデータが示す音高と、操作された鍵に対応する音高との差分を求め、この差分に相当する周波数だけ波形データが示すスペクトル分布を周波数軸方向に移動させる。これにより、電子楽器100は、操作された鍵に対応する音高で歌唱音を出力することができる。次に、CPU10は、カーソル位置(読出位置)を更新し(ステップS106)、処理をステップS107に進める。
ここで、ステップS105、S106の処理に係るカーソル位置の決定と歌唱音の発音について、具体例を用いて説明する。なお、ステップS105の出力音生成処理の詳細については図8でも説明する。まず、カーソル位置の更新について説明する。図4は、歌詞テキストデータの一例を示す図である。図4の例では、歌詞テキストデータには、5つの音節c1〜c5の歌詞が記述されている。各字「は」、「る」、「よ」、「こ」、「い」は、日本語のひらがなの1字を示し、各字が1音節に対応する。CPU10は、音節単位でカーソル位置を更新する。例えば、カーソルが音節c3に位置している場合、「よ」に対応する音声素片データをデータ記憶部14から読み出し、「よ」の歌唱音を発音する。CPU10は、「よ」の発音が終了すると、次の音節c4にカーソル位置を移動させる。このように、CPU10は、ノートオンに応じて次の音節にカーソル位置を順次移動させる。
次に、歌唱音の発音について説明する。図5は、音声素片データの種類の一例を示す図である。CPU10は、カーソル位置に対応する音節を発音させるために、音韻情報データベースから、音節に対応する音声素片データを抽出する。音声素片データには、音素連鎖データと、定常部分データの2種類が存在する。音素連鎖データとは、「無音(#)から子音」、「子音から母音」、「母音から(次の音節の)子音又は母音」など、発音が変化する際の音声素片を示すデータである。定常部分データは、母音の発音が継続する際の音声素片を示すデータである。例えば、カーソル位置が音節c1の「は(ha)」に設定されている場合、音源19は、「無音→子音h」に対応する音声連鎖データ「#−h」と、「子音h→母音a」に対応する音声連鎖データ「h−a」と、「母音a」に対応する定常部分データ「a」と、を選択する。そして、CPU10は、演奏が開始されて押鍵を検出すると、音声連鎖データ「#−h」、音声連鎖データ「h−a」、定常部分データ「a」に基づく歌唱音を、操作された鍵に応じた音高、操作に応じたベロシティで出力する。このようにして、カーソル位置の決定と歌唱音の発音が実行される。
図3のステップS107でノートオフを検出した場合は、CPU10は、音を出力中であればその音の出力を停止して(ステップS108)、処理をステップS109に進める。一方、ノートオフが検出されない場合は、CPU10は処理をステップS109に進める。ステップS109では、CPU10は、演奏が終了したか否かを判別する。そしてCPU10は、演奏を終了していない場合は処理をステップS103に戻す。一方、演奏を終了した場合は、CPU10は、音を出力中であればその音の出力を停止して(ステップS110)、図3に示す処理を終了する。なお、CPU10は、演奏を終了したか否かを、例えば、選択曲の最後尾の音節が発音されたか否か、あるいは他操作子16により演奏を終了する操作が行われた否か、などに基づき判別できる。
図6は、音素種別情報の模式図である。ROM12には図6に示す音素種別情報Qが記憶されている。音素種別情報Qは、歌唱音声に包含され得る各音素の種別を指定する。具体的には、音素種別情報Qは、音声合成処理に適用される音声素片を構成する各音素を第1種別q1と第2種別q2とに区別する。ここで、音節によって母音開始遅延量が異なる。母音開始遅延量は、音節の発音開始から当該音節における母音の発音開始までの遅延量であり、母音の直前に位置する子音の継続長(子音区間長)とも換言され得る。例えば、母音自体(あ[a],い[i],う[M],え[e],お[o])は母音開始遅延量が0である([]内はX-SAMPAに準拠した音素表記)。第1種別q1は、母音開始遅延量が相対的に大きい音素(例えば母音開始遅延量が所定の閾値を上回る音素)の種別であり、第2種別q2は、母音開始遅延量が第1種別q1の音素と比較して相対的に小さい音素(例えば母音開始遅延量が閾値を下回る音素)の種別である。例えば、半母音(/w/,/y/),鼻音(/m/,/n/),破擦音(/ts/),摩擦音(/s/,/f/),拗音(/kja/,/kju/,/kjo/)等の子音は第1種別q1に分類され、母音(/a/,/i/,/u/),流音(/r/,/l/),破裂音(/t/,/k/,/p/)等の音素は第2種別q2に分類される。なお、例えば2個の母音を連続させた2重母音については、後方の母音にアクセントがある場合には第1種別q1に分類し、前方の母音にアクセントがある場合には第2種別q2に分類するという取扱いを採用してもよい。
CPU10は、音素種別情報Qを参照し、読み出された音節情報で指定される音節(複数の音素で構成される場合は最初の音素)に該当する音素種別を特定する。例えばCPU10は、音節の最初の音素が第1種別q1、第2種別q2、母音の何れに該当するかを判定する。最初の音素は、音声素片データ中の音素連鎖データから取得可能である。なお、歌唱用データ14aには、複数の音節情報のそれぞれに、図6に示す音素種別情報が対応付けられていてもよい。その場合、CPU10は、読み出された音節情報で指定される音節に該当する音素種別を、当該音節情報に対応付けられた音素種別情報により特定してもよい。
図8でも述べるが、CPU10は、音素種別を特定(抽出)できた場合、その音素種別に基づいて判定時間幅Tを決定する(例えば、母音開始遅延量に応じて決定)。またCPU10は、音素種別を特定できなかった場合、読み出された音節情報が示す音量エンベロープの波形データに基づき判定時間幅Tを決定する。ここで、音素種別を特定(抽出)できないケースには、例えば、電子楽器100に音素種別情報Qが記憶されておらず、且つ、読み出された音節情報に音素種別情報が対応付けられていないケースが該当する。このほか音素種別を特定(抽出)できないケースには、音素種別情報Qは記憶されているが、読み出された音節情報に対応する音素種別が音素種別情報Qに登録されておらず、且つ読み出された音節情報に音素種別情報が対応付けられていないケース等が該当する。
図7は、音節を発音する際の経過時間に対する音量エンベロープを示す図である。CPU10は、音素種別を特定できなかった場合、例えば、読み出された音節情報が示す音量エンベロープの波形が立ち上がりからピークに達するまでの時間に基づき判定時間幅Tを決定する。波形の立ち上がり時点t1からピーク時点t3までの時間をtPとする。CPU10は、時間tPの所定割合(例えば、70%)に相当する、時点t1から時点t2までの時間を、判定時間幅Tと決定する。
図8は、図3のステップS105で実行される出力音生成処理のフローチャートである。まず、CPU10は、カーソル位置に対応する音節の音節情報(音声素片データ)を読み出す(ステップS201)。カーソル位置に対応する音節が、今回発音する音節である。従ってCPU10は、複数の音節情報の中から、予め定められた順番で、発音する1つの音節を示す音節情報を取得する。次にCPU10は、読み出した音節情報から音素種別を特定可能か否かを判別する(ステップS202)。ここでは上述したように、CPU10は、読み出された音節情報で指定される音節に該当する音素種別が音素種別情報Q(図6)に登録されているか、または音節情報に音素種別情報が対応付けられている場合に、音素種別を特定可能と判別する。なお、何らかの事情により音素種別情報Qを参照できない場合も、音節情報で指定される音節に該当する音素種別が音素種別情報Qに登録されていない場合に該当する。
その判別の結果、CPU10は、音素種別を特定可能な場合は音節情報を特定し(ステップS203)、特定した音節情報に基づいて判定時間幅Tを決定する(ステップS204)。例えばCPU10は、発音する音節(最初の音素)の母音開始遅延量に応じて判定時間幅Tを決定する。具体的には、CPU10は、音素種別が母音のときは母音開始遅延量が0であるので、判定時間幅Tを0と決定する。CPU10は、音素種別が第2種別q2のときは判定時間幅Tを所定値に決定し、音素種別が第1種別q1のときは、母音開始遅延量が比較的大きいため、判定時間幅Tを、上記所定値よりも大きい値に決定する。その後、処理はステップS206に進む。
ステップS202の判別の結果、読み出した音節情報から音素種別を特定可能でない場合は、CPU10は、読み出された音節情報から取得される波形データに基づいて判定時間幅Tを決定する(ステップS205)。すなわち、上述したように、CPU10は、音節情報が示す音量エンベロープの波形(図7)における立ち上がりからピークに達するまでの時間tPの所定割合(例えば、70%)を、判定時間幅Tと決定する。なお、所定割合は例示の値に限定されない。また、判定時間幅Tは時間tPより短ければよく、時間tPから所定の時間を差し引いた値を判定時間幅Tとして決定してもよい。その後、処理はステップS206に進む。
ステップS206では、CPU10は、ステップS103におけるノートオンの検出タイミングと上記決定した判定時間幅Tとに基づいて、ミスタッチを判定するための判定タイミングを算出する。判定時間幅T(待機時間)は、誤操作の判定のために設けられる期間であり、ノートオンの検出タイミングから判定時間幅Tが経過した時点が判定タイミングとなる。なお、ステップS103でノートオンが検出された時に計時が開始されている。ノートオンの検出タイミングから判定タイミングまでの間に音高を複数指定する操作が行われた場合、CPU10は、ミスタッチがあったと判定できる。次に、CPU10は、読み出した音節情報から波形データを抽出する(ステップS207)。次にCPU10は、ノートオンに対応する音高で、抽出した波形データが示す波形の音を生成し、出力する。具体的には、CPU10は、音声素片データに含まれる素片ピッチデータが示す音高と、ノートオンに対応する音高との差分を求め、この差分に相当する周波数だけ波形データが示すスペクトル分布を周波数軸方向に移動させる。これにより、電子楽器100は、操作された鍵に対応する音高で歌唱音を出力することができる。
次にCPU10は、演奏情報を蓄積するための記憶領域をRAM13(またはデータ記憶部14でもよい)に確保する(ステップS209)。この記憶領域は、判定タイミングが到来するまでになされた演奏操作子15の演奏操作を示す情報(ノートオン、ノートオフ)を記憶するための領域である。演奏操作子15の演奏操作は、音高を指定した、発音または発音解除の指示に該当し、CPU10は、この指示を取得する指示取得部に該当する。次にCPU10は、ステップS103で検出したノートオンに関する情報(音高とタイミング)を記憶領域に記憶する(ステップS210)。そしてCPU10は、判定タイミングが到来したか否かを判別する(ステップS211)。
その判別の結果、判定タイミングが到来していない場合は、CPU10は、新たな演奏操作(ノートオンまたはノートオフ)が検出されたか否かを判別する(ステップS212)。そしてCPU10は、新たな演奏操作が検出されない場合は、処理をステップS211に戻す(ステップS212)。また、新たな演奏操作が検出された場合は、CPU10は、新たな演奏操作を示す演奏情報を記憶領域に記憶して(ステップS213)、処理をステップS211に戻す。従って、新たな発音指示または発音解除指示が検出される毎に、その情報が蓄積される。
ステップS211の判別の結果、判定タイミングが到来した場合は、CPU10は、処理をステップS214に進める。CPU10は、ステップS214〜S217で、ステップS103で検出されたノートオンと、判定タイミングの到来までに検出されたノートオンまたはノートオフとに基づいて、単一の発音音高を確定する処理を実行する。まず、CPU10は、記憶領域に蓄積された演奏情報に基づいて、音の出力を直ちに停止すべきか否かを判別する(ステップS214)。具体的には、CPU10は、ノートオン状態の(押下され離操作されていない)鍵が存在していない場合に、音の出力を直ちに停止すべきと判定する。音の出力を直ちに停止すべきと判定した場合(ステップS215:YES)、CPU10は、出力中の音を停止し(ステップS216)、図8に示す処理を終了する。一方、音の出力を直ちに停止すべきでないと判定した場合は、CPU10は、記憶領域に記憶された演奏情報に基づいて、出力すべき音高を検出する(ステップS217)。これにより、出力すべき単一の音高が確定する。
ここで、出力すべき音高の検出について具体的に説明する。まず、ステップS103では、いずれの音高の発音の指示も維持されていない場合(全鍵が離鍵状態)において検出された発音の指示(ノートオン)であり、このノートオンの音高を「第1の音高」と呼称する。従って、ステップS208では第1の音高で歌唱音の生成が開始される。また、第1の音高を指定する発音の指示の後で、判定タイミングの到来前に、第1の音高とは異なる「第2の音高」を指定する発音の指示(ノートオン)があった場合を考える。
一般に、演奏時のミスタッチの訂正が必要となるパターンは複数想定される。ここでは、一例として、第1パターン、第2パターンについて説明する。第1パターンは、所望鍵(例えば、C3)を操作しようとして、別の鍵(例えば、D3)を押下操作してしまうパターンである。ユーザは、ミスタッチを是正するために、最初に行った押下操作(ノートオン)を短い時間で取り止めて(ノートオフ)、改めて所望鍵を押下(ノートオン)することが想定される。そして、ユーザは通常、所望鍵を押下した後はその操作を所望の時間長維持する。第2パターンは、所望鍵(例えば、C3)を操作しようとして、隣接する鍵(例えば、D3)と所望鍵を同時に押下操作してしまうパターンである。ユーザは、ミスタッチを是正するために、最初に押下した2つの鍵に対する操作(ノートオン)のうち、所望鍵に対する操作を維持したまま、誤操作の鍵のみを離操作(ノートオフ)することが想定される。
CPU10は、記憶領域に記憶された演奏情報を参照し、判定タイミングの到来までに最初のノートオンとは別の音高を指定するノートオンが検出された場合は、判定タイミングの到来時点で押鍵状態を維持した鍵を、所望鍵であると判定する。そしてCPU10は、所望鍵と判定された鍵に対応する音高(例えば、C3)を、出力すべき音高として検出する。このほか、最初は所望鍵を押下したが、その後、所望鍵の押下を継続したまま一時的に他の鍵を押下して離す、というミスタッチも考えられる。この場合は、最初のノートオンの音高が出力すべき音高として検出される。なお、最初に押下した鍵が離鍵されると共に、最初の鍵とは異なる鍵が2以上押下され、それら2以上の鍵が判定タイミングの到来時点で押下状態となっている場合も考えられる。この場合は、押下状態となっている2以上の鍵のうち最後に押下された鍵の音高が、出力すべき音高として検出されるとしてもよい。
なお、ミスタッチにおいて、所望鍵から空間的に離間した鍵を操作してしまうことは稀であることが想定される。そのため、ミスタッチの判定対象とする操作を、隣接する鍵の操作に限定してもよい。この場合、隣接しない鍵の操作は、新たに行われた正常な操作として扱ってよい。つまり、離間した鍵の操作は、ステップS103の処理で検出された操作として扱ってもよい。また、上述の所望鍵の判定方法は一例であり、CPU10は、演奏情報に含まれるノートオン、ノートオフ、ベロシティなど任意の情報を参照して、所望鍵を判定してもよい。
次に、CPU10は、出力中の音高を修正すべきか否かを判別する(ステップS218)。具体的には、CPU10は、ステップS208で生成した音高と、ステップS217で検出した音高とが一致しないか否かを確認し、両者が一致しない場合に、出力中の音高を修正すべきと判別する。そしてCPU10は、出力中の音高を修正すべきでないと判別した場合は、図8に示す処理を終了させる。この場合、音高修正はなされない。一方、出力中の音高を修正すべきと判別した場合は、CPU10は、出力中の音の音高を、ステップS217で検出した音高に変更(修正)するよう調整して(ステップS219)、図8に示す処理を終了させる。例えばCPU10は、ピッチシフトにより音高を変更し、このピッチシフトにおいては、シフトする音高の差分に相当する周波数だけ、波形データが示すスペクトル分布を周波数軸方向に移動させる。CPU10は例えば、20セント単位など、段階的に音高を変更してもよい。
このように、図8に示す処理によれば、判定タイミングの到来までは、ノートオンがあっても新たな音節が読み出されることがない。すなわち、誤操作の訂正操作の全てが歌詞の読み出しに反映されて意図しない先の歌詞までが読み出されてしまうということがない。特に、単一の発音音高を確定する処理(ステップS214〜S217)を要約すると次のようになる。
まず、第1の音高を指示する発音の指示から判定タイミングの到来までの間に第1の音高とは異なる第2の音高を指示する発音の指示が取得され且つ、その第2の音高を指示する発音の指示が判定タイミングにおいて維持されているときは、第2の音高が、出力すべき音高として検出される。この場合、生成する歌唱音の発音音高が第1の音高から第2の音高に修正される(S219)。これにより、判定時間幅Tの範囲内で、操作し直しによる音高修正が可能となる。ミスタッチに対して、発音する音節(すなわち歌詞)を変えないまま、消音せずに短時間で音高を修正できるので、聴感上、ミスタッチがあったことを感じさせにくい。
一方、第1の音高を指示する発音の指示から判定タイミングの到来までの間に第1の音高とは異なる第2の音高を指示する発音の指示が取得された場合であっても、判定タイミングの到来時に第1の音高を指示する発音の指示が維持され且つ第2の音高を指示する発音の指示が維持されていないときは、生成する歌唱音の発音音高は修正されない。これにより、判定時間幅Tの範囲内でミス操作をしてもそれが判定タイミングの到来前に解消されたなら元の音高が維持される。
本実施の形態によれば、CPU10は、取得された音節情報に応じて判定時間幅Tを決定し、取得された発音または発音解除の指示に基づいて、判定時間幅Tの経過後に単一の発音音高を確定し、取得された音節情報と確定された発音音高とに基づいて歌唱音を生成する。これにより、生成する歌唱音の発音音高を、発音する音節に応じた期間で確定することができる。
特に、CPU10は、判定時間幅Tを、取得された音節情報が示す音素種別に基づき決定するか、または取得された音節情報が示す音量エンベロープの波形に基づき決定する。これにより、例えば、音程感覚が薄い音節情報に対してミス操作の是正機会を長くすることで、小さな違和感にて正規の音高を発音できる。すなわち、母音や母音開始遅延量が小さい音節は、ミスタッチ是正のための音高修正が目立ちやすい。一方、子音区間は母音区間に比べて音程感が薄い。そこでCPU10は、音素種別に基づき判定時間幅Tを決定する場合、母音開始遅延量に応じて判定時間幅Tを決定する。すなわちCPU10は、母音開始遅延量が大きい音素については、母音開始遅延量が小さい音素に対して相対的に判定時間幅Tを長く設定する。これにより、ミスタッチを目立ちにくくしつつも、母音開始遅延量が大きい音節に関してはミスタッチの是正機会を長く確保できる。
また、音節情報が示す音量エンベロープの波形(図7)に基づいて判定時間幅Tを決定する場合、CPU10は、波形の立ち上がりからピークに達するまでの時間tPよりも短い時間を判定時間幅Tとして決定する。これにより、発音音量が十分に立ち上がる前に生成音高を修正可能にして、ミスタッチを目立ちにくくすることができる。
またCPU10は、最初のノートオンと、判定タイミングの到来までに検出されたノートオンまたはノートオフとに基づいて、単一の発音音高を確定する。これにより、判定タイミングの到来前における操作のやり直しによる音高修正が可能であると共に、一時的なミス操作で音高が逐一修正されることを回避できる。
なお、判定時間幅Tは絶対時間で規定することに限定されない。例えば、テンポに応じた相対的な時間であってもよい。また、判定時間幅Tを音素種別に基づき決定する場合、第1種別q1と第2種別q2のような2段階に限定されず、音素種類毎、あるいは音素種類グループ毎に異なる値の判定時間幅Tを決定してもよい。
なお、本実施の形態では、演奏操作子15が鍵盤である場合について説明したが、演奏操作子15は、ギターのように弦が並べて配置された形状であってもよい。また、音高を指定した発音または発音解除の指示は、鍵のような操作子で入力される構成に限定されない。また、演奏操作子15は、鍵盤や弦、或いは、音高指定用の複数のボタンをタッチパネルに表示したものであってもよい。例えば、アプリ上でのタッチ操作により音高が指定される場合、ノートオン操作が継続したまま音高が変化するというミス操作も想定されるからである。また、演奏操作子15は、複数の異なる音高を入力するための操作受付部が空間的に並べて配置されたものであってもよい。また、MIDI形式のデータを扱う場合について説明したがこれに限られない。例えば、CPU10は、マイク入力などの音声データを解析し、発音のタイミングや音高を抽出することで、発音または発音解除の指示を取得してもよい。従って、本発明の歌唱音生成装置が適用される装置は鍵盤楽器に限らない。
また、本実施の形態では、歌唱される歌詞として日本語の歌詞を例示したがこれには限らず、他言語であってもよい。1文字と1音節とは必ずしも対応しない。例えば、濁点を有する「だ」(da)は、「た」(ta)と「"」の2文字が1音節に対応する。また、例えば英語の歌詞が「september」の場合、「sep」「tem」「ber」の3音節となる。「sep」は1音節であるが、「s」「e」「p」の3文字が1音節に対応する。CPU10は、演奏操作子15をユーザが操作する度に、各音節を、操作された鍵の音高で順次発音する。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
なお、本発明を達成するためのソフトウェアによって表される制御プログラムを記憶した記憶媒体を、本楽器に読み出すことによって同様の効果を奏するようにしてもよく、その場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した、非一過性のコンピュータ読み取り可能な記録媒体は本発明を構成することになる。また、プログラムコードを伝送媒体等を介して供給してもよく、その場合は、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。「非一過性のコンピュータ読み取り可能な記録媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含む。
10 CPU(音節取得部、決定部、指示取得部、確定部、生成部)
100 電子楽器




Claims (8)

  1. 発音する1つの音節を示す音節情報を取得する音節取得部と、
    前記音節取得部により取得された音節情報に応じて待機時間を決定する決定部と、
    音高を指定した、発音または発音解除の指示を取得する指示取得部と、
    前記指示取得部により取得された発音または発音解除の指示に基づいて、前記指示取得部により発音の指示が取得されてから前記決定部により決定された待機時間の経過後に、単一の発音音高を確定する確定部と、
    前記音節取得部により取得された音節情報と前記確定部により確定された発音音高とに基づいて歌唱音を生成する生成部と、を有する歌唱音生成装置。
  2. 前記生成部は、いずれの音高の発音の指示も維持されていない場合における第1の音高を指示する発音の指示に基づき前記第1の音高で前記歌唱音の生成を開始し、前記第1の音高を指示する発音の指示から前記待機時間の経過までの間に前記第1の音高とは異なる第2の音高を指示する発音の指示が取得され且つ、前記第2の音高を指示する発音の指示が前記待機時間の経過したタイミングで維持されているときは、生成する前記歌唱音の発音音高を前記第1の音高から前記第2の音高に修正する請求項1に記載の歌唱音生成装置。
  3. 前記生成部は、いずれの音高の発音の指示も維持されていない場合における第1の音高を指示する発音の指示に基づき前記第1の音高で前記歌唱音の生成を開始し、前記第1の音高を指示する発音の指示から前記待機時間の経過までの間に前記第1の音高とは異なる第2の音高を指示する発音の指示が取得された場合であっても、前記待機時間の経過したタイミングで、前記第1の音高を指示する発音の指示が維持され且つ前記第2の音高を指示する発音の指示が維持されていないときは、生成する前記歌唱音の発音音高を修正しない請求項1または2に記載の歌唱音生成装置。
  4. 前記決定部は、前記待機時間を、前記取得された音節情報が示す音素種別に基づき決定する請求項1〜3のいずれか1項に記載の歌唱音生成装置。
  5. 前記決定部は、前記待機時間を、前記取得された音節情報が示す音量エンベロープの波形に基づき決定する請求項1〜3のいずれか1項に記載の歌唱音生成装置。
  6. 前記音節取得部は、複数の音節情報の中から、予め定められた順番で、前記1つの音節を示す音節情報を取得する請求項1〜5のいずれか1項に記載の歌唱音生成装置。
  7. 発音する1つの音節を示す音節情報を取得する音節取得ステップと、
    前記音節取得ステップにより取得された音節情報に応じて待機時間を決定する決定ステップと、
    音高を指定した、発音または発音解除の指示を取得する指示取得ステップと、
    前記指示取得ステップにより取得された発音または発音解除の指示に基づいて、前記指示取得ステップにより発音の指示が取得されてから、前記決定ステップにより決定された待機時間の経過後に、単一の発音音高を確定する確定ステップと、
    前記音節取得ステップにより取得された音節情報と前記確定ステップにより確定された発音音高とに基づいて歌唱音を生成する生成ステップと、を有する歌唱音生成方法。
  8. 発音する1つの音節を示す音節情報を取得する音節取得ステップと、
    前記音節取得ステップにより取得された音節情報に応じて待機時間を決定する決定ステップと、
    音高を指定した、発音または発音解除の指示を取得する指示取得ステップと、
    前記指示取得ステップにより取得された発音または発音解除の指示に基づいて、前記指示取得ステップにより発音の指示が取得されてから、前記決定ステップにより決定された待機時間の経過後に、単一の発音音高を確定する確定ステップと、
    前記音節取得ステップにより取得された音節情報と前記確定ステップにより確定された発音音高とに基づいて歌唱音を生成する生成ステップと、をコンピュータに実行させるプログラム。


JP2019526039A 2017-06-28 2017-06-28 歌唱音生成装置及び方法、プログラム Active JP6809608B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/023786 WO2019003350A1 (ja) 2017-06-28 2017-06-28 歌唱音生成装置及び方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2019003350A1 true JPWO2019003350A1 (ja) 2020-01-16
JP6809608B2 JP6809608B2 (ja) 2021-01-06

Family

ID=64742886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019526039A Active JP6809608B2 (ja) 2017-06-28 2017-06-28 歌唱音生成装置及び方法、プログラム

Country Status (3)

Country Link
JP (1) JP6809608B2 (ja)
CN (1) CN110709922B (ja)
WO (1) WO2019003350A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113593520B (zh) * 2021-09-08 2024-05-17 广州虎牙科技有限公司 歌声合成方法及装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04349497A (ja) * 1991-05-27 1992-12-03 Yamaha Corp 電子楽器
JP2014098801A (ja) * 2012-11-14 2014-05-29 Yamaha Corp 音声合成装置
JP2016050985A (ja) * 2014-08-29 2016-04-11 ヤマハ株式会社 演奏情報編集装置
WO2016152717A1 (ja) * 2015-03-25 2016-09-29 ヤマハ株式会社 音制御装置、音制御方法、および音制御プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4747434B2 (ja) * 2001-04-18 2011-08-17 日本電気株式会社 音声合成方法、音声合成装置、半導体装置及び音声合成プログラム
JP4296290B2 (ja) * 2003-10-22 2009-07-15 株式会社豊田中央研究所 音声認識装置、音声認識方法及びプログラム
US8249873B2 (en) * 2005-08-12 2012-08-21 Avaya Inc. Tonal correction of speech
JP6236757B2 (ja) * 2012-09-20 2017-11-29 ヤマハ株式会社 歌唱合成装置および歌唱合成プログラム
JP6171711B2 (ja) * 2013-08-09 2017-08-02 ヤマハ株式会社 音声解析装置および音声解析方法
JP6208056B2 (ja) * 2014-03-17 2017-10-04 株式会社東芝 発音表示装置、発音表示方法、及びプログラム
JP2016080827A (ja) * 2014-10-15 2016-05-16 ヤマハ株式会社 音韻情報合成装置および音声合成装置
JP6539887B2 (ja) * 2014-10-24 2019-07-10 株式会社コルグ 楽音評価装置及びプログラム
CN106205571A (zh) * 2016-06-24 2016-12-07 腾讯科技(深圳)有限公司 一种歌声语音的处理方法和装置
CN106157979B (zh) * 2016-06-24 2019-10-08 广州酷狗计算机科技有限公司 一种获取人声音高数据的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04349497A (ja) * 1991-05-27 1992-12-03 Yamaha Corp 電子楽器
JP2014098801A (ja) * 2012-11-14 2014-05-29 Yamaha Corp 音声合成装置
JP2016050985A (ja) * 2014-08-29 2016-04-11 ヤマハ株式会社 演奏情報編集装置
WO2016152717A1 (ja) * 2015-03-25 2016-09-29 ヤマハ株式会社 音制御装置、音制御方法、および音制御プログラム

Also Published As

Publication number Publication date
CN110709922B (zh) 2023-05-26
JP6809608B2 (ja) 2021-01-06
CN110709922A (zh) 2020-01-17
WO2019003350A1 (ja) 2019-01-03

Similar Documents

Publication Publication Date Title
US10002604B2 (en) Voice synthesizing method and voice synthesizing apparatus
JP6705272B2 (ja) 発音制御装置、発音制御方法、及びプログラム
CN107430849B (zh) 声音控制装置、声音控制方法和存储声音控制程序的计算机可读记录介质
CN108053814B (zh) 一种模拟用户歌声的语音合成系统及方法
US20220076651A1 (en) Electronic musical instrument, method, and storage medium
US20220076658A1 (en) Electronic musical instrument, method, and storage medium
JP2022071098A (ja) 電子楽器、方法及びプログラム
EP3010013A2 (en) Phoneme information synthesis device, voice synthesis device, and phoneme information synthesis method
JP4929604B2 (ja) 歌データ入力プログラム
JP6809608B2 (ja) 歌唱音生成装置及び方法、プログラム
JP6167503B2 (ja) 音声合成装置
JP2013210501A (ja) 素片登録装置,音声合成装置,及びプログラム
JP4180548B2 (ja) 声域告知機能付きカラオケ装置
WO2019239971A1 (ja) 情報処理方法、情報処理装置およびプログラム
CN110720122B (zh) 音发生装置及方法
JP6617441B2 (ja) 歌唱音声出力制御装置
KR101427666B1 (ko) 악보 편집 서비스 제공 방법 및 장치
JP2018151547A (ja) 発音装置及び発音制御方法
JP6299141B2 (ja) 楽音情報生成装置および楽音情報生成方法
JP2018151548A (ja) 発音装置及びループ区間設定方法
JP7158331B2 (ja) カラオケ装置
JP5953743B2 (ja) 音声合成装置及びプログラム
JP2016177277A (ja) 発音装置、発音方法および発音プログラム
JP6732216B2 (ja) 歌詞表示装置及び歌詞表示装置における歌詞表示方法、電子楽器
WO2018198380A1 (ja) 歌詞表示装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201123

R151 Written notification of patent or utility model registration

Ref document number: 6809608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151