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

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

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

<>
  • 特許-電子楽器、方法及びプログラム 図1
  • 特許-電子楽器、方法及びプログラム 図2
  • 特許-電子楽器、方法及びプログラム 図3
  • 特許-電子楽器、方法及びプログラム 図4
  • 特許-電子楽器、方法及びプログラム 図5
  • 特許-電子楽器、方法及びプログラム 図6
  • 特許-電子楽器、方法及びプログラム 図7
  • 特許-電子楽器、方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】電子楽器、方法及びプログラム
(51)【国際特許分類】
   G10L 13/00 20060101AFI20240730BHJP
   G10H 1/00 20060101ALI20240730BHJP
【FI】
G10L13/00 100Y
G10H1/00 Z
【請求項の数】 8
(21)【出願番号】P 2020051216
(22)【出願日】2020-03-23
(65)【公開番号】P2021149043
(43)【公開日】2021-09-27
【審査請求日】2023-03-06
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(72)【発明者】
【氏名】段城 真
(72)【発明者】
【氏名】太田 文章
(72)【発明者】
【氏名】中村 厚士
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2000-163072(JP,A)
【文献】特開2010-92016(JP,A)
【文献】特開平6-332449(JP,A)
【文献】特開平7-56567(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00- 1/46
G10L 13/00-13/10
(57)【特許請求の範囲】
【請求項1】
第1演奏操作子と、第2演奏操作子と、を含む複数の演奏操作子と、
プロセッサと、を備え、前記プロセッサは、
ユーザ操作に基づいて、フレーズデータを選択し、
前記第1演奏操作子への第1ユーザ操作に応じて、選択された前記フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示し、
前記第1演奏操作子への前記第1ユーザ操作が継続していなくても、ペダルオンの検出後、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミング及び前記第2タイミング以降の各発音タイミングになってもペダルオフを検出しないことにより前記第1ユーザ操作の状態が継続していると判断する場合に、ペダルオフ及び新たなペダルオンを検出しなくても、前記第2タイミングに応じて第2文字データに基づく歌声の発音を指示し、前記第2タイミング以降の各発音タイミングに応じて各文字データに基づく歌声の発音を指示する、
電子楽器。
【請求項2】
前記プロセッサは、
前記第1ユーザ操作の状態が継続していないと判断する場合に、前記フレーズデータの先頭に次の発音開始位置を変更する、
請求項1に記載の電子楽器。
【請求項3】
前記プロセッサは、
前記第1ユーザ操作の状態が継続していないと判断する場合であって、発音中の歌声がある場合に、前記発音中の歌声の発音のミュートを指示する、
請求項1又は請求項2に記載の電子楽器。
【請求項4】
前記プロセッサは、
前記第1演奏操作子への前記第1ユーザ操作が継続している場合、及び、ペダルオンを検出している場合を含む設定された条件を満たす場合、のいずれかの場合に、前記第1ユーザ操作の状態が継続していると判断する、
請求項1から請求項3のいずれか一項に記載の電子楽器。
【請求項5】
前記プロセッサは、
前記第2タイミングに応じて第2ユーザ操作すべきタイミングに、前記第1ユーザ操作の状態が継続し、かつ、前記第2ユーザ操作がないと判断する場合に、発音する前記第2文字データに基づく歌声の音高を、前記第1ユーザ操作に応じて指定された音高で行うように制御する、
請求項1から請求項4のいずれか一項に記載の電子楽器。
【請求項6】
前記プロセッサは、
前記第2タイミングに応じて第2ユーザ操作すべきタイミングに、前記第1ユーザ操作の状態が継続し、かつ、前記第2ユーザ操作があると判断する場合に、発音する前記第2文字データに基づく歌声の音高を、前記第2ユーザ操作に応じて指定された音高で行うように制御する、
請求項1から請求項5のいずれか一項に記載の電子楽器。
【請求項7】
電子楽器のコンピュータに、
ユーザ操作に基づいて、フレーズデータを選択させ、
第1演奏操作子への第1ユーザ操作に応じて、選択された前記フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示させ、
前記第1演奏操作子への前記第1ユーザ操作が継続していなくても、ペダルオンの検出後、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミング及び前記第2タイミング以降の各発音タイミングになってもペダルオフを検出しないことにより前記第1ユーザ操作の状態が継続していると判断する場合に、ペダルオフ及び新たなペダルオンを検出しなくても、前記第2タイミングに応じて第2文字データに基づく歌声の発音を指示させ、前記第2タイミング以降の各発音タイミングに応じて各文字データに基づく歌声の発音を指示させる、
方法。
【請求項8】
電子楽器のコンピュータに、
ユーザ操作に基づいて、フレーズデータを選択させ、
第1演奏操作子への第1ユーザ操作に応じて、選択された前記フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示させ、
前記第1演奏操作子への前記第1ユーザ操作が継続していなくても、ペダルオンの検出後、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミング及び前記第2タイミング以降の各発音タイミングになってもペダルオフを検出しないことにより前記第1ユーザ操作の状態が継続していると判断する場合に、ペダルオフ及び新たなペダルオンを検出しなくても、前記第2タイミングに応じて第2文字データに基づく歌声の発音を指示させ、前記第2タイミング以降の各発音タイミングに応じて各文字データに基づく歌声の発音を指示させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子楽器、方法及びプログラムに関する。
【背景技術】
【0002】
近年、合成音声の利用シーンが拡大している。そうした中、自動演奏だけではなく、ユーザ(演奏者)の押鍵に応じて歌詞を進行させ、歌詞に対応した合成音声を出力できる電子楽器があれば、より柔軟な合成音声の表現が可能となり好ましい。
【0003】
例えば、特許文献1においては、鍵盤などを用いたユーザ操作に基づく演奏に同期させて歌詞を進行させる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第4735544号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、単純に鍵が押されるたびに歌詞を進行させると、押鍵し過ぎにより歌詞の位置が想定より超過したり、押鍵が不足して歌詞の位置が想定より進まなかったりするため、手軽に合成音声を用いた歌詞の発音を楽しむことが難しいという課題がある。
【0006】
そこで本開示は、演奏にかかる歌詞進行を適切に制御できる電子楽器、方法及びプログラムを提供することを目的の1つとする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る電子楽器は、第1演奏操作子と、第2演奏操作子と、を含む複数の演奏操作子と、プロセッサと、を備え、前記プロセッサは、ユーザ操作に基づいて、フレーズデータを選択し、前記第1演奏操作子への第1ユーザ操作に応じて、選択された前記フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示し、前記第1演奏操作子への前記第1ユーザ操作が継続していなくても、ペダルオンの検出後、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミング及び前記第2タイミング以降の各発音タイミングになってもペダルオフを検出しないことにより前記第1ユーザ操作の状態が継続していると判断する場合に、ペダルオフ及び新たなペダルオンを検出しなくても、前記第2タイミングに応じて第2文字データに基づく歌声の発音を指示し、前記第2タイミング以降の各発音タイミングに応じて各文字データに基づく歌声の発音を指示する。
【発明の効果】
【0008】
本開示の一態様によれば、演奏にかかる歌詞進行を適切に制御できる。
【図面の簡単な説明】
【0009】
図1図1は、一実施形態にかかる電子楽器10の外観の一例を示す図である。
図2図2は、一実施形態にかかる電子楽器10の制御システム200のハードウェア構成の一例を示す図である。
図3図3は、一実施形態にかかる音声学習部301の構成例を示す図である。
図4図4は、一実施形態にかかる波形データ出力部211の一例を示す図である。
図5図5は、一実施形態にかかる波形データ出力部211の別の一例を示す図である。
図6図6は、一実施形態に係る歌詞進行制御方法のフローチャートの一例を示す図である。
図7図7は、一実施形態に係る歌詞進行制御方法のフローチャートの別の一例を示す図である。
図8図8は、一実施形態に係る歌詞進行制御方法を用いて制御された歌詞進行の一例を示す図である。
【発明を実施するための形態】
【0010】
本発明者らは、押鍵時には歌詞の進行及び再生を継続することを着想し、本開示の電子楽器を想到した。
【0011】
本開示の一態様によれば、ユーザの操作に基づいて、発音される歌詞の進行を容易に制御できる。
【0012】
以下、本開示の実施形態について添付図面を参照して詳細に説明する。以下の説明では、同一の部には同一の符号が付される。同一の部は名称、機能などが同じであるため、詳細な説明は繰り返さない。
【0013】
(電子楽器)
図1は、一実施形態にかかる電子楽器10の外観の一例を示す図である。電子楽器10は、スイッチ(ボタン)パネル140b、鍵盤140k、ペダル140p、ディスプレイ150d、スピーカー150sなどを搭載してもよい。
【0014】
電子楽器10は、鍵盤、スイッチなどの操作子を介してユーザからの入力を受け付け、演奏、歌詞進行などを制御するための装置である。電子楽器10は、MIDI(Musical Instrument Digital Interface)データなどの演奏情報に応じた音を発生する機能を有する装置であってもよい。当該装置は、電子楽器(電子ピアノ、シンセサイザーなど)であってもよいし、センサなどを搭載して上述の操作子の機能を有するように構成されたアナログの楽器であってもよい。
【0015】
スイッチパネル140bは、音量の指定、音源、音色などの設定、ソング(伴奏)の選曲(伴奏)、ソング再生開始/停止、ソング再生の設定(テンポなど)などを操作するためのスイッチを含んでもよい。
【0016】
鍵盤140kは、演奏操作子としての複数の鍵を有してもよい。ペダル140pは、当該ペダルを踏んでいる間、押さえた鍵盤の音を伸ばす機能を有するサステインペダルであってもよいし、音色、音量などを加工するエフェクターを操作するためのペダルであってもよい。
【0017】
なお、本開示において、サステインペダル、ペダル、フットスイッチ、コントローラ(操作子)、スイッチ、ボタン、タッチパネルなどは、互いに読み替えられてもよい。本開示におけるペダルの踏み込みは、コントローラの操作で読み替えられてもよい。
【0018】
鍵は、演奏操作子、音高操作子、音色操作子、直接操作子、第1の操作子などと呼ばれてもよい。ペダルは、非演奏操作子、非音高操作子、非音色操作子、間接操作子、第2の操作子などと呼ばれてもよい。
【0019】
ディスプレイ150dは、歌詞、楽譜、各種設定情報などを表示してもよい。スピーカー150sは、演奏により生成された音を放音するために用いられてもよい。
【0020】
なお、電子楽器10は、MIDIメッセージ(イベント)及びOpen Sound Control(OSC)メッセージの少なくとも一方を生成したり、変換したりすることができてもよい。
【0021】
電子楽器10は、制御装置10、歌詞進行制御装置10などと呼ばれてもよい。
【0022】
電子楽器10は、有線及び無線(例えば、Long Term Evolution(LTE)、5th generation mobile communication system New Radio(5G NR)、Wi-Fi(登録商標)など)の少なくとも一方を介して、ネットワーク(インターネットなど)と通信してもよい。
【0023】
電子楽器10は、進行の制御対象となる歌詞に関する歌声データ(歌詞テキストデータ、歌詞情報などと呼ばれてもよい)を、予め保持してもよいし、ネットワークを介して送信及び/又は受信してもよい。歌声データは、楽譜記述言語(例えば、MusicXML)によって記載されたテキストであってもよいし、MIDIデータの保存形式(例えば、Standard MIDI File(SMF)フォーマット)で表記されてもよいし、通常のテキストファイルで与えられるテキストであってもよい。歌声データは、後述する歌声データ215であってもよい。本開示において、歌声、音声、音などは、互いに読み替えられてもよい。
【0024】
なお、電子楽器10は、当該電子楽器10に具備されるマイクなどを介してユーザがリアルタイムに歌う内容を取得し、これに音声認識処理を適用して得られるテキストデータを歌声データとして取得してもよい。
【0025】
図2は、一実施形態にかかる電子楽器10の制御システム200のハードウェア構成の一例を示す図である。
【0026】
中央処理装置(Central Processing Unit:CPU)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、波形データ出力部211、図1のスイッチ(ボタン)パネル140b、鍵盤140k、ペダル140pが接続されるキースキャナ206、及び図1のディスプレイ150dの一例としてのLCD(Liquid Crystal Display)が接続されるLCDコントローラ208が、それぞれシステムバス209に接続されている。
【0027】
CPU201には、演奏を制御するためのタイマ210(カウンタと呼ばれてもよい)が接続されてもよい。タイマ210は、例えば、電子楽器10における自動演奏の進行をカウントするために用いられてもよい。CPU201は、プロセッサと呼ばれてもよく、周辺回路とのインターフェース、制御回路、演算回路、レジスタなどを含んでもよい。
【0028】
各装置における機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みなどを制御することによって実現されてもよい。
【0029】
CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、図1の電子楽器10の制御動作を実行する。また、ROM202は、上記制御プログラム及び各種固定データのほか、歌声データ、伴奏データ、これらを含む曲(ソング)データなどを記憶してもよい。
【0030】
波形データ出力部211は、音源LSI(大規模集積回路)204、音声合成LSI205などを含んでもよい。音源LSI204と音声合成LSI205は、1つのLSIに統合されてもよい。波形データ出力部211の具体的なブロック図については、図3で後述する。なお、波形データ出力部211の処理の一部は、CPU201によって行われてもよいし、波形データ出力部211に含まれるCPUによって行われてもよい。
【0031】
波形データ出力部211から出力される歌声波形データ217及びソング波形データ218は、それぞれD/Aコンバータ212及び213によってアナログ歌声音声出力信号及びアナログ楽音出力信号に変換される。アナログ楽音出力信号及びアナログ歌声音声出力信号は、ミキサ214で混合され、その混合信号がアンプ215で増幅された後に、スピーカー150s又は出力端子から出力されてもよい。なお、歌声波形データは歌声合成データと呼ばれてもよい。図示しないが、歌声波形データ217及びソング波形データ218をデジタルで合成した後に、D/Aコンバータでアナログに変換して混合信号が得られてもよい。
【0032】
キースキャナ(スキャナ)206は、図1の鍵盤140kの押鍵/離鍵状態、スイッチパネル140bのスイッチ操作状態、ペダル140pのペダル操作状態などを定常的に走査し、CPU201に割り込みを掛けて状態変化を伝える。
【0033】
LCDコントローラ208は、ディスプレイ150dの一例であるLCDの表示状態を制御するIC(集積回路)である。
【0034】
なお、当該システム構成は一例であり、これに限られない。例えば、各回路が含まれる数は、これに限られない。電子楽器10は、一部の回路(機構)を含まない構成を有してもよいし、1つの回路の機能が複数の回路により実現される構成を有してもよい。複数の回路の機能が1つの回路により実現される構成を有してもよい。
【0035】
また、電子楽器10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、CPU201は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0036】
<音響モデルの生成>
図3は、一実施形態にかかる音声学習部301の構成の一例を示す図である。音声学習部301は、図1の電子楽器10とは別に外部に存在するサーバコンピュータ300が実行する一機能として実装されてもよい。なお、音声学習部301は、CPU201、音声合成LSI205などが実行する一機能として電子楽器10に内蔵されてもよい。
【0037】
本開示における音声合成を実現する音声学習部301及び波形データ出力部211は、それぞれ、例えば、深層学習に基づく統計的音声合成技術に基づいて実装されてもよい。
【0038】
音声学習部301は、学習用テキスト解析部303と学習用音響特徴量抽出部304とモデル学習部305とを含んでもよい。
【0039】
音声学習部301において、学習用歌声音声データ312としては、例えば適当なジャンルの複数の歌唱曲を、ある歌手が歌った音声を録音したものが使用される。また、学習用歌声データ311としては、各歌唱曲の歌詞テキストが用意される。
【0040】
学習用テキスト解析部303は、歌詞テキストを含む学習用歌声データ311を入力してそのデータを解析する。この結果、学習用テキスト解析部303は、学習用歌声データ311に対応する音素、音高等を表現する離散数値系列である学習用言語特徴量系列313を推定して出力する。
【0041】
学習用音響特徴量抽出部304は、上記学習用歌声データ311の入力に合わせてその学習用歌声データ311に対応する歌詞テキストを或る歌手が歌うことによりマイク等を介して集録された学習用歌声音声データ312を入力して分析する。この結果、学習用音響特徴量抽出部304は、学習用歌声音声データ312に対応する音声の特徴を表す学習用音響特徴量系列314を抽出して出力する。
【0042】
本開示において、学習用音響特徴量系列314や、後述する音響特徴量系列317に対応する音響特徴量系列は、人間の声道をモデル化した音響特徴量データ(フォルマント情報、スペクトル情報などと呼ばれてもよい)と、人間の声帯をモデル化した声帯音源データ(音源情報と呼ばれてもよい)とを含む。スペクトル情報としては、例えば、メルケプストラム、線スペクトル対(Line Spectral Pairs:LSP)等を採用できる。音源情報としては、人間の音声のピッチ周波数を示す基本周波数(F0)及びパワー値を採用できる。
【0043】
モデル学習部305は、学習用言語特徴量系列313から、学習用音響特徴量系列314が生成される確率を最大にするような音響モデルを、機械学習により推定する。即ち、テキストである言語特徴量系列と音声である音響特徴量系列との関係が、音響モデルという統計モデルによって表現される。モデル学習部305は、機械学習を行った結果算出される音響モデルを表現するモデルパラメータを、学習結果315として出力する。したがって、当該音響モデルは、学習済みモデルに該当する。
【0044】
学習結果315(モデルパラメータ)によって表現される音響モデルとして、HMM(Hidden Markov Model:隠れマルコフモデル)を用いてもよい。
【0045】
ある歌唱者があるメロディーにそった歌詞を発声する際、声帯の振動や声道特性の歌声の特徴パラメータがどのような時間変化をしながら発声されるか、ということが、HMM音響モデルによって学習されてもよい。より具体的には、HMM音響モデルは、学習用の歌声データから求めたスペクトル、基本周波数、およびそれらの時間構造を音素単位でモデル化したものであってもよい。
【0046】
まず、HMM音響モデルが採用される図3の音声学習部301の処理について説明する。音声学習部301内のモデル学習部305は、学習用テキスト解析部303が出力する学習用言語特徴量系列313と、学習用音響特徴量抽出部304が出力する上記学習用音響特徴量系列314とを入力することにより、尤度が最大となるHMM音響モデルの学習を行ってもよい。
【0047】
歌声音声のスペクトルパラメータは、連続HMMによってモデル化することができる。一方、対数基本周波数(F0)は有声区間では連続値をとり、無声区間では値を持たない可変次元の時間系列信号であるため、通常の連続HMMや離散HMMで直接モデル化することはできない。そこで、可変次元に対応した多空間上の確率分布に基づくHMMであるMSD-HMM(Multi-Space probability Distribution HMM)を用い、スペクトルパラメータとしてメルケプストラムを多次元ガウス分布、対数基本周波数(F0)の有声音を1次元空間、無声音を0次元空間のガウス分布として同時にモデル化する。
【0048】
また、歌声を構成する音素の特徴は、音響的な特徴は同一の音素であっても、様々な要因の影響を受けて変動することが知られている。例えば、基本的な音韻単位である音素のスペクトルや対数基本周波数(F0)は、歌唱スタイルやテンポ、或いは、前後の歌詞や音高等によって異なる。このような音響特徴量に影響を与える要因のことをコンテキストと呼ぶ。
【0049】
一実施形態の統計的音声合成処理では、音声の音響的な特徴を精度良くモデル化するために、コンテキストを考慮したHMM音響モデル(コンテキスト依存モデル)を採用してもよい。具体的には、学習用テキスト解析部303は、フレーム毎の音素、音高だけでなく、直前、直後の音素、現在位置、直前、直後のビブラート、アクセントなども考慮した学習用言語特徴量系列313を出力してもよい。更に、コンテキストの組合せの効率化のために、決定木に基づくコンテキストクラスタリングが用いられてよい。
【0050】
例えば、モデル学習部305は、学習用テキスト解析部303が学習用歌声データ311から抽出した状態継続長に関する多数の音素のコンテキストに対応する学習用言語特徴量系列313から、状態継続長を決定するための状態継続長決定木を、学習結果315として生成してもよい。
【0051】
また、モデル学習部305は、例えば、学習用音響特徴量抽出部304が学習用歌声音声データ312から抽出したメルケプストラムパラメータに関する多数の音素に対応する学習用音響特徴量系列314から、メルケプストラムパラメータを決定するためのメルケプストラムパラメータ決定木を、学習結果315として生成してもよい。
【0052】
また、モデル学習部305は例えば、学習用音響特徴量抽出部304が学習用歌声音声データ312から抽出した対数基本周波数(F0)に関する多数の音素に対応する学習用音響特徴量系列314から、対数基本周波数(F0)を決定するための対数基本周波数決定木を、学習結果315として生成してもよい。なお、対数基本周波数(F0)の有声区間と無声区間はそれぞれ、可変次元に対応したMSD-HMMにより、1次元及び0次元のガウス分布としてモデル化され、対数基本周波数決定木が生成されてもよい。
【0053】
なお、HMMに基づく音響モデルの代わりに又はこれとともに、ディープニューラルネットワーク(Deep Neural Network:DNN)に基づく音響モデルが採用されてもよい。この場合、モデル学習部305は、言語特徴量から音響特徴量へのDNN内の各ニューロンの非線形変換関数を表すモデルパラメータを、学習結果315として生成してもよい。DNNによれば、決定木では表現することが困難な複雑な非線形変換関数を用いて、言語特徴量系列と音響特徴量系列の関係を表現することが可能である。
【0054】
また、本開示の音響モデルはこれらに限られるものではなく、例えばHMMとDNNを組み合わせた音響モデル等、統計的音声合成処理を用いた技術であればどのような音声合成方式が採用されてもよい。
【0055】
学習結果315(モデルパラメータ)は、例えば、図3に示されるように、図1の電子楽器10の工場出荷時に、図2の電子楽器10の制御システムのROM202に記憶され、電子楽器10のパワーオン時に、図2のROM202から波形データ出力部211内の後述する歌声制御部307などに、ロードされてもよい。
【0056】
学習結果315は、例えば、図3に示されるように、演奏者が電子楽器10のスイッチパネル140bを操作することにより、ネットワークインタフェース219を介して、インターネットなどの外部から波形データ出力部211内の歌声制御部307にダウンロードされてもよい。
【0057】
<音響モデルに基づく音声合成>
図4は、一実施形態にかかる波形データ出力部211の一例を示す図である。
【0058】
波形データ出力部211は、処理部(テキスト処理部、前処理部などと呼ばれてもよい)306、歌声制御部(音響モデル部と呼ばれてもよい)307、音源308、歌声合成部(発声モデル部と呼ばれてもよい)309などを含む。
【0059】
波形データ出力部211は、図1の鍵盤140kの押鍵に基づいて図2のキースキャナ206を介してCPU201から指示される、歌詞及び音高の情報を含む歌声データ215を入力することにより、当該歌詞及び音高に対応する歌声波形データ217を合成し出力する。言い換えると、波形データ出力部211は、歌詞テキストを含む歌声データ215に対応する歌声波形データ217を、歌声制御部307に設定された音響モデルという統計モデルを用いて予測することにより合成する、統計的音声合成処理を実行する。
【0060】
また、波形データ出力部211は、ソングデータの再生時には、対応するソング再生位置に該当するソング波形データ218を出力する。ここで、ソングデータは、伴奏のデータ(例えば、1つ以上の音についての、音高、音色、発音タイミングなどのデータ)、伴奏及びメロディーのデータに該当してもよく、バックトラックデータなどと呼ばれてもよい。
【0061】
処理部306は、例えば自動演奏に合わせた演奏者の演奏の結果として、図2のCPU201より指定される歌詞の音素、音高等に関する情報を含む歌声データ215を入力し、そのデータを解析する。歌声データ215は、例えば、第n番目の音符(第n音符、第nタイミングなどと呼ばれてもよい)のデータ(例えば、音高データ、音符長データ)、第n音符に対応する第n歌詞のデータなどを含んでもよい。
【0062】
例えば、処理部306は、鍵盤140k、ペダル140pの操作から取得されるノートオン/オフデータ、ペダルオン/オフデータなどに基づいて、後述する歌詞進行制御方法に基づいて歌詞進行の有無を判定し、出力すべき歌詞に対応する歌声データ215を取得してもよい。そして、処理部306は、押鍵によって指定された音高データ又は取得した歌声データ215の音高データと、取得した歌声データ215の文字データと、に対応する音素、品詞、単語等を表現する言語特徴量系列316を解析し、歌声制御部307に出力してもよい。
【0063】
歌声データは、歌詞(の文字)と、音節のタイプ(開始音節、中間音節、終了音節など)と、歌詞インデックスと、対応する声高(正解の声高)と、対応する発音期間(例えば、発音開始タイミング、発音終了タイミング、発音の長さ(duration))と、の少なくとも1つを含む情報であってもよい。
【0064】
例えば、図4の例では、歌声データ215は、第n(n=1、2、3、4、…)音符に対応する第n歌詞の歌声データと、第n音符が再生されるべき規定のタイミング(第n歌声再生位置)と、の情報を含んでもよい。第n歌詞の歌声データは、第n歌詞データと呼ばれてもよい。第n歌詞データは、第n歌詞に含まれる文字のデータ(第n歌詞データの文字データ)、第n歌詞に対応する音高データ(第n歌詞データの音高データ)、第n歌詞に対応する音の長さなどの情報を含んでもよい。
【0065】
歌声データ215は、当該歌詞に対応する伴奏(ソングデータ)を演奏するための情報(特定の音声ファイルフォーマットのデータ、MIDIデータなど)を含んでもよい。歌声データがSMFフォーマットで示される場合、歌声データ215は、歌声に関するデータが格納されるトラックチャンクと、伴奏に関するデータが格納されるトラックチャンクと、を含んでもよい。歌声データ215は、ROM202からRAM203に読み込まれてもよい。歌声データ215は、メモリ(例えば、ROM202、RAM203)に演奏前から記憶されている。
【0066】
なお、電子楽器10は、歌声データ215によって示されるイベント(例えば、歌詞の発声タイミングと音高を指示するメタイベント(タイミング情報)、ノートオン又はノートオフを指示するMIDIイベント、又は拍子を指示するメタイベントなど)に基づいて、自動伴奏の進行などを制御してもよい。
【0067】
歌声制御部307は、処理部306から入力される言語特徴量系列316と、学習結果315として設定された音響モデルと、に基づいて、それに対応する音響特徴量系列317を推定し、推定された音響特徴量系列317に対応するフォルマント情報318を、歌声合成部309に対して出力する。
【0068】
例えば、HMM音響モデルが採用される場合、歌声制御部307は、言語特徴量系列316によって得られるコンテキスト毎に決定木を参照してHMMを連結し、連結した各HMMから出力確率が最大となる音響特徴量系列317(フォルマント情報318と声帯音源データ319)を予測する。
【0069】
DNN音響モデルが採用される場合、歌声制御部307は、フレーム単位で入力される、言語特徴量系列316の音素列に対して、上記フレーム単位で音響特徴量系列317を出力してもよい。
【0070】
図4では、処理部306は、メモリ(ROM202でもよいし、RAM203でもよい)から、押鍵された音の音高に対応する楽器音データ(ピッチ情報)を取得し、音源308に出力する。
【0071】
音源308は、処理部306から入力されるノートオン/オフデータに基づいて、発音すべき(ノートオンの)音に対応する楽器音データ(ピッチ情報)の音源信号(楽器音波形データと呼ばれてもよい)を生成し、歌声合成部309に出力する。音源308は、発音する音のエンベロープ制御等の制御処理を実行してもよい。
【0072】
歌声合成部309は、歌声制御部307から順次入力されるフォルマント情報318の系列に基づいて声道をモデル化するデジタルフィルタを形成する。また、歌声合成部309は、音源308から入力される音源信号を励振源信号として、当該デジタルフィルタを適用して、デジタル信号の歌声波形データ217を生成し出力する。この場合、歌声合成部309は、合成フィルタ部と呼ばれてもよい。
【0073】
なお、歌声合成部309には、ケプストラム音声合成方式、LSP音声合成方式をはじめとした様々な音声合成方式が採用可能であってもよい。
【0074】
図4の例では、出力される歌声波形データ217は、楽器音を音源信号としているため、歌手の歌声に比べて忠実性は若干失われるが、当該楽器音の雰囲気と歌手の歌声の声質との両方が良く残った歌声となり、効果的な歌声波形データ217を出力させることができる。
【0075】
なお、音源308は、楽器音波形データの処理とともに、他のチャネルの出力をソング波形データ218として出力するように動作してもよい。これにより、伴奏音は通常の楽器音で発音させたり、メロディーラインの楽器音を発音させると同時にそのメロディーの歌声を発声させたりするというような動作も可能である。
【0076】
図5は、一実施形態にかかる波形データ出力部211の別の一例を示す図である。図4と重複する内容については、繰り返し説明しない。
【0077】
図5の歌声制御部307は、上述したように、音響モデルに基づいて、音響特徴量系列317を推定する。そして、歌声制御部307は、推定された音響特徴量系列317に対応するフォルマント情報318と、推定された音響特徴量系列317に対応する声帯音源データ(ピッチ情報)319と、を、歌声合成部309に対して出力する。歌声制御部307は、音響特徴量系列317が生成される確率を最大にするような音響特徴量系列317の推定値を推定してもよい。
【0078】
歌声合成部309は、例えば、歌声制御部307から入力される声帯音源データ319に含まれる基本周波数(F0)及びパワー値で周期的に繰り返されるパルス列(有声音音素の場合)又は声帯音源データ319に含まれるパワー値を有するホワイトノイズ(無声音音素の場合)又はそれらが混合された信号に、フォルマント情報318の系列に基づいて声道をモデル化するデジタルフィルタを適用した信号を生成させるためのデータ(例えば、第n音符に対応する第n歌詞の歌声波形データと呼ばれてもよい)を生成し、音源308に出力してもよい。
【0079】
音源308は、処理部306から入力されるノートオン/オフデータに基づいて、発音すべき(ノートオンの)音に対応する上記第n歌詞の歌声波形データからデジタル信号の歌声波形データ217を生成し、出力する。
【0080】
図5の例では、出力される歌声波形データ217は、声帯音源データ319に基づいて音源308が生成した音を音源信号としているため、歌声制御部307によって完全にモデル化された信号であり、歌手の歌声に非常に忠実で自然な歌声の歌声波形データ217を出力させることができる。
【0081】
このように、本開示の音声合成は、既存のボコーダー(人間が喋った言葉をマイクによって入力し、楽器音に置き換えて合成する手法)とは異なり、ユーザ(演奏者)が現実に歌わなくても(言い換えると、電子楽器10にユーザがリアルタイムに発音する音声信号を入力しなくても)、鍵盤の操作によって合成音声を出力することができる。
【0082】
以上説明したように、音声合成方式として統計的音声合成処理の技術を採用することにより、従来の素片合成方式に比較して格段に少ないメモリ容量を実現することが可能となる。例えば、素片合成方式の電子楽器では、音声素片データのために数百メガバイトに及ぶ記憶容量を有するメモリが必要であったが、本実施形態では、学習結果315のモデルパラメータを記憶させるために、わずか数メガバイトの記憶容量を有するメモリのみで済む。このため、より低価格の電子楽器を実現することが可能となり、高音質の歌声演奏システムをより広いユーザ層に利用してもらうことが可能となる。
【0083】
さらに、従来の素片データ方式では、素片データの人手による調整が必要なため、歌声演奏のためのデータの作成に膨大な時間(年単位)と労力を必要としていたが、本実施形態によるHMM音響モデル又はDNN音響モデルのための学習結果315のモデルパラメータの作成では、データの調整がほとんど必要ないため、数分の一の作成時間と労力で済む。これによっても、より低価格の電子楽器を実現することが可能となる。
【0084】
また、一般ユーザが、クラウドサービスとして利用可能なサーバコンピュータ300、音声合成LSI205などに内蔵された学習機能を使って、自分の声、家族の声、或いは有名人の声等を学習させ、それをモデル音声として電子楽器で歌声演奏させることも可能となる。この場合にも、従来よりも格段に自然で高音質な歌声演奏を、より低価格の電子楽器として実現することが可能となる。
【0085】
(歌詞進行制御方法)
本開示の一実施形態に係る歌詞進行制御方法について、以下で説明する。なお、本開示の歌詞進行制御は、演奏制御、演奏などと互いに読み替えられてもよい。
【0086】
以下の各フローチャートの動作主体(電子楽器10)は、CPU201、波形データ出力部211(又はその内部の音源LSI204、音声合成LSI205(処理部306、歌声制御部307、音源308、歌声合成部309など))のいずれか又はこれらの組み合わせで読み替えられてもよい。例えば、CPU201が、ROM202からRAM203にロードされた制御処理プログラムを実行して、各動作が実施されてもよい。
【0087】
なお、以下に示すフローの開始にあたって、初期化処理が行われてもよい。当該初期化処理は、割り込み処理、歌詞の進行、自動伴奏などの基準時間となるTickTimeの導出、テンポ設定、ソングの選曲、ソングの読み込み、楽器音の選択、その他ボタン等に関連する処理などを含んでもよい。
【0088】
CPU201は、適宜のタイミングで、キースキャナ206からの割込みに基づいて、スイッチパネル140b、鍵盤140k及びペダル140pなどの操作を検出し、対応する処理を実施できる。
【0089】
なお、以下では歌詞の進行を制御する例を示すが進行制御の対象はこれに限られない。本開示に基づいて、例えば、歌詞の代わりに、任意の文字列、文章(例えば、ニュースの台本)などの進行が制御されてもよい。つまり、本開示の歌詞は、文字、文字列などと互いに読み替えられてもよい。
【0090】
本開示では、歌詞をフレーズ単位で管理する。当該フレーズは、例えば、発音タイミングがそれぞれ異なる複数音符に対応する複数文字を意味してもよい。なお、本開示のフレーズは、フレーズのセット(フレーズセット)、単語、センテンスなどと互いに読み替えられてもよい。
【0091】
例えば、電子楽器10は、ユーザによる任意の鍵(第1鍵)の押鍵があると、当該鍵に対応する音高でフレーズの再生を開始し、第1鍵が押鍵されている限り、フレーズ内の歌詞を次々に再生する。
【0092】
電子楽器10は、第1鍵の離鍵に応じて消音処理する(他の条件を満たせば消音処理せずに発音を継続させてもよい)。第1鍵が離鍵された後、次の任意の鍵の押鍵に応じた歌詞の再生開始位置は、またフレーズの先頭になってもよい。
【0093】
発音中に別の第2鍵の押鍵があった場合(例えば、第1鍵及び第2鍵の少なくとも2つの鍵が同時に押鍵されている)、電子楽器10は、第2鍵の押鍵タイミングに対応するタイミングの歌声を、第1鍵の音高から第2鍵の音高に変更して発音する。
【0094】
以上、言い換えると、電子楽器10のプロセッサは、第1演奏操作子(第1鍵)への第1ユーザ操作(押鍵)に応じて、フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示してもよい。また、当該プロセッサは、前記第1ユーザ操作の状態が継続している(ずっと押鍵されている)と判断する場合に、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミングに応じた第2文字データに基づく歌声の発音を指示してもよい。
【0095】
このような構成によれば、ユーザの押鍵操作をトリガとして、フレーズ単位の合成音声の発音の有無を制御できるため、ユーザが発音させたい歌詞の箇所を容易に指定できる。
【0096】
電子楽器10のプロセッサは、前記第1ユーザ操作の状態が継続し、かつ、第1演奏操作子とは別の第2演奏操作子(第2鍵、第X鍵)への第2ユーザ操作(押鍵)がないと判断する場合に、発音する歌声の音高を、前記第1ユーザ操作に応じて指定された音高で行うように制御してもよい。この場合、電子楽器10は、第1ユーザ操作に対応する音高データで、歌声データ215(以下、単に歌声データと表記することもある)内の押鍵タイミングに対応する音高データを上書きし、上書きされた音高データに基づいて、歌声波形データ217(以下、単に歌声波形データと表記することもある)を生成してもよい。このような構成によれば、発音する合成音声の音高を容易に指定できる。
【0097】
電子楽器10のプロセッサは、前記第1ユーザ操作の状態が継続し、かつ、前記第2演奏操作子への第2ユーザ操作があると判断する場合に、発音する歌声の音高を、前記第2ユーザ操作に応じて指定された音高で行うように制御してもよい。このような構成によれば、発音する合成音声の音高を容易に変更できる。
【0098】
電子楽器10のプロセッサは、前記第1ユーザ操作の状態が継続していないと判断する場合に、前記第1文字データに基づく歌声の発音と、前記第2文字データに基づく歌声の発音(もしあれば)と、の全ての停止を指示してもよい。このような構成によれば、最初に押された第1鍵を、発音を制御するためのスイッチとして利用できるため、制御の実装が容易になる。
【0099】
図6は、一実施形態に係る歌詞進行制御方法のフローチャートの一例を示す図である。
【0100】
まず、電子楽器10は、フレーズデータを選択する(ステップS101)。フレーズデータは、複数のフレーズデータから例えばユーザの操作によって選択されてもよい。フレーズデータは、このフレーズに含まれる歌詞(1フレーズの歌詞)に対応する歌声データを含んでもよい。言い換えると、図4図5の歌声データ215は、フレーズデータに含まれる歌声データであってもよい。
【0101】
電子楽器10は、フレーズの再生を準備する(ステップS102)。例えば、電子楽器10は、ステップS101において選択されたフレーズデータを読み込む。
【0102】
電子楽器10は、第1鍵が押鍵された(ノートオンイベントが発生している)かを判定する(ステップS103)。当該第1鍵は、任意の鍵であってもよく、歌声の発音開始スイッチとして機能してもよい。第1鍵が押鍵されない場合(ステップS103-No)、再度ステップS103に進む。
【0103】
第1鍵が押鍵された場合(ステップS103-Yes)、電子楽器10は、歌詞発音タイミングtのカウントアップを開始する(ステップS104)。電子楽器10は、このtを、例えば、拍、ティック、秒などの少なくとも1つの単位で扱ってもよい。歌詞発音タイミングtは、タイマ210によってカウントされてもよい。
【0104】
電子楽器10は、次に発音する歌詞の位置を示す歌詞インデックス(「n」とも表す)に1を代入する(ステップS105)。なお、歌詞をフレーズの途中から始める(例えば、前回の記憶位置(消音された位置)から始める)場合には、nには1以外の値が代入されてもよい。
【0105】
歌詞インデックスは、フレーズ内の歌詞全体を文字列とみなしたときの、先頭から何音節目(又は何文字目)の音節(又は文字)に対応するかを示す変数であってもよい。例えば、歌詞インデックスnは、図4図5などで示した第n歌声再生位置の歌声データ(第n歌詞データ)を示してもよい。
【0106】
なお、本開示において、1つの歌詞の位置(歌詞インデックス)に対応する歌詞は、1音節を構成する1又は複数の文字に該当してもよい。歌声データに含まれる音節は、母音のみ、子音のみ、子音+母音など、種々の音節を含んでもよい。
【0107】
また、電子楽器10は、フレーズデータの発音開始(伴奏の最初)を基準とした、歌詞インデックスn(n=1、2、…、N)に対応する歌詞発音タイミングtを記憶している。ここで、Nは最後の歌詞に該当する。歌詞発音タイミングtは、第n歌声再生位置の望ましいタイミングを示してもよい。
【0108】
電子楽器10は、押鍵された第1鍵に対応する第1音高データと、フレーズデータ内の第n歌詞データ(の文字データ)と、に基づく歌声波形データを生成し、当該歌声波形データに基づく発音処理を行う(ステップS106)。この発音処理は、第n歌詞データの持続時間(duration)だけ発音する処理であってもよい。
【0109】
ステップS106において、図4に基づいて合成音声が生成されてもよい。電子楽器10は、例えば、歌声制御部307より、n番目の歌声データの音響特徴量データ(フォルマント情報)を取得し、音源308に、押鍵に応じた音高の楽器音の発音(楽器音波形データの生成)を指示し、歌声合成部309に、音源308から出力される楽器音波形データに対し、n番目の歌声データのフォルマント情報の付与を指示してもよい。
【0110】
ステップS106において、電子楽器10は、例えば、処理部306が、指定された音高データ(第1音高データ)及びn番目の歌声データ(第n歌詞データ)を、歌声制御部307に入力し、歌声制御部307は、入力に基づいて音響特徴量系列317を推定し、対応するフォルマント情報318と声帯音源データ(ピッチ情報)319と、を、歌声合成部309に対して出力し、歌声合成部309は、入力されたフォルマント情報318と声帯音源データ(ピッチ情報)319とに基づいて、n番目の歌声波形データ(第n音符に対応する第n歌詞の歌声波形データと呼ばれてもよい)を生成し、音源308に出力する。そうして、音源308は、n番目の歌声波形データを、歌声合成部309から取得して当該データに対して発音処理を行う。
【0111】
ステップS106において、図5に基づいて合成音声が生成されてもよい。電子楽器10の処理部307は、指定された音高データ(第1音高データ)及びn番目の歌声データ(第n歌詞データ)を、歌声制御部306に入力する。そして、電子楽器10の歌声制御部306は、入力に基づいて音響特徴量系列317を推定し、対応するフォルマント情報318と声帯音源データ(ピッチ情報)319と、を、歌声合成部309に対して出力する。
【0112】
また、歌声合成部309は、入力されたフォルマント情報318と声帯音源データ(ピッチ情報)319とに基づいて、n番目の歌声波形データ(第n音符に対応する第n歌詞の歌声波形データと呼ばれてもよい)を生成し、音源308に出力する。そうして、音源308は、n番目の歌声波形データを、歌声合成部309から取得する。電子楽器10は、取得されたn番目の歌声波形データに対して、音源308による発音処理を行う。
【0113】
なお、フローチャート内の他の発音処理も同様に行われてもよい。
【0114】
ステップS106の後、電子楽器10は、nを1インクリメントする(nにn+1を代入する)(ステップS107)。
【0115】
電子楽器10は、全鍵が押鍵されていないか否かを判断する(ステップS108)。全鍵が押鍵されていない(言い換えると、全鍵が離鍵されている)場合(ステップS108-Yes)、電子楽器10は、発音中の歌声の消音処理を行う(ステップS109)。なお、本開示の消音処理は、例えば、(デジタル又はアナログ)波形データを出力しない処理、ミュート処理などと互いに読み替えられてもよい。当該ミュート処理は、波形の音量を0又は弱音化(非常に小さく)する処理であってもよい。
【0116】
ステップS109の後、電子楽器10は、フレーズ再生処理が終了したか否かを判断する(ステップS110)。終了した場合(ステップS110-Yes)、電子楽器10は当該フローチャートの処理を終了し、待機状態に戻ってもよい。そうでない場合(ステップS110-No)、ステップS102に戻る。なお、フレーズ再生処理が終了したことは、歌詞発音タイミングtが第Nタイミングを超えた(言い換えると、t>t)かで判断されてもよいし、フレーズ再生機能がオフにされたかで判断されてもよい。
【0117】
さて、全鍵が離鍵されていない(任意の鍵の押鍵がある)場合(ステップS108-No)、電子楽器10は、新たに第X鍵の押鍵があったか否かを判断する(ステップS111)。ここで、第X鍵は、第1鍵と異なる任意の鍵であってもよい。第X鍵が押鍵された場合(ステップS111-Yes)、電子楽器10は、歌詞発音タイミングtが第nタイミングになったか(言い換えると、t=tか)を判定する(ステップS112)。
【0118】
t=tである場合(ステップS112-Yes)、電子楽器10は、第X鍵に対応する第X音高データと、第n歌詞データ(の文字データ)と、に基づく歌声波形データを生成し、当該歌声波形データに基づく発音処理を行う(ステップS113)。
【0119】
ステップS113の後、電子楽器10は、nを1インクリメントする(nにn+1を代入する)(ステップS114)。
【0120】
歌詞発音タイミングtが第nタイミングでない(t<t)場合(ステップS112-No)、電子楽器10は、発音中の音を第X音高データに基づいてピッチ変更を行う(ステップS115)。ピッチ変更は、例えば、ステップS113で説明したのと同様に、第X音高データと、発音中の歌詞(第n-1歌詞データの文字データ)と、に基づく歌声波形データを生成し、発音処理することによって行われてもよい。
【0121】
ステップS114又はステップS115の後、電子楽器10は、第X鍵の離鍵があったか否かを判断する(ステップS116)。第X鍵が離鍵された場合(ステップS116-Yes)、電子楽器10は、発音中の歌声の消音処理を行う(ステップS117)。ステップS117又はステップS116-Noの後、ステップS108に進む。なお、ステップS116及びS117は、省略されてもよい。また、ステップS117は、離鍵された第X鍵に基づく発音のみを消音する処理で読み替えられてもよい。
【0122】
第X鍵が押鍵されていない場合(ステップS111-No)、電子楽器10は、歌詞発音タイミングtが第nタイミングになったか(言い換えると、t=tか)を判定する(ステップS118)。
【0123】
t=tである場合(ステップS118-Yes)、電子楽器10は、押鍵中の鍵に対応する音高データと、第n歌詞データ(の文字データ)と、に基づく歌声波形データを生成し、当該歌声波形データに基づく発音処理を行う(ステップS119)。
【0124】
ステップS119の後、電子楽器10は、nを1インクリメントする(nにn+1を代入する)(ステップS120)。ステップS120又はステップS118-Noの後、ステップS108に進む。
【0125】
なお、電子楽器10は、ステップS102において、フレーズデータに対応するソングデータを読み込んでもよく、例えば第1鍵が押鍵されている限り、発音されている歌詞に対応する伴奏の発音を継続し、そうでない場合、伴奏の発音を行わなくてもよい。
【0126】
図6のフローチャートによれば、第1鍵が離鍵しても、他に押鍵されている鍵があれば、フレーズ再生が継続される。例えば、「レガート」奏法のような、押鍵した鍵の離鍵を検出する前(又は発音が終了する前)に次の押鍵を検出した場合に、次の押鍵に応じた発音を指示して歌詞を進行させ、押鍵した鍵の離鍵が検出されたときに次の押鍵を検出していない場合に消音処理させることができる。
【0127】
なお、ステップS108の「全鍵が押鍵されていない否か」は、「第1鍵の離鍵があったか否か」、「第X鍵の離鍵があったか否か」などで読み替えられてもよい。例えば前者の読み替えの場合、最初に押鍵された第1鍵のみフレーズ再生の継続可否のスイッチとして利用される。
【0128】
また、ステップS111の第X鍵は、複数の鍵であってもよい。この場合、ステップS113の発音処理、ステップS115のピッチ変更、ステップS117の消音処理などは、当該複数の鍵それぞれについて行われてもよい。例えば、第X鍵が複数鍵の同時押鍵(和音の押鍵)であった場合、ステップS113、S115などによって、それぞれの音高に応じたハーモニーの歌声(ポリフォニック)が発音されてもよい。第1鍵についても同様であってもよい。
【0129】
なお、ステップS119などにおいて、電子楽器10は、押鍵されている鍵が複数ある場合は、ポリフォニックな歌声(例えば、図4の実施例)を適用し、複数の音高データそれぞれに基づく複数の歌声波形データを生成してもよいし、モノフォニックな歌声(例えば、図5の実施例)を適用し、いずれか1つの音高データ(例えば、直前に押鍵した鍵に対応する音高データに)基づく歌声波形データを生成してもよい。
【0130】
本フローチャートでは、音高を自由に変更可能なフレーズ単位の歌詞発音の制御が、好適に実施できる。
【0131】
図6では、フレーズ再生を制御する演奏操作子として、鍵を用いる例を示したが、これに限られない。例えば、フレーズ再生を制御する演奏操作子は、ペダルを含んでもよい。
【0132】
図7は、一実施形態に係る歌詞進行制御方法のフローチャートの別の一例を示す図である。図7は、図6と同様な点が多いため、重複する説明は繰り返さない。
【0133】
図7では、図6のステップS103の「第1鍵の押鍵があったか否か」の代わりに、「第1鍵の押鍵有かつペダルがオン、か否か」に関するステップS133が用いられる。また、図7では、図6のステップS108の「全鍵が押鍵されていないか否か」の代わりに、「ペダルがオフか否か」に関するステップS138が用いられる。したがって、図7のフローチャートでは、いったん第1鍵が押鍵された後、ペダルが踏まれている間はフレーズ再生が継続される。
【0134】
なお、電子楽器10は、図7の動作時に、ペダルをサステインペダル(ダンパーペダル)として用いないように制御してもよい。ペダルがサステインペダルとして用いられると、フレーズ再生の音が意図せず重なってしまうためである。例えば、図7のようなフレーズモード動作時において、電子楽器10(処理部306)は、歌声制御部307、音源308などに対してペダルオン/オフは指示しないように制御してもよい。
【0135】
図6のステップS103の「第1鍵の押鍵があったか否か」は、「設定された条件を満たすか否か」で読み替えられてもよい。この場合、図6のステップS108の「全鍵が押鍵されていないか否か」は「上記設定された条件を満たさないか否か」で読み替えられてもよい。電子楽器10は、例えばユーザの入力に基づいて当該条件を判断してもよい。当該条件は、ペダルオンを検出している、任意の鍵の押鍵を検出している、任意の鍵の離鍵を検出している、所定のスイッチ/ボタンのオンを検出している、などの少なくとも1つを含んでもよい。
【0136】
図8は、一実施形態に係る歌詞進行制御方法を用いて制御された歌詞進行の一例を示す図である。本例では、図示する楽譜に対応する演奏の一例について説明する。歌詞インデックス1-6に、それぞれ「Sle」、「ep」、「in」、「heav」、「en」及び「ly」が対応すると仮定する。当該歌詞インデックス1-6が、1つのフレーズに対応する。
【0137】
本例では、電子楽器10は、タイミングt1において、ユーザによる押鍵があると判断した(図6のステップS103-Yes)。この場合、電子楽器10は、押鍵された鍵(第1鍵)に対応する音高データで、歌詞インデックス1に対応する歌詞「Sle」を発音する(ステップS106)。
【0138】
仮にユーザが、このまま他の鍵を押鍵することなく第1鍵を押鍵し続ける場合、電子楽器10は、歌詞インデックス2以降の歌詞を、上記第1鍵に対応する音高データを用いて発音する。例えば第1鍵がド(C)の音である場合、電子楽器10は、「Sle」、「ep」、「in」、…、をド(C)の音で発音してもよい。
【0139】
電子楽器10は、第1鍵が離鍵されると、発音中の音を消音処理してもよい。例えば、電子楽器10は、歌詞インデックス2、3に対応するタイミングt2、t3において、第1鍵が離鍵されていると判断すると、発音中の歌声の消音処理を行ってもよい(ステップS108-Yes、S109)。なお、電子楽器10は、第1鍵の離鍵があってもダンパーペダルが踏まれているなど他の条件を満たせば消音処理せずに発音を継続させてもよい。
【0140】
電子楽器10は、第1鍵が離鍵された後、次の任意の鍵の押鍵に応じてまた歌詞インデックスの先頭「Sle」から発音を開始してもよいし、図示しない別のフレーズの歌詞インデックスの先頭から発音を開始してもよい。言い換えると、電子楽器10は、フレーズのセットに基づいて、第1鍵の離鍵のたびに当該セット内のフレーズを切り替えてもよい。
【0141】
電子楽器10は、第1鍵の押鍵による歌声発音中に第2鍵の押鍵があった(第1鍵及び第2鍵が同時に押鍵されている)場合、第2鍵の押鍵タイミングに対応するタイミング(及びこれ以降のタイミング)の歌声は、第1鍵の音高から第2鍵の音高に変更して発音する。ここで、第2押鍵が、複数鍵の同時押鍵(和音の押鍵)であった場合、それぞれの音高に応じたハーモニーの歌声(ポリフォニック)が発音されてもよい。
【0142】
電子楽器10は、第1鍵が離鍵されない限り、フレーズ最後の発音を延ばし続けてもよい。また、電子楽器10は、最終音「ly」の発音中、仮に新たな押鍵が有った場合、発音中の歌声「ly」の音高を変更してもよい。既存のボコーダーでは、このような動作はできない。
【0143】
つまり、本開示の一態様にかかる歌詞進行制御方法によれば、フレーズ内の歌詞は、前にある歌詞(例えば、「heav」から見ると、「Sleep in」)が全て発音されなければ発音されない。言い換えると、フレーズ内の歌詞が飛ばされて発音されることはない。
【0144】
通常の自動演奏がユーザの押鍵がなくても歌詞を自動演奏する(上記の図8の例では「Sleep in heavenly」が全て発音され、また、音高は変更できない)のに対して、上記歌詞進行制御方法によれば、押鍵し続ける間だけ歌詞を自動演奏することができる(また、音高も変更できる)。
【0145】
また、既存の押鍵のたびに歌詞が進行する(図8の例に適用すると、押鍵のたびに歌詞インデックスがインクリメントされ発音される)技術では、押鍵し過ぎにより歌詞の位置が超過したり、押鍵が不足して歌詞の位置が想定より進まなかったりした場合に、歌詞の位置を適切に移動させるための同期処理(歌詞の位置を伴奏の再生位置と合わせる処理)が必要となる。一方で、上記歌詞進行制御方法によれば、このような同期処理は不要であり、電子楽器10の処理負荷の増大が好適に抑制される。
【0146】
(変形例)
図4図5などで示した音声合成処理のオン/オフは、ユーザのスイッチパネル140bの操作に基づいて切り替えられてもよい。オフの場合、波形データ出力部211は、押鍵に対応する音高の楽器音データの音源信号を生成して、出力するように制御してもよい。
【0147】
図6などのフローチャートにおいて、一部のステップが省略されてもよい。判定処理が省略された場合、当該判定についてはフローチャートにおいて常にYes又は常にNoのルートに進むと解釈されてもよい。
【0148】
電子楽器10は、ディスプレイ150dに歌詞を表示させる制御を行ってもよい。例えば、現在の歌詞の位置(歌詞インデックス)付近の歌詞が表示されてもよいし、発音中の音に対応する歌詞、発音した音に対応する歌詞などを、現在の歌詞の位置が識別できるように着色等して表示してもよい。
【0149】
電子楽器10は、外部装置に対して、歌声データ、現在の歌詞の位置に関する情報などの少なくとも1つを送信してもよい。外部装置は、受信した歌声データ、現在の歌詞の位置に関する情報などに基づいて、自身の有するディスプレイに歌詞を表示させる制御を行ってもよい。
【0150】
上述の例では、電子楽器10がキーボードのような鍵盤楽器である例を示したが、これに限られない。電子楽器10は、ユーザの操作によって発音のタイミングを指定できる構成を有する機器であればよく、エレクトリックヴァイオリン、エレキギター、ドラム、ラッパなどであってもよい。
【0151】
このため、本開示の「鍵」は、弦、バルブ、その他の音高指定用の演奏操作子、任意の演奏操作子などで読み替えられてもよい。本開示の「押鍵」は、打鍵、ピッキング、演奏、操作子の操作などで読み替えられてもよい。本開示の「離鍵」は、弦の停止、演奏停止、操作子の停止(非操作)などで読み替えられてもよい。
【0152】
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線又は無線によって接続し、これら複数の装置により実現されてもよい。
【0153】
なお、本開示において説明した用語及び/又は本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0154】
本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。また、本開示においてパラメータなどに使用する名称は、いかなる点においても限定的なものではない。
【0155】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0156】
情報、信号などは、複数のネットワークノードを介して入出力されてもよい。入出力された情報、信号などは、特定の場所(例えば、メモリ)に保存されてもよいし、テーブルを用いて管理してもよい。入出力される情報、信号などは、上書き、更新又は追記をされ得る。出力された情報、信号などは、削除されてもよい。入力された情報、信号などは、他の装置へ送信されてもよい。
【0157】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0158】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0159】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0160】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0161】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素の参照は、2つの要素のみが採用され得ること又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0162】
本開示において、「含む(include)」、「含んでいる(including)」及びこれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0163】
本開示において、例えば、英語でのa, an及びtheのように、翻訳によって冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0164】
以上の実施形態に関して、以下の付記を開示する。
(付記1)
第1演奏操作子(例えば、第1鍵)と、第2演奏操作子(例えば、第X鍵)と、を含む複数の演奏操作子と、
プロセッサ(例えば、CPU201)と、を備え、前記プロセッサは、
前記第1演奏操作子への第1ユーザ操作(例えば、押鍵)に応じて、フレーズデータに含まれる第1タイミングに応じた第1文字データ(フレーズの最初の文字)に基づく歌声の発音を指示し、
前記第1ユーザ操作の状態が継続していると判断する場合に、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミングに応じた第2文字データ(フレーズの2番目以降の文字)に基づく歌声の発音を指示する、
電子楽器。
【0165】
(付記2)
前記プロセッサは、
前記第1ユーザ操作の状態が継続していない(例えば、離鍵された)と判断する場合に、前記フレーズデータの先頭(例えば、第1タイミング)に次の発音開始位置を変更する、
付記1に記載の電子楽器。
【0166】
(付記3)
前記プロセッサは、
前記第1ユーザ操作の状態が継続していないと判断する場合であって、発音中の歌声がある場合に、前記発音中の歌声の発音のミュートを指示する、
付記1又は付記2に記載の電子楽器。
【0167】
(付記4)
前記プロセッサは、
前記第1演奏操作子への前記第1ユーザ操作が継続している場合、及び、ペダルオンを検出している場合を含む設定された条件を満たす場合、のいずれかの場合に、前記第1ユーザ操作の状態が継続していると判断する、
付記1から付記3のいずれかに記載の電子楽器。
【0168】
(付記5)
前記プロセッサは、
前記第2タイミングに応じて第2ユーザ操作(例えば、押鍵)すべきタイミングに、前記第1ユーザ操作の状態が継続し、かつ、前記第2ユーザ操作(例えば、前記第2演奏操作子の押鍵)がないと判断する場合に、発音する前記第2文字データに基づく歌声の音高を、前記第1ユーザ操作に応じて指定された音高(第1音高)で行うように制御する、
付記1から付記4のいずれかに記載の電子楽器。
【0169】
(付記6)
前記プロセッサは、
前記第2タイミングに応じて第2ユーザ操作すべきタイミングに、前記第1ユーザ操作の状態が継続し、かつ、前記第2ユーザ操作があると判断する場合に、発音する前記第2文字データに基づく歌声の音高を、前記第2ユーザ操作に応じて指定された音高(第X音高)で行うように制御する、
付記1から付記5のいずれかに記載の電子楽器。
【0170】
(付記7)
電子楽器のコンピュータに、
第1演奏操作子への第1ユーザ操作に応じて、フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示させ、
前記第1ユーザ操作の状態が継続していると判断する場合に、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミングに応じた第2文字データに基づく歌声の発音を指示させる、
方法。
【0171】
(付記8)
電子楽器のコンピュータに、
第1演奏操作子への第1ユーザ操作に応じて、フレーズデータに含まれる第1タイミングに応じた第1文字データに基づく歌声の発音を指示させ、
前記第1ユーザ操作の状態が継続していると判断する場合に、前記フレーズデータに含まれる前記第1タイミング以降の第2タイミングに応じた第2文字データに基づく歌声の発音を指示させる、
プログラム。
【0172】
以上、本開示に係る発明について詳細に説明したが、当業者にとっては、本開示に係る発明が本開示中に説明した実施形態に限定されないということは明らかである。本開示に係る発明は、特許請求の範囲の記載に基づいて定まる発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とし、本開示に係る発明に対して何ら制限的な意味をもたらさない。
図1
図2
図3
図4
図5
図6
図7
図8