(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-24
(45)【発行日】2024-07-02
(54)【発明の名称】情報処理装置、電子楽器システム、電子楽器、音節進行制御方法及びプログラム
(51)【国際特許分類】
G10L 13/00 20060101AFI20240625BHJP
G10H 1/00 20060101ALI20240625BHJP
【FI】
G10L13/00 100Y
G10H1/00 Z
(21)【出願番号】P 2021207713
(22)【出願日】2021-12-22
【審査請求日】2022-12-16
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】段城 真
(72)【発明者】
【氏名】太田 文章
(72)【発明者】
【氏名】中村 厚士
【審査官】中村 天真
(56)【参考文献】
【文献】特開2021-099461(JP,A)
【文献】特開2021-099462(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00-1/46
G10L 13/00
(57)【特許請求の範囲】
【請求項1】
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数
のみに応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
制御部を備える情報処理装置。
【請求項2】
前記発音させる各音節は、夫々、順次発音させる複数のフレームを含み、
前記制御部は、
前記操作継続中の操作子の数が設定数に達している場合
、再生レートに従って算出される次に発音させるフレームの位置が現在の発音対象である前記第1音節の母音終了位置を超えるか否かを判断し、
超える場合に、発音するフレーム位置として前記母音終了位置を設定することにより、前記第1音節から前記第2音節に進めないように制御し、
超えない場合に、前記次に発音するフレーム位置から発音させることにより、前記第1音節から前記第2音節に進めないように制御し、
前記操作継続中の操作子の数が前記設定数に満たない場合に、前記第1音節から前記第2音節に進めるように制御する、
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、検出された前記タイミングに操作継続中の操作子が存在しない場合に、発音させる音声に対応する音節を前記第1音節から前記第2音節に進めるように制御する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記制御部は、いずれの操作子への操作がされていない状態でいずれかの操作子への操作を検出した場合に、前記第1操作子への操作を検出したと判断して前記設定時間のカウントを開始する、
請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
請求項1~4のいずれか一項に記載の情報処理装置と、
電子楽器と、
を備え、
前記情報処理装置は、音節の位置制御に応じたパラメータを前記電子楽器に送信し、
前記電子楽器は、受信した前記パラメータに基づいて合成した音声を発音する、
電子楽器システム。
【請求項6】
請求項1~4のいずれか一項に記載の情報処理装置と、
複数の操作子と、
を備える電子楽器。
【請求項7】
情報処理装置の制御部が、
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数
のみに応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
方法。
【請求項8】
情報処理装置の制御部が、
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数
のみに応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
処理を実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、電子楽器システム、電子楽器、音節進行制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、合成音声の利用シーンが拡大している。そうした中、自動演奏だけではなく、ユーザ(演奏者)の押鍵操作に応じて歌詞を進行させ、歌詞に対応した合成音声を出力できる電子楽器があれば、より柔軟な合成音声の表現が可能となり好ましい。
【0003】
例えば、特許文献1においては、鍵盤などを用いたユーザ操作に基づく演奏に同期させて歌詞を進行させる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、コーラス隊などの和声では、ソプラノ等のメロディーパートは音高を変化させずに母音を維持したまま、アルトやバスパートだけがメリスマで音高を変える場合が多くあるが、押鍵毎に歌詞の音節を進行させてしまうと、そのような和声の変化を再現することができない。
【0006】
本発明は、上記の問題に鑑みてなされたものであり、電子楽器の操作に基づいてコーラス隊などの和声を再現する場合の音節進行を適切に制御することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明の情報処理装置は、
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数のみに応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
制御部を備える。
【発明の効果】
【0008】
本発明によれば、電子楽器の操作に基づいてコーラス隊などの和声を再現する場合の音節進行を適切に制御することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の電子楽器システムの全体構成例を示す図である。
【
図3】
図1の電子楽器の機能的構成を示すブロック図である。
【
図4】
図1の端末装置の機能的構成を示すブロック図である。
【
図5】
図1の電子楽器の歌声発音モードにおける、鍵盤の押鍵操作に応じた歌声の発音に係る構成を示す図である。
【
図6】フレームと音節の関係を示すイメージ図である。
【
図7】
図3のCPUにより実行される発音制御処理の流れを示すフローチャートである。
【
図8】
図3のCPUにより実行される音節進行制御処理の流れを示すフローチャートである。
【
図9】
図8の音節進行制御処理による音節進行の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本発明を実施するための形態について、図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されている。そのため、本発明の技術的範囲を以下の実施形態及び図示例に限定するものではない。
【0011】
[電子楽器システム1の構成]
図1は、本発明に係る電子楽器システム1の全体構成例を示す図である。
図1に示すように、電子楽器システム1は、電子楽器2と、端末装置3と、が通信インターフェースI(又は通信ネットワークN)を介して接続されて構成されている。
【0012】
[電子楽器2の構成]
電子楽器2は、ユーザの鍵盤101の押鍵操作に応じて楽器音を出力する通常モードの他、鍵盤101の押鍵操作に応じて歌声を発音する歌声発音モードを有し、コーラス隊などの複数のパートからなる和声をポリフォニック発音させることが可能となっている。
【0013】
図2は、電子楽器2の外観例を示す図である。電子楽器2は、操作子としての複数の鍵からなる鍵盤101と、各種設定を指示する第1のスイッチパネル102及び第2のスイッチパネル103と、各種表示を行うLCD104(Liquid Crystal Display)と、を備える。また、電子楽器2は、演奏により生成された楽音や音声(歌声)を放音するスピーカ214を裏面部、側面部、又は背面部等に備える。
【0014】
図3は、
図1の電子楽器2の制御系の機能的構成を示すブロック図である。
図3に示すように、電子楽器2は、タイマ210に接続されたCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、音源部204、音声合成部205、
図2の鍵盤101、第1のスイッチパネル102、及び第2のスイッチパネル103が接続されるキースキャナ206、
図2のLCD104が接続されるLCDコントローラ207、及び通信部208が、それぞれバス209に接続されて構成されている。本実施形態において、第1のスイッチパネル102には、後述する歌声発音モードスイッチが含まれる。また、第2のスイッチパネル103には、後述する音色設定スイッチが含まれる。
また、音源部204、音声合成部205には、それぞれD/Aコンバータ211、212が接続され、音源部204から出力される楽器音の波形データ、音声合成部205から出力される歌声の音声波形データ(歌声波形データ)は、それぞれD/Aコンバータ211、212によりアナログ信号に変換され、アンプ213により増幅された後、スピーカ214から出力されるようになっている。
【0015】
CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶されたプログラムを実行することにより、
図1の電子楽器2の制御動作を実行する。CPU201は、ROM202に記憶されているプログラムとの協働により後述する発音制御処理及び音節進行制御処理を実行することで、本発明の情報処理装置の制御部の機能を実現する。
ROM202は、プログラム及び各種固定データ等を記憶する。
【0016】
音源部204は、ピアノ、オルガン、シンセサイザー、弦楽器、管楽器等の楽器音の波形データ(楽器音波形データ)の他、歌声発音モードにおける発声音源用の波形データ(発声音源用波形データ)として、人の声、犬の声、猫の声等の様々な音色の波形データが記憶された波形ROMを有する。なお、楽器音波形データについても発声音源用波形データとして使用することが可能である。
【0017】
音源部204は、通常モードにおいて、CPU201からの制御指示に従い、鍵盤101の押鍵操作された鍵の音高情報に基づいて、例えば図示しない波形ROMから楽器音波形データを読み出し、D/Aコンバータ211に出力する。また、音源部204は、歌声発音モードにおいて、CPU201からの制御指示に従い、鍵盤101の押鍵操作された鍵の音高情報に基づいて、例えば図示しない波形ROMから波形データを読み出し、発声音源用波形データとして音声合成部205に出力する。音源部204は、同時に複数チャネル分の波形データの出力が可能である。なお、音高情報と波形ROMに記憶されている波形データに基づいて、鍵盤101の押鍵操作された鍵の音高に応じた波形データを生成してもよい。
音源部204は、PCM(Pulse Code Modulation)音源方式に限定されず、例えば、FM(Frequency Modulation)音源方式等、他の音源方式を用いたものであってもよい。
【0018】
音声合成部205は、合成フィルタ205aを有し、CPU201から与えられる歌声パラメータと音源部204から入力される発声音源用波形データとに基づいて歌声波形データを生成し、D/Aコンバータ212に出力する。
【0019】
なお、音源部204、音声合成部205は、LSI(Large-Scale Integration)等の専用のハードウエアにより構成されることとしてもよいし、CPU201とROM202に記憶されたプログラムとの協働によるソフトウエアにより実現されることとしてもよい。
【0020】
キースキャナ206は、
図2の鍵盤101の各鍵の押鍵/離鍵状態、第1のスイッチパネル102、及び第2のスイッチパネル103のスイッチ操作状態を定常的に走査し、操作された鍵の音高及び押鍵/離鍵情報(演奏操作情報)及びスイッチ操作情報をCPU201に出力する。
【0021】
LCDコントローラ207は、LCD104の表示状態を制御するIC(集積回路)である。
【0022】
通信部208は、インターネット等の通信ネットワークNやUSB(Universal Serial Bus)ケーブル等の通信インターフェースIを介して接続された端末装置3等の外部装置とのデータ送受信を行う。
【0023】
[端末装置3の構成]
図4は、
図1の端末装置3の機能的構成を示すブロック図である。
図4に示すように、端末装置3は、CPU301、ROM302、RAM303、記憶部304、操作部305、表示部306、通信部307等を備えて構成されたコンピュータであり、各部はバス308により接続されている。端末装置3としては、例えば、タブレットPC(Personal Computer)、ノートPC、スマートフォン等が適用可能である。
【0024】
端末装置3のROM302には、学習済みモデル302aが搭載されている。学習済みモデル302aは、複数の歌唱曲の楽譜データ(歌詞データ(歌詞のテキスト情報)及び音高データ(音の長さの情報も含む))と、それぞれの歌唱曲を或る歌い手が歌ったときの歌声波形データと、からなる複数のデータセットを機械学習することにより生成されたものである。学習済みモデル302aは、任意の歌唱曲(フレーズでもよい)の歌詞データ及び音高データが入力されると、学習済みモデル302aを生成したときの歌い手が入力された歌唱曲を歌った場合と同等の歌声を発音するための歌声パラメータ群(歌声情報という)を推論する。
【0025】
[歌声発音モードの動作]
図5は、歌声発音モードにおける、鍵盤101の押鍵操作に応じた歌声の発音に係る構成を示す図である。以下、
図5を参照して、電子楽器2において歌声発音モードで鍵盤101の押鍵操作に応じて歌声を発音する際の動作について説明する。
【0026】
歌声発音モードで演奏を行いたい場合、ユーザは、電子楽器2において第1のスイッチパネル102の歌声発音モードスイッチを押下し、歌声発音モードへの移行を指示する。
CPU201は、歌声発音モードスイッチが押下されると、動作モードを歌声発音モードに移行させる。また、ユーザが第2のスイッチパネル103の音色選択スイッチにより発音させたい声の音色を選択すると、CPU201は、選択された音色の情報を音源部204に設定する。
【0027】
次いで、ユーザは、端末装置3において、電子楽器2に歌声発音モードで発音させたい任意の歌唱曲の歌詞データ及び音高データを専用のアプリケーション等を用いて入力する。歌唱曲の歌詞データ及び音高データを記憶部304に記憶しておき、記憶部304に記憶されている中から任意の歌唱曲の歌詞データ及び音高データを選択することとしてもよい。
端末装置3において、歌声発音モードで発音させたい任意の歌唱曲の歌詞データ及び音高データが入力されると、CPU301は、入力された歌唱曲の歌詞データ及び音高データを学習済みモデル302aに入力して、学習済みモデル302aに歌声パラメータ群を推論させ、推論された歌声パラメータ群である歌声情報を通信部307により電子楽器2に送信する。
【0028】
ここで、歌声情報について説明する。
歌唱曲を時間方向に所定時間単位で区切ったそれぞれの区間をフレームと呼び、学習済みモデル302aは、フレーム単位で歌声パラメータを生成する。すなわち、1つの歌唱曲の歌声情報は、フレーム単位の複数の歌声パラメータ(歌声パラメータ群)により構成される。本実施形態では、歌唱曲を所定のサンプリング周波数(例えば、44.1kHz)でサンプリングしたときの1サンプルの長さ×225を1フレームとする。
【0029】
フレーム単位の歌声パラメータには、スペクトルパラメータ(発音される声の周波数スペクトル)及び基本周波数F0パラメータ(発音される声のピッチ周波数)が含まれる。
【0030】
また、フレーム単位の歌声パラメータには、音節の情報が含まれる。
図6は、フレームと音節の関係を示すイメージ図である(なお、
図6は、登録商標を使用したものではない)。
図6に示すように、歌唱曲の音声は、複数の音節(
図6では第1音節~第3音節)により構成されている。それぞれの音節は、一般的には、1つの母音、又は、1つの母音と1又は複数の子音の組み合わせにより構成されている。各音節は、時間方向に連続する複数のフレーム区間にわたって発音され、一つの歌唱曲に含まれる各音節の音節開始位置、音節終了位置、母音開始位置、母音終了位置(いずれも、時間方向における位置)は、フレーム位置(先頭から何番目のフレームか)によって特定することができる。歌声情報における、各音節の音節開始位置、音節終了位置、母音開始位置、母音終了位置に該当するフレームの歌声パラメータには、第〇音節開始フレーム、第〇音節終了フレーム、第〇母音開始フレーム、第〇母音終了フレーム(〇は自然数)等の情報が含まれている。
【0031】
図5に戻り、電子楽器2において、通信部208により端末装置3から歌声情報を受信すると、CPU201は、受信した歌声情報をRAM203に記憶させる。
ユーザにより鍵盤101が操作され、キースキャナ206から演奏操作情報が入力されると、CPU201は、押鍵操作された鍵の音高情報を音源部204に入力する。音源部204は、予め設定された音色の、入力された音高情報に応じた波形データを発声音源用波形データとして波形ROMから読み出し音声合成部205の合成フィルタ205aに入力する。
また、キースキャナ206から演奏操作情報が入力されると、CPU201は、後述する音節進行制御処理(
図8参照)を実行することにより、演奏操作に応じて発音させるフレームを特定し、特定されたフレームのスペクトルパラメータをRAM203から読み出して合成フィルタ205aに入力する。
【0032】
合成フィルタ205aは、入力されたスペクトルパラメータと発声音源用波形データに基づいて歌声波形データを生成し、D/Aコンバータ212に出力する。D/Aコンバータ212に出力された歌声波形データはアナログ音声信号に変換され、アンプ213で増幅されてスピーカ214から出力される。
【0033】
ここで、コーラス隊などの和声では、ソプラノ等のメロディーパートは音高を変化させずに母音を維持したまま、アルトやバスパートだけがメリスマで音高を変える場合が多くあるが、押鍵毎に歌詞の音節を進行させてしまうと、そのような和声の変化を再現することができない。
【0034】
そこで、CPU201は、歌声発音モードにおいて、キースキャナ206からの演奏操作情報の入力に応じて、
図8に示す音節進行制御処理を含む発音制御処理を実行することにより、コーラス隊などの和声を再現する場合の音節進行が適切になるように制御する。
【0035】
図7は、発音制御処理の流れを示すフローチャートである。発音制御処理は、例えば通信部208により端末装置3から受信した歌声情報をRAM203に記憶させた際に、CPU201とROM202に記憶されているプログラムとの協働により実行される。
【0036】
まず、CPU201は、音節進行制御処理で使用される変数を初期化する(ステップS1)。
次いで、CPU201は、キースキャナ206により演奏操作情報が入力されたか否かを判断する(ステップS2)。
演奏操作情報が入力されたと判断した場合(ステップS2;YES)、CPU201は、音節進行制御処理を実行する(ステップS3)。
【0037】
図8は、音節進行制御処理の流れを示すフローチャートである。音節進行制御処理は、CPU201とROM202に記憶されているプログラムとの協働により実行される。
【0038】
音節進行制御処理において、CPU201は、キースキャナ206から入力された演奏操作情報に基づいて、押鍵操作又は離鍵操作を検出する(ステップS31)。
押鍵操作を検出した場合(ステップS31;YES)、CPU201は、KeyOnCounterにKeyOnCounter+1を設定する(ステップS32)。
ここで、KeyOnCounterは、現在押鍵されている(押鍵中の)鍵の数(操作継続中の操作子の数)を格納する変数である。
【0039】
次いで、CPU201は、KeyOnCounterが1であるか否かを判断する(ステップS33)。
すなわち、検出された押鍵操作が他の操作子が押鍵されていない状態でなされたか否かを判断する。
【0040】
KeyOnCounterが1であると判断した場合(ステップS33;YES)、CPU201は、SystemTime(システム時間)を取得し、取得したSystemTimeをFirstKeyOnTimeに設定し(ステップS34)、ステップS37に移行する。
ここで、FirstKeyOnTimeは、現在押鍵されている鍵のうち最初に押鍵された鍵(第1操作子)が押鍵された時間を格納する変数である。すなわち、CPU201は、KeyOnCounterが1であると判断した場合、第1操作子への操作(第1押鍵と呼ぶ)を検出したと判断してFirstKeyOnTimeの設定を行う。
【0041】
KeyOnCounterが1ではないと判断した場合(ステップS33;NO)、CPU201は、SystemTimeを取得し、SystemTime - FirstKeyOnTime>Mであるか否かを判断する(ステップS35)。
ここで、Mは、検出された押鍵操作(第2操作子への操作)が、第1押鍵とほぼ同時に操作されたか否かを判定するために予め設定された同時判定期間(数msec程度。本発明の設定時間に対応。)である。SystemTime - FirstKeyOnTime>Mではない場合(すなわち、第1押鍵からの経過時間が同時判定期間内である場合)、検出された押鍵操作は第1押鍵と同時押鍵であるとみなされる。SystemTime - FirstKeyOnTime >Mである場合(すなわち、第1押鍵からの経過時間が同時判定期間外である場合)、検出された押鍵操作は第1押鍵と同時押鍵とはみなされない。
【0042】
SystemTime - FirstKeyOnTime>Mではない(同時判定期間内である)と判断した場合(ステップS35;NO)、CPU201は、ステップS41に移行する。
ここで、ステップS35の判断がNOとなる押鍵は、第1押鍵と同時押鍵である。複数の同時押鍵の場合は、第1押鍵も含めて全体で1つの音節が進むよう制御する。本実施形態では、第1押鍵で音節を進めるため、同時押鍵となるその他の押鍵では、ステップS41に移行して、音節を進めないよう制御する。
【0043】
SystemTime - FirstKeyOnTime>Mである(同時判定期間外である)と判断した場合(ステップS35;YES)、CPU201は、KeyOnCounter<4、すなわち、現在押鍵されている鍵数が4未満であるか否かを判断する(ステップS36)。
ここで、ステップS36でKeyOnCounterと比較する設定数(ここでは4)は、歌声発音モードで発音するパート数である。本実施形態では、歌声発音モードでソプラノ、アルト、テノール、バスの4つのパートを発音させることとして、ステップS36でKeyOnCounterと比較する設定数を4としている。なお、この設定数は、ユーザ操作に応じて変更可能である。
【0044】
KeyOnCounter<4であると判断した場合(ステップS36;YES)、すなわち、現在押鍵されている鍵数がパート数に満たないと判断した場合、CPU201は、ステップS37に移行する。
【0045】
KeyOnCounter<4ではないと判断した場合(ステップS36;NO)、すなわち、現在押鍵されている鍵数がパート数に達していると判断した場合、CPU201は、ステップS41に移行する。
【0046】
ステップS37において、CPU201は、CurrentFramePosが最後の音節のフレーム位置であるか否かを判断する(ステップS37)。
このCurrentFramePosは、現在の発音対象のフレームのフレーム位置を格納する変数であり、ステップS43又はS44において次の発音対象のフレームのフレーム位置に置き換えられるまでは、前回発音されたフレームのフレーム位置が格納されている。
【0047】
CurrentFramePosが最後の音節のフレーム位置であると判断した場合(ステップS37;YES)、CPU201は、次の発音対象のフレームのフレーム位置を格納する変数であるNextFramePosに、最初の音節の音節開始位置を設定し(ステップS38)、ステップS43に移行する。
【0048】
CurrentFramePosが最後の音節のフレーム位置ではないと判断した場合(ステップS37;NO)、CPU201は、NextFramePosに、次の音節の音節開始位置を設定し(ステップS39)、ステップS43に移行する。
【0049】
ステップS43において、CPU201は、CurrentFramePosにNextFramePosを設定し(ステップS43)、
図7のステップS4に移行する。
すなわち、前回発音されたフレームが最後の音節ではない場合は、発音対象のフレームの位置が次の音節の音節開始位置に進行する。前回発音されたフレームが最後の音節である場合は、前回発音された音節の次の音節がないため、発音対象のフレームの位置が最初の音節開始位置のフレームに進行する。
【0050】
一方、ステップS31において、離鍵が検出されたと判断した場合(ステップS31;NO)、CPU201は、KeyOnCounterにKeyOnCounter - 1を設定し(ステップS40)、ステップS41に移行する。
【0051】
ステップS41において、CPU201は、NextFramePosにCurrentFramePos+再生レート/120を設定する(ステップS41)。
ここで、120は、デフォルトのテンポ値であるが、これに限定されるものではない。再生レートは、ユーザが予め設定した値である。例えば、再生レートが240に設定されている場合、次に発音するフレームの位置が現在のフレーム位置から2つ進んだ位置に設定される。再生レートが60に設定されている場合、次に発音するフレームの位置が現在のフレーム位置から0.5進んだ位置に設定される。
【0052】
次いで、CPU201は、NextFramePos>母音終了位置であるか否かを判断する(ステップS42)。すなわち、次に発音するフレームの位置が、現在の発音対象の音節の母音終了位置(すなわち前回発音された音節の母音終了位置)を超えるか否かを判断する。
NextFramePos>母音終了位置ではないと判断した場合(ステップS42;NO)、CPU201は、ステップS43に移行し、CurrentFramePosにNextFramePosを設定し(ステップS43)、
図7のステップS4に移行する。すなわち、発音対象のフレームのフレーム位置をNextFramePosに進行させるが、NextFramePosは前回発音された音節の母音終了位置より手前であるため、次の音節には進まない。
【0053】
NextFramePos>母音終了位置であると判断した場合(ステップS42;YES)、CPU201は、CurrentFramePosに現在の発音対象の音節の母音終了位置を設定し(ステップS44)、
図7のステップS4に移行する。すなわち、発音対象のフレームのフレーム位置を前回発音された音節の母音終了位置に設定するので、次の音節には進まない。
【0054】
図9は、上記の音節進行制御処理による音節制御の様子を模式的に示す図である。
図9において、黒い逆三角形は、全鍵が離鍵状態となったタイミングを示している。また、KeyOnCounterの数値は、T1~T6のそれぞれのタイミングにおけるKeyOnCounterの値を示している。
図9に示す演奏のT1のタイミングの押鍵は、4つのパートの同時押鍵であるので音節が1つ進む。T2のタイミングの押鍵は、同時判定期間外の押鍵であり、このタイミングで押鍵されている鍵の数はパート数(4)に達しているため、音節は進まない。T3のタイミングの押鍵は、4つのパートの同時押鍵であるので音節が1つ進む。T4のタイミングの押鍵は、4つのパートの同時押鍵であるので音節が1つ進む。T5のタイミングの押鍵は、同時判定期間外の押鍵であり、このタイミングで押鍵されている鍵の数はパート数(4)に達しているため、音節は進まない。T6のタイミングの押鍵は、同時判定期間外の押鍵であり、このタイミングで同時に押鍵されている鍵の数はパート数(4)に満たないため、音節が1つ進む。
【0055】
このように、上記の音節進行制御処理によれば、押鍵操作が検出されても、同時判定期間外の押鍵であり(すなわち、第1押鍵又は第1押鍵と同時押鍵ではなく)、この押鍵操作の時点で押鍵されている鍵の数がパート数に達している場合、発音する音節は次の音節に進行しない。よって、メロディーパート(ソプラノ)は音高を変化させずに母音を維持したまま、アルトやバスパートだけがメリスマで音高を変えるような場合に、歌詞の音節を進行させないようにすることができ、和声を再現する場合の音節進行を適切に制御することができる。
【0056】
図7のステップS4において、CPU201は、ステップS1で入力された演奏操作情報に基づいて検出された操作が押鍵操作であるか否かを判断する(ステップS4)。
【0057】
検出された操作が押鍵操作であると判断した場合(ステップS4;YES)、CPU201は、CurrentFramePosに格納されているフレーム位置のフレームを発音させる発音処理を実行し(ステップS5)、ステップS7に移行する。
【0058】
ステップS5において、CPU201は、押鍵操作が検出された鍵の音高情報と、CurrentFramePosに格納されているフレーム位置のフレームのスペクトルパラメータに基づいて、音声合成部205に歌声の音声を合成させて出力させる。
具体的に、CPU201は、鍵盤101において押鍵操作された鍵及び押鍵中の鍵の音高情報を音源部204に入力し、音源部204により、予め設定された音色の、入力された音高情報に応じた波形データを波形ROMから読み出して発声音源用波形データとして音声合成部205の合成フィルタ205aに入力させる。また、CPU201は、CurrentFramePosに格納されているフレーム位置のフレームのスペクトルパラメータをRAM203に記憶されている歌声情報から取得して、合成フィルタ205aに入力する。そして、合成フィルタ205aにより、入力されたスペクトルパラメータと発声音源用波形データに基づいて歌声波形データを生成させ、生成された歌声波形データをD/Aコンバータ212によりアナログ音声信号に変換させ、アンプ213とスピーカ214を介して出力(発音)させる。
【0059】
検出された操作が離鍵操作であると判断した場合(ステップS4;NO)、CPU201は、離鍵操作された鍵の音声の消音処理を実行し(ステップS6)、ステップS7に移行する。
ステップS7において、CPU201は、離鍵操作された鍵以外の、現在押鍵中の鍵の音高情報と、CurrentFramePosに格納されているフレーム位置のフレームのスペクトルパラメータに基づいて、歌声の音声を合成させて出力させる。
具体的に、CPU201は、離鍵操作された鍵以外の、現在押鍵中の鍵の音高情報を音源部204に入力し、音源部204により、予め設定された音色の、入力された音高情報に応じた波形データを発声音源用波形データとして音声合成部205の合成フィルタ205aに入力させる。また、CPU201は、CurrentFramePosに格納されているフレーム位置のフレームのスペクトルパラメータをRAM203に記憶されている歌声情報から取得して、合成フィルタ205aに入力する。そして、合成フィルタ205aにより、入力されたスペクトルパラメータと発声音源用波形データに基づいて歌声波形データを生成させ、生成された歌声波形データをD/Aコンバータ212によりアナログ音声信号に変換させ、アンプ213とスピーカ214を介して出力(発音)させる。
【0060】
ステップS7において、CPU201は、歌声発音モードの終了が指示されたか否かを判断する(ステップS7)。
例えば、歌声発音モード中に歌声発音モードスイッチが押下された場合、CPU201は、歌声発音モードの終了が指示されたと判断する。
【0061】
歌声発音モードの終了が指示されていないと判断した場合(ステップS7;NO)、CPU201は、ステップS2に戻る。
歌声発音モードの終了が指示されたと判断した場合(ステップS7;YES)、CPU201は、歌声発音モードを終了する。
【0062】
以上説明したように、電子楽器2のCPU201によれば、同時判定期間の経過後に押鍵操作が検出された場合、当該押鍵操作が検出されたタイミングに操作継続中の操作子の数に応じて、発音させる音節を第1音節(先頭の音節に限らない。)から次の第2音節に進めるか、進めないかを制御する。
例えば、CPU201は、操作継続中の操作子の数が設定数に達している場合に、第1音節から第2音節に進めないように制御し、操作継続中の操作子の数が設定数に満たない場合に、第1音節から第2音節に進めるように制御する。
したがって、例えば、メロディーパートは音高を変化させずに母音を維持したまま、アルトやバスパートだけがメリスマで音高を変えるような場合に、歌詞の音節を進行させないようにすることができ、和声を再現する場合の音節進行を適切に制御することができる。
【0063】
また、CPU201は、検出された前記タイミングに操作継続中の操作子が存在しない場合に、発音させる音声に対応する音節を第1音節から第2音節に進めるように制御する。したがって、音節進行を適切に制御することができる。
【0064】
また、CPU201は、いずれの操作子への操作がされていない状態でいずれかの操作子への操作を検出した場合に、同時判定期間のカウントを開始する。したがって、音節進行を適切に制御することができる。
【0065】
なお、上記実施形態における記述内容は、本発明に係る情報処理装置、電子楽器、音節進行制御方法及びプログラムの好適な一例であり、これに限定されるものではない。
例えば、上記実施形態においては、本発明の情報処理装置が電子楽器2に含まれる構成として説明したが、これに限定されない。例えば、本発明の情報処理装置の機能が、有線又は無線による通信インターフェースを介して電子楽器2に接続された外部装置(例えば、上述の端末装置3(PC(Personal Computer)、タブレット端末、スマートフォン等))に備えられていることとしてもよい。この場合、情報処理装置は、音節の位置制御に応じたパラメータ(ここでは、スペクトルパラメーター)を電子楽器2に送信し、電子楽器2は、受信したパラメータに基づいて合成した音声を発音する。
【0066】
また、上記実施形態では、学習済みモデル302aが端末装置3に備えられていることとして説明したが、電子楽器2に備えられている構成としてもよい。そして、電子楽器2において入力された歌詞データ及び音高データに基づいて、学習済みモデル302aが歌声情報を推論することとしてもよい。
【0067】
また、上記実施形態においては、電子楽器2が電子鍵盤楽器である場合を例にとり説明したが、これに限定されず、例えば、電子弦楽器、電子管楽器等の他の電子楽器であってもよい。
【0068】
また、上記実施形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROM等の半導体メモリやハードディスクを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、SSDや、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も適用される。
【0069】
その他、電子楽器、情報処理装置、及び電子楽器システムの細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0070】
以上に本発明の実施形態を説明したが、本発明の技術的範囲は上述の実施の形態に限定するものではなく、特許請求の範囲に記載に基づいて定められる。更に、特許請求の範囲の記載から本発明の本質とは関係のない変更を加えた均等な範囲も本発明の技術的範囲に含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数に応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
制御部を備える情報処理装置。
<請求項2>
前記制御部は、
前記操作継続中の操作子の数が設定数に達している場合に、前記第1音節から前記第2音節に進めないように制御し、
前記操作継続中の操作子の数が前記設定数に満たない場合に、前記第1音節から前記第2音節に進めるように制御する、
請求項1に記載の情報処理装置。
<請求項3>
前記制御部は、検出された前記タイミングに操作継続中の操作子が存在しない場合に、発音させる音声に対応する音節を前記第1音節から前記第2音節に進めるように制御する、
請求項1又は2に記載の情報処理装置。
<請求項4>
前記制御部は、いずれの操作子への操作がされていない状態でいずれかの操作子への操作を検出した場合に、前記第1操作子への操作を検出したと判断して前記設定時間のカウントを開始する、
請求項1~3のいずれか一項に記載の情報処理装置。
<請求項5>
請求項1~4のいずれか一項に記載の情報処理装置と、
電子楽器と、
を備え、
前記情報処理装置は、音節の位置制御に応じたパラメータを前記電子楽器に送信し、
前記電子楽器は、受信した前記パラメータに基づいて合成した音声を発音する、
電子楽器システム。
<請求項6>
請求項1~4のいずれか一項に記載の情報処理装置と、
複数の操作子と、
を備える電子楽器。
<請求項7>
情報処理装置の制御部が、
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数に応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、方法。
<請求項8>
情報処理装置の制御部が、
第1操作子への操作が検出されてから設定時間経過後に第2操作子への操作が検出された場合、前記第2操作子への操作が検出されたタイミングに操作継続中の操作子の数に応じて、発音させる音節を第1音節から次の第2音節に進めるか、進めないかを制御する、
処理を実行するためのプログラム。
【符号の説明】
【0071】
1 電子楽器システム
2 電子楽器
101 鍵盤
102 第1のスイッチパネル
103 第2のスイッチパネル
104 LCD
201 CPU
202 ROM
203 RAM
204 音源部
205 音声合成部
205a 合成フィルタ
206 キースキャナ
208 通信部
209 バス
210 タイマ
211 D/Aコンバータ
212 D/Aコンバータ
213 アンプ
214 スピーカ
3 端末装置
301 CPU
302 ROM
302a 学習済みモデル
303 RAM
304 記憶部
305 操作部
306 表示部
307 通信部
308 バス