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

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

▶ ヤマハ株式会社の特許一覧

特許7568055音生成装置およびその制御方法、プログラム、電子楽器
<>
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図1
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図2
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図3
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図4
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図5
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図6
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図7
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図8
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図9
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図10
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図11
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図12
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図13
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図14
  • 特許-音生成装置およびその制御方法、プログラム、電子楽器 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】音生成装置およびその制御方法、プログラム、電子楽器
(51)【国際特許分類】
   G10L 13/00 20060101AFI20241008BHJP
   G10L 13/02 20130101ALI20241008BHJP
   G10H 1/00 20060101ALI20241008BHJP
【FI】
G10L13/00 100Y
G10L13/02 130Z
G10H1/00 Z
【請求項の数】 15
(21)【出願番号】P 2023505112
(86)(22)【出願日】2021-12-16
(86)【国際出願番号】 JP2021046585
(87)【国際公開番号】W WO2022190502
(87)【国際公開日】2022-09-15
【審査請求日】2023-09-08
(31)【優先権主張番号】P 2021037651
(32)【優先日】2021-03-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(74)【代理人】
【識別番号】100118278
【弁理士】
【氏名又は名称】村松 聡
(72)【発明者】
【氏名】入山 達也
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2004-287099(JP,A)
【文献】特開2014-62969(JP,A)
【文献】特開2019-184936(JP,A)
【文献】特開2014-98801(JP,A)
【文献】特開2019-219570(JP,A)
【文献】特開2016-206496(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
G10H 1/00
G10K 15/04
(57)【特許請求の範囲】
【請求項1】
発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得する第1の取得部と、
発声の開始指示を取得する第2の取得部と、
前記第2の取得部により前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力する制御部と、を有し、
前記第1歌詞データにおいて、所定の時間軸により、各文字の発声の開始時刻および停止時刻が規定され、
前記発声の開始指示の取得時刻が、前記所定の時間軸における、前記第1発声を停止する第1時刻と前記第2発声を開始する第2時刻との間に位置する第3時刻より前である場合に、前記発声の開始指示が前記第1条件を満たす、音生成装置。
【請求項2】
前記第3時刻は、前記第1時刻と前記第2時刻との中心時刻である、請求項に記載の音生成装置。
【請求項3】
前記第1発声および前記第2発声は、一つの文字に対応する発声である、請求項1または2に記載の音生成装置。
【請求項4】
前記第1発声は、前記第1文字を含む複数の文字に対応する発声を含み、
前記第2発声は、前記第2文字を含む複数の文字に対応する発声を含み、
前記第1時刻は、前記第1発声に対応する前記複数の文字のうち最後の文字の発声を停止する時刻に対応し、
前記第2時刻は、前記第2発声に対応する前記複数の文字のうち最初の文字の発声を開始する時刻に対応する、請求項1または2に記載の音生成装置。
【請求項5】
前記制御部は、前記第1発声に対応する前記最後の文字の発声の後において前記第2発声の最初の文字から当該文字に対応する発声に基づいてオーディオ信号を生成する指示を出力し、
前記制御部は、前記第2発声に基づくオーディオ信号を生成する指示を出力する際、前記発声の開始指示がさらに第2条件を満たしている場合に、前記第2発声に対応する文字のうち未発声の文字から当該文字に対応する発声に基づいてオーディオ信号を生成する指示を出力する、請求項に記載の音生成装置。
【請求項6】
前記発声の開始指示の取得時刻が、前記第1歌詞データにおいて規定されている前記第2発声の開始時刻よりも後である場合に、前記第2条件は満たされる、請求項に記載の音生成装置。
【請求項7】
発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得する第1の取得部と、
発声の開始指示を取得する第2の取得部と、
前記第2の取得部により前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力する制御部と、を有し、
前記第1歌詞データにおける前記文字の各々には、所定の時間軸により、発音の開始時刻および停止時刻からなる設定期間が対応付けられており、
前記制御部は、前記所定の時間軸における、前記発声の開始指示の取得時刻が属する設定期間または前記取得時刻に最も近い設定期間を特定し、特定した設定期間に対応する文字に対応する発声に基づくオーディオ信号を、前記第1発声に基づくオーディオ信号または前記第2発声に基づくオーディオ信号として生成する指示を出力する、音生成装置。
【請求項8】
前記第1の取得部は、発声すべき複数の文字が時系列に並べられ、前記所定の時間軸により、前記各文字の発音の開始時刻および停止時刻が規定された第2歌詞データを取得し、
前記第2歌詞データにおける前記文字の各々には、前記所定の時間軸により、発音の開始時刻および停止時刻からなる設定期間が対応付けられており、
前記制御部は、前記特定した設定期間と時間的に一致する設定期間が前記第2歌詞データに存在する場合は、前記第1発声または前記第2発声に基づくオーディオ信号に代えて、前記第2歌詞データにおける前記時間的に一致する設定期間に対応する文字に対応する発声に基づくオーディオ信号を生成する指示を出力する、請求項に記載の音生成装置。
【請求項9】
発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得する第1の取得部と、
発声の開始指示を取得する第2の取得部と、
前記第2の取得部により前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力する制御部と、を有し、
前記第1歌詞データにおいて、前記複数の文字の発声順序が決められており、
前記第2の取得部により前記第1発声の開始指示の後の前記第2発声の開始指示が取得された場合において、前記第1発声の開始指示から前記第2発声の開始指示までの第1期間が所定の期間未満であるときは、前記制御部は、前記第2発声の開始指示が前記第1条件を満たすと判定し且つ、前記第1発声の開始指示に対応する前記第1発声を継続するようにオーディオ信号を生成する指示を出力する、音生成装置。
【請求項10】
前記制御部は、前記第2発声の開始指示の取得時刻に対応して演奏操作部から取得される音量情報が所定値未満である場合には、前記第1期間が前記所定の期間以上であっても、前記第2発声ではなく前記第1発声を継続するようにオーディオ信号を生成する指示を出力する、請求項に記載の音生成装置。
【請求項11】
前記演奏操作部は、圧力変化を検出するブレスセンサを含み、
前記ブレスセンサに入力された圧力変化に基づいて、前記第1発声の開始指示および前記第2発声の開始指示が取得される、請求項10に記載の音生成装置。
【請求項12】
前記制御部は、前記オーディオ信号を生成する際、前記オーディオ信号に含まれる発声を演奏操作部からの音高指示に応じた音高に制御する、請求項1乃至のいずれか1項に記載の音生成装置。
【請求項13】
請求項1乃至12のいずれか1項に記載の音生成装置と、
前記発声の開始指示をユーザが入力するための演奏操作部と、を有する、電子楽器。
【請求項14】
コンピュータにより実現される音生成装置の制御方法であって、
発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得し、
発声の開始指示を取得し、
前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力し、
前記第1歌詞データにおいて、所定の時間軸により、各文字の発声の開始時刻および停止時刻が規定され、
前記発声の開始指示の取得時刻が、前記所定の時間軸における、前記第1発声を停止する第1時刻と前記第2発声を開始する第2時刻との間に位置する第3時刻より前である場合に、前記発声の開始指示が前記第1条件を満たす、音生成装置の制御方法。
【請求項15】
音生成装置の制御方法をコンピュータに実行させるプログラムであって、
前記音生成装置の制御方法は、
発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得し、
発声の開始指示を取得し、
前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力し、
前記第1歌詞データにおいて、所定の時間軸により、各文字の発声の開始時刻および停止時刻が規定され、
前記発声の開始指示の取得時刻が、前記所定の時間軸における、前記第1発声を停止する第1時刻と前記第2発声を開始する第2時刻との間に位置する第3時刻より前である場合に、前記発声の開始指示が前記第1条件を満たす、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音生成装置およびその制御方法、プログラム、電子楽器に関する。
【背景技術】
【0002】
電子鍵盤装置などの電子楽器において、楽器音などを想定した電子音を生成する以外にも、歌唱音を合成して生成することが行われている。このような歌唱音(実際の歌唱と区別して、以下、合成歌唱音という)は、例えば、歌詞などの文字に応じた音声素片を組み合わせつつ、指定された音高になるように波形を合成することによって、その文字を発音したような合成音が生成される。従来は、予め用意した楽譜(シーケンスデータ等)と文字とを組み合わせて、合成歌唱音を生成する技術が用いられていたが、特許文献1、2のように、電子鍵盤装置への演奏操作に応じてリアルタイムに合成歌唱音を生成していく技術も開発されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-206496号公報
【文献】特開2014-98801号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の歌唱音合成装置では、電子鍵盤装置の押鍵に応じて自動的に1文字ずつあるいは1音節ずつ進める場合、ミスタッチや装飾音等があると、歌詞の位置が演奏よりも先に進んでしまうことがあった。歌詞の位置が演奏よりも先に進んでしまった場合、歌詞の位置と演奏とが合っておらず、不自然な合成歌唱音となってしまうという問題があった。
【0005】
そこで、本発明は、リアルタイム演奏で歌唱音を発声させる際に、自然な合成歌唱音を生成することを目的の一つとする。
【課題を解決するための手段】
【0006】
上記目的を達成するために本発明によれば、発声すべき複数の文字が時系列に並べられ、第1文字および当該第1文字の後の第2文字を少なくとも含む第1歌詞データを取得する第1の取得部と、発声の開始指示を取得する第2の取得部と、前記第2の取得部により前記発声の開始指示が取得された場合において、前記発声の開始指示が第1条件を満たす場合には、前記第1歌詞データにおける前記第1文字に対応する第1発声に基づくオーディオ信号を生成する指示を出力し、前記発声の開始指示が前記第1条件を満たさない場合には、前記第1歌詞データにおける前記第2文字に対応する第2発声に基づくオーディオ信号を生成する指示を出力する制御部と、を有し、前記第1歌詞データにおいて、所定の時間軸により、各文字の発声の開始時刻および停止時刻が規定され、前記発声の開始指示の取得時刻が、前記所定の時間軸における、前記第1発声を停止する第1時刻と前記第2発声を開始する第2時刻との間に位置する第3時刻より前である場合に、前記発声の開始指示が前記第1条件を満たす、音生成装置が提供される。
【発明の効果】
【0007】
本発明によれば、リアルタイム演奏で歌唱音を発声させる際に、自然な合成歌唱音を生成することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態におけるカラオケシステムの構成を示すブロック図である。
図2】本発明の一実施形態における電子楽器の構成を示すブロック図である。
図3】本発明の一実施形態における第1歌詞データを説明する図である。
図4】本発明の一実施形態における音生成処理を説明するフローチャートである。
図5示処理を説明するフローチャートである。
図6】音生成処理における時刻と音高との関係を表す図である。
図7】音生成処理における時刻と音高との関係を表す図である
図8】本発明の一実施形態における音生成機能を示す機能ブロック図である。
図9指示処理を説明するフローチャートである。
図10】音生成処理における時刻と音高との関係を表す図である。
図11】本発明の一実施形態における第1歌詞データを説明する図である。
図12】音生成処理における時刻と音高との関係を表す図である。
図13音生成処理における時刻と音高との関係を表す図である。
図14本発明の一実施形態における第2歌詞データを説明する図である。
図15】本発明の一実施形態における電子管楽器の構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態におけるカラオケシステムについて、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。
<実施形態>
[全体構成]
本発明の一実施形態におけるカラオケシステムは、合成歌唱音を生成することができる電子楽器を用いてカラオケをする場合に、対象となる楽曲を指定することによって、リアルタイム演奏で歌唱音を発声させる際に、自然な合成歌唱音を生成する機能を有している。
【0010】
図1は、本発明の第1実施形態におけるカラオケシステムの構成を示すブロック図である。カラオケシステム100は、カラオケ装置1、制御端末2、電子楽器3(音生成装置)、カラオケ用サーバ1000、および歌唱音合成用サーバ2000を備える。この例では、カラオケ装置1、カラオケ用サーバ1000および歌唱音合成用サーバ2000は、インターネットなどのネットワークNWを介して接続されている。この例では、カラオケ装置1は、制御端末2および電子楽器3のそれぞれと、短距離無線通信によって接続されるが、ネットワークNWを介した通信によって接続されてもよい。短距離無線通信とは、例えば、Bluetooth(登録商標)、赤外線通信、LAN(Local Area Network)などを用いた通信である。
【0011】
カラオケ用サーバ1000は、カラオケ装置1においてカラオケを提供するために必要な楽曲データを、曲IDに対応付けて記憶している記憶装置を備える。楽曲データは、カラオケの歌唱曲に関連するデータ、例えば、リードボーカルデータ、コーラスデータ、伴奏データ、およびカラオケ用字幕データなどが含まれている。リードボーカルデータは、歌唱曲の主旋律のパートを示すデータである。コーラスデータは、主旋律に対するハモリなどの副旋律のパートを示すデータである。伴奏データは、歌唱曲の伴奏音を示すデータである。リードボーカルデータ、コーラスデータ、および伴奏データは、MIDI形式で表現されたデータであってもよい。カラオケ用字幕データは、カラオケ装置1のディスプレイに歌詞を表示するためのデータである。
【0012】
歌唱音合成用サーバ2000は、歌唱曲に合わせた設定を電子楽器3に対して行うための設定データを、曲IDに対応付けて記憶している記憶装置を備える。設定データには、曲IDに対応する歌唱曲の各パートに対応する歌詞データが含まれている。リードボーカルパートに対応する歌詞データを第1歌詞データという。歌唱音合成用サーバ2000に記憶されている第1歌詞データは、カラオケ用サーバ1000に記憶されているカラオケ用字幕データとは、同じであってもよいし、異なっていてもよい。すなわち、歌唱音合成用サーバ2000に記憶されている第1歌詞データは、発声すべき歌詞(文字)を規定するデータである点においては同じであるが、電子楽器3において利用しやすい形式に調整されている。例えば、カラオケ用サーバ1000に記憶されるカラオケ用字幕データとして、「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「は(ha)」という文字列である。これに対し、歌唱音合成用サーバ2000に記憶されている第1歌詞データは、電子楽器3において利用しやすいように「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「わ(wa)」という実際の発音に合わせた文字列であってもよい。また、この形式としては、例えば、1音で2文字分の歌唱をする場合を識別する情報、フレーズの区切りを識別する情報などを含む場合がある。
【0013】
カラオケ装置1は、オーディオ信号が供給される入力端子、およびオーディオ信号を音として出力するスピーカを含む。入力端子に入力されるオーディオ信号は、電子楽器3から供給されてもよいし、マイクロフォンから供給されてもよい。
【0014】
カラオケ装置1は、カラオケ用サーバ1000から受信した楽曲データのうち伴奏データからオーディオ信号を再生し、歌唱曲の伴奏音としてスピーカから出力する。入力端子に供給されたオーディオ信号に応じた音が伴奏音に合成されて出力されてもよい。
【0015】
制御端末2は、カラオケ装置1に対するユーザの指示(例えば、歌唱曲の指定、音量、トランスポーズ等)を送信するリモコンである。制御端末2は、カラオケ装置1を介して電子楽器3に対するユーザの指示(例えば、歌詞の設定、音色等の設定等)を送信してもよい。
【0016】
カラオケシステムでは、制御端末2は、ユーザによって設定された楽曲を設定する指示を、カラオケ装置1に送信する。カラオケ装置1は、当該指示に基づき、カラオケ用サーバ1000から当該楽曲の楽曲データおよび歌唱音合成用サーバ2000から第1歌詞データを取得する。カラオケ装置1は、電子楽器3に第1歌詞データを送信する。電子楽器3には、第1歌詞データが格納される。楽曲演奏を開始するユーザの指示によって、カラオケ装置1は、楽曲データを読み出して伴奏音等を出力し、電子楽器3は、第1歌詞データを読み出して、ユーザによる演奏操作に応じた合成歌唱音を出力する。
[電子楽器のハードウェア構成]
電子楽器3は、演奏操作部321(図2)の操作に応じて、指示内容に従って合成歌唱音を示すオーディオ信号を生成する装置である。本実施形態では、電子楽器3は、電子鍵盤装置である。演奏操作部321は、複数の鍵を含む鍵盤および各鍵に対する操作(以下、演奏操作という場合がある)を検出するセンサを含む。本実施形態では、合成歌唱音は、電子楽器3からオーディオ信号がカラオケ装置1の入力端子に供給されることによってカラオケ装置1のスピーカから出力されてもよいし、電子楽器3に接続されたスピーカから出力されてもよい。
【0017】
図2は、本発明の一実施形態における電子楽器3の構成を示すブロック図である。電子楽器3は、制御部301、記憶部303、操作部305、表示部307、通信部309、インターフェイス317、および演奏操作部321を含む。これらの各構成は、バスを介して接続されている。
【0018】
制御部301は、CPUなどの演算処理回路を含む。制御部301は、記憶部303に記憶されたプログラムをCPUにより実行して、各種機能を電子楽器3において実現させる。電子楽器3において実現される機能は、例えば、音生成処理を実行するための音生成機能を含む。制御部301は、音生成機能によってオーディオ信号を生成するためのDSP(Digital Signal Processor)を含む。記憶部303は、不揮発性メモリ等の記憶装置である。記憶部303は、上記音生成機能を実現するためのプログラムを記憶する。音生成機能については、後述する。また、記憶部303は、合成歌唱音を示すオーディオ信号を生成する際に用いる設定情報、合成歌唱音を生成するための音声素片等を記憶する。設定情報とは、例えば、音色、および歌唱音合成用サーバ2000から受信した第1歌詞データなどである。
【0019】
操作部305は、スイッチ、ボリュームつまみなどの装置であり、入力された操作に応じた信号を制御部301に出力する。表示部307は、液晶ディスプレイ、有機ELディスプレイ等の表示装置であり、制御部301による制御に基づいた画面が表示される。なお、操作部305と表示部307とは一体としてタッチパネルを構成してもよい。通信部309は、制御部301の制御に基づいて、短距離無線通信によって制御端末2と接続する。
【0020】
演奏操作部321は、演奏操作に応じた演奏信号を制御部301に出力する。演奏信号は、操作された鍵の位置を示す情報(ノートナンバ)、押鍵したことを示す情報(ノートオン)、離鍵したことを示す情報(ノートオフ)、および押鍵速度(ベロシティ)等を含む。具体的には、押鍵されると、ベロシティおよびノートナンバ(音高指示ともいう)が対応付けられたノートオンが発声の開始指示を示す演奏信号として出力され、離鍵するとノートナンバが対応付けられてノートオフが発声の停止指示を示す演奏信号として出力される。制御部301は、この演奏信号を用いてオーディオ信号を生成する。インターフェイス317は、生成されたオーディオ信号を出力する端子を含む。
【0021】
ここで、記憶部303に記憶される第1歌詞データの一例について、図3を参照して説明する。図3は、本発明の一実施形態で使用される第1歌詞データである。第1歌詞データは、発声すべき歌詞(文字)を規定するデータである。第1歌詞データは、発声すべき複数の文字が時系列に並べられたテキストデータを有する。第1歌詞データは、所定の時間軸により文字ごとに発声の開始時刻および停止時刻が規定されるタイミングデータを含む。開始時刻および停止時刻は、例えば、楽曲の最初を基準とした時刻として定義される。このタイミングデータは、歌唱曲の進行位置と、その進行位置において発声すべき歌詞とを対応付けている。
【0022】
以降、発声すべき歌詞(文字)の各々、つまり音声上の一単位(一まとまりの音のくぎり)を、「音節」と表現することもある。本実施の形態では、歌詞データ(後述する第2歌詞データを含む)における「文字」は「音節」と同義に用いられる。
【0023】
図3に示すように、第1歌詞データは、「こ(ko)」「ん(n)」「に(ni)」「ち(chi)」「わ(wa)」「さ(sa)」「よ(yo)」「お(o)」「な(na)」「ら(ra)」を示すテキストデータを含む。「こ」「ん」「に」「ち」「わ」「さ」「よ」「お」「な」「ら」示す文字には、M(i)が対応付けられ、「i」(i=1~n)により歌詞における文字の順序が設定されている。例えば、M(5)は、歌詞のうち5番目の文字に対応する。第1歌詞データは、各文字M(i)に発声の開始時刻ts(i)および停止時刻te(i)が設定されたタイミングデータを含む。例えば、M(1)「こ」の場合、発声の開始時刻は時刻ts(1)であり、停止時刻は時刻te(1)である。同様に、M(n)「る」の場合、発声の開始時刻は時刻ts(n)であり、停止時刻は時刻te(n)である。各文字M(i)に対応する時刻ts(i)~時刻te(i)の期間を、文字M(i)の発声の設定期間という。この発声の設定期間は、例えば理想的に歌唱した場合における期間を示している。以下に説明するように、合成歌唱音に含まれる各文字の発声期間は、演奏信号による発声の開始指示および発声の停止指示に基づいて制御されるものであって、タイミングデータに規定される発声の設定期間とは関連しない。
[音生成処理]
次に、本発明の一実施形態に係る音生成処理について、図4図7を参照して説明する。音生成処理は、演奏操作部321への演奏操作に基づいて、各文字の発声に対応するオーディオ信号を生成する指示又は停止する指示を出力する。
【0024】
図4は、本発明の一実施形態における音生成処理を説明するフローチャートである。この処理は、制御部301のCPUが、記憶部303に記憶されたプログラムを記憶部303のRAM等に展開して実行することにより実現される。この処理は、例えば、ユーザが楽曲の再生を指示すると開始される。
【0025】
ユーザによる楽曲の再生指示により処理が開始されると、制御部301は、記憶部303から第1歌詞データを取得する(ステップS401)。次に、制御部301は初期化処理を実行する(ステップS402)。本実施形態において、初期化とは、制御部301がカウント値tc=0を設定することである。次に、制御部301は、カウント値tc=tc+1に設定し、カウント値tcをインクリメントする(ステップS403)。次に、伴奏データのうち、カウント値tcに対応する部分のデータを読み出す(ステップS404)。
【0026】
制御部301は、伴奏データの読み出しの終了、ユーザによる楽曲演奏の停止指示の入力、又は演奏信号の受信、を検出するまでの間(ステップS405;No,ステップS406;No,ステップS407;No)、ステップS403及びステップS404の処理を繰り返しながら、上記の検出をするまで待機する。この状態を待機状態という。上述したように、カウント値tcの初期値は0であり、楽曲の再生開始タイミングに対応する。制御部301は、カウント値tcをインクリメントすることで、楽曲の再生開始タイミングを基準とした時刻を計測する。
【0027】
待機状態において伴奏データを最後まで読み出したことにより伴奏データの読み出しを終了した場合(ステップS405;Yes)、制御部301は音生成処理を終了する。待機状態においてユーザによる楽曲演奏の停止指示が入力された場合(ステップS406;Yes)、制御部301は音生成処理を終了する。
【0028】
待機状態において演奏操作部321から演奏信号を受信した場合(ステップS407;Yes)、制御部301は、DSPによりオーディオ信号を生成するための指示処理を実行する(ステップS500)。オーディオ信号を生成するための指示処理の詳細な説明については後述する。オーディオ信号を生成するための指示処理が終了すると、再びステップS403に進み、制御部301は、ステップS403およびステップS404の処理を繰り返す待機状態となる。
【0029】
図5は、図4のステップS500で実行される指示処理を示すフローチャートである。
【0030】
演奏操作部321から演奏信号を受信すると、オーディオ信号を生成するための指示処理が開始される。まず、制御部301は、演奏操作部321から取得した演奏信号に基づいて音高を設定する(ステップS501)。制御部301は、演奏操作部321から取得した演奏信号が、発声の開始指示か否かを判定する(ステップS502)。
【0031】
制御部301は、演奏信号が発声の開始指示であると判定する場合(ステップS502;Yes)、当該発声の開始指示を取得したときのカウント値tcが、第1歌詞データを参照して、いずれかの文字に対応する発声の設定期間内であるか否かを判定する。
【0032】
制御部301は、発声の開始指示を取得した時刻がいずれかの文字M(i)に対応する発声の設定期間内であると判定する場合(ステップS503;Yes)、その発声の設定期間に該当する文字M(p)を発声すべき文字として設定する(ステップS504)。次に、制御部301は、設定した音高および文字M(p)の発声に基づくオーディオ信号を生成する指示をDSPに出力し(ステップS509)、指示処理を終了して図4に示すステップS403に進む。
【0033】
制御部301は、発声の開始指示を取得した時刻がいずれの文字に対しても発声の設定期間内ではないと判定する場合(ステップS503;No)、制御部301は、発声の開始指示の時刻に対して直前の文字M(q)に対応する発声の停止時刻te(q)と、次の文字M(q+1)に対応する発声の開始時刻ts(q+1)との間の中心時刻tm(q)を計算する(ステップS505)。停止時刻te(q)を「第1時刻」とし、開始時刻ts(q+1)を「第2時刻」としたき、停止時刻te(q)と開始時刻ts(q+1)との中心時刻を「第3時刻」と称する。カウント値tcが、例えば、「こ」(文字M(1))の発声の停止時刻te(1)と「ん」(文字M(2))の発声の開始時刻ts(2)との間の期間に含まれる場合、制御部301は、中心時刻tm(1)=(te(1)+ts(2))/2を計算する。なお、直前の発声の停止時刻te(q)と次の発声の開始時刻ts(q+1)との間の中心時刻tm(q)が予め計算されている場合は、ステップS505を省略してもよい。次に、制御部301は、カウント値tcが中心時刻tm(q)よりも前か否かを判定する(ステップS506)。ここで、カウント値tcが中心時刻tm(q)よりも前か否かを判定することは、「第1条件」が成立するか否かを判定することの一例である。
【0034】
カウント値tcが中心時刻tm(q)よりも前である場合(ステップS506;Yes)、制御部301は、中心時刻tm(q)よりも前の設定期間に対応する文字M(q)を設定する(ステップS507)。次に、制御部301は、設定した音高および文字M(q)の発声に基づくオーディオ信号を生成する指示をDSPに出力し(ステップS509)、指示処理を終了して図4に示すステップS403に進む。
【0035】
取得した開始指示が中心時刻tm(q)の前ではない場合(ステップS506;No)、制御部301は、中心時刻tm(q)の後の設定期間に対応する文字M(q+1)を読み出す(ステップS508)。次に、制御部301は、取得した音高および文字の発声を開始する信号を出力し(ステップS509)、指示処理を終了して図4に示すステップS403に進む。
【0036】
演奏操作部321から取得した演奏信号が発声の開始指示ではない、つまり、発声の停止指示であると判定する場合(ステップS502;No)、制御部301は、設定した音高および文字M(q)発声に基づいて生成したオーディオ信号の生成を停止する指示をDSPに出力して(ステップS510)、指示処理を終了して図4に示すステップS403に進む。
【0037】
以上の指示処理をまとめると、以下のように言い換えられる。オーディオ信号を生成するための指示処理において、制御部301は、発声の開始指示が第1条件を満たすか否かを判定する。第1条件を満たす場合には、制御部301は、第1文字に対応する第1発声に基づくオーディオ信号を生成し、第1条件を満たさない場合には、第1文字の次の第2文字に対応する第2発声に基づくオーディオ信号を生成する。本実施形態において、第1条件とは、発声の開始指示を取得した時刻が、第1文字の停止時刻と第2文字の開始時刻との中心時刻より前であるという条件である。上記指示処理をさらに言い換えると、制御部301は、発声の開始指示の取得時刻が属する設定期間または取得時刻に最も近い設定期間を特定し、特定した設定期間に対応する文字に対応する発声に基づくオーディオ信号を生成する。
【0038】
このように、順次処理することによって、楽曲の歌詞のうち伴奏音データの再生による伴奏音の進行に伴って特定される文字が、演奏操作に応じた音高およびタイミングで順次発声される合成歌唱音が生成される。そして、合成歌唱音を示すオーディオ信号がカラオケ装置1に対して出力される。
【0039】
次に、図4および図5に示す音生成処理の具体例について、図6図7を参照して説明する。図6図7は、音生成処理における時刻と音高との関係を表す図である。
【0040】
まず、発声の開始指示を取得したカウント値tc(取得時刻)が、発声の設定期間ts(1)~te(1)内である場合について説明する。音生成処理における待機状態において、制御部301が演奏操作部321から音高「G4」が対応付けられた発声の開始指示を含む演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「G4」を設定する(ステップS501)。制御部301は、演奏信号が発声の開始指示であると判定し(ステップS502;No)、図3に示す第1歌詞データを参照して、開始指示を取得したカウント値tcが発声の設定期間に含まれる(属する)か否かを判定する(ステップS503)。発声の開始指示を取得した時刻が設定期間ts(1)~te(1)内であるため、制御部301は、開始指示を取得した時刻が文字M(1)に対応する発声の設定期間内に含まれると判定し(ステップS503;Yes)、文字M(1)に該当する文字「こ」を、発声する文字として設定する(ステップS504)。次に、制御部301は、設定した音高「G4」および文字「こ」の発声に基づくオーディオ信号を生成する指示をDSPに出力する(ステップS509)。制御部301のDSPは、当該指示に基づいて、オーディオ信号の生成を開始する。
【0041】
続いて、音生成処理における待機状態において、演奏操作部321から音高「G4」が対応付けられた発声の停止指示を含む演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「G4」を設定する(ステップS501)。制御部301は、演奏信号が発声の停止指示であると判定し(ステップS502;No)、制御部301のDSPは、設定した音高「G4」による発声(文字「こ」)に基づくオーディオ信号の生成を停止する指示を出力する(ステップS510)。制御部301のDSPは、当該指示に基づいて、オーディオ信号の生成を停止する
【0042】
次に、発声の開始指示を取得したカウント値tcが、発声の設定期間ts(1)~te(1)と、設定期間ts(2)~te(2)との間の期間であって、設定期間ts(1)~te(1)に近い場合について、図6を参照して説明する。音生成処理における待機状態において、制御部301が演奏操作部321から音高「G4」が対応付けられた発声の開始指示を含む演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「G4」を設定する(ステップS501)。制御部301は、演奏信号が発声の開始指示であると判定し(ステップS502;No)、図3に示す第1歌詞データを参照して、開始指示を取得したときのカウント値tcが発声の設定期間に含まれるか否かを判定する(ステップS503)。開始指示を取得した時刻が各文字M(i)に対応する発声の設定期間のいずれにも含まれないため、制御部301は、開始指示が発声の設定期間内に含まれないと判定する(ステップS503;No)。次に、制御部301は、カウント値tcの直前および直後に設定された設定期間から中心時刻tm(i)を計算する。開始指示を取得した時のカウント値tcが設定期間ts(1)~te(1)と設定期間ts(2)~te(2)との間である場合、制御部301は、停止時刻te(1)と、開始時刻ts(2)との間の中心時刻tm(1)を計算する(ステップS505)。ここでは、tm(1)=(te(1)+ts(2))/2が得られる。次に、制御部301は、開始指示を取得した時のカウント値tcが中心時刻tm(1)よりも前であると判定し(ステップS506;Yes)、中心時刻tm(1)よりも前の設定期間の文字「こ」(文字M(1))を、発声する文字として設定する(ステップS507)。音高「G4」および文字「こ」の発声に基づくオーディオ信号の生成を開始する指示および停止する指示は、上述した方法と同様である。図において、発声期間ton(1)~toff(1)が、音高「G4」および文字「こ」の発声に基づくオーディオ信号が生成されている期間である。
【0043】
次に、発声の開始指示を取得したカウント値tcが、発声の設定期間ts(1)~te(1)と、設定期間ts(2)~te(2)との間の期間であって、設定期間ts(2)~te(2)に近い場合について、図7を参照して説明する。音生成処理を開始してから、ステップS505までの処理は、図6において説明した処理と同様であるため、説明を省略する。制御部301は、開始指示を取得した時刻が中心時刻tm(1)よりも前ではないと判定し(ステップS506;No)、中心時刻tm(1)よりも後の設定期間の文字「ん」(文字M(2))を、発声する文字として設定する(ステップS508)。音高「G4」および文字「ん」の発声に基づくオーディオ信号の生成を開始する指示および停止する指示は、図6で説明した方法と同様である。図7において、期間ton(1)~toff(1)が、音高「G4」および文字「ん」に基づくオーディオ信号が生成されている期間である。
[音生成機能]
図8は、本発明の一実施形態における音生成機能を示す機能ブロック図である。なお、以下に説明する各機能を実現する構成の一部または全部は、ハードウェアによって実現されてもよい。
【0044】
電子楽器3は、合成歌唱音を生成する音生成機能等を実現する機能ブロックとして、歌詞データ取得部31(第1の取得部)、発声制御部32(制御部)、信号生成部33および発声開始指示取得部34(第2の取得部)を含む。これらの各機能部の機能は、制御部301、記憶部303、不図示のタイマ等の協働により実現される。なお、本発明において機能ブロックが信号生成部33を含むことは必須でない。
【0045】
歌詞データ取得部31は、歌唱音合成用サーバ2000からカラオケ装置1を介して曲IDに対応した第1歌詞データを取得する。発声制御部32は、主として図5に示す指示処理を実行し、発声に基づくオーディオ信号の生成を開始する指示または停止する指示を信号生成部33に出力する。発声開始指示取得部34は、発声の開始指示を取得する。発声の開始指示は、例えば、ユーザから演奏操作部321を介して入力される演奏信号として取得される。
【0046】
信号生成部33は、上述したDSPに対応し、発声制御部32から受信した指示に基づいて、オーディオ信号の生成を開始し、またはオーディオ信号の生成を停止する。信号生成部33によって生成されたオーディオ信号は、インターフェイス317を介して外部に出力される。
(第2実施形態)
本実施形態では、第1実施形態において説明した音生成処理とは一部異なる音生成処理について、図4図9、および図10を参照して説明する。本実施形態では、オーディオ信号を生成するための指示処理について、第1実施形態と異なっている。そのため、第1実施形態とは異なる部分を詳細に説明し、それ以外の部分は第1実施形態の説明を援用する。また、本実施形態では、ベロシティを、音量情報として扱うものとする。
【0047】
本実施形態では、図3に示す第1歌詞データにおいて、文字M(i)=M(1)~M(10)を順番に発声するものとする。すなわち、第1歌詞データにおいて、複数の文字の発声順序が決められている。そのため、図3に示す第1歌詞データにおいて、発声の設定期間が規定されたタイミングデータは省略されてもよい。
【0048】
図4に示すフローチャートにおいて、ユーザによる楽曲の再生指示により処理が開始されると、制御部301は、記憶部303から第1歌詞データを取得する(ステップS401)。次に、制御部301は初期化処理を実行する(ステップS402)。本実施形態において、初期化処理とは、制御部301が、第1実施形態と同様にカウント値tc=0を設定することである。第2実施形態ではさらに、初期化処理として、制御部301は、M(i)における文字カウント値i=1(文字M(i)=M(1))を設定し、ts=0を設定する。「i」は、上述したように、歌詞における文字の順序を示している。本実施形態において、tsとは、直前の発声の開始指示を取得した時刻をいう。したがって、制御部301は、「i」をインクリメントすることで、歌詞を構成する文字のうち、M(i)が示す文字を1つずつ進めていく。ステップS403~S407における待機状態の処理は、第1実施形態と同様である。待機状態において、演奏操作部321からの演奏信号を受信した場合(ステップS407;Yes)、オーディオ信号を生成するための指示処理を実行する(ステップS500)。
【0049】
図9は、オーディオ信号を生成するための指示処理を説明するフローチャートである。この処理は、図4のステップS500で実行される。
【0050】
演奏操作部321から演奏信号を受信すると、オーディオ信号を生成するための指示処理が開始される。まず、制御部301は、演奏操作部321から取得した演奏信号に基づいて音高を設定する(ステップS521)。制御部301は、演奏操作部321から取得した演奏信号が、発声の開始指示か否かを判定する(ステップS522)。
【0051】
制御部301は、演奏信号が発声の開始指示であると判定する場合(ステップS522;Yes)、当該発声の開始指示を取得した時刻tsが、tc-ts≦tth又はM(i)=M(1)のいずれかを満たすかを判定する(ステップS523)。ここで、tc-tsは、最後に発声の開始指示を取得した時刻から現在までの経過時間である。tthは所定の期間である。制御部301は、時刻tsが、tc-ts≦tth又はM(i)=M(1)のいずれかを満たす場合(ステップS523;Yes)、文字M(i)のオーディオ信号を生成する指示をDSPに出力する(ステップS526)。制御部301は、M(i)=M(1)を満たす場合、すなわち最初の発声である場合には、文字「こ」を発声すべき文字として設定し、tc-ts≦tthを満たす場合は、直前の発声で設定した文字と同じ文字を発声すべき文字として設定する。次に、制御部301は、カウント値tcを、時刻tsに設定し(ステップS527)、指示処理を終了して図4に示すステップS403に進む。
【0052】
制御部301は、時刻tsが、tc-ts≦tth又はM(i)=M(1)のいずれも満たさない場合(ステップS523;No)、発声の開始指示で取得した音量が所定の音量よりも小さいか否かを判定する(ステップS524)。制御部301は、発声の開始指示で取得した音量が所定の音量よりも小さい場合(ステップS524;Yes)、ステップS526、S527を実行した後、指示処理を終了して図4に示すステップS403に進む。一方、制御部301は、発声の開始指示で取得した音量が所定の音量以上の場合(ステップS524;No)、文字カウント値i=i+1を設定する(ステップS525)。そして制御部301は、文字カウント値i=i+1で設定された文字の発声に基づくオーディオ信号を生成する指示をDSPに出力する(ステップS526)。次に制御部301は、カウント値tcを、時刻tsに設定し(ステップS527)、指示処理を終了して図4に示すステップS403に進む。
【0053】
本実施形態では、第1条件とは、tc-ts≦tth又はM(i)=M(1)のいずれかを満たすか否かという条件である。また、第1条件とは、tc-ts≦tth又はM(i)=M(1)の双方を満たさなくても、音量が所定の音量よりも小さいという条件を満たすか否かという条件である。
【0054】
このように、図4および図9に示す処理を順次処理することによって、楽曲の歌詞のうち伴奏音データの再生による伴奏音の進行に伴って特定される文字が、演奏操作に応じた音高及びタイミングで順次発声される合成歌唱音が生成される。そして、合成歌唱音を示すオーディオ信号がカラオケ装置1に対して出力される。
【0055】
次に、図4および図9に示す音生成処理の具体例について、図10を参照して説明する。図10は、音生成処理における時刻と音高との関係を表す図である。図10では、音高「G4」および文字「こ」、音高「A5」および文字「ん」、音高「B5」および文字「ん」の発声が、音高情報を有する音節ノートとして例示されている。
【0056】
制御部301は、音生成処理を開始すると、第1歌詞データを取得して(ステップS401)、初期化処理を実行する(ステップS402)。制御部301は、初期化処理において、文字M(i)=M(1)と、tc=0と、ts=0と、を設定する。音生成処理における待機状態において、制御部301が演奏操作部321から音高「G4」が対応づけられた演奏信号を受信したことを想定する(ステップS407;Yes)。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「G4」を設定する(ステップS521)。制御部301は、演奏信号が発声の開始指示であると判定し(ステップS522;Yes)、tc-ts≦tth又はM(i)=M(1)のいずれかを満たすかを判定する(ステップS523)。制御部301は、M(i)=M(1)を満たすと判定する(ステップS523;Yes)。文字M(1)は、「こ」であるので、制御部301は、音高「G4」および文字「こ」の発声に基づくオーディオ信号を生成する指示をDSPに出力する(ステップS526)。制御部301は、カウント値tcを時刻tsとして設定し(ステップS527)、指示処理を終了して図4に示すステップS403に進む。図10において、設定した音高「G4」および文字「こ」の発声に基づいてオーディオ信号の生成する指示をDSPに出力した時刻tsを、時刻ton(1)と表記する。制御部301のDSPは、当該指示に基づいて、オーディオ信号の生成を開始する。
【0057】
続いて、音生成処理における待機処理において、制御部301が演奏操作部321から音高「G4」が対応づけられた演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「G4」を設定する(ステップS521)。制御部301は、演奏信号が発声の停止指示であると判定すると(ステップS522;No)、設定した音高「G4」および文字「こ」の発声に基づくオーディオ信号の生成を停止する指示を出力し(ステップS528)、指示処理を終了して図4に示すステップS403に進む。図10において、設定した音高「G4」および文字「こ」の発声に基づいてオーディオ信号の生成を停止する指示をDSPに出力した時刻を、時刻toff(1)と表記する。制御部301のDSPは、当該指示に基づいて、オーディオ信号の生成を停止する。図10において、期間ton(1)~toff(1)が、音高「G4」および文字「こ」の発声に基づくオーディオ信号が生成されている期間である。
【0058】
続いて、音生成処理における待機処理において、制御部301が演奏操作部321から音高「A5」が対応づけられた発声の開始指示を含む演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「A5」を設定する(ステップS521)。次に、制御部301は、演奏信号が発声の開始指示であると判定し(ステップS522;Yes)、tc-ts≦tth又はM(i)=M(1)のいずれかを満たすかを判定する(ステップS523)。所定の期間tthは、例えば10ms~100msの範囲であり、本実施の形態では100msであるとする。tc-tsが100msを超えると、tc-ts≦tthを満たさないと判定される。ここでは、tc-tsは、所定の期間tthよりも長いため、制御部301は、tc-ts≦tthおよびM(i)=M(1)の双方を満たさないと判定し(ステップS523;No)、音量が所定の音量よりも小さいか否かを判定する(ステップS524)。制御部301は、音量が所定の音量以上である判定すると(ステップS524;No)、文字カウント値i=i+1を設定する(ステップS525)。ここでは、文字M(1)の次の文字M(2)を設定する。文字M(2)は、「ん」であるので、制御部301は、音高「A5」および文字「ん」の発声に基づくオーディオ信号を生成する指示をDSPに出力する(ステップS526)。制御部301は、カウント値tcを時刻tsとして設定し(ステップS527)、指示処理を終了して図4に示すステップS403に進む。図10において、期間ton(2)~toff(2)が、音高「A5」および文字「ん」の発声に基づくオーディオ信号が生成されている期間である。
【0059】
続いて、音生成処理における待機状態において、演奏操作部321から音高「B5」が対応付けられた発声の開始指示を含む演奏信号を受信したことを想定する。この場合、制御部301は、指示処理を実行し(ステップS500)、演奏信号に基づいて、音高「B5」を設定する(ステップS521)。制御部301は、演奏信号が発声の開始指示であると判定し(ステップS522;Yes)、tc-ts≦tth又はM(i)=M(1)のいずれかを満たすかを判定する(ステップS523)。ここでは、tc-tsは、所定の期間tthよりも短いため、tc-ts≦tthを満たすと判定し(ステップS523;Yes)、音高「A5」および文字「ん」の発声に基づくオーディオ信号を生成する指示を出力する(ステップ526)。ここでは、実際には、制御部301は、直前の文字「ん」の発声を継続するようにオーディオ信号を生成する指示を出力する。従って、文字「ん」を継続発声するために音高「B5」で長音である「-」の発声に基づくオーディオ信号が生成される。制御部301は、カウント値tcを時刻tsとして設定し(ステップS527)、指示処理を終了して図4に示すステップS403に進む。図10において、期間ton(3)~toff(3)が、音高「A5」および文字「ん」の発声に基づくオーディオ信号が生成されている期間である。
【0060】
このように、本実施形態に係る音生成処理においては、直前の発声の開始指示から、次の発声の開始指示までの期間が所定の期間よりも短い場合には、第1歌詞データの文字を進ませないようにすることができる。
【0061】
言い換えると、直前の発声の開始指示から、次の発声の開始指示までの期間が所定の期間よりも短い場合は、第2発声の開始指示が第1条件を満たす。この場合、制御部301は、第1発声の開始指示に対応する第1発声を継続するようにオーディオ信号を生成する指示を出力する。例えば、期間ton(3)~toff(3)の音節ノートには、音高「B5」で、長音である「-」が割り当てられる。
(変形例)
以上、本発明の一実施形態について説明したが、本発明の一実施形態は、以下のように様々な形態に変形することもできる。また、上述した実施形態および以下に説明する変形例は、それぞれ互いに組み合わせて適用することもできる。
【0062】
(1)先の実施形態では、1つの文字につき、1つの発声に基づくオーディオ信号を生成する場合について説明したが、本発明の一実施形態はこれに限定されない。1つのフレーズにつき、1つの発声に基づくオーディオ信号を生成する場合について、図11図13を参照して説明する。
【0063】
ここで、記憶部303に記憶される第1歌詞データについて、図11を参照して説明する。図11は、本発明の一実施形態で使用される第1歌詞データである。図11に示す第1歌詞データは、「こ」「ん」「に」「ち」「わ」という第1フレーズ、および「さ」「よ」「お」「な」「ら」という第2フレーズを含む。「こ」「ん」「に」「ち」「わ」という第1フレーズを、1つの発声とする場合、第1発声の開始時刻はtfs(1)に対応し、停止時刻はtfe(1)に対応する。また、「さ」「よ」「お」「な」「ら」という第2フレーズを、1つの発声とする場合、第2発声の開始時刻はtfs(2)に対応し、停止時刻はtfe(2)に対応する。
【0064】
図12及び図13は、音生成処理における時刻と音高との関係を表す図である。図12及び図13は、フレーズで規定される発声期間を示している。図12及び図13では、フレーズ内における文字に対応する発声は、押鍵ごと又は第2実施形態に示す指示処理に従って進めてもよい。第1フレーズと第2フレーズとの間は、第1フレーズの停止時刻tfe(1)と、第2フレーズの開始時刻tfs(2)との間の中心時刻tfm(1)が予め設定されていてもよい。中心時刻tfm(1)は、中心時刻tfm(1)=(te(1)+ts(2))/2を計算することで求められる。制御部301は、第1実施形態と同様に発声の開始指示の取得時刻が、中心時刻tfm(1)よりも前か否かを判定する。
【0065】
制御部301は、発声の開始指示が中心時刻tfm(1)よりも前であると判定する場合、第1フレーズの最初の文字に対応する発声に基づいてオーディオ信号を生成する指示をDSPに出力する。その後、制御部301は、発声の開始指示が中心時刻tfm(1)よりも前であると判定する場合、続けて、第2フレーズの最初の文字から当該文字に対応する発声に基づいてオーディオ信号を生成する指示をDSPに出力してもよい。
【0066】
制御部301は、発声の開始指示が中心時刻tfm(1)よりも後であると判定する場合、さらに、発声の開始指示が第2フレーズの開始時刻tfs(2)よりも後か否かを判定する。制御部301は、発声の開始指示が第2フレーズの開始時刻tfs(2)よりも後であると判定すると、第2フレーズの発声に対応する文字のうち未発声の文字から当該文字に対応する発声に基づいてオーディオ信号を生成する指示をDSPに出力する。具体的には、図12に示すように、第1フレーズの開始時刻tfs(1)から停止時刻tfe(1)の間において、「こ」「ん」「に」「ち」「わ」「さ」の文字に対応する発声に基づいてオーディオ信号が生成されている場合を想定する。第2フレーズの開始時刻tfs(2)よりも後(時刻tfon)に、発声の開始指示を取得すると、第2フレーズの文字「よ」に対応する発声に基づいてオーディオ信号を生成する。時刻tfoffに、文字「ら」に対応する発声の停止指示を取得すると、制御部301は、オーディオ信号の生成を停止する指示をDSPに出力する。
【0067】
一方、制御部301は、発声の開始指示が第2フレーズの開始時刻tfs(2)よりも前であると判定すると、発声に対応する文字の最初の文字に対応する発声に基づいてオーディオ信号を生成する。具体的には、図13に示すように、第1フレーズの開始時刻tfs(1)から停止時刻tfe(1)の間において、「こ」「ん」「に」「ち」「わ」「さ」の文字に対応する発声に基づいてオーディオ信号が生成されている場合を想定する。第2フレーズの開始時刻tfs(2)よりも前(時刻tfon)に、発声の開始指示を取得すると、第2フレーズの文字「さ」に対応する発声に基づいてオーディオ信号を生成する。時刻tfoffに、文字「ら」に対応する発声の停止指示を取得すると、制御部301は、オーディオ信号の生成を停止する指示をDSPに出力する。
【0068】
変形例(1)において、第1条件とは、発声の開始指示を取得した時刻が、第1フレーズの停止時刻と第2フレーズの開始時刻との中心時刻よりも前であるという条件である。また、第2条件とは、発声の開始指示を取得した時刻が、第2発声の開始時刻tfs(2)よりも後であるという条件である。言い換えると、発声の開始指示の取得時刻が、第1歌詞データにおいて規定されている第2発声の開始時刻よりも後である場合に、上記第2条件は満たされる。
【0069】
(2)先の実施形態では、リードボーカルパートと第1歌詞データとが対応する合成歌唱音を生成する方法について説明したが、本発明はこれに限定されない。コーラスパートと第2歌詞データとが対応する合成歌唱音を生成する場合について、図14を参照して説明する。
【0070】
図14は、コーラスパートに対応する第2歌詞データである。第2歌詞データについても、発声すべき複数の文字が時系列に並べられたテキストデータを有する。第2歌詞データは、所定の時間軸により複数の文字ごとに発声の開始時刻および停止時刻が規定されるタイミングデータを含む。
【0071】
図14に示すように、第2歌詞データは、「あ(a)」「あ(a)」「あ(a)」「あ(a)」「あ(a)」「お(o)」「お(o)」「お(o)」「お(o)」「お(o)」を示すテキストデータを含む。また、第2歌詞データは、文字ごとに発声の開始時刻tsおよび停止時刻teが規定されたタイミングデータを含む。文字ごとに、N(i)が対応づけられ、「i」(i=1~n)により歌詞における文字の順序が設定されている。例えば、N(3)は、歌詞のうちの3番目の文字に対応する。例えば、N(3)「あ」の場合、発声の開始時刻は時刻tcs(3)であり、停止時刻は時刻tce(3)である。
【0072】
図3に示すように、第1歌詞データに規定される発声期間と、図14に示すように、第2歌詞データに規定される発声期間とは、重複している。すなわち、図14に示すN(1)~N(n)における開始時刻および終了時刻と、図3に示すM(1)~M(n)における開始時刻および終了時刻とは、互いに時間的に一致している。この場合には、制御部301は、リードボーカルパートに代えてコーラスパートの文字に対応する発声に基づくオーディオ信号を生成する指示をDSPに出力してもよい。また、制御部301は、第1歌詞データに規定される発声期間と、第2歌詞データに規定される発声期間とが重複する場合には、第1実施形態における第1条件を、他の条件に変更してもよい。他の条件として、直前の文字M(q)に対応する発声の停止時刻te(q)と、次の文字M(q+1)に対応する発声の開始時刻ts(q+1)との間の中心時刻tm(q)を、中心ではなく前後にずらしてもよい。例えば、tm(q)=(te(q)+ts(q+1))×(1/3)としてもよいし、tm(q)=(te(q)+ts(q+1))×(2/3)としてもよい。
【0073】
なお、次のように制御してもよい。制御部301は、第1歌詞データにおいて、発声の開始指示の取得時刻が属する設定期間または取得時刻に最も近い設定期間を特定する。そして制御部301は、上記特定した設定期間と時間的に一致する設定期間が第2歌詞データに存在する場合は、第1歌詞データにおける第1発声または第2発声に基づくオーディオ信号に代えて、第2歌詞データにおける上記時間的に一致する設定期間に対応する文字に対応する発声に基づくオーディオ信号を生成する。すなわち、発声の開始指示の取得時刻に対応する設定期間が第1歌詞データと第2歌詞データとの双方に存在する場合は、第2歌詞データの発声を優先させる。このような処理は、第1歌詞データに対して一部の時間領域においてだけ第2歌詞データが対応している場合にも適用できる。なお、コーラスパートを併用する場合は、上記第3時刻を、停止時刻te(q)と開始時刻ts(q+1)との中心時刻に対して前または後ろにずらしてもよい。
【0074】
(3)本実施形態では、電子楽器3は電子鍵盤装置である場合について説明したが、これに限定されない。電子楽器3は電子管楽器であってもよい。以下、電子楽器3として電子管楽器を適用する場合について、図15を参照して説明する。
【0075】
図15は、電子楽器3Aが電子管楽器である場合のハードウェア構成である。電子管楽器の場合、演奏操作部321は、操作キー311およびブレスセンサ312を含む。
【0076】
電子楽器3Aは、楽器本体に設けられた複数の音孔と、音孔の開閉状態を変化させる複数の操作キー311と、ブレスセンサ312が設けられている。複数の操作キー311を演奏者が演奏することによって、音孔の開閉状態が変化して所定の音階の音を出力する。楽器本体には、マウスピースが取り付けられており、楽器本体の内部であって、マウスピースの近傍には、ブレスセンサ312が設けられている。ブレスセンサ312は、マウスピースを介してユーザ(演奏者)が吹き込む息の吹圧を検出する吹圧センサである。ブレスセンサ312は、息の吹込みの有無を検出するとともに、少なくとも電子楽器3Aの演奏時においては、吹圧の強さや速さ(勢い)を検出する。ブレスセンサ312により検出された圧力の大きさに応じて、発声の音量が決定される。本変形例では、ブレスセンサ312により検出した圧力の大きさを、音量情報として扱うものとする。ブレスセンサ312において、所定の圧力の大きさが検出された場合には、発声の開始指示として検出される。所定の圧力未満の場合には、発声の開始指示として検出されない。
【0077】
電子管楽器において、図9および図10で説明したように、第1発声の開始指示から第2発声の開始指示までの第1期間が所定の期間未満となる、管楽器特有の経過音として検出されることがある。本発明の一実施形態に係る音生成処理では、演奏の途中でこのような経過音が生じたとしても、歌詞の位置が演奏よりも先に進むことを抑制することができるため、自然な合成歌唱音を生成することができる。
【0078】
(4)第1実施形態において、中心時刻tm(q)=(te(q)+ts(q+1))/2とする場合について説明したが、これに限定されない。中心ではなく前後にずらしてもよい。例えば、tm(q)=(te(q)+ts(q+1))×(1/3)としてもよいし、tm(q)=(te(q)+ts(q+1))×(2/3)としてもよい。
【0079】
(5)第2実施形態において、第1条件は、音量が所定の音量よりも小さいという条件を満たすか否かという条件を含む場合について説明したが、本発明の一実施形態はこれに限定されない。第1条件は、図9において、ステップS524を省略してもよく、ステップS523におけるtc-ts≦tth又はM(i)=M(1)のいずれかを満たすか否かという条件だけであってもよい。
【0080】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0081】
なお、演奏信号は、外部から通信を介して取得されてもよい。従って、演奏操作部321を設けることは必須でなく、音生成装置は、楽器としての機能および形態を有することは必須でない。
【0082】
なお、本発明を達成するためのソフトウェアによって表される制御プログラムを記憶した記憶媒体を、本装置に読み出すことによって、本発明と同様の効果を奏するようにしてもよく、その場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した、非一過性のコンピュータ読み取り可能な記録媒体は本発明を構成することになる。また、プログラムコードを伝送媒体等を介して供給してもよく、その場合は、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード等を用いることができる。非一過性のコンピュータ読み取り可能な記録媒体としては、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含む。
【0083】
本出願は、2021年3月9日に出願された日本出願第2021-037651号に基づく優先権を主張するものであり、当該日本出願に記載された全内容を本出願に援用する。
【符号の説明】
【0084】
3 電子楽器
31 歌詞データ取得部
32 発声制御部
34 発声開始指示取得部
301 制御部
321 演奏操作部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15