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