(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176329
(43)【公開日】2023-12-13
(54)【発明の名称】音制御装置およびその制御方法、プログラム、電子楽器
(51)【国際特許分類】
G10H 1/00 20060101AFI20231206BHJP
G10L 13/033 20130101ALI20231206BHJP
G10L 13/00 20060101ALI20231206BHJP
G10L 13/02 20130101ALI20231206BHJP
【FI】
G10H1/00 Z
G10H1/00 102Z
G10L13/033 102B
G10L13/00 100Y
G10L13/02 110Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022088561
(22)【出願日】2022-05-31
(71)【出願人】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(74)【代理人】
【識別番号】100118278
【弁理士】
【氏名又は名称】村松 聡
(72)【発明者】
【氏名】入山 達也
【テーマコード(参考)】
5D478
【Fターム(参考)】
5D478CC08
5D478CC31
5D478DC04
5D478EB40
(57)【要約】
【課題】演奏者の意図に沿った音節の発音を可能にする。
【解決手段】音制御装置が提供される。取得部31は演奏信号を取得し、判定部32は、演奏信号に基づき、ノートオンおよびノートオフを判定する。発音する複数の音節が時系列に配置されている歌詞データから、ノートオンと判定したタイミングに対応する音節を特定部34が特定する。指示部36は、特定された音節を、ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、特定された音節を構成する音素のうち一部を、ノートオフに対応するタイミングで発音させるよう指示する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
演奏情報を取得する取得部と、
前記演奏情報に基づき、ノートオンおよびノートオフを判定する判定部と、
発音する複数の音節が時系列に配置されている歌詞データから、前記判定部が前記ノートオンと判定したタイミングに対応する音節を特定する特定部と、
前記特定部により特定された音節を、前記ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、前記特定された音節を構成する音素のうち一部を、前記ノートオフに対応するタイミングで発音させるよう指示する指示部と、を有する、音制御装置。
【請求項2】
前記指示部は、前記特定された音節の末尾に子音がある場合に、前記ノートオンに対応するタイミングで、前記特定された音節のうち先頭の音素から発音開始させるよう指示し、且つ、前記ノートオフに対応するタイミングで、前記末尾の子音を含む残りの音素を発音させるよう指示する、請求項1に記載の音制御装置。
【請求項3】
前記指示部は、前記演奏情報が示す演奏深さが第1の閾値を浅い側に通過したことに応じて、前記残りの音素を発音開始させるよう指示し、且つ、前記演奏情報が示す演奏深さが、前記第1の閾値と比べて浅い演奏深さに対応している第2の閾値を浅い側に通過したことに応じて、前記残りの音素における前記末尾の子音の発音を終了させるよう指示する、請求項2に記載の音制御装置。
【請求項4】
前記指示部は、前記演奏情報に基づき、前記ノートオフのベロシティを取得し、取得したベロシティに応じて、前記残りの音素における前記末尾の子音の発音長さを決定する、請求項2に記載の音制御装置。
【請求項5】
前記指示部は、前記演奏情報が示す演奏深さと比較する複数の閾値を用いて前記ベロシティを取得し、前記演奏情報が示す演奏深さが、前記複数の閾値のうち所定の閾値を浅い側に通過したことに応じて、前記残りの音素を発音開始させるよう指示する、請求項4に記載の音制御装置。
【請求項6】
前記特定部は、1つの前記ノートオンに対して1つの音節を特定する、請求項1に記載の音制御装置。
【請求項7】
前記特定部は、1つの前記ノートオンに対して1つの音節を特定し、
前記指示部は、前記特定された1つの音節の末尾に子音があり且つ、前記1つの音節に2つの母音が含まれる場合は、前記ノートオンに対応するタイミングで、前記2つの母音のうち1つ目の母音が含まれるように、前記1つの音節のうち先頭の音素から発音開始させるよう指示し、且つ、前記ノートオフに対応するタイミングで、前記残りの音素として、2つ目の母音および前記末尾の子音を発音させるよう指示する、請求項2に記載の音制御装置。
【請求項8】
前記指示部は、前記先頭の音素から開始させた発音のうち母音の発音を、前記残りの音素を発音させるよう指示するまで継続するよう指示する、請求項2に記載の音制御装置。
【請求項9】
前記歌詞データは英語の歌詞を含む、請求項1に記載の音制御装置。
【請求項10】
前記歌詞データは日本語の歌詞を含み、
1つの前記ノートオンに対して複数の音節が特定され且つ、これら複数の音節のうち最後の音節については子音のみを発音するよう設定されていた場合においては、前記指示部は、前記ノートオンに対応するタイミングで、前記特定された音節のうち先頭の音節の先頭の音素から発音開始させるよう指示し、且つ、前記ノートオフに対応するタイミングで、前記最後の音節の子音を発音させるよう指示する、請求項1に記載の音制御装置。
【請求項11】
請求項1乃至10のいずれか1項に記載の音制御装置と、
前記演奏情報をユーザが入力するための演奏操作部と、を有する、電子楽器。
【請求項12】
前記演奏操作部は、圧力変化を検出するブレスセンサを含み、
前記ブレスセンサにより検出された圧力変化に基づいて前記演奏情報が取得される、請求項11に記載の電子楽器。
【請求項13】
音制御装置の制御方法をコンピュータに実行させるプログラムであって、
前記音制御装置の制御方法は、
演奏情報を取得し、
前記演奏情報に基づき、ノートオンおよびノートオフを判定し、
発音する複数の音節が時系列に配置されている歌詞データから、前記ノートオンと判定したタイミングに対応する音節を特定し、
前記特定された音節を、前記ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、前記特定された音節を構成する音素のうち一部を、前記ノートオフに対応するタイミングで発音させるよう指示する、プログラム。
【請求項14】
コンピュータにより実現される音制御装置の制御方法であって、
演奏情報を取得し、
前記演奏情報に基づき、ノートオンおよびノートオフを判定し、
発音する複数の音節が時系列に配置されている歌詞データから、前記ノートオンと判定したタイミングに対応する音節を特定し、
前記特定された音節を、前記ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、前記特定された音節を構成する音素のうち一部を、前記ノートオフに対応するタイミングで発音させるよう指示する、音制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音制御装置およびその制御方法、プログラム、電子楽器に関する。
【背景技術】
【0002】
楽器等の音制御装置においては、楽器音などを想定した電子音を生成する以外に、歌唱音を合成した合成歌唱音を生成することが行われている。特許文献1、2、3には、演奏操作に応じてリアルタイムに合成歌唱音を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016-206496号公報
【特許文献2】特開2014-98801号公報
【特許文献3】特許第7036141号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、演奏操作におけるノートオンに応じて発音が開始され、演奏操作におけるノートオフに応じて発音が終了されるという動作だけでは、発音する音節によっては演奏者の意図に沿わない場合がある。例えば、ノートオフに応じた音節の発音制御についてはあまり検討がなされていない。従って、演奏者の意図に沿って音節を発音させる上で改善の余地があった。
【0005】
本発明の一つの目的は、演奏者の意図に沿った音節の発音を可能にすることができる音制御装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の一形態によれば、演奏情報を取得する取得部と、前記演奏情報に基づき、ノートオンおよびノートオフを判定する判定部と、発音する複数の音節が時系列に配置されている歌詞データから、前記判定部が前記ノートオンと判定したタイミングに対応する音節を特定する特定部と、前記特定部により特定された音節を、前記ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、前記特定された音節を構成する音素のうち一部を、前記ノートオフに対応するタイミングで発音させるよう指示する指示部と、を有する、音制御装置が提供される。
【発明の効果】
【0007】
本発明の一形態によれば、演奏者の意図に沿った音節の発音を可能にすることができる。
【図面の簡単な説明】
【0008】
【
図1】音制御装置を含む音制御システムのブロック図である。
【
図4】演奏信号に応じた音制御の例を示すタイミングチャートである。
【
図8】日本語対応処理を示すフローチャートである。
【
図9】第2の実施の形態における音制御の例を示すタイミングチャートである。
【
図10】英語対応処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施の形態を説明する。
【0010】
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係る音制御装置を含む音制御システムのブロック図である。この音制御システムは、音制御装置100と、外部装置20とを含む。音制御装置100は、一例として電子楽器であり、例えばサクソフォン等の形態をした電子管楽器であってもよい。
【0011】
音制御装置100は、制御部11、操作部12、表示部13、記憶部14、演奏操作部15、発音部18、および通信I/F(インターフェイス)19を含む。これらの各要素は、通信バス10を介して互いに接続されている。
【0012】
制御部11は、CPU11a、ROM11b、RAM11cおよびタイマ(図示せず)を含む。ROM11bには、CPU11aにより実行される制御プログラムが格納されている。CPU11aは、ROM11bに格納された制御プログラムをRAM11cに展開して実行することにより音制御装置100における各種機能を実現する。
【0013】
制御部11は、オーディオ信号を生成するためのDSP(Digital Signal Processor)を含む。記憶部14は不揮発性メモリである。記憶部14は、合成歌唱音を示すオーディオ信号を生成する際に用いる設定情報のほか、合成歌唱音を生成するための音声素片等を記憶する。設定情報は、例えば音色や、取得した歌詞データなどを含む。
【0014】
操作部12は、各種情報を入力するための複数の操作子を含み、ユーザからの指示を受け付ける。表示部13は各種情報を表示する。発音部18は、音源回路、効果回路およびサウンドシステムを含む。
【0015】
演奏操作部15は、演奏信号(演奏情報)を入力する要素として、複数の操作キー16およびブレスセンサ17を含む。入力された演奏信号は、音高を示す音高情報と、連続量として検出される音量を示す音量情報とを含み、制御部11に供給される。音制御装置100の本体には複数の音孔(不図示)が設けられる。複数の操作キー16をユーザ(演奏者)が演奏することによって、音孔の開閉状態が変化し、所望する音高が指定される。
【0016】
音制御装置100の本体にはマウスピース(不図示)が取り付けられており、ブレスセンサ17はマウスピースの近傍に設けられている。ブレスセンサ17は、マウスピースを介してユーザが吹き込む息の吹圧を検出する吹圧センサである。ブレスセンサ17は、息の吹込みの有無を検出し、演奏時においては、吹圧の強さや速さ(勢い)を検出する。ブレスセンサ17により検出された圧力の変化に応じて音量が指定される。ブレスセンサ17により検出された時間的に変化する圧力の大きさが、連続量として検出される音量情報として扱われる。
【0017】
通信I/F19は、無線または有線により通信ネットワークに接続する。音制御装置100は例えば、通信I/F19によって、通信ネットワークを介して外部装置20と通信可能に接続される。通信ネットワークは例えばインターネットであり、外部装置20はサーバ装置であってもよい。なお、通信ネットワークはBluetooth(登録商標)、赤外線通信、LAN等を用いた短距離無線通信ネットワークであってもよい。なお、接続される外部装置の数や種類は問わない。通信I/F19は、MIDI(Musical Instrument Digital Interface)信号を送受信するMIDI I/Fを含んでもよい。
【0018】
外部装置20は、カラオケを提供するために必要な楽曲データを、曲IDに対応付けて記憶している。この楽曲データには、カラオケの歌唱曲に関連するデータ、例えば、リードボーカルデータ、コーラスデータ、伴奏データ、およびカラオケ用字幕データなどが含まれている。伴奏データは、歌唱曲の伴奏音を示すデータである。これらのリードボーカルデータ、コーラスデータ、および伴奏データは、MIDI形式で表現されたデータであってもよい。カラオケ用字幕データは、表示部13に歌詞を表示するためのデータである。
【0019】
また、外部装置20は、設定データを、曲IDに対応付けて記憶している。この設定データは、歌唱音の合成を実現するために歌唱曲に応じて音制御装置100に対して設定されるデータである。設定データには、曲IDに対応する歌唱曲の各パートに対応する歌詞データが含まれている。この歌詞データは、例えば、リードボーカルパートに対応する歌詞データである。楽曲データと設定データとは時間的に対応付けられている。
【0020】
この歌詞データは、カラオケ用字幕データと同じであってもよいし、異なっていてもよい。すなわち、歌詞データは、発声すべき歌詞(文字)を規定するデータである点においては同じであるが、音制御装置100において利用しやすい形式に調整されている。
【0021】
例えば、カラオケ用字幕データは、「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「は(ha)」という文字列である。これに対し、歌詞データは、音制御装置100において利用しやすいように「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「わ(wa)」という実際の発音に合わせた文字列であってもよい。また、この形式としては、例えば、1音で2文字分の歌唱をする場合を識別する情報、フレーズの区切りを識別する情報などを含む場合がある。
【0022】
音制御処理にあたって、制御部11は、ユーザにより指定された楽曲データおよび設定データを、外部装置20から通信I/F19を介して取得し、記憶部14に記憶させる。上述のように、楽曲データには伴奏データが含まれ、設定データには歌詞データが含まれる。しかも、伴奏データと歌詞データとは時間的に対応付けられている。
【0023】
図2は、歌詞データを示す図である。以降、発声すべき歌詞(文字)の各々、つまり音声上の一単位(一まとまりの音のくぎり)を、「音節」と表現することもある。歌詞データは、発声すべき音節を規定するデータである。歌詞データは、発声すべき複数の音節が時系列に配置されたテキストデータを有する。発音すべき音節は、演奏進行に応じて順番に特定される。従って、
図2に示す歌詞データにおいて、文字M(i)=M(1)~M(n)が順番に発声される。
【0024】
図2に示すように、歌詞データは、「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「わ(wa)」「christ」「mas」「make」「fast」「desks」「ま(ma)」「す(su)」・・「see」を示すテキストデータを含む。「こ」「ん」「に」「ち」「わ」「christ」「mas」「make」「fast」「desks」「ま」「す」・・「see」を示す音節には、M(i)が対応付けられ、「i」(i=1~n)により歌詞における音節の順序が定められている。例えば、M(5)は、歌詞のうち5番目の音節に対応する。以下に説明するように、合成歌唱音に含まれる各音節の発声期間は、演奏情報に基づいて制御される。
【0025】
図3は、音生成処理を実現するための音制御装置100の機能ブロック図である。音制御装置100は、機能部として、取得部31、判定部32、生成部33、特定部34、歌唱音合成部35、および指示部36を含む。これらの各機能部の機能は、CPU11a、ROM11b、RAM11c、タイマおよび通信I/F19等の協働により実現される。なお、生成部33および歌唱音合成部35を含むことは必須でない。
【0026】
取得部31は、演奏信号を取得する。判定部32は、演奏信号と閾値との比較結果に基づいて、ノートオン(ノート開始)およびノートオフ(ノート終了)の発生を判定する。生成部33は、ノートオンおよびノートオフの判定に基づいてノートを生成する。特定部34は、歌詞データから、判定部32がノートオンと判定したタイミングに対応する音節を特定する。
【0027】
歌唱音合成部35は、設定データに基づいて、特定された音節を合成して歌唱音を生成する。指示部36は、特定された音節の歌唱音を、ノートオンに対応する音高およびタイミングで発音開始させるよう指示し、且つ、ノートオフに対応するタイミングで発音終了させるよう指示する。指示部36による指示に基づいて、音節を合成した歌唱音が、発音部18(
図1)により発音される。
【0028】
なお、指示部36は、特定された音節を構成する音素のうち一部を、ノートオンではなくノートオフに対応するタイミングで発音させるよう指示する。特定された音節を構成する音素のうち一部の発音制御の一例については
図4で説明する。
【0029】
次に、音制御処理の態様を概説する。ユーザが指定した楽曲に対応する歌詞データおよび伴奏データが記憶部14に記憶される。ユーザが、操作部12で演奏開始を指示すると、伴奏データの再生が開始される。すなわち、伴奏データに応じた音を発音部18が発音する。その際、歌詞データ(またはカラオケ用字幕データ)における歌詞が、伴奏データの進行に従って表示部13に表示される。なお、設定データに楽譜データが含まれてもよく、その場合、リードボーカルデータに応じた主旋律の楽譜も、伴奏データの進行に従って表示部13に表示されてもよい。ユーザは、伴奏データを聞きながら演奏操作部15で演奏する。演奏の進行に従って取得部31により演奏信号が取得される。なお、伴奏データが再生されることは必須でない。
【0030】
図4は、演奏信号に応じた音制御の例を示すタイミングチャートである。
【0031】
図4の横軸には経過時間tをとり、縦軸には演奏信号が示す「演奏深さ」をとっている。ここで、ブレスセンサ17による検出値が大きいほど吹圧の強さが強く、すなわち演奏深さが深い。非演奏時は吹圧が「0」である。演奏深さによって音量情報が規定される。
【0032】
演奏深さと比較される閾値としては、発音用閾値TH0のほか、消音制御用の閾値として第1の閾値THAおよび第2の閾値THBが設けられている。第1の閾値THAの演奏深さよりも第2の閾値THBの演奏深さの方が浅い。発音用閾値TH0と閾値THA、THBとの大小関係は問わないが、
図4に示す例では、第1の閾値THAの演奏深さよりも発音用閾値TH0の演奏深さの方が深い。なお、第2の閾値THBは「0」と同じでもよい。
【0033】
図4の例では、非演奏状態から、演奏深さが発音用閾値TH0より一旦深くなり、その後、閾値THA、THBを順に浅い側に横切って非演奏状態に戻っている。演奏深さが発音用閾値TH0を深い側に横切った時点をT1とする。演奏深さが第1の閾値THAを浅い側に横切った時点をT2とする。演奏深さが第2の閾値THBを浅い側に横切った時点をT3とする。
【0034】
制御部11は、時点T1で、発音すべき音節を特定し、当該音節の発音を開始する。その際、制御部11は、特定された音節の末尾に子音がある場合と特定された音節の末尾に子音がない場合とで、音制御を異ならせる。以降、末尾に子音がある音節を「特別音節」と称し、末尾に子音がない音節を「特別音節でない音節」と称する。
【0035】
例えば、特別音節でない音節「see[si]」の場合は、次のように制御される。[si]は音声表記である。制御部11は、時点T1で[si]の発音を開始し、時点T3で[si]の発音を終了する。
【0036】
一方、特別音節である音節「mas[ma][s]」は、子音[s]を末尾に含む。そこで制御部11は、時点T1で、音節「mas」のうち先頭の音素[ma]から発音開始させる。そして制御部11は、時点T2で、[ma]の発音を終了し且つ、末尾の子音を含む残りの音素である[s]の発音を開始させ(子音等発音開始)、さらに時点T3で[s]の発音を終了させる。
【0037】
従って、[ma]の発音継続期間は、時点T1~T2であり、[s]の発音継続期間(子音等発音期間)は、時点T2~T3である。ここで、時点T2~T3における演奏深さの変化は、演奏深さの時間的変化度合いを示すから、実質的に、演奏におけるノートオフのベロシティ(ノートオフベロシティ)に相当する。従って、ユーザによる演奏深さを浅くする操作を速く/遅くすることで、[s]を短く/長く発音させることができる。従来の制御では、音節「mas」を発音する場合、ノートオンが検出されると[ma]の発音を開始し、ノートオフが検出されると[ma]の発音を終了させる場合があった。この制御では、[s]の発音が省略されていたため、演奏者の意図に十分に沿っているとはいえなかった。これに対し、本実施の形態では、ノートオフに応じた音節の発音制御が可能となり、特に末尾の子音の発音を演奏者の意図で制御可能となった。
【0038】
次に、フローチャートを用いて音制御処理について説明する。音制御処理では、演奏操作部15への演奏操作に基づいて、各音節に対応するオーディオ信号を生成する指示または停止する指示が出力される。
【0039】
図5は、音制御処理を示すフローチャートである。この処理は、CPU11aが、ROM11bに格納された制御プログラムをRAM11cに展開して実行することにより実現される。この処理は、ユーザが楽曲の再生を指示すると開始される。
【0040】
ステップS101では、制御部11は、記憶部14から歌詞データを取得する。次に、ステップS102では、制御部11は、初期化処理を実行する。この初期化では、カウント値tc=0が設定され、且つ、各種レジスタ値やフラグが初期値に設定される。さらに、制御部11は、M(i)における文字カウント値i=1(文字M(i)=M(1))を設定する。「i」は、上述したように、歌詞における音節の発声順序を示している。
【0041】
次に、ステップS103では、制御部11は、カウント値tc=tc+1に設定することでカウント値tcをインクリメントする。さらに、最後に特定された音節の発音指示がステップS108(後述)で完了していることを条件に、制御部11は、「i」をインクリメントすることで、歌詞を構成する音節のうち、M(i)が示す音節を1つずつ進めていく。ステップS104では、制御部11は、伴奏データのうち、カウント値tcに対応する部分のデータを読み出す。
【0042】
制御部11は、ステップS105では、伴奏データの読み出しが終了したか否かを判別し、伴奏データの読み出しが終了していない場合は、ステップS106で、ユーザによる楽曲演奏の停止指示が入力されたか否かを判別する。ユーザによる楽曲演奏の停止指示が入力されていない場合は、制御部11は、ステップS107で、演奏信号を受信したか否かを判別する。ここでいう演奏信号には、演奏深さが閾値を通過したことも含まれる。そして、演奏信号を受信していない場合は、制御部11は、ステップS105に戻る。
【0043】
ステップS105で、伴奏データの読み出しが終了した場合や、ステップS106で、ユーザによる楽曲演奏の停止指示が入力された場合は、制御部11は、
図5に示す処理を終了する。ステップS107で、演奏操作部15から演奏信号を受信した場合は、制御部11は、DSPによりオーディオ信号を生成するための指示処理を実行する(ステップS108)。オーディオ信号を生成するための指示処理の詳細については
図6で後述する。オーディオ信号を生成するための指示処理が終了すると、制御部11は、ステップS103に戻る。
【0044】
図6は、
図5のステップS108で実行される指示処理を示すフローチャートである。
【0045】
まず、ステップS201では、制御部11は、今回発音すべき音節が特定済みか否かを判別する。この音節は、ノートオンと判定したタイミングに対応する音節であり、後述するステップS305(
図7)またはステップS405(
図8)で特定される。
【0046】
そして制御部11は、今回発音すべき音節が特定済みである場合は、ステップS203に進み、今回発音すべき音節が特定済みでない場合はステップS202に進む。ステップS202では、制御部11は、今回発音すべき音節を仮特定する。上述したように、発音すべき音節の特定順は文字カウント値iにより決まる。従って、曲の先頭を除けば、直前に発音した音節の次の音節が、今回発音すべき音節として仮特定される。ステップS202の後、制御部11は、ステップS203に進む。
【0047】
ステップS203では、制御部11は、特定された音節の言語を判定し、さらに判定した言語が英語であるか否かを判別する。なお、言語の判定手法は問わず、特許第6553180号公報等の公知の手法を採用してもよい。なお、曲ごと、曲の区間ごと、あるいは曲を構成する音節ごとに、ユーザが予め言語を指定しておき、その指定に基づいて制御部11が音節ごとに言語を判定してもよい。
【0048】
そして制御部11は、特定された音節の言語が英語である場合はステップS205に進み、そうでない場合はステップS204に進む。制御部11は、ステップS205で、後述する英語対応処理(
図7)を実行して、
図6に示す処理を終了する。
【0049】
ステップS204では、制御部11は、特定された音節の言語が日本語であるか否かを判別する。ここでも、上記した言語の判定手法が用いられる。そして制御部11は、特定された音節の言語が日本語である場合はステップS206に進み、特定された音節の言語が日本語でない場合はステップS207に進む。
【0050】
制御部11は、ステップS206で、後述する日本語対応処理(
図8)を実行して、
図6に示す処理を終了する。ステップS207では、制御部11は、特定された音節の言語に応じた「その他言語対処処理」(図示せず)を実行して、
図6に示す処理を終了する。
【0051】
図7は、
図6のステップS205で実行される英語対応処理を示すフローチャートである。この処理では、特定部34は、1つのノートオンに対して1つの音節を特定する。
【0052】
まず、ステップS301では、制御部11は、フラグFが1に設定されているか(フラグF=1か)否かを判別する。ここで、フラグFは、「1」であることで、特別音節の発音が開始されていることを示すフラグである。フラグFはステップS308で「1」に設定される。そして制御部11は、フラグF=1でない場合はステップS302に進む。
【0053】
ステップS302では、制御部11は、演奏信号が示す演奏深さに基づき、新たなノートオフが発生したか否かを判別する。すなわち制御部11は、ブレスセンサ17の検出結果により決まる演奏深さが第2の閾値THBを浅い側に新たに横切ったか否か(
図4の時点T3が到来したか)否かを判別する。
【0054】
そして制御部11は、演奏深さが第2の閾値THBを浅い側に新たに横切っていないと判別した場合はステップS303に進み、演奏信号が示す演奏深さに基づき、新たなノートオンが発生したか否かを判別する。すなわち制御部11は、ブレスセンサ17の検出結果により決まる演奏深さが発音用閾値TH0を深い側に新たに横切ったか否か(
図4の時点T1が到来したか)否かを判別する。
【0055】
そして制御部11は、新たなノートオンが発生していないと判別した場合はステップS317に進み、その他の処理を実行して、
図7に示す処理を終了する。ここでの「その他の処理」では、制御部11は、例えば、発声中であれば、取得された演奏深さの変化に対応して発音音量またはピッチを変更する指示を出力する。一方、制御部11は、新たなノートオンが発生したと判別した場合はステップS304に進む。
【0056】
ステップS304では、制御部11は、取得された演奏信号が示す音高を設定する。ステップS305では、制御部11は、発音すべき音節の特定順に従って、今回発音すべき音節を特定する。この音節が、ステップS303でノートオンと判定したタイミングに対応する音節となる。
【0057】
ステップS306では、ステップS305で特定された音節が、末尾に子音を有する音節(すなわち、特別音節)であるか否かを判別する。そして制御部11は、特定された音節が、特別音節でない場合はステップS309に進む。
【0058】
ステップS309では、制御部11は、特定された音節を、今回のノートオンに対応する音高およびタイミングで発音開始させるよう指示する。すなわち、制御部11は、設定した音高および特定した音節の発声に基づくオーディオ信号の生成を開始する指示をDSPに出力する。この発音開始指示は、ノートオフまで発音を継続する通常の発音指示である。例えば、特定された音節が、特別音節でない「see」であれば、[si]が発音開始される。その後、制御部11は、
図7に示す処理を終了する。
【0059】
ステップS302での判別の結果、制御部11は、演奏深さが第2の閾値THBを浅い側に新たに横切ったと判別した場合はステップS316に進む。ステップS316では、制御部11は、今回特定された音節を、今回のノートオフに対応するタイミングで発音終了させるよう指示する。例えば、特定された音節が音節「see」であれば、[si]の発音が終了する。その後、制御部11は、
図7に示す処理を終了する。
【0060】
ステップS306での判別の結果、制御部11は、特定された音節が特別音節である場合はステップS307に進む。ステップS307では、制御部11は、特定された音節のうち「末尾の子音を含む一部の音素」を除いて発音を開始するよう指示する。従って、制御部11は、特定された音節のうち先頭の音素から発音開始させるよう指示するが、末尾の子音を含む残りの音素の発音は指示しない。例えば、特定された音節が特別音節である音節「mas」の場合、制御部11は、時点T1(
図4)で、音節「mas」のうち先頭の音素である[ma]の発音を開始させる。しかし、制御部11は、末尾の子音を含む残りの音素である[s]の発音を開始させない。
【0061】
ステップS308では、制御部11は、フラグFを「1」に設定し(フラグF=1)、
図7に示す処理を終了する。
【0062】
ステップS301での判別の結果、制御部11は、フラグF=1である場合はステップS310に進む。ステップS310では、制御部11は、演奏信号が示す演奏深さに基づき、新たなノートオフが発生したか否かを判別する。すなわち制御部11は、ブレスセンサ17の検出結果により決まる演奏深さが第1の閾値THAを浅い側に新たに横切ったか(
図4の時点T2が到来したか)否かを判別する。なお、本実施の形態では、便宜上、演奏深さが第2の閾値THBを浅い側に新たに横切った場合(S302)と、演奏深さが第1の閾値THAを浅い側に新たに横切った場合(S310)とを、共にノートオフと呼称している。
【0063】
そして制御部11は、演奏深さが第1の閾値THAを浅い側に新たに横切ったと判別した場合は、ステップS311に進む。ステップS311では、制御部11は、特定された音節のうち「末尾の子音を含む一部の音素」、つまり末尾の子音を含む残りの音素の発音を開始するよう指示する。その際、制御部11は、ステップS307で開始させた発音を終了させる。例えば、特定された音節が特別音節である音節「mas」の場合、制御部11は、[ma]の発音を終了させ、且つ、末尾の子音を含む残りの音素である[s]の発音を時点T2(
図4)で開始させる。その後、制御部11は、
図7に示す処理を終了する。
【0064】
一方、ステップS310での判別の結果、制御部11は、演奏深さが第1の閾値THAを浅い側に新たに横切っていないと判別した場合は、ステップS312で、新たなノートオフが発生したか否かを判別する。すなわち制御部11は、ブレスセンサ17の検出結果により決まる演奏深さが第2の閾値THBを浅い側に新たに横切ったか否か(
図4の時点T3が到来したか)否かを判別する。
【0065】
そして制御部11は、演奏深さが第2の閾値THBを浅い側に新たに横切っていないと判別した場合はステップS314に進み、その他の処理を実行して、
図7に示す処理を終了する。ここでの「その他の処理」では、制御部11は、例えば、取得された演奏深さの変化に対応して発音音量またはピッチを変更する指示を出力する。
【0066】
ステップS312での判別の結果、制御部11は、演奏深さが第2の閾値THBを浅い側に新たに横切ったと判別した場合は、ステップS313に進む。ステップS313では、制御部11は、特定された音節のうち「末尾の子音を含む一部の音素」、つまり末尾の子音を含む残りの音素の発音を終了するよう指示する。
【0067】
例えば、特定された音節が特別音節である音節「mas」の場合、制御部11は、末尾の子音を含む残りの音素である[s]の発音を時点T3(
図4)で終了させる。その結果、時点T2~T3の期間だけ[s]の発音が継続される。時点T2~T3の期間は、ユーザが演奏によって調節可能であるので、末尾の子音を含む残りの音素の消え方を制御でき、演奏表現が拡大する。
【0068】
なお、制御部11は、実質的に、ステップS307で先頭の音素から開始させた発音のうち母音の発音を、ステップS313で残りの音素を発音させるよう指示するまで継続するよう指示する。
【0069】
ステップS315では、制御部11は、フラグFを「0」に設定し(フラグF=0)、
図7に示す処理を終了する。
【0070】
図8は、
図6のステップS206で実行される日本語対応処理を示すフローチャートである。
【0071】
この処理では、特定部34は、1つのノートオンに対して2つ以上の音節を特定する場合がある。この処理で特有の設定として、「一括発音設定」がある。例えばユーザは、楽曲の再生を指示する際に一括発音設定を設定することができる。一括発音設定は、1つのノートオンに対して複数の音節が組として特定され且つ、これら複数の音節のうち最後の音節については子音のみを発音する設定である。
【0072】
例えば、
図3に示すM(11)の「ま」とM(12)の「す」とはそれぞれ1つの音節である。一括発音設定により、「ま」および「す」が、1つのノートオンに対して特定された音節の組となった場合を考える。この場合、1つのノートオンに対応して、先頭の音節である「ま」が通常通り発音されるが、最後の音節である「す」については母音が発音されず、子音[s]のみが発音される。指示部36は、ノートオンに対応するタイミングで、「ま」の先頭の音素[ma]から発音開始させるよう指示し、且つ、ノートオフに対応するタイミングで、「す」の子音[s]を発音させるよう指示する。以下、フローチャートに沿って説明する。
【0073】
ステップS401~S404では、制御部11は、
図7のステップS301~304と同様の処理を実行する。ステップS405では、制御部11は、発音すべき音節の特定順に従って、今回発音すべき音節を特定する。その際、制御部11は、特定順に従った音節が、一括発音設定による組における先頭の音節に該当する場合は、当該先頭の音節を含む組の複数の音節を、今回発音すべき音節として特定する。
【0074】
ステップS406では、制御部11は、特定された音節が、一括発音設定による組となっているか否かを判別する。そして制御部11は、特定された音節が、一括発音設定による組となっていない場合は、ステップS410で、ステップS309と同様の処理を実行する。一方、特定された音節が、一括発音設定による組となっている場合は、制御部11は、ステップS407に進む。
【0075】
ステップS407では、制御部11は、特定された音節の組のうち先頭の音節の先頭の音素から発音開始させるよう指示する。つまり、特定された音節を、最後の音節の子音の音素を除いて発音開始させる。例えば、「ま」「す」が、一括発音設定による組となっている場合、制御部11は、「ま」の先頭の音素[ma]の発音を開始させるよう指示する(時点T1)。
【0076】
ステップS408では、制御部11は、ステップS308と同様の処理を実行する。ステップS417、S409では、制御部11は、それぞれステップS316、S317と同様の処理を実行する。ステップS411、S413、S415、S416では、制御部11は、ステップS310、S312、S314、S315と同様の処理を実行する。
【0077】
ステップS412では、制御部11は、特定された音節のうち、最後の音節の子音の発音を開始させるよう指示する。その際、制御部11は、ステップS407で開始させた発音を終了させる。例えば、「ま」「す」が、一括発音設定による組となっている場合、制御部11は、[ma]の発音を終了させ、且つ、「す」の子音[s]の発音を開始させるよう指示する(時点T2)。その後、制御部11は、
図7に示す処理を終了する。
【0078】
ステップS414では、特定された音節のうち、最後の音節の子音の発音を終了させるよう指示する。例えば、「ま」「す」が、一括発音設定による組となっている場合、制御部11は、「す」の子音[s]の発音を終了させるよう指示する(時点T3)。
【0079】
本実施の形態によれば、取得した演奏信号(演奏情報)に基づき、ノートオンおよびノートオフが判定され、歌詞データから、ノートオンと判定したタイミングに対応する音節が特定される。制御部11(指示部36)は、特定された音節を、ノートオンに対応するタイミングで発音開始させるよう指示し、且つ、特定された音節を構成する音素のうち一部を、ノートオフに対応するタイミングで発音させるよう指示する。従って、演奏者の意図に沿った音節の発音を可能にすることができる。
【0080】
特に、言語が英語の場合において、制御部11は、特定された音節の末尾に子音がある場合、ノートオンに対応するタイミングで、先頭の音素から発音開始させるよう指示する。さらに制御部11は、ノートオフに対応するタイミングで、末尾の子音を含む残りの音素を発音させるよう指示する。従って、1の操作で末尾の子音も発音させることができる。
【0081】
また、制御部11は、演奏深さが第1の閾値THAを浅い側に新たに通過した(横切った)ことに応じて、残りの音素を発音開始させるよう指示する。さらに制御部11は、演奏深さが、第2の閾値THBを浅い側に新たに通過したことに応じて、残りの音素における末尾の子音の発音を終了させるよう指示する。従って、演奏操作によって子音の発音長さを調整することができる。
【0082】
また、言語が日本語の場合において、1つのノートオンに対して特定された複数の音節(「ま」「す」等)が、一括発音設定の対象とされていた場合においては次のように制御される。制御部11は、ノートオンに対応するタイミングで、特定された音節のうち先頭の音節の先頭の音素から発音開始させるよう指示し、且つ、ノートオフに対応するタイミングで、最後の音節の子音を発音させるよう指示する。従って、日本語の歌詞においても、1の操作で末尾の子音も発音させることができ、且つ、演奏操作によって子音の発音長さを調整できるので、演奏者の意図に沿った音節の発音を可能にすることができる。
【0083】
なお、
図7の処理の対象となる「特別音節」には、「mas」のほかにも、「teeth」「make」「rice」「fast」「desks」等がある。
【0084】
1つの音節に2つの母音が含まれる場合もある。母音を2つ有する「特別音節」については、制御部11は、ステップS307では、2つの母音のうち1つ目の母音が含まれるように、特定された音節のうち先頭の音素から発音開始させるよう指示するようにしてもよい。その場合、ステップS311では、制御部11は、残りの音素として、2つ目の母音および末尾の子音を発音させるよう指示するようにしてもよい。
【0085】
例えば、「make」の場合、ステップS307における「末尾の子音を含む一部の音素」を除く音素には、[me]が該当し、ステップS311における「末尾の子音を含む一部の音素」には、[i]および[k]が該当する。従って、時点T1で[me]の発音が開始され、時点T2で[me]の発音が終了し、且つ、[i]の発音が開始される。時点T3で[i]の発音が終了し、且つ[k]が一定時間だけ発音される。なお、時点T2で[i]が一定時間発音された後、[k]の発音が開始され、時点T3で[k]の発音が終了するようにしてもよい。
【0086】
なお、消音制御用の閾値として、閾値THA、THBに加えて第3の閾値を設け、第1の閾値THAで[i]の発音が開始され、第2の閾値THBで[i]の発音が終了し且つ[k]の発音が開始され、第3の閾値で[k]の発音が終了するようにしてもよい。
【0087】
また、母音を2つ有する「rice」の場合、「末尾の子音を含む一部の音素」を除く音素には、[ra]が該当し、「末尾の子音を含む一部の音素」には、[i]および[s]が該当する。
【0088】
なお、子音の音素が2つ以上ある音節もある。例えば、「fast」の場合、「末尾の子音を含む一部の音素」を除く音素には、[fa]が該当し、「末尾の子音を含む一部の音素」には、[s]および[t]が該当する。[s]および[t]については、時点T2で[s]の発音が開始される。時点T3で[s]の発音が終了し、且つ[t]が一定時間だけ発音される。なお、時点T2で[s]が一定時間発音された後、[t]の発音が開始され、時点T3で[t]の発音が終了するようにしてもよい。
【0089】
なお、消音制御用の閾値として、閾値THA、THBに加えて第3の閾値を設け、第1の閾値THAで[s]の発音が開始され、第2の閾値THBで[s]の発音が終了し且つ[t]の発音が開始され、第3の閾値で[t]の発音が終了するようにしてもよい。
【0090】
なお、子音の音素が3つ以上ある音節(例えば、「desks」等)については、閾値を4つ設けて、それぞれの子音の音素の発音の開始および終了タイミングを決定してもよい。
【0091】
なお、本実施の形態において、消音制御用の閾値を1つとしてもよい。その場合、例えば、子音の音素の発音長さを固定値としてもよい。
【0092】
(第2の実施の形態)
本発明の第2の実施の形態では、第1の実施の形態に対し、音制御処理が異なる。
図4、
図7に代えて
図9、
図10を参照して、本実施の形態における主として英語対応処理について説明する。
【0093】
図9は、本発明の第2の実施の形態における、演奏信号に応じた音制御の例を示すタイミングチャートである。
図10は、
図6のステップS205で実行される英語対応処理を示すフローチャートである。
【0094】
第1の実施の形態では、時点T2~T3が実質的にノートオフベロシティに相当した。これに対し、本実施の形態では、実際に取得したノートオフベロシティに基づいて、「末尾の子音を含む一部の音素」の発音継続期間を決定する。
【0095】
図9に示す時点T11、T12、T13の意義は、
図4に示す時点T1、T2、T3と同様である。「特別音節」、「特別音節でない音節」の定義も第1の実施の形態と同様である。閾値TH0、THA、THBは、第1の実施の形態に対して同じでもよいが、個々の値の設定は異なっていてもよい。第1の実施の形態と同様に、制御部11は、時点T11で、発音すべき音節を特定し、当該音節の発音を開始する。
【0096】
指示部36は、時点T12から時点T13までの時間からノートオフベロシティを取得する。指示部36は、取得したノートオフベロシティに応じて、残りの音素における末尾の子音(「末尾の子音を含む一部の音素」)の発音長さを決定する。決定された発音長さは、時点T13~T14の長さである。発音長さは、例えば、ノートオフベロシティが速いほど短い。つまり、時点T12~T13の長さが短いほど、発音長さは短い。指示部36は、時点T13で、決定した発音長さだけ、末尾の子音を含む一部の音素の発音を開始させる(子音等発音開始)。
【0097】
例えば、特別音節である音節「mas」については、制御部11は、時点T11で、音節「mas」のうち先頭の音素[ma]から発音開始させる。そして制御部11は、時点T13で、[ma]の発音を終了させ且つ、末尾の子音を含む残りの音素である[s]の発音を開始させ、さらに時点T14で[s]の発音を終了させる。従って、[ma]の発音継続期間は、時点T11~T13であり、[s]の発音継続期間(子音等発音期間)は、時点T13~T14である。
【0098】
図10の処理を説明する。まず、ステップS501~S509、S514、S515では、制御部11は、
図7のステップS301~309、S316、S317と同様の処理を実行する。ステップS510では、制御部11は、ノートオフベロシティの取得を開始する。具体的には、制御部11は演奏深さを監視し続ける。そして制御部11は、演奏深さが第1の閾値THAを浅い側に新たに横切ったと判別したことに応じて時点T12を取得し、さらに、演奏深さが第2の閾値THBを浅い側に新たに横切ったことに応じて時点T13を取得する。そして制御部11は、時点T13を取得できたら、時点T13と時点T12との時間差からノートオフベロシティを取得する。ステップS510の後、制御部11は、
図10に示す処理を終了する。
【0099】
ステップS501での判別の結果、制御部11は、フラグF=1である場合はステップS511に進む。ステップS511では、制御部11は、ノートオフベロシティを取得済みで且つ、新たなノートオフが発生したか(すなわち、演奏深さが第2の閾値THBを浅い側に新たに横切ったか)否かを判別する。
【0100】
なお、本実施の形態では、消音制御用の閾値として、第1の閾値THAおよび第2の閾値THBの2つしか設けていない。従って、ステップS511では、演奏深さが第2の閾値THBを浅い側に新たに横切れば、それに応じてノートオフベロシティが取得されることから、Yesと判別される。
【0101】
ステップS511での判別の結果、ノートオフベロシティを取得済みでないか、または、新たなノートオフが発生していないと判別した場合は、制御部11は、
図10に示す処理を終了する。一方、ノートオフベロシティを取得済みで且つ、新たなノートオフが発生したと判別した場合は、制御部11は、ステップS512に進む。
【0102】
ステップS512では、制御部11は、取得したノートオフベロシティに応じて、残りの音素における末尾の子音の発音期間(発音長さ)を決定する。さらに制御部11は、決定した発音期間を指定して、「末尾の子音を含む一部の音素」の発音を開始するよう指示する。その際、制御部11は、ステップS507で開始させた発音を終了させる。
【0103】
例えば、特定された音節が、「mas」である場合、制御部11は、時点T13で、[ma]の発音を終了させ且つ、時点T13~T14の期間を発音期間として指定して、末尾の子音を含む残りの音素である[s]の発音を開始させる。従って、時点T14で、[s]の発音は終了する。
【0104】
ステップS513では、制御部11は、ステップS315と同様の処理を実行する。
【0105】
なお、消音制御用の閾値を3以上設けてもよい。閾値を3以上設けた場合は、それらのうち2つの閾値をノートオフベロシティの取得に用い、いずれか1つの閾値(所定の閾値)を、新たなノートオフの発生の判定に用いてもよい。例えば、制御部11は、演奏深さが、深い方の2つの閾値を横切った時間差からノートオフベロシティを取得し、且つ、演奏深さが、所定の閾値(例えば、最も浅い閾値)を新たに浅い側に通過したことに応じて、残りの音素を発音開始させるよう指示してもよい。
【0106】
本実施の形態によれば、演奏者の意図に沿った音節の発音を可能にすることに関し、第1の実施の形態と同様の効果を奏することができる。また、演奏信号に基づきノートオフベロシティが取得され、取得されたノートオフベロシティに応じて、残りの音素における末尾の子音の発音長さが決定される。従って、末尾の子音の発音を開始するタイミングを検出する前に発音長さを決定できるので、子音発音開始時の処理負担が軽減される。
【0107】
なお、日本語対応処理についても本実施の形態を適用可能である。
【0108】
なお、上記各実施の形態において、ノートオンベロシティによって音量を決定してもよい。その際、発音用閾値を2つ以上設け、ノートオンベロシティを決定してもよい。
【0109】
なお、指示部36により、特定された音節を構成する音素のうち一部を発音する際、ノートオフに対応するタイミングで発音される音素が子音を含むことは必須でない。従来は、ノートオフに応じた音節の発音制御についてはあまり検討がなされていなかった。そのため、ノートオフに対応するタイミングで発音される音素が子音を含まないとしても、特定された音節を構成する音素のうち一部を、ノートオフに対応するタイミングで発音させることで、演奏者の意図に沿って音節を発音させる効果は得られる。
【0110】
なお、演奏信号が示す「演奏深さ」は、楽器によって異なる。音制御装置100は、管楽器型に限らず、鍵盤楽器等の他の形態であってもよい。例えば、本発明を鍵盤楽器に適用する場合は、各鍵のストローク位置を検出する鍵センサを設け、閾値TH0、THA、THBに相当する位置の通過を検出してもよい。鍵センサの構成は問わないが、例えば、感圧センサや光学センサ等を適用することができる。鍵盤楽器の場合は、非操作状態の鍵位置が「0」であり、鍵の押し込み深さが深いほど「演奏深さ」は深くなる。
【0111】
なお、音制御装置100は、楽器としての機能および形態を有することは必須でなく、タッチパッドのように、押す操作を検出可能な装置であってもよい。さらには、スマートフォンのように、画面上の操作子の操作の強さなどを検出して「演奏深さ」を取得できる装置も、本発明の適用対象となり得る。
【0112】
なお、演奏信号(演奏情報)は、外部から通信を介して取得されてもよい。従って、演奏操作部15を設けることは必須でない。
【0113】
なお、上記各実施の形態において、
図3に示す各機能部の少なくとも一部を、AI(Artificial Intelligence)によって実現してもよい。
【0114】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0115】
なお、本発明を達成するためのソフトウェアによって表される制御プログラムを記憶した記憶媒体を、本装置に読み出すことによって、本発明と同様の効果を奏するようにしてもよく、その場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した、非一過性のコンピュータ読み取り可能な記録媒体は本発明を構成することになる。また、プログラムコードを伝送媒体等を介して供給してもよく、その場合は、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード等を用いることができる。非一過性のコンピュータ読み取り可能な記録媒体としては、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含む。
【符号の説明】
【0116】
11 制御部、 31 取得部、 32 判定部、 34 特定部、 36 指示部