IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特許7537419子音長変更装置、電子楽器、楽器システム、方法及びプログラム
<>
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図1
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図2
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図3
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図4
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図5A
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図5B
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図6
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図7
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図8
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図9
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図10
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図11
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図12
  • 特許-子音長変更装置、電子楽器、楽器システム、方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】子音長変更装置、電子楽器、楽器システム、方法及びプログラム
(51)【国際特許分類】
   G10L 13/00 20060101AFI20240814BHJP
   G10H 7/08 20060101ALI20240814BHJP
   G10L 13/10 20130101ALI20240814BHJP
【FI】
G10L13/00 100Y
G10H7/08
G10L13/10 111Z
G10L13/10 114
【請求項の数】 8
(21)【出願番号】P 2021207131
(22)【出願日】2021-12-21
(65)【公開番号】P2023092120
(43)【公開日】2023-07-03
【審査請求日】2022-12-21
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【弁理士】
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】段城 真
(72)【発明者】
【氏名】太田 文章
(72)【発明者】
【氏名】中村 厚士
【審査官】大石 剛
(56)【参考文献】
【文献】国際公開第2016/152717(WO,A1)
【文献】特開平10-319993(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00
G10H 7/08
G10L 13/10
(57)【特許請求の範囲】
【請求項1】
1つのユーザ操作に応じて指定された比率又は再生速度のパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、少なくとも1つのプロセッサを備える、
子音長変更装置。
【請求項2】
前記パラメータは、比率を含み、
前記少なくとも1つのプロセッサは、
子音の長さを変更するための操作子への前記ユーザ操作に応じて指定された前記比率に基づいて、複数の子音の長さをそれぞれ元の長さよりも短い長さに変更する、
請求項1に記載の子音長変更装置。
【請求項3】
前記パラメータは、前記再生速度を指定するパラメータであり、
前記少なくとも1つのプロセッサは、前記再生速度を指定するパラメータに基づいて、
第1の子音に対応するデータの再生速度と第2の子音に対応するデータの再生速度を、基準の再生速度よりも速くする、
請求項1に記載の子音長変更装置。
【請求項4】
前記少なくとも1つのプロセッサは、前記複数の子音の長さの差が小さくなる処理を実行する、
請求項2又は請求項3に記載の子音長変更装置。
【請求項5】
演奏操作子と、
1つのユーザ操作に応じて指定された比率又は再生速度のパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、少なくとも1つのプロセッサを備える、
電子楽器。
【請求項6】
複数の子音の長さがそれぞれ変更される比率又は再生速度のパラメータを出力する子音長変更装置と、
前記子音長変更装置により出力された前記パラメータを取得する取得部と、取得された前記パラメータに基づいて、歌声音声出力データを出力する制御部と、を含む電子楽器と、を備える、
楽器システム。
【請求項7】
子音長変更装置の少なくとも1つのプロセッサが、
1つのユーザ操作に応じて指定された比率又は再生速度のパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、
方法。
【請求項8】
子音長変更装置の少なくとも1つのプロセッサが、
1つのユーザ操作に応じて指定された比率又は再生速度のパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、
処理を実行する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書の開示は、子音長変更装置、電子楽器、楽器システム、方法及びプログラムに関する。
【背景技術】
【0002】
ユーザ(演奏者)による押鍵操作に応じて歌詞を進行させ、歌詞に対応した合成音声を出力する電子楽器が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-184158号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この種の電子楽器で歌詞を進行させながら鍵盤演奏する場合、歌詞に含まれる音節の種類によって発音の立ち上がりが異なる。発音の立ち上がりが音節毎に異なる場合、例えば、ユーザにとって、一定のリズムを維持して歌詞を進行させながら鍵盤演奏することが難しい。
【0005】
本発明は上記の事情に鑑みてなされたものであり、その目的とするところは、音節毎の発音の立ち上がりの差を小さく抑えることができる子音長変更装置、電子楽器、楽器システム、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一実施形態に係る子音長変更装置は、1つのユーザ操作に応じて指定された比率又は再生速度のパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、少なくとも1つのプロセッサを備える。
【発明の効果】
【0007】
本発明の一実施形態によれば、子音長変更装置、電子楽器、楽器システム、方法及びプログラムにおいて、音節毎の発音の立ち上がりの差を小さく抑えることができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態に係る楽器システムの構成を示すブロック図である。
図2】本発明の一実施形態に係る電子楽器の構成を示すブロック図である。
図3】本発明の一実施形態に係る情報処理装置の構成を示すブロック図である。
図4】本発明の一実施形態において音声合成処理を実行する機能ブロック群を示す図である。
図5A】本発明の一実施形態において歌詞パラメータに含まれるフレームの情報を説明するための図である。
図5B】本発明の一実施形態において奏される効果を説明するための図である。
図6】本発明の一実施形態において情報処理装置のプロセッサにより実行されるプログラムの処理を示すフローチャートである。
図7図6のステップS102の歌声発音モード時の処理の詳細を示すサブルーチンである。
図8図7のステップS202の押鍵処理の詳細を示すサブルーチンである。
図9】本発明の実施例1に係る子音オフセット処理であって、図8のステップS310及びS311の子音オフセット処理の詳細を示すサブルーチンである。
図10】本発明の実施例2に係る子音オフセット処理であって、図8のステップS310及びS311の子音オフセット処理の詳細を示すサブルーチンである。
図11図7のステップS203の発音処理の詳細を示すサブルーチンである。
図12】本発明の変形例に係る、図7のステップS202の押鍵処理の詳細を示すサブルーチンである。
図13図12のステップS703及びS704の再生レート取得処理の詳細を示すサブルーチンである。
【発明を実施するための形態】
【0009】
図面を参照して、本発明の一実施形態に係る楽器システムについて詳細に説明する。以下の説明では、楽器システムの一例として、電子楽器と情報処理装置とを備えるシステムを挙げる。
【0010】
図1は、本発明の一実施形態に係る楽器システム1の構成を示すブロック図である。図1に示されるように、楽器システム1は、電子楽器10と情報処理装置20とを備える。電子楽器10と情報処理装置20は、無線又は有線により相互通信可能に接続される。
【0011】
本実施形態において、電子楽器10は、鍵盤110を備える電子キーボードである。電子楽器10は、電子キーボード以外の電子鍵盤楽器であってもよく、また、電子打楽器、電子管楽器、電子弦楽器であってもよい。
【0012】
情報処理装置20は、タブレット端末である。情報処理装置20は、例えば電子楽器10の譜面台150に載置される。情報処理装置20は、スマートフォン、ノートPC(Personal Computer)、据え置き型のPC、携帯ゲーム機等の他の形態の装置であってもよい。
【0013】
図2は、本発明の一実施形態に係る電子楽器10の構成を示すブロック図である。電子楽器10は、ハードウェア構成として、プロセッサ100、RAM(Random Access Memory)102、フラッシュROM(Read Only Memory)104、LCD(Liquid Crystal Display)106、LCDコントローラ108、鍵盤110、スイッチパネル112、キースキャナ114、ネットワークインタフェース116、音源LSI(Large Scale Integration)118、D/Aコンバータ120、アンプ122及びスピーカ124を備える。電子楽器10の各部は、バス126により接続される。
【0014】
プロセッサ100は、フラッシュROM104に格納されたプログラム及びデータを読み出し、RAM102をワークエリアとして用いることにより、電子楽器10を統括的に制御する。
【0015】
プロセッサ100は、例えばシングルプロセッサ又はマルチプロセッサであり、少なくとも1つのプロセッサを含む。複数のプロセッサを含む構成とした場合、プロセッサ100は、単一の装置としてパッケージ化されたものであってもよく、電子楽器10内で物理的に分離した複数の装置で構成されてもよい。
【0016】
RAM102は、データやプログラムを一時的に保持する。RAM102には、フラッシュROM104から読み出されたプログラムやデータ、その他、通信に必要なデータが保持される。
【0017】
フラッシュROM104は、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性の半導体メモリであり、二次記憶装置又は補助記憶装置としての役割を担う。
【0018】
LCD106は、LCDコントローラ108により駆動される。プロセッサ100による制御信号に従ってLCDコントローラ108がLCD106を駆動すると、LCD106に、制御信号に応じた画面が表示される。LCD106は、有機EL(Electro Luminescence)、LED(Light Emitting Diode)等の表示装置に置き換えてもよい。LCD106は、タッチパネルであってもよい。この場合、タッチパネルはスイッチパネル112の一部でもある。
【0019】
鍵盤110は、複数の演奏操作子として複数の白鍵及び黒鍵を有する鍵盤である。各鍵は、それぞれ異なる音高と対応付けられている。
【0020】
スイッチパネル112は、メカニカル方式、静電容量無接点方式、メンブレン方式等のスイッチ、ボタン、ノブ、ロータリエンコーダ、ホイール、タッチパネル等の操作子を含む。
【0021】
キースキャナ114は、鍵盤110に対する押鍵及び離鍵並びスイッチパネル112に対する操作を監視する。キースキャナ114は、例えばユーザによる押鍵操作を検出すると、押鍵イベントを生成してプロセッサ100に出力する。押鍵イベントには、例えば押鍵操作に係る鍵の音高データが含まれる。キースキャナ114は、例えばユーザによる離鍵操作を検出すると、押鍵操作に応じた音の発音を終了させるための離鍵イベントを生成してプロセッサ100に出力する。
【0022】
プロセッサ100は、フラッシュROM104に記憶された複数の波形データのなかから、対応する波形データの読み出しを音源LSI118に指示する。読み出し対象の波形データは、例えば、ユーザによるスイッチパネル112に対する操作によって選択された音色及び押鍵イベントに応じて決まる。
【0023】
音源LSI118は、プロセッサ100の指示のもと、フラッシュROM104から読み出した波形データに基づいて楽音を生成する。音源LSI118は、例えば128のジェネレータセクションを備えており、最大で128の楽音を同時に発音することができる。
【0024】
音源LSI118により生成された楽音のデジタル音声信号は、D/Aコンバータ120によりアナログ信号に変換された後、アンプ122により増幅されて、スピーカ124に出力される。これにより、押鍵された音高の楽音が再生される。
【0025】
ネットワークインタフェース116は、情報処理装置20をはじめとする種々の外部装置と通信するためのインタフェースである。プロセッサ100は、例えば、ネットワークインタフェース116を介して接続された情報処理装置20に対してイベントを送信し、また、情報処理装置20から歌声音声出力データ500(図4参照、詳しくは後述)を受信することができる。ネットワークインタフェース116を介して受信された歌声音声出力データ500は、D/Aコンバータ120によりアナログ信号に変換された後、アンプ122により増幅されて、スピーカ124に出力される。これにより、鍵盤操作に応じた歌声が再生される。
【0026】
図3は、本発明の一実施形態に係る情報処理装置20の構成を示すブロック図である。情報処理装置20は、プロセッサ200、RAM202、フラッシュROM204、LCD206、LCDコントローラ208、操作部210、ネットワークインタフェース212、D/Aコンバータ214、アンプ216及びスピーカ218を備える。情報処理装置20の各部は、バス220により接続される。
【0027】
プロセッサ200は、フラッシュROM204に格納されたプログラム及びデータを読み出し、RAM202をワークエリアとして用いることにより、情報処理装置20を統括的に制御する。
【0028】
プロセッサ200は、例えばシングルプロセッサ又はマルチプロセッサであり、少なくとも1つのプロセッサを含む。複数のプロセッサを含む構成とした場合、プロセッサ200は、単一の装置としてパッケージ化されたものであってもよく、情報処理装置20内で物理的に分離した複数の装置で構成されてもよい。
【0029】
LCD206は、LCDコントローラ208により駆動される。プロセッサ200による制御信号に従ってLCDコントローラ208がLCD206を駆動すると、LCD206に、制御信号に応じた画面が表示される。LCD206は、タッチパネルであってもよい。この場合、タッチパネルは操作部210の一部でもある。
【0030】
操作部210は、メカニカル方式、静電容量無接点方式、メンブレン方式等のスイッチ、ボタン等の操作子を含む。ユーザは、操作部210を操作することにより、情報処理装置20のモードを設定することができる。
【0031】
設定可能なモードには、例えば、通常モードと歌声発音モードがある。通常モードは、ギターやピアノ等の楽器の音色で楽音を発音するモードである。歌声発音モードは、電子楽器10にて行われた押鍵操作に応じて歌詞を進行させ、歌詞に対応した合成音声を出力するモードである。
【0032】
歌声発音モードには、モノモードとポリモードの2つのモードがある。モノモードは、同時に一音しか発音できないモードである。ポリモードは、同時に2音以上を同時に発音できるモードである。本実施形態において、モノモードでは、例えば機械学習により学習結果として設定された音響モデルに基づき、人の声を模した歌声で歌詞が発音される。また、ポリモードでは、ギターやピアノ等の楽器の音色で歌詞が発音される。なお、モノモードにおいて、ギターやピアノ等の楽器の音色で歌詞が発音されるように、情報処理装置20の設定を変更してもよく、また、ポリモードにおいて、人の声を模した歌声で歌詞が発音されるように、情報処理装置20の設定を変更してもよい。
【0033】
ネットワークインタフェース212は、電子楽器10をはじめとする種々の外部装置と通信するためのインタフェースである。プロセッサ200は、例えば、ネットワークインタフェース212を介して接続された電子楽器10からイベントを受信し、また、電子楽器10に対して歌声音声出力データ500を送信することができる。
【0034】
図4は、音声合成処理を実行する機能ブロック群300を示す。機能ブロック群300は、コンピュータの一例であるプロセッサ200がプログラム(ソフトウェア)を実行することにより実現されてもよく、また、一部又は全部が情報処理装置20に実装された専用の論理回路等のハードウェア(例えば音声合成処理用のLSI)により実現されてもよい。
【0035】
図4に示されるように、情報処理装置20は、音声合成処理を実行する機能ブロックとして、処理部310、音響モデル部320及び発声モデル部330を備える。
【0036】
鍵盤110の何れかの鍵が操作されると、電子楽器10は、押鍵操作又は離鍵操作に応じたイベント(押鍵イベント又は離鍵イベント)を生成して情報処理装置20に送信する。情報処理装置20は、電子楽器10より受信したイベントに基づいて、機能ブロック群300による音声合成処理を行って歌声音声出力データ500を生成する。生成された歌声音声出力データ500は、D/Aコンバータ214によりアナログ信号に変換された後、アンプ216により増幅されて、スピーカ218に出力される。これにより、押鍵操作に応じた歌声が情報処理装置20で再生される。
【0037】
なお、上記の歌声は、電子楽器10で再生されてもよい。この場合、機能ブロック群300により生成された歌声音声出力データ500は、電子楽器10に送信される。電子楽器10が情報処理装置20より受信した歌声音声出力データ500をスピーカ124から出力することにより、押鍵操作に応じた歌声が再生される。
【0038】
本実施形態では、情報処理装置20が単体で音声合成処理を実行するが、本発明の構成はこれに限らない。別の実施形態では、電子楽器10が単体で音声合成処理を実行してもよい。この場合、電子楽器10が機能ブロック群300(より詳細には、各機能ブロックを実現するためのプログラムや専用のハードウッド構成等)の全てを備える。
【0039】
更に別の実施形態では、電子楽器10と情報処理装置20とが音声合成処理を分担して実行してもよい。例えば、情報処理装置20が処理部310による処理を実行し、電子楽器10が音響モデル部320及び発声モデル部330による処理を実行する。情報処理装置20が処理部310及び音響モデル部320による処理を実行し、電子楽器10が発声モデル部330による処理を実行してもよい。電子楽器10と情報処理装置20とが、それぞれ何れの処理を分担して実行するかは、適宜設計することができる。このように、音声合成処理を実行するにあたり、電子楽器10や情報処理装置20の態様には自由度があり、各種の設計変更が可能である。
【0040】
音声合成処理では、1つのユーザ操作に応じて指定されたパラメータに基づいて、歌詞の情報の一例である歌詞データ420内の音節に含まれる子音の長さを変更する(より詳細には、子音を含む各音節における母音の発音開始タイミングを早める)ことにより、歌詞に含まれる音節毎の発音の立ち上がりの差が小さく抑えられる。すなわち、情報処理装置20(又は電子楽器10若しくは楽器システム1)は、子音長変更装置の一例であり、1つのユーザ操作に応じて指定されたパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、処理を実行する、少なくとも1つのプロセッサを備える。
【0041】
本実施形態において、シングルプロセッサ又はマルチプロセッサであるプロセッサ200が、「少なくとも1つのプロセッサ」に該当する。電子楽器10が単体で音声合成処理を実行する場合、シングルプロセッサ又はマルチプロセッサであるプロセッサ100が、「少なくとも1つのプロセッサ」に該当する。楽器システム1が全体として音声合成処理を実行する場合(言い換えると、楽器システム1を子音長変更装置の一例とした場合)、プロセッサ100とプロセッサ200の一方又は両方が、「少なくとも1つのプロセッサ」に該当する。
【0042】
図4に示されるように、機能ブロック群300に対し、鍵盤110の何れかの鍵に対する操作に応じた音声データ400が入力される。機能ブロック群300は、音響モデル部320が出力する音響特徴量系列に基づいて、歌い手の歌声を推論した歌声音声出力データ500を出力する。音響モデルは、テキストである言語特徴量系列と音声である音響特徴量系列との関係を表現する統計モデルである。すなわち、機能ブロック群300は、音声データ400に対応する歌声音声出力データ500を、音響モデル部320に設定された音響モデルという統計モデルを用いて予測することにより合成する、統計的音声合成処理を実行する。
【0043】
機能ブロック群300は、例えば、伴奏(ソングデータ)の再生時に、対応するソング再生位置に該当するソング波形データを出力してもよい。ここで、ソングデータは、伴奏のデータ(例えば、1つ以上の音についての、音高、音色、発音タイミング等のデータ)、伴奏及びメロディのデータに該当してもよく、例えばバックトラックデータと呼称されてもよい。
【0044】
音声データ400は、例えば音高データ410と歌詞データ420を含む。音声データ400は、当該歌詞に対応するソングデータを演奏するための情報(MIDI(Musical Instrument Digital Interface)データ等)を含んでもよい。
【0045】
音高データ410は、鍵盤110の何れかの鍵に対する操作に応じて生成されたイベントに含まれる。すなわち、音高データ410は、操作された鍵に対応付けられた音高を示す。
【0046】
歌詞データ420は、フレーズ単位の情報を含む。歌詞データ420は、歌詞情報422を含む。歌詞情報422は、例えば歌詞のテキストである。歌詞情報422は、例えば、フレーズ内の音節のタイプ(開始音節、中間音節、終了音節等)、音価、テンポ、拍子等の情報を含む。歌詞情報422に含まれるテキストは、例えば、プレーンテキストであってもよく、また、楽譜記述言語(例えばMusicXML)に準拠したフォーマットのテキストであってもよい。歌詞データ420は、音節単位の情報であってもよい。
【0047】
歌詞データ420は、更に、歌詞パラメータ424を含む。歌詞パラメータ424は、例えばフレーズに含まれる音節毎の発音(歌声合成)に関するパラメータである。
【0048】
歌詞パラメータ424は、音節毎の情報として、例えば、音節開始フレーム、母音開始フレーム、母音終了フレーム、音節終了フレームを含む。これらの情報は、音節に対応する音を発音する際の時間軸上のフレームの位置を示す情報である。フレームは、音素(音素列)の構成単位であってもよいし、その他の時間単位で読み替えられてもよい。歌詞パラメータ424は、各フレーム(音節開始フレーム、母音開始フレーム等)の基準となるタイミング(又はオフセット)を示す発音タイミングを含んでもよい。
【0049】
図5Aは、歌詞パラメータ424に含まれるフレームの情報を説明するための図である。図5Aでは、「か」「し」「お」という3つの音節を含むフレーズを例に取る。なお、本実施形態では「かしお」というフレーズは姓(氏)を示すものであり、カシオ(登録商標)を示すものではない。図5Aでは、各音節をなすフレームを一列に並ぶ複数の矩形で示す。これは、各音節が複数のフレームで構成されることを示す。なお、図5Aはあくまで概略図であり、各音節の実際のフレーム数を示すものではない。また、詳しくは後述するが、図5Aには、子音長調節ツマミ210Aが値ゼロ(調整値:0%)に設定されていることを示す模式図も付す。子音長調節ツマミ210Aは、例えば情報処理装置20のタッチパネル画面に表示されるツマミの形態の操作子である。
【0050】
なお、本実施形態では、発声モデル部330が、フレーム毎に、例えば225サンプル(samples)ずつの歌声音声出力データ500を出力する。各フレームは、5mmsecの時間幅を有する。そのため、1サンプルは約0.0268mmsecである。従って、歌声音声出力データ500のサンプリング周波数は、1/0.0268mmsec≒44.1kHzである。
【0051】
図5Aに示されるように、音節に対応する音(例えば「か」、「し」、「お」の何れか一つ)は、音節開始フレームF1から発音が開始され、音節終了フレームF4で発音が終了される。音節のうち母音に対応する音は、母音開始フレームF2から発音が開始され、母音終了フレームF3で発音が終了される。例えば、音節終了フレームF4と、次の音節の音節開始フレームF1の時間軸上の位置は、同じである。また、音節に対応する音が子音を含む場合、子音は、通常、音節開始フレームF1から発音が開始され、母音開始フレームF2の直前で発音が終了される。すなわち、母音開始フレームF2は、音節における母音の発音開始タイミングに相当する。
【0052】
図5Aでは、便宜上、「か」の音節に対応するフレームF1~F4に対し、下付きの「1」を付し、「し」の音節に対応するフレームF1~F4に対し、下付きの「2」を付し、「お」の音節に対応するフレームF1~F4に対し、下付きの「3」を付す。図5Aに示されるように、音節開始フレームF1から母音開始フレームF2までの間、「か」の子音であるkが発音され、母音開始フレームF2から母音終了フレームF3までの間、「か」の母音であるaが発音される。音節開始フレームF1から母音開始フレームF2までの間、「し」の子音であるshが発音され、母音開始フレームF2から母音終了フレームF3までの間、「し」の母音であるiが発音される。母音開始フレームF2から母音終了フレームF3までの間、「お」の母音であるoが発音される。母音開始フレームF2は、子音が含まれる、或る音節における母音の第1発音開始タイミングに相当する。母音開始フレームF2は、上記或る音節とは異なる音節における母音の第2発音開始タイミングに相当する。
【0053】
音節に含まれる子音の長さは、音響特徴量に影響を与える要因であるコンテキスト(例えばモデルとする歌い手の歌声の特徴や歌唱スタイル、前後の歌詞や音高等)に応じて異なる。また、子音の長さは、異なる音(例えば「か」と「し」)の間でも異なり、また、同じ音であっても(例えば同じ「か」であっても)コンテキストの影響で異なる。
【0054】
本実施形態では、子音長変更装置として動作する情報処理装置20が、子音を含む音節のフレームを制御することにより、歌詞に含まれる音節毎の発音の立ち上がりの差を小さく抑える。
【0055】
機能ブロック群300の概略動作について以下に説明する。
【0056】
処理部310には、音声データ400(すなわち音高データ410及び歌詞データ420)が入力される。処理部310は、例えばテキスト解析部と呼称されてもよい。
【0057】
音高データ410は、鍵盤110の何れかの鍵に対する操作に応じて、電子楽器10から処理部310に入力される。歌詞データ420は、例えば、ネットワーク上のサーバや電子楽器10から取得されて、処理部310に入力される。歌詞データ420は、情報処理装置20が予め保持したものであってもよい。
【0058】
処理部310は、入力される音声データ400を解析する。より詳細には、処理部310は、音高データ410及び歌詞データ420を含む音声データ400に対応する音素、品詞、単語等を表現する言語特徴量系列430を解析して、音響モデル部320に出力する。
【0059】
音響モデル部320には、言語特徴量系列430と学習結果440が入力されている。学習結果440は、例えばネットワーク上のサーバより取得される。
【0060】
音響モデル部320は、入力された言語特徴量系列430及び学習結果440に対応する音響特徴量系列450を推定して出力する。この音響特徴量系列450は、推定情報である音源パラメータ452及びスペクトルパラメータ454を含む。すなわち、音響モデル部320は、処理部310より入力される言語特徴量系列430に基づいて、例えば機械学習により学習結果440として設定された音響モデルを用いて、生成確率を最大にするような音源パラメータ452及びスペクトルパラメータ454の推定値を出力する。音響モデルは、機械学習により学習された学習済みモデル(学習結果440)であり、機械学習を行った結果算出されたモデルパラメータにより表現される。
【0061】
音源パラメータ452は、人間の声帯をモデル化した情報(パラメータ)である。音源パラメータ452として、例えば、人間の音声のピッチ周波数を示す基本周波数(F0)及びパワー値が採用される。
【0062】
スペクトルパラメータ454は、人間の声道をモデル化した情報(パラメータ)である。スペクトルパラメータ454として、例えば、人間の声道特性である複数のフォルマント周波数を効率的にモデル化することができる線スペクトル対(Line Spectral Pairs:LSP)又は線スペクトル周波数(Line Spectral Frequencies:LSF)が採用される。
【0063】
発声モデル部330は、音源生成部332及び合成フィルタ部334を備える。音響モデル部320より出力される音源パラメータ452、スペクトルパラメータ454は、それぞれ、音源生成部332、合成フィルタ部334に入力される。
【0064】
音源生成部332は、人間の声帯をモデル化した機能ブロックである。音源生成部332は、音響モデル部320より順次入力される音源パラメータ452の系列に基づいて、例えば、音源パラメータ452に含まれる基本周波数(F0)及びパワー値で周期的に繰り返されるパルス列(有声音音素の場合)又は音源パラメータ452に含まれるパワー値を有するホワイトノイズ(無声音音素の場合)若しくはそれらが混合された信号からなる音源信号460を生成して、合成フィルタ部334に出力する。
【0065】
合成フィルタ部334は、人間の声道をモデル化した機能ブロックである。合成フィルタ部334は、音響モデル部320より順次入力されるスペクトルパラメータ454の系列に基づいて、声道をモデル化するデジタルフィルタを形成する。このデジタルフィルタは、音源生成部332より入力される音源信号460を励振源信号として励振される。これにより、合成フィルタ部334から歌声音声出力データ500が出力される。
【0066】
音源パラメータ452及びスペクトルパラメータ454は、複数の子音の長さ(本実施形態では、フレーズに含まれる各音節に含まれる子音の長さ)をそれぞれ変更する処理(後述する押鍵処理であり、図8及び図12参照)が施されたパラメータである。すなわち、発声モデル部330は、複数の子音の長さがそれぞれ変更されたパラメータに基づいて、歌声音声出力データ500を出力する。
【0067】
電子楽器10が発声モデル部330を備える(より詳細な例示として、電子楽器10が機能ブロック群300の全てを備える)場合を考える。この場合、電子楽器10は、「複数の子音の長さがそれぞれ変更されたパラメータに基づいて、歌声音声出力データ500を出力する発声モデル部330を備える」構成といえる。
【0068】
情報処理装置20が処理部310及び音響モデル部320を備え、電子楽器10が発声モデル部330を備える場合を考える。この場合、楽器システム1は、「複数の子音の長さがそれぞれ変更されたパラメータを出力する情報処理装置20(子音長変更装置の一例)と、情報処理装置20により出力された上記パラメータを取得する取得部と、取得されたパラメータに基づいて、歌声音声出力データ500を出力する発声モデル部330と、を含む電子楽器10と、を備える」構成といえる。プロセッサ100は、例えばネットワークインタフェース116と協働することにより、上記取得部として動作する。
【0069】
歌声音声出力データ500は、D/Aコンバータ120によりアナログ信号に変換された後、アンプ122により増幅されて、スピーカ124に出力される。これにより、鍵盤操作に応じた歌声が再生される。
【0070】
図6は、プロセッサ200が、機能ブロック群300を含む情報処理装置20の各部と協働して実行する処理のフローチャートである。例えば、情報処理装置20のシステムが起動されると、図6に示される処理の実行が開始され、情報処理装置20のシステムが終了されると、図6に示される処理の実行が終了される。
【0071】
図6に示されるように、プロセッサ200は、歌声発音モードに設定されているか否かを判定する(ステップS101)。歌声発音モードに設定されている場合(ステップS101:YES)、プロセッサ200は、歌声発音モードを実行する(ステップS102)。歌声発音モードに設定されていない場合(ステップS101:NO)、プロセッサ100は、通常モードを実行する(ステップS103)。電子楽器10のシステムが終了されるまで(すなわちステップS104でYES判定となるまで)、図6に示される処理の実行は継続する。
【0072】
ステップS102において歌声発音モードを実行することにより、歌詞(ここではフレーズ)に含まれる各音節の発音の立ち上がりの差が小さく抑えられる。そのため、ユーザは、例えば、一定のリズムを維持して歌詞を進行させながら鍵盤演奏しやすくなる。
【0073】
附言するに、歌声発音モードにおいて、ユーザによる操作子(例えば子音長調節ツマミ210A)に対する回転操作で、フレーズ内の音節に含まれる複数の子音の長さを変更することにより、フレーズに含まれる各音節の発音の立ち上がりの差が小さく抑えられる。従って、情報処理装置20のモードを歌声発音モードに設定する操作は、子音の長さを変更するためのユーザ操作の一例である。プロセッサ200は、所定の制御信号(歌声発音モードへの設定操作に応じて生成された制御信号)に従い、歌声発音モードへ遷移しこれを実行することにより、子音の長さを変更する。
【0074】
図7は、図6のステップS102の歌声発音モード時の処理の詳細を示すサブルーチンである。
【0075】
プロセッサ200は、鍵盤110の何れかの鍵に対する押鍵操作を検出する(ステップS201)。例えば、電子楽器10から押鍵イベントを受信すると、プロセッサ200は、押鍵イベントと同じ音高データを含む離鍵イベントを受信するまでの間、押鍵操作が行われていることを検出する。
【0076】
押鍵操作が検出される場合(ステップS201:YES)、プロセッサ200は、押鍵処理(ステップS202)、発音処理(ステップS203)を順に実行する。これにより、情報処理装置20において、音節毎の発音の立ち上がりの差が小さく抑えられた歌声が発音される。
【0077】
押鍵操作が検出されない場合(ステップS201:NO)、プロセッサ200は、押鍵中の鍵に対する離鍵操作を検出する(ステップS204)。例えば、電子楽器10から離鍵イベントを受信すると、プロセッサ200は、離鍵操作を検出する。離鍵操作が検出された場合(ステップS204:YES)、プロセッサ200は、離鍵された鍵に対応する歌声の発音を終了するための消音処理を実行する(ステップS205)。
【0078】
なお、本実施形態に係る歌声発音モードでは、鍵盤110の何れかの鍵(第1鍵)に対する押鍵があると、押鍵された鍵に対応する音高でフレーズの再生が開始され、第1鍵が押鍵されている限り(言い換えると、第1鍵が離鍵されるまで)、フレーズ内の音節が順次再生される。附言するに、第1鍵が押鍵されている限り、フレーズが繰り返し再生される。図5Aの例では、第1鍵が押鍵されている限り、「か」、「し」、「お」の3つの音節が順次かつ繰り返し再生される。
【0079】
このように、本実施形態では、第1鍵が押鍵されている限り、フレーズが繰り返し再生されるが、本発明の構成はこれに限らない。例えば、第1鍵が押鍵されると、一回限り、フレーズ内の音節が順次再生されてもよい。この場合、例えば、第1鍵が押鍵されている限り、フレーズ内の最後の音節(より詳細には最後の音節の母音)が持続的に再生されてもよい。また、第1鍵に対する押鍵が継続している場合でも、例えば押鍵時のベロシティに応じた期間経過後にフレーズが消音されてもよい。
【0080】
また、第1鍵が押鍵されると、フレーズ内の最初の音節が再生され、第1鍵に続く第2鍵が押鍵されると、フレーズ内の次の音節が再生されてもよい。図5Aの例を用いて説明する。この場合、第1鍵が押鍵されると「か」が再生され、第2鍵が押鍵されると「し」が再生され、第2鍵に続く第3鍵が押鍵されると「お」が再生される。すなわち、1回の押鍵で、フレーズ単位でなく音節単位で再生されてもよい。なお、各音節は、押鍵されてから再生が開始され、離鍵されると再生が停止されてもよく(すなわち押鍵中は持続的に再生されてもよく)、また、押鍵時のベロシティに応じた期間経過後に消音されてもよい。歌声発音モードの実行により、音節毎の発音の立ち上がりの差が小さく抑えられるため、ユーザは、例えば、一定のリズムを維持してフレーズに含まれる音節を1つ1つ進行させながら鍵盤演奏しやすくなる。
【0081】
図8は、図7のステップS202の押鍵処理の詳細を示すサブルーチンである。図8に示される押鍵処理は、例えば、プロセッサ200の制御により実現される処理部310により実行される。
【0082】
プロセッサ200は、再生対象のフレーズを選択する(ステップS301)。再生対象のフレーズは、例えばユーザによる操作により予め指定される。
【0083】
プロセッサ200は、フレーズの再生を準備する(ステップS302)。例えば、プロセッサ200は、ステップS301において選択されたフレーズに対応する歌詞データ420を含む音声データ400を読み込む。
【0084】
本実施形態では、各音節内で時間軸上に並ぶ各フレームに対して順に値が割り当てられている。例えば、音節内の最初のフレームに値1が割り当てられており、これに続く2番目のフレームに値2が割り当てられている。プロセッサ200は、音節内における時間軸上の現在の発音位置を示す現在フレーム位置CFPを値1に設定する(ステップS303)。図5Aを例に取ると、ここで設定される値1は、「か」の音節の最初のフレームを示す。
【0085】
なお、再生対象のフレーズに対して図7のステップS202の押鍵処理を初めて実行する際、ステップS301~S303の処理が実行される。それ以外(例えばステップS202の押鍵処理の2回目以降の実行時)では、ステップS301~S303の処理はスキップされる。
【0086】
プロセッサ200は、発音対象の音節がフレーズ内の次の音節に進行するか否かを判定する(ステップS304)。プロセッサ200は、例えば、現在フレーム位置CFPが母音終了フレームF3(言い換えると、母音終了フレームF3に割り当てられた値)に到達すると、次の音節に進行すると判定する。再生対象のフレーズに対してステップS304の処理を初めて実行する際(すなわち、第1鍵に対する押鍵後に初めてフレーズ内の最初の音節を再生する際)にも、次の音節に進行すると判定する。なお、発音対象の音節がフレーズ内の最後の音節である場合、フレーズ内の最初の音節がフレーズ内の次の音節に該当する。
【0087】
次の音節に進行しない場合(ステップS304:NO)、プロセッサ200は、現在フレーム位置CFPよりも時間軸上で後のフレーム位置となる次フレーム位置NFPを計算する(ステップS305)。次フレーム位置NFPは、例えば次式により計算される。
【0088】
次フレーム位置NFP=現在フレーム位置CFP+再生レート/225
【0089】
上記式の再生レートは、フレーズの再生速度を示す。ユーザは、例えば操作部210を操作することにより、再生レートを指定することができる。例えば、現在フレーム位置CFPが値10であり、再生レートが値450で示される速度であれば、次フレーム位置NFPとして値12が計算される。すなわち、現在フレーム位置CFPよりも2つ後のフレーム位置が次フレーム位置NFPとして計算される。再生レートは、再生速度と呼称されてもよい。
【0090】
プロセッサ200は、ステップS305において計算された次フレーム位置NFPが、現在の音節の母音終了フレームF3より後のフレーム位置であるか否かを判定する(ステップS306)。母音終了フレームF3より後のフレーム位置でない場合(ステップS306:NO)、プロセッサ200は、次フレーム位置NFPを現在フレーム位置CFPとして設定する(ステップS307)。母音終了フレームF3より後のフレーム位置である場合(ステップS306:YES)、プロセッサ200は、母音終了フレームF3を現在フレーム位置CFPとして設定する(ステップS308)。
【0091】
プロセッサ200は、ステップS307及びS308の実行後、図7のステップS203の発音処理を実行する。第1鍵が押鍵されている限り、図6のステップS101、S102及びS104の処理が繰り返し実行される。より詳細には、図8に示される押鍵処理では、次の音節に進行しない間、ステップS304~S307が繰り返し実行される。すなわち、現在の音節内のフレーム位置が進行する。現在の音節内のフレーム位置が進行した結果、ステップS308において母音終了フレームF3が現在フレーム位置CFPとして設定される。その後に実行されるステップS304において、プロセッサ200は、音節が進行すると判定する。
【0092】
次の音節に進行する場合(ステップS304:YES)、プロセッサ200は、発音対象であった現在の音節がフレーズ内の最後の音節であったか否かを判定する(ステップS309)。フレーズ内の最後の音節であれば(ステップS309:YES)、プロセッサ200は、フレーズ内の最初の音節に対して子音オフセット処理を実行する(ステップS310)。フレーズ内の最後の音節でなければ(ステップS309:NO)、プロセッサ200は、フレーズ内の次の音節に対して子音オフセット処理を実行する(ステップS311)。なお、再生対象のフレーズに対してステップS309の処理を初めて実行する際(すなわち、第1鍵に対する押鍵後に初めてフレーズ内の最初の音節を再生する際)にも、ステップS309においてYES判定となる。
【0093】
図9及び図10を用いてステップS310及びS311の子音オフセット処理を2例説明する。図9は、実施例1に係る子音オフセット処理の詳細を示すサブルーチンである。図10は、実施例2に係る子音オフセット処理の詳細を示すサブルーチンである。以下においては、ステップS310の子音オフセット処理を説明する。この説明において「最初の音節」を「次の音節」に読み替えることにより、ステップS311の子音オフセット処理を説明することができる。重複説明を避けるため、ステップS311の子音オフセット処理の説明は省略する。
【0094】
図9に示されるように、実施例1では、プロセッサ200は、フレーズ内の最初の音節の音節開始フレームF1と母音開始フレームF2を取得する(ステップS401)。
【0095】
プロセッサ200は、ステップS401にて取得された音節開始フレームF1と母音開始フレームF2を用いて、最初の音節に含まれる子音の長さを変更するための値を取得する(ステップS402)。例示的には、プロセッサ200は、次式を用いて子音の長さを変更するためのオフセット値OFを計算する。
【0096】
オフセット値OF=(母音開始フレームF2-音節開始フレームF1)×調整値/100%
【0097】
上記式の調整値は、パラメータの一例(より詳細には、比率を含むパラメータの一例)であり、例えば0~100(単位:%)の値(言い換えると比率)を取る。操作部210(例えば子音長調節ツマミ210A)は、子音の長さを変更するための操作子の一例であり、ユーザ操作に応じて調整値(0%~100%までの比率)を指定する。高い調整値に指定されるほどオフセット値OFが大きくなる。言い換えると、値の大きい調整値に指定されるほど音節内の子音の長さが短くなる。
【0098】
すなわち、プロセッサ200は、1つのユーザ操作(例えば子音長調節ツマミ210Aに対する一度のユーザ操作)に応じて指定されたパラメータ(上記の調整値)に基づいて、複数の子音の長さをそれぞれ変更する処理を実行する。附言するに、プロセッサ200は、子音の長さを変更するための操作子(子音長調節ツマミ210A)へのユーザ操作に応じて指定された比率(例えば0%~100%までの比率)に基づいて、複数の子音の長さをそれぞれ元の長さよりも短い長さに変更する処理を実行する。フレーズ内の複数の子音の長さをユーザの好みに合わせて一度のユーザ操作で一律に変更することにより、ユーザにとってより好ましいフレーズの発音処理を実行することができる。
【0099】
音節が子音を含まない場合(例えば「あ」行の音節の場合)、音節開始フレームF1と母音開始フレームF2とが同じであり、(母音開始フレームF2-音節開始フレームF1)の値がゼロになる。そのため、子音を含まない音節については、オフセット値OFを適用しても、発音される音は何も変わらない。すなわち、プロセッサ200は、1つのユーザ操作に応じて指定されたパラメータに拘わらず、子音が含まれない音節における母音の発音開始タイミングを変更しない。
【0100】
図10に示されるように、実施例2では、プロセッサ200は、フレーズ内の最初の音節の音節開始フレームF1と母音開始フレームF2を取得する(ステップS501)。
【0101】
プロセッサ200は、再生レートが基準レート以上であるか否かを判定する(ステップS502)。
【0102】
再生レートが基準レート以上の場合(ステップS502:YES)、プロセッサ200は、ステップS501にて取得された音節開始フレームF1と母音開始フレームF2を用いて、最初の音節に含まれる子音の長さを変更するための値を取得する(ステップS503)。例示的には、プロセッサ200は、次式を用いて子音の長さを変更するためのオフセット値OFを計算する。
【0103】
オフセット値OF=(母音開始フレームF2-音節開始フレームF1)×10×(再生レート-基準レート)/(255-基準レート)
【0104】
上記式の基準レートは、歌声を標準速度(例えば1.0倍の速度)で再生するレートであり、既定の値を取る。基準レートに対して再生レートが速いほどオフセット値OFが大きくなる。言い換えると、速い再生レートに指定されるほど音節内の子音の長さが短くなる。
【0105】
再生レートが基準レート未満の場合(ステップS502:NO)、プロセッサ200は、オフセット値OFをゼロに設定する(ステップS504)。この場合、オフセット値OFが適用される音節は、子音の長さが元の長さと変わらない。
【0106】
図8の説明に戻る。プロセッサ200は、最初の音節の音節開始フレームF1からステップS310にて計算されたオフセット値OFに応じてオフセットしたフレーム位置を次フレーム位置NFPとして設定し(ステップS312)、この次フレーム位置NFPを現在フレーム位置CFPとして設定して(ステップS307)、図8の押鍵処理を終了する。
【0107】
ステップS313においてもステップS312と同様に、プロセッサ200は、次の音節の音節開始フレームF1からステップS311にて計算されたオフセット値OFに応じてオフセットしたフレーム位置を次フレーム位置NFPとして設定し、ステップS307において、この次フレーム位置NFPを現在フレーム位置CFPとして設定して、図8の押鍵処理を終了する。
【0108】
図5Bは、本発明の一実施形態において奏される効果を説明するための図である。図5Bでは、図8の押鍵処理を実行することにより奏される効果として、図5Aの例と比べて、「か」と「し」のフレーズに含まれる音節の子音の長さの差が短くなっていることを示す。また、図5Bには、子音長調節ツマミ210Aが値50(調整値:50%)に設定されていることを示す模式図も付す。なお、図5A及び図5Bにおいては、上記効果を視覚的に示す都合上、「か」の音節開始フレームF1から母音開始フレームF2までのフレームにハッチングを付すとともに、「し」の音節開始フレームF1から母音開始フレームF2までのフレームにハッチングを付す。
【0109】
図5Aの例において、「か」の音節開始フレームF1が「か」の音節内の最初のフレームであり、「か」の母音開始フレームF2が「か」の音節内の11番目のフレームであり、また、「し」の音節開始フレームF1が「し」の音節内の最初のフレームであり、「し」の母音開始フレームF2が「し」の音節内の21番目のフレームである。そのため、「か」の音節の子音と「し」の音節の子音との長さの差は、10フレーム分(例えば50mmsec)ある。ここで、ユーザが子音長調節ツマミ210Aを図5Aに示される値ゼロ(調整値:0%)から図5Bに示される値50(調整値:50%)まで回転操作することにより、調整値を50%に設定した場合を考える。
【0110】
この場合、例えば、図9のステップS402において計算される音節「か」に対するオフセット値OFは、(11-1)×50%/100%、すなわち値5である。音節「し」に対するオフセット値OFは、(21-1)×50%/100%、すなわち値10である。
【0111】
そのため、ステップS312及びS307の実行により、「か」の音節については、母音開始フレームF2(11番目のフレーム)から5フレーム前へオフセットした位置、すなわち、音節内の6番目のフレームが現在フレーム位置CFPとして設定される。これにより、「か」の音節に含まれる子音が再生される期間が、値11から値1を減算した10フレーム分の期間から、値11から値6を減算した5フレーム分の期間に縮められる。また、ステップS313及びS307の実行により、「し」の音節については、母音開始フレームF2(21番目のフレーム)から10フレーム前へオフセットした位置、すなわち、音節内の11番目のフレームが現在フレーム位置CFPとして設定される。これにより、「し」の音節に含まれる子音が再生される期間が、値21から値1を減算した20フレーム分の期間から、値21から値11を減算した10フレーム分の期間に縮められる。
【0112】
すなわち、図5Bに示されるように、「か」と「し」の音節に含まれる子音の長さの差が、10フレーム分の長さ(例えば50mmsec)から5フレーム分の長さ(例えば25mmsec)に縮められる。すなわち、プロセッサ200は、1つのユーザ操作(例えば子音長調節ツマミ210Aを値ゼロから値50まで回転させるユーザ操作)に応じて指定されたパラメータ(例えば調整値:50%)に基づいて、複数の子音の長さの差が小さくなる処理を実行する。これにより、「か」と「し」の発音の立ち上がりの差が小さく抑えられることとなる。
【0113】
図11は、図7のステップS203の発音処理の詳細を示すサブルーチンである。図11に示される発音処理は、例えば、プロセッサ200の制御により実現される発声モデル部330により実行される。
【0114】
モノモードに設定されている場合(ステップS601:YES)、プロセッサ200は、図8のステップS307で設定された現在フレーム位置CFPに基づいて、基本周波数(F0)を含む音源パラメータ452及びスペクトルパラメータ454並びに歌詞パラメータ424を取得し、音源信号460の生成及び励振を行って、歌声音声出力データ500を出力する(ステップS602)。ポリモードに設定されている場合(ステップS601:NO)、プロセッサ200は、図8のステップS307で設定された現在フレーム位置CFPに基づいて、スペクトルパラメータ454及び歌詞パラメータ424並びに押鍵された鍵に対応付けられた音高データと音色とに応じた波形データを取得し、波形データを基にして音源信号を生成し励振して、歌声音声出力データ500を出力する(ステップS603)。
【0115】
このようにして出力される歌声音声出力データ500に基づき歌声が再生される。オフセット値OFに応じたオフセット処理を行うことにより、音節毎の子音の長さの差が縮められ、この結果、各音節の発音の立ち上がりの差が小さく抑えられる。そのため、ユーザは、例えば、一定のリズムを維持して歌詞を進行させながら鍵盤演奏しやすくなる。歌声発音モード時、ユーザは、例えば通常モードで鍵盤演奏を行う場合と同じ感覚で歌声の演奏を行うことができる。
【0116】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【0117】
上記の実施形態において、歌詞の情報の一例である歌詞データ420は、第1の音節(例えば「か」の音節)と、第1の音節よりも時間軸上で後に発音される第2の音節(例えば「し」の音節)を含む。プロセッサ200は、所定の制御信号に従い(歌声発音モードへの設定操作に応じて生成された制御信号に従い)、歌声発音モードを実行し、「か」の音節に含まれる第1の子音の長さと、「し」の音節に含まれる第2の子音の長さとの差が小さくなるように、第1の子音の長さと第2の子音の長さの両方を変更している。附言するに、上記の実施形態では、第1の子音の長さと第2の子音の長さの両方を、元の長さよりも短い長さに変更している。
【0118】
これに対し、別の実施形態では、第1の子音の長さと第2の子音の長さとの差が小さくなるように、両者のうちの一方だけの長さを変更してもよい。例えば「し」の音節の子音が「か」の音節の子音よりも10フレーム分(例えば50mmsec)長い場合を考える。この場合、プロセッサ200は、「し」の音節に対してだけ、オフセット値OFに応じたオフセット処理を実行する。一例として、「し」の音節だけ10フレーム分オフセットすることにより、「か」の音節と「し」の音節の子音の長さが同じになる。この場合、各音節の発音の立ち上がりの差がより一層小さく抑えられるとともに、「か」の音節については、子音の長さが変更されていない本来の状態で、子音を発音させることができる。
【0119】
このように、第1の子音の長さと第2の子音の長さの少なくとも一方を、元の長さよりも短い長さに変更する構成も本発明の範疇である。
【0120】
上記の実施形態では、第1の音節(例えば「か」の音節)に含まれる第1の子音の長さと、第2の音節(例えば「し」の音節)に含まれる第2の子音の長さの両方を、同じ比率(例示的には、50%の調整値)で、元の長さよりも短い長さに変更しているが、本発明の構成はこれに限らない。
【0121】
第1の子音の長さと第2の子音の長さの両方を、異なる比率で、元の長さよりも短い長さに変更してもよい。例えば、上記の実施形態において、「か」の音節に対する調整値を10%とし、「し」の音節に対する調整値を50%とする場合を考える。この場合、「か」の音節に含まれる子音が再生される期間は、10フレーム分の期間から9フレーム分の期間に縮められる。「し」の音節に含まれる子音が再生される期間は、20フレーム分の期間から10フレーム分の期間に縮められる。
【0122】
すなわち、「か」と「し」の音節に含まれる子音の長さの差が、10フレーム分の長さ(例えば50mmsec)から1フレーム分の長さ(例えば5mmsec)に縮められる。これにより、「か」と「し」の発音の立ち上がりの差がより一層小さく抑えられることとなる。
【0123】
特定の音節(例えば、さ行、や行の音節)は、コンテキストの影響にもよるが、原則、他の音節と比べて子音が長い。そこで、プロセッサ200は、歌詞データ420内の特定の音節に含まれる子音の長さを、元の長さよりも短い長さに変更してもよい。図5Aの例において、プロセッサ200は、「し」の音節に含まれる子音の長さだけ、元の長さよりも短い長さに変更してもよい。この場合も、「か」の音節と「し」の音節との子音の長さの差が短くなるため、各音節の発音の立ち上がりの差が小さく抑えられる。
【0124】
例えば「か」の音節の子音が「し」の音節の子音よりも10フレーム分(例えば50mmsec)短い場合を考える。この場合、プロセッサ200は、「か」の音節だけ、子音の長さを10フレーム分長くする。これにより、「か」の音節と「し」の音節の子音の長さが同じになる。そのため、各音節の発音の立ち上がりの差が小さく抑えられる。「し」の音節については、子音の長さが変更されていない本来の状態で、子音を発音させることができる。
【0125】
次に、図7のステップS202の押鍵処理の変形例について説明する。図12は、本発明の変形例に係る押鍵処理の詳細を示すサブルーチンである。図12に示される押鍵処理において、図8に示される押鍵処理と同じ処理については、同じ番号のステップとして記し、その説明を適宜省略する。
【0126】
図12に示されるように、プロセッサ200は、ステップS301~S305の処理の実行後、ステップS305において計算された次フレーム位置NFPが、現在の音節の母音開始フレームF2以降のフレーム位置であるか否かを判定する(ステップS701)。母音開始フレームF2よりも前のフレーム位置である場合(ステップS701:NO)、プロセッサ200は、次フレーム位置NFPを現在フレーム位置CFPとして設定する(ステップS307)。
【0127】
ステップS305において計算された次フレーム位置NFPが、現在の音節の母音開始フレームF2以降のフレーム位置である場合(ステップS701:YES)、プロセッサ200は、再生レートを基準レートに設定する(ステップS702)。次いで、プロセッサ200は、次フレーム位置NFPが母音終了フレームF3より後のフレーム位置であるか否かを判定する(ステップS306)。プロセッサ200は、母音終了フレームF3より後のフレーム位置でなければ(ステップS306:NO)、次フレーム位置NFPを現在フレーム位置CFPとして設定し(ステップS307)、母音終了フレームF3より後のフレーム位置であれば(ステップS306:YES)、母音終了フレームF3を現在フレーム位置CFPとして設定する(ステップS308)。
【0128】
すなわち、変形例では、母音開始フレームF2から母音終了フレームF3までの間、音節(より詳細には、音節に含まれる母音)は、基準レートで再生される。なお、変形例において、基準レートは、基準の再生速度と呼称してもよい。
【0129】
次の音節に進行する場合(ステップS304:YES)、プロセッサ200は、発音対象であった現在の音節がフレーズ内の最後の音節であれば(ステップS309:YES)、フレーズ内の最初の音節に対して再生レート取得処理を実行し(ステップS703)。フレーズ内の最後の音節でなければ(ステップS309:NO)、フレーズ内の次の音節に対して再生レート取得処理を実行する(ステップS704)。
【0130】
図13は、図12のステップS703及びS704の再生レート取得処理の詳細を示すサブルーチンである。以下においては、ステップS703の再生レート取得処理を説明する。この説明において「最初の音節」を「次の音節」に読み替えることにより、ステップS704の再生レート取得処理を説明することができる。重複説明を避けるため、ステップS704の再生レート取得処理の説明は省略する。
【0131】
図13に示されるように、プロセッサ200は、フレーズ内の最初の音節の音節開始フレームF1と母音開始フレームF2を取得する(ステップS801)。
【0132】
プロセッサ200は、ステップS801にて取得された音節開始フレームF1と母音開始フレームF2を用いて、最初の音節に含まれる子音の長さを変更するための値を取得する(ステップS802)。例示的には、プロセッサ200は、次式を用いて子音の長さを変更するための再生レートを計算する。
【0133】
再生レート=基準レート+[(225-基準レート)×(母音開始フレームF2-音節開始フレームF1)/先頭子音長MAX]
【0134】
先頭子音長は、例えば、歌詞パラメータ424に含まれる情報であり、各音節の子音の長さを示す。上記式の先頭子音長MAXは、フレーズに含まれる全ての音節のなかで最も長い子音の長さを示す。図5Aの例では、「し」の音節に含まれる子音の長さが先頭子音長MAXに該当する。
【0135】
図12の説明に戻る。プロセッサ200は、フレーズ内の最初の音節に対する再生レート取得処理の実行後(ステップS703)、最初の音節の音節開始フレームF1を次フレーム位置NFPとして設定し(ステップS705)、この次フレーム位置NFPを現在フレーム位置CFPとして設定して(ステップS307)、図12の押鍵処理を終了する。
【0136】
また、プロセッサ200は、フレーズ内の次の音節に対する再生レート取得処理の実行後(ステップS704)、次の音節の音節開始フレームF1を次フレーム位置NFPとして設定し(ステップS706)、この次フレーム位置NFPを現在フレーム位置CFPとして設定して(ステップS307)、図12の押鍵処理を終了する。
【0137】
押鍵中、図12の押鍵処理が繰り返し実行されることにより、変形例では、音節開始フレームF1から母音開始フレームF2に達するまでの間、音節に含まれる子音が、ステップS703及びS704の再生レート取得処理で計算された、基準レートよりも速い再生レートで再生され、子音に続く母音が、再生レートより遅い基準レートで再生される。
【0138】
例えば、変形例では、プロセッサ200は、「か」と「し」の音節に含まれる子音の再生速度を標準速度(基準レート)よりも速くすることにより、「か」の音節に含まれる子音と「し」の音節に含まれる子音を、元の長さ(時間)よりも短い時間で再生する。変形例においても、各音節の子音の長さの差が短くなるため、各音節の発音の立ち上がりの差が小さく抑えられる。
【0139】
変形例において、操作部210に対するユーザ操作(例えば子音長調節ツマミ210Aに対する一度のユーザ操作)により指定される再生レートは、再生速度を指定するパラメータの一例である。すなわち、変形例において、プロセッサ200は、再生速度を指定するパラメータに基づいて、第1の子音に対応するデータ(例えば「か」の音節に含まれる子音を示す音声データ)の再生速度と第2の子音に対応するデータ(例えば「し」の音節に含まれる子音を示す音声データ)の再生速度を、基準の再生速度(基準レート)よりも速くする処理を実行する。
【0140】
このように、プロセッサ200が、所定の制御信号に従い、第1の子音の再生速度と第2の子音の再生速度の少なくとも一方を基準の再生速度よりも速くすることにより、第1の子音の長さと第2の子音の長さの少なくとも一方を、元の長さよりも短い長さに変更する構成も、本発明の範疇である。
【0141】
これまでの説明では、子音の長さを元の長さよりも短くすることにより、各音節の子音の長さの差を短くしているが、本発明の構成はこれに限らない。子音の長さを元の長さよりも長くすることにより、各音節の子音の長さの差を短くする構成も本発明の範疇である。
【0142】
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
1つのユーザ操作に応じて指定されたパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、少なくとも1つのプロセッサを備える、
子音長変更装置。
[付記2]
前記パラメータは、比率を含み、
前記少なくとも1つのプロセッサは、
子音の長さを変更するための操作子への前記ユーザ操作に応じて指定された比率に基づいて、複数の子音の長さをそれぞれ元の長さよりも短い長さに変更する、
付記1に記載の子音長変更装置。
[付記3]
前記パラメータは、再生速度を指定するパラメータであり、
前記少なくとも1つのプロセッサは、前記再生速度を指定するパラメータに基づいて、第1の子音に対応するデータの再生速度と第2の子音に対応するデータの再生速度を、基準の再生速度よりも速くする、
付記1に記載の子音長変更装置。
[付記4]
前記少なくとも1つのプロセッサは、前記複数の子音の長さの差が小さくなる処理を実行する、
付記2又は付記3に記載の子音長変更装置。
[付記5]
複数の子音の長さがそれぞれ変更されたパラメータに基づいて、歌声音声出力データを出力する発声モデル部を備える、
電子楽器。
[付記6]
複数の子音の長さがそれぞれ変更されたパラメータを出力する子音長変更装置と、
前記子音長変更装置により出力された前記パラメータを取得する取得部と、取得された前記パラメータに基づいて、歌声音声出力データを出力する発声モデル部と、を含む電子楽器と、を備える、
楽器システム。
[付記7]
子音長変更装置の少なくとも1つのプロセッサが、
1つのユーザ操作に応じて指定されたパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、
方法。
[付記8]
子音長変更装置の少なくとも1つのプロセッサが、
1つのユーザ操作に応じて指定されたパラメータに基づいて、子音が含まれる、或る音節における母音の第1発音開始タイミングと、前記或る音節とは異なる音節における母音の第2発音開始タイミングと、をそれぞれ早める処理を実行し、子音が含まれない音節における母音の発音開始タイミングは変更しない、
処理を実行する、
プログラム。
【符号の説明】
【0143】
1 :楽器システム
10 :電子楽器
20 :情報処理装置
100 :プロセッサ
102 :RAM
104 :フラッシュROM
106 :LCD
108 :LCDコントローラ
110 :鍵盤
112 :スイッチパネル
114 :キースキャナ
116 :ネットワークインタフェース
118 :音源LSI
120 :D/Aコンバータ
122 :アンプ
124 :スピーカ
126 :バス
150 :譜面台
200 :プロセッサ
202 :RAM
204 :フラッシュROM
206 :LCD
208 :LCDコントローラ
210 :操作部
212 :ネットワークインタフェース
214 :D/Aコンバータ
216 :アンプ
218 :スピーカ
300 :機能ブロック群
310 :処理部
320 :音響モデル部
330 :発声モデル部
332 :音源生成部
334 :合成フィルタ部
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13