JP2022047167A - 電子楽器、電子楽器の制御方法、及びプログラム - Google Patents

電子楽器、電子楽器の制御方法、及びプログラム Download PDF

Info

Publication number
JP2022047167A
JP2022047167A JP2020152926A JP2020152926A JP2022047167A JP 2022047167 A JP2022047167 A JP 2022047167A JP 2020152926 A JP2020152926 A JP 2020152926A JP 2020152926 A JP2020152926 A JP 2020152926A JP 2022047167 A JP2022047167 A JP 2022047167A
Authority
JP
Japan
Prior art keywords
performance
data
time
playing
pitch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020152926A
Other languages
English (en)
Other versions
JP7276292B2 (ja
Inventor
広 岩瀬
Hiroshi Iwase
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2020152926A priority Critical patent/JP7276292B2/ja
Priority to PCT/JP2021/029833 priority patent/WO2022054496A1/ja
Priority to US18/044,922 priority patent/US20240021180A1/en
Priority to CN202180062213.5A priority patent/CN116057624A/zh
Priority to EP21866456.3A priority patent/EP4213143A1/en
Publication of JP2022047167A publication Critical patent/JP2022047167A/ja
Priority to JP2023073896A priority patent/JP2023100776A/ja
Application granted granted Critical
Publication of JP7276292B2 publication Critical patent/JP7276292B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • G10L13/0335Pitch control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/375Tempo or beat alterations; Music timing control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/315Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
    • G10H2250/455Gensound singing voices, i.e. generation of human voices for musical applications, vocal singing sounds or intelligible words at a desired pitch or with desired vocal effects, e.g. by phoneme synthesis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】鍵盤等の操作子の操作に応じて、リアルタイムに変化する音符間の時間の変化に合った適切な音声波形で歌声を再生する電子楽器を提供する。【解決手段】電子楽器において、演奏形態出力部603は、例えば演奏者による押鍵操作または曲データ中のタイミングデータから連続する音符間の時間をリアルタイムに抽出して、演奏時の演奏形態である歌い方を示す演奏時演奏形態データとして出力する。演奏時歌詞データ、演奏時音高データ及び演奏時演奏形態データを含む演奏時歌声データによって、学習済み音響モデルで推論が行われることにより、演奏者の歌い方等の演奏形態を適切に推論する歌声音声データを合成し出力することができる。【選択図】図6

Description

本発明は、鍵盤等の操作子の操作に応じて学習済み音響モデルを駆動して音声を出力する電子楽器、電子楽器の制御方法、及びプログラムに関する。
電子楽器において、従来のPCM(Pulse Code Modulation:パルス符号変調)方式の表現力の弱点である歌唱音声や生楽器の表現力を補うために、人間の発声機構やアコースティック楽器の発音機構をデジタル信号処理でモデル化した音響モデルを、歌唱動作や演奏動作に基づく機械学習により学習させ、その学習済み音響モデルを実際の演奏操作に基づいて駆動して歌声や楽音の音声波形データを推論して出力する技術が考案され実用化されつつある(例えば特許文献1)。
特許第6610714号公報
機械学習により例えば歌声波形や楽音波形を作り出す場合、演奏されるテンポやフレーズの歌い方や演奏形態の変化によって生成波形が変化することが多い。例えば、ボーカル音声の子音部の発音時間長、管楽器音のブロー音の発音時間長、擦弦楽器の弦をこすり始めるときのノイズ成分の時間長が、音符の少ないゆっくりとした演奏では長い時間になって表情豊かな生々しい音になり、音符が多いテンポの速い演奏では短い時間になって歯切れのよい音で演奏される。
しかし、ユーザが鍵盤等でリアルタイムに演奏する場合には、音源装置に各音符の譜割りの変化や演奏フレーズの違いに対応して変化する音符間の演奏速度を伝える手段がないため、音響モデルが音符間の演奏速度の変化に応じた適切な音声波形を推論することができず、例えば、ゆっくりとした演奏のときの表現力が不足したり、逆に、テンポの速い演奏に対して生成される音声波形の立上りが遅れて演奏しずらくなってしまう、といった問題があった。
そこで、本発明の目的は、リアルタイムに変化する音符間の演奏速度の変化に合った適切な音声波形を推論可能とすることにある。
態様の一例の電子楽器は、演奏時に指定される演奏時音高データを出力する音高指定部と、演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、演奏時に、演奏時音高データ及び演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、演奏時音高データ及び演奏時演奏形態データに対応する楽音データを合成し出力する発音モデル部と、を備える。
態様の他の一例の電子楽器は、演奏時の歌詞を示す演奏時歌詞データを出力する歌詞出力部と、演奏時に歌詞の出力に合わせて指定される演奏時音高データを出力する音高指定部と、演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、演奏時に、演奏時歌詞データ、演奏時音高データ、及び演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、演奏時歌詞データ、演奏時音高データ、及び演奏時演奏形態データに対応する歌声音声データを合成し出力する発声モデル部と、を備える。
本発明によれば、リアルタイムに変化する音符間の演奏速度の変化に合った適切な音声波形を推論することが可能となる。
電子鍵盤楽器の一実施形態の外観例を示す図である。 電子鍵盤楽器の制御システムの一実施形態のハードウェア構成例を示すブロック図である。 音声学習部及び音声合成部の構成例を示すブロック図である。 歌い方のもととなる譜割りの例を示す説明図である。 演奏テンポの差により生じる歌声音声の波形変化を示す図である。 歌詞出力部、音高指定部、及び演奏形態出力部の構成例を示すブロック図である。 本実施形態のデータ構成例を示す図である。 本実施形態における電子楽器の制御処理例を示すメインフローチャートである。 初期化処理、テンポ変更処理、及びソング開始処理の詳細例を示すフローチャートである。 スイッチ処理の詳細例を示すフローチャートである。 鍵盤処理の詳細例を示すフローチャートである。 自動演奏割込み処理の詳細例を示すフローチャートである。 ソング再生処理の詳細例を示すフローチャートである。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、電子鍵盤楽器の一実施形態100の外観例を示す図である。電子鍵盤楽器100は、操作子としての複数の鍵からなる鍵盤101と、音量の指定、後述するソング再生のテンポ設定、後述する演奏テンポモードの設定、後述する演奏テンポのアジャスト設定、後述するソング再生開始、後述する伴奏再生等の各種設定を指示する第1のスイッチパネル102と、ソングや伴奏の選曲や音色の選択等を行う第2のスイッチパネル103と、後述するソング再生時の歌詞、楽譜や各種設定情報を表示するLCD104(Liquid Crystal Display:液晶ディスプレイ)等を備える。また、電子鍵盤楽器100は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。
図2は、図1の電子鍵盤楽器100の制御システム200の一実施形態のハードウェア構成例を示す図である。図2において、制御システム200は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、音源LSI(大規模集積回路)204、音声合成LSI205、図1の鍵盤101、第1のスイッチパネル102、及び第2のスイッチパネル103が接続されるキースキャナ206、図1のLCD104が接続されるLCDコントローラ208、外部のネットワークとMIDIデータ等のやりとりを行うネットワークインタフェース219が、それぞれシステムバス209に接続されている。また、CPU201には、自動演奏のシーケンスを制御するためのタイマ210が接続される。更に、音源LSI204及び音声合成LSI205からそれぞれ出力される楽音データ218及び歌声音声データ217は、D/Aコンバータ211、212によりそれぞれアナログ楽音出力信号及びアナログ歌声音声出力信号に変換される。アナログ楽音出力信号及びアナログ歌声音声出力信号は、ミキサ213で混合され、その混合信号がアンプ214で増幅された後に、特には図示しないスピーカ又は出力端子から出力される。
CPU201は、RAM203をワークメモリとして使用しながらROM202からRAM203にロードした制御プログラムを実行することにより、図1の電子鍵盤楽器100の制御動作を実行する。また、ROM202は、上記制御プログラム及び各種固定データのほか、歌詞データ及び伴奏データを含む曲データを記憶する。
CPU201には、本実施形態で使用するタイマ210が実装されており、例えば電子鍵盤楽器100における自動演奏の進行をカウントする。
音源LSI204は、CPU201からの発音制御データ216に従って、例えば特には図示しない波形ROMから楽音波形データを読み出し、楽音データ218としてD/Aコンバータ211に出力する。音源LSI204は、同時に最大256ボイスを発音させる能力を有する。
音声合成LSI205は、CPU201から、歌詞のテキストデータ(演奏時歌詞データ)と各歌詞に対応する各音高を指定するデータ(演奏時音高データ)と歌い方に関するデータ(演奏時演奏形態データ)を演奏時歌声データ215として与えられると、それに対応する歌声音声データ217を合成し、D/Aコンバータ212に出力する。
キースキャナ206は、図1の鍵盤101の押鍵/離鍵状態、第1のスイッチパネル102、及び第2のスイッチパネル103のスイッチ操作状態を定常的に走査し、CPU201に割り込みを掛けて状態変化を伝える。
LCDコントローラ208は、LCD104の表示状態を制御するIC(集積回路)である。
図3は、本実施形態における音声合成部及び音声学習部の構成例を示すブロック図である。ここで、音声合成部302は、図2の音声合成LSI205が実行する一機能として電子鍵盤楽器100に内蔵される。
音声合成部302は、後述する歌詞の自動再生(以下「ソング再生」と記載)処理により図1の鍵盤101上の押鍵に基づいて図2のキースキャナ206を介してCPU201から指示される歌詞、音高、及び歌い方の情報を含む演奏時歌声データ215を入力することにより、歌声音声データ217を合成し出力する。このとき音声合成部302のプロセッサは、鍵盤101上の複数の鍵(操作子)のなかのいずれかの鍵への操作に応じてCPU201により生成された歌詞情報と、いずれかの鍵に対応付けられている音高情報と、歌い方に関する情報を含む演奏時歌声データ215を演奏時歌声解析部307に入力し、そこから出力される演奏時言語特徴量系列316を音響モデル部306に記憶されている学習済み音響モデルに入力し、その結果、音響モデル部306が出力したスペクトル情報318と音源情報319とに基づいて、歌い手の歌声を推論した歌声音声データ217を出力する発声処理を実行する。
音声学習部301は例えば、図3に示されるように、図1の電子鍵盤楽器100とは別に外部に存在するサーバコンピュータ300が実行する一機能として実装されてよい。或いは、図3には図示していないが、音声学習部301は、図2の音声合成LSI205の処理能力に余裕があれば、音声合成LSI205が実行する一機能として電子鍵盤楽器100に内蔵されてもよい。
図2の音声学習部301及び音声合成部302は、例えば下記非特許文献1に記載の「深層学習に基づく統計的音声合成」の技術に基づいて実装される。
(非特許文献1)
橋本佳,高木信二「深層学習に基づく統計的音声合成」日本音響学会誌73巻1号(2017),pp.55-62
図3に示されるように例えば外部のサーバコンピュータ300が実行する機能である図2の音声学習部301は、学習用歌声解析部303と学習用音響特徴量抽出部304とモデル学習部305とを含む。
音声学習部301において、学習用歌声音声データ312としては、例えば適当なジャンルの複数の歌唱曲を或る歌い手が歌った音声を録音したものが使用される。また、学習用歌声データ311としては、各歌唱曲の歌詞のテキストデータ(学習用歌詞データ)と各歌詞に対応する各音高を指定するデータ(学習用音高データ)と学習用歌声音声データ312の歌い方を示すデータ(学習用演奏形態データ)とが用意される。学習用演奏形態データとしては、上記学習用音高データが順次指定される時間間隔が順次計測され、順次計測された時間間隔を示す各データが指定される。
学習用歌声解析部303は、学習用歌詞データ、学習用音高データ、及び学習用演奏形態データを含む学習用歌声データ311を入力してそのデータを解析する。この結果、学習用歌声解析部303は、学習用歌声データ311に対応する音素、音高、歌い方を表現する離散数値系列である学習用言語特徴量系列313を推定して出力する。
学習用音響特徴量抽出部304は、上記学習用歌声データ311の入力に合わせてその学習用歌声データ311に対応する歌詞を或る歌い手が歌うことによりマイク等を介して集録された学習用歌声音声データ312を入力して分析する。この結果、学習用音響特徴量抽出部304は、学習用歌声音声データ312に対応する音声の特徴量を表す学習用音響特徴量系列314を抽出し、それを教師データとして出力する。
モデル学習部305は、下記(1)式に従って、学習用言語特徴量系列313(これを
Figure 2022047167000002
と置く)と、音響モデル(これを
Figure 2022047167000003
と置く)とから、学習用音響特徴量系列314(これを
Figure 2022047167000004
と置く)が生成される確率(これを
Figure 2022047167000005
と置く)を最大にするような音響モデル
Figure 2022047167000006
を、機械学習により推定する。即ち、テキストである言語特徴量系列と音声である音響特徴量系列との関係が、音響モデルという統計モデルによって表現される。
Figure 2022047167000007
ここで、
Figure 2022047167000008
は、その右側に記載される関数に関して最大値を与える、その下側に記載されている引数を算出する演算を示す。
モデル学習部305は、(1)式に示される演算によって機械学習を行った結果算出される音響モデル
Figure 2022047167000009
を表現する学習結果データ315を出力する。
この学習結果データ315は例えば、図3に示されるように、図1の電子鍵盤楽器100の工場出荷時に、図2の電子鍵盤楽器100の制御システムのROM202に記憶され、電子鍵盤楽器100のパワーオン時に、図2のROM202から音声合成LSI205内の後述する音響モデル部306にロードされてよい。或いは、学習結果データ315は例えば、図3に示されるように、演奏者が電子鍵盤楽器100の第2のスイッチパネル103を操作することにより、特には図示しないインターネットやUSB(Universal Serial Bus)ケーブル等のネットワークからネットワークインタフェース219を介して、音声合成LSI205内の後述する音響モデル部306にダウンロードされてもよい。或いは、音声合成LSI205とは別に、学習済み音響モデルをFPGA(Field-Programmable Gate Array)等によりハードウェア化し、これをもって音響モデル部としてもよい。
音声合成LSI205が実行する機能である音声合成部302は、演奏時歌声解析部307と音響モデル部306と発声モデル部308とを含む。音声合成部302は、演奏時に順次入力される演奏時歌声データ215に対応する歌声音声データ217を、音響モデル部306に設定された音響モデルという統計モデルを用いて予測することにより順次合成し出力する、統計的音声合成処理を実行する。
演奏時歌声解析部307は、自動演奏に合わせた演奏者の演奏の結果として、図2のCPU201より指定される演奏時歌詞データ(歌詞テキストに対応する歌詞の音素)と演奏時音高データと演奏時演奏形態データ(歌い方データ)に関する情報を含む演奏時歌声データ215を入力し、そのデータを解析する。この結果、演奏時歌声解析部307は、演奏時歌声データ215に対応する音素、品詞、単語と音高と歌い方を表現する演奏時言語特徴量系列316を解析して出力する。
音響モデル部306は、演奏時言語特徴量系列316を入力することにより、それに対応する音響モデルパラメータである演奏時音響特徴量系列317を推定して出力する。即ち音響モデル部306は、下記(2)式に従って、演奏時歌声解析部307から入力する演奏時言語特徴量系列316(これを再度
Figure 2022047167000010
と置く)と、モデル学習部305での機械学習により学習結果データ315として設定された音響モデル
Figure 2022047167000011
とに基づいて、演奏時音響特徴量系列317(これを再度
Figure 2022047167000012
と置く)が生成される確率(これを
Figure 2022047167000013
と置く)を最大にするような音響モデルパラメータである演奏時音響特徴量系列317の推定値
Figure 2022047167000014
を推定する。
Figure 2022047167000015
発声モデル部308は、演奏時音響特徴量系列317を入力することにより、CPU201より指定される演奏時歌声データ215に対応する歌声音声データ217を合成し出力する。この歌声音声データ217は、図2のD/Aコンバータ212からミキサ213及びアンプ214を介して出力され、特には図示しないスピーカから放音される。
学習用音響特徴量系列314や演奏時音響特徴量系列317で表される音響特徴量は、人間の声道をモデル化したスペクトル情報と、人間の声帯をモデル化した音源情報とを含む。スペクトル情報(パラメータ)としては例えば、メルケプストラムや線スペクトル対(Line Spectral Pairs:LSP)等を採用できる。音源情報としては、人間の音声のピッチ周波数を示す基本周波数(F0)及びパワー値を採用できる。発声モデル部308は、音源生成部309と合成フィルタ部310とを含む。音源生成部309は、人間の声帯をモデル化した部分であり、音響モデル部306から入力する音源情報319の系列を順次入力することにより、例えば、音源情報319に含まれる基本周波数(F0)及びパワー値で周期的に繰り返されるパルス列データ(有声音音素の場合)、又は音源情報319に含まれるパワー値を有するホワイトノイズデータ(無声音音素の場合)、或いはそれらが混合されたデータからなる音源信号データを生成する。合成フィルタ部310は、人間の声道をモデル化した部分であり、音響モデル部306から順次入力するスペクトル情報318の系列に基づいて声道をモデル化するデジタルフィルタを形成し、音源生成部309から入力する音源信号データを励振源信号データとして、デジタル信号データである歌声音声データ321を生成し出力する。
学習用歌声音声データ312及び歌声音声データ217に対するサンプリング周波数は、例えば16KHz(キロヘルツ)である。また、学習用音響特徴量系列314及び演奏時音響特徴量系列317に含まれるスペクトルパラメータとして、例えばメルケプストラム分析処理により得られるメルケプストラムパラメータが採用される場合、その更新フレーム周期は、例えば5msec(ミリ秒)である。更に、メルケプストラム分析処理の場合、分析窓長は25msec、窓関数はブラックマン窓、分析次数は24次である。
図3の音声学習部301及び音声合成部302からなる統計的音声合成処理の具体的な処理としては例えば、音響モデル部306に設定される学習結果データ315によって表現される音響モデルとして、HMM(Hidden Markov Model:隠れマルコフモデル)を用いる方法や、DNN(Deep Neural Network:ディープニューラルネットワーク)を用いる方法を採用することができる。これらの具体的な実施形態については、前述した特許文献1に開示されているので、本出願では、その詳細な説明は省略する。
図3に例示した音声学習部301及び音声合成部302からなる統計的音声合成処理により、或る歌手の歌声を学習した学習済み音響モデルを搭載した音響モデル部306に、ソング再生される歌詞と演奏者により押鍵指定される音高とを含む演奏時歌声データ215を順次入力させることにより、或る歌手が良好に歌う歌声音声データ217を出力する電子鍵盤楽器100が実現される。
ここで、歌唱音声では、速いパッセージのメロディとゆっくりしたパッセージのメロディとでは、歌い方に差がでるのが通常である。図4は、歌い方のもととなる譜割りの例を示す説明図である。図4(a)に速いパッセージの歌詞メロディの楽譜例、図4(b)にゆっくりしたパッセージの歌詞メロディの楽譜例を示す。この例では、音高変化のパターンは同様であるが、図4(a)は、16分音符(音符の長さが四分音符の4分の1)の連続の譜割りであるが、図4(b)は、4分音符の連続の譜割りとなっている。従って、音高を変化させる速度については、図4(a)の譜割りは図4(b)の譜割りの4倍の速度となる。速いパッセージの曲では、歌唱音声の子音部は短くしないとうまく歌唱(演奏)できない。逆に、ゆっくりしたパッセージの曲では、歌唱音声の子音部を長くしたほうが、表現力の高い歌唱(演奏)ができる。上述のように、音高の変化パターンが同じでも、歌唱メロディの音符ひとつひとつの長さの違い(四分音符、八分音符、十六分音符等)により、歌唱(演奏)速度に差が生じるが、全く同じ楽譜が歌唱(演奏)されても、演奏時のテンポが変化すれば演奏速度に差が生じるのは言うまでもない。以下の説明では、上述の2つの要因により生じる音符間の時間間隔(発音速度)を通常の楽曲のテンポと区別して「演奏テンポ」と記載することにする。
図5は、図4に例示したような演奏テンポの差により生じる歌声音声の波形変化を示す図である。図5に示される例は、/ga/の音声が発音された場合の歌声音声の波形例を示している。/ga/の音声は、子音の/g/と、母音の/a/が組み合わさった音声である。子音部の音長(時間長)は、通常は数10ミリ秒から200ミリ秒程度であることが多い。ここで、図5(a)は速いパッセージで歌唱された場合の歌声音声波形の例、図5(b)はゆっくりしたパッセージで歌唱された場合の歌声音声波形の例を示している。図5(a)と(b)の波形の違いは、子音/g/の部分の長さが異なることである。速いパッセージで歌唱された場合には、図5(a)に示されるように、子音部の発音時間長が短く、逆に、ゆっくりしたパッセージで歌唱される場合には、図5(b)に示されるように、子音部の発音時間長が長くなっていることがわかる。速いパッセージでの歌唱では子音をはっきり歌わず、発音開始速度を優先するが、ゆっくりしたパッセージでは、子音を長くはっきり発音させることで、言葉としての明瞭度を上げる発音になることが多い。
上述したような、演奏テンポの差を歌声音声データの変化に反映させるために、本実施形態における図3に例示した音声学習部301及び音声合成部302からなる統計的音声合成処理において、音声学習部301において入力される学習用歌声データ311に、歌詞を示す学習用歌詞データと、音高を示す学習用音高データに、歌い方を示す学習用演奏形態データが追加され、この学習用演奏形態データに演奏テンポの情報が含ませられる。音声学習部301内の学習用歌声解析部303は、このような学習用歌声データ311を解析することにより、学習用言語特徴量系列313を生成する。そして、音声学習部301内のモデル学習部305が、この学習用言語特徴量系列313を用いて機械学習を行う。この結果、モデル学習部305が、演奏テンポの情報を含む学習済み音響モデルを学習結果データ315として出力し、音声合成LSI205の音声合成部302内の音響モデル部306に記憶させることができる。学習用演奏形態データとしては、上記学習用音高データが順次指定される時間間隔が順次計測され、順次計測された時間間隔を示す各演奏テンポデータが指定される。このように、本実施形態におけるモデル学習部305は、歌い方による演奏テンポの違いが加味された学習済み音響モデルを導きだせるような学習を行うことができる。
一方、上述のような学習済み音響モデルがセットされた音響モデル部306を含む音声合成部302においては、演奏時歌声データ215に、歌詞を示す演奏時歌詞データと、音高を示す演奏時音高データに、歌い方を示す演奏時演奏形態データが追加され、この演奏時演奏形態データに演奏テンポの情報を含ませることができる。音声合成部302内の演奏時歌声解析部307は、このような演奏時歌声データ215を解析することにより、演奏時言語特徴量系列316を生成する。そして、音声合成部302内の音響モデル部306は、この演奏時言語特徴量系列316を学習済み音響モデルに入力させることにより、対応するスペクトル情報318及び音源情報319を出力し、それぞれ発声モデル部308内の合成フィルタ部310及び音源生成部309に供給する。この結果、発声モデル部308は、歌い方による演奏テンポの違いにより例えば図5(a)及び(b)に例示したような子音の長さ等の変化が反映された歌声音声データ217を出力することができる。即ち、リアルタイムに変化する音符間の演奏速度の変化に合った、適切な歌声音声データ217を推論することが可能となる。
図6は、上述した演奏時歌声データ215を生成するための、図2のCPU201が後述する図8から図11のフローチャートで例示される制御処理の機能として実現する歌詞出力部、音高指定部、及び演奏形態出力部の構成例を示すブロック図である。
歌詞出力部601は、演奏時の歌詞を示す各演奏時歌詞データ609を、図2の音声合成LSI205に出力する各演奏時歌声データ215に含ませて出力する。具体的には、歌詞出力部601は、図2においてCPU201が予めROM202からRAM203にロードしたソング再生の曲データ604中の各タイミングデータ605を順次読み出しながら、各タイミングデータ605が示すタイミングに従って、各タイミングデータ605と組で曲データ604として記憶されている各イベントデータ606中の各歌詞データ(歌詞テキスト)608を順次読み出し、それぞれを各演奏時歌詞データ609とする。
音高指定部602は、演奏時に各歌詞の出力に合わせて指定される各音高を示す各演奏時音高データ610を、図2の音声合成LSI205に出力する各演奏時歌声データ215に含ませて出力する。具体的には、音高指定部602は、RAM203にロードされた上記ソング再生用の曲データ604中の各タイミングデータ605を順次読み出しながら、各タイミングデータ605が示すタイミングにおいて、演奏者が図1の鍵盤101で何れかの鍵を押鍵操作してその押鍵された鍵の音高情報がキースキャナ206を介して入力されている場合には、その音高情報を演奏時音高データ610とする。また、音高指定部602は、各タイミングデータ605が示すタイミングにおいて、演奏者が図1の鍵盤101でどの鍵も押鍵操作していない場合には、そのタイミングデータ605と組で曲データ604として記憶されているイベントデータ606中の音高データ607を演奏時音高データ610とする。
演奏形態出力部603は、演奏時の演奏形態である歌い方を示す演奏時演奏形態データ611を、図2の音声合成LSI205に出力する各演奏時歌声データ215に含ませて出力する。
具体的には、演奏形態出力部603は、演奏者が図1の第1のスイッチパネル102上で、後述するように演奏テンポモードをフリーモードに設定している場合には、演奏時に演奏者の押鍵によって音高が指定される時間間隔を順次計測し、順次計測された時間間隔を示す各演奏テンポデータを、各演奏時演奏形態データ611とする。
一方、演奏形態出力部603は、演奏者が図1の第1のスイッチパネル102上で、後述するように演奏テンポモードをフリーモードに設定していない場合には、RAM203にロードされた上記ソング再生用の曲データ604から順次読み出される各タイミングデータ605が示す各時間間隔に対応する各演奏テンポデータを、各演奏時演奏形態データ611とする。
また、演奏形態出力部603は、演奏者が図1の第1のスイッチパネル102上で、後述するように演奏テンポモードを意図的に変更する演奏テンポアジャスト設定を行った場合には、その演奏テンポアジャスト設定の値に基づいて、上述のようにして順次得られる各演奏テンポデータの値を意図的に変更し、変更後の各演奏テンポデータを演奏時演奏形態データ611とする。
以上のようにして、図2のCPU201が実行する歌詞出力部601、音高指定部602、及び演奏形態出力部603の各機能は、演奏者の押鍵操作又はソング再生による押鍵イベントが発生したタイミングで、演奏時歌詞データ609、演奏時音高データ610、及び演奏時演奏形態データ611を含む演奏時歌声データ215を生成し、それを図2又は図3の構成を有する音声合成LSI205内の音声合成部302に対して発行することができる。
図3から図6で説明した統計的音声合成処理を利用した図1及び図2の電子鍵盤楽器100の実施形態の動作について、以下に詳細に説明する。図7は、本実施形態において、図2のROM202からRAM203に読み込まれる曲データの詳細なデータ構成例を示す図である。このデータ構成例は、MIDI(Musical Instrument Digital Interface)用ファイルフォーマットの一つであるスタンダードMIDIファイルのフォーマットに準拠している。この曲データは、チャンクと呼ばれるデータブロックから構成される。具体的には、曲データは、ファイルの先頭にあるヘッダチャンクと、それに続く歌詞パート用の歌詞データが格納されるトラックチャンク1と、伴奏パート用の演奏データが格納されるトラックチャンク2とから構成される。
ヘッダチャンクは、ChunkID、ChunkSize、FormatType、NumberOfTrack、及びTimeDivisionの4つの値からなる。ChunkIDは、ヘッダチャンクであることを示す"MThd"という半角4文字に対応する4バイトのアスキーコード「4D 54 68 64」(数字は16進数)である。ChunkSizeは、ヘッダチャンクにおいて、ChunkIDとChunkSizeを除く、FormatType、NumberOfTrack、及びTimeDivisionの部分のデータ長を示す4バイトデータであり、データ長は6バイト:「00 00 00 06」(数字は16進数)に固定されている。FormatTypeは、本実施形態の場合、複数トラックを使用するフォーマット1を意味する2バイトのデータ「00 01」(数字は16進数)である。NumberOfTrackは、本実施形態の場合、歌詞パートと伴奏パートに対応する2トラックを使用することを示す2バイトのデータ「00 02」(数字は16進数)である。TimeDivisionは、4分音符あたりの分解能を示すタイムベース値を示すデータであり、本実施形態の場合、10進法で480を示す2バイトのデータ「01 E0」(数字は16進数)である。
トラックチャンク1は、歌詞パートを示し、図6の曲データ604に対応し、ChunkIDと、ChunkSizeと、図6のタイミングデータ605に対応するDeltaTime_1[i]及び図6のイベントデータ606に対応するEvent_1[i]からなる演奏データ組(0≦i≦L-1)とからなる。また、トラックチャンク2は、伴奏パートに対応し、ChunkIDと、ChunkSizeと、伴奏パートのタイミングデータであるDeltaTime_2[i]及び伴奏パートのイベントデータであるEvent_2[j]からなる演奏データ組(0≦j≦M-1)とからなる。
トラックチャンク1、2における各ChunkIDは、トラックチャンクであることを示す"MTrk"という半角4文字に対応する4バイトのアスキーコード「4D 54 72 6B」(数字は16進数)である。トラックチャンク1、2における各ChunkSizeは、各トラックチャンクにおいて、ChunkIDとChunkSizeを除く部分のデータ長を示す4バイトデータである。
図6のタイミングデータ605であるDeltaTime_1[i]は、その直前の図6のイベントデータ606であるEvent_1[i-1]の実行時刻からの待ち時間(相対時間)を示す1~4バイトの可変長データである。同様に、伴奏パートのタイミングデータであるDeltaTime_2[i]は、その直前の伴奏パートのイベントデータであるEvent_2[i-1]の実行時刻からの待ち時間(相対時間)を示す1~4バイトの可変長データである。
図6のイベントデータ606であるEvent_1[i]は、本実施例のトラックチャンク1/歌詞パートにおいては、歌詞の発声テキストと音高の2つの情報を持つメタイベントである。伴奏パートのイベントデータであるEvent_2[i]は、トラックチャンク2/伴奏パートにおいて、伴奏音のノートオン又はノートオフを指示するMIDIイベント、又は伴奏音の拍子を指示するメタイベントである。
トラックチャンク1/歌詞パートの、各演奏データ組DeltaTime_1[i]及びEvent_1[i]において、その直前のイベントデータ606であるEvent_1[i-1]の実行時刻からタイミングデータ605であるDeltaTime_1[i]だけ待った上でイベントデータ606であるEvent_1[i]が実行されることにより、ソング再生の進行が実現される。一方、トラックチャンク2/伴奏パートの、各演奏データ組DeltaTime_2[i]及びEvent_2[i]において、その直前のイベントデータEvent_2[i-1]の実行時刻からタイミングデータDeltaTime_2[i]だけ待った上でイベントデータEvent_2[i]が実行されることにより、自動伴奏の進行が実現される。
図8は、本実施形態における電子楽器の制御処理例を示すメインフローチャートである。この制御処理は例えば、図2のCPU201が、ROM202からRAM203にロードされた制御処理プログラムを実行する動作である。
CPU201は、まず初期化処理を実行した後(ステップS801)、ステップS802からS808の一連の処理を繰り返し実行する。
この繰返し処理において、CPU201はまず、スイッチ処理を実行する(ステップS802)。ここでは、CPU201は、図2のキースキャナ206からの割込みに基づいて、図1の第1のスイッチパネル102又は第2のスイッチパネル103のスイッチ操作に対応する処理を実行する。スイッチ処理の詳細は、図10のフローチャートを用いて後述する。
次に、CPU201は、図2のキースキャナ206からの割込みに基づいて図1の鍵盤101の何れかの鍵が操作されたか否かを判定して処理する鍵盤処理を実行する(ステップS803)。鍵盤処理では、CPU201は、演奏者による何れかの鍵の押鍵又は離鍵の操作に応じて、図2の音源LSI204に対して、発音開始又は発音停止を指示する楽音制御データ216を出力する。また、鍵盤処理において、CPU201は、直前の押鍵から現在の押鍵までの時間間隔を演奏テンポデータとして算出する処理を実行する。鍵盤処理の詳細は、図11のフローチャートを用いて後述する。
次に、CPU201は、図1のLCD104に表示すべきデータを処理し、そのデータを、図2のLCDコントローラ208を介してLCD104に表示する表示処理を実行する(ステップS804)。LCD104に表示されるデータとしては例えば、演奏される歌声音声データ217に対応する歌詞と、その歌詞に対応するメロディ及び伴奏の楽譜や、各種設定情報がある。
次に、CPU201は、ソング再生処理を実行する(ステップS805)。ソング再生処理では、CPU201は、ソング再生に基づいて音声合成LSI205を動作させるための歌詞、発声音高、及び演奏テンポを含む演奏時歌声データ215を生成して音声合成LSI205に発行する。ソング再生処理の詳細は、図13のフローチャートを用いて後述する。
続いて、CPU201は、音源処理を実行する(ステップS806)。音源処理において、CPU201は、音源LSI204における発音中の楽音のエンベロープ制御等の制御処理を実行する。
続いて、CPU201は、音声合成処理を実行する(ステップS807)。音声合成処理において、CPU201は、音声合成LSI205による音声合成の実行を制御する。
最後にCPU201は、演奏者が特には図示しないパワーオフスイッチを押してパワーオフしたか否かを判定する(ステップS808)。ステップS808の判定がNOならば、CPU201は、ステップS802の処理に戻る。ステップS808の判定がYESならば、CPU201は、図8のフローチャートで示される制御処理を終了し、電子鍵盤楽器100の電源を切る。
図9(a)、(b)、及び(c)はそれぞれ、図8のステップS801の初期化処理、図8のステップS802のスイッチ処理における後述する図10のステップS1002のテンポ変更処理、及び同じく図10のステップS1006のソング開始処理の詳細例を示すフローチャートである。
まず、図8のステップS801の初期化処理の詳細例を示す図9(a)において、CPU201は、TickTimeの初期化処理を実行する。本実施形態において、歌詞の進行及び自動伴奏は、TickTimeという時間を単位として進行する。図7に例示される曲データのヘッダチャンク内のTimeDivision値として指定されるタイムベース値は4分音符の分解能を示しており、この値が例えば480ならば、4分音符は480TickTimeの時間長を有する。また、図7に例示される曲データの各トラックチャンク内の待ち時間DeltaTime_1[i]の値及びDeltaTime_2[i]の値も、TickTimeの時間単位によりカウントされる。ここで、1TickTimeが実際に何秒になるかは、曲データに対して指定されるテンポによって異なる。今、テンポ値をTempo[ビート/分]、上記タイムベース値をTimeDivisionとすれば、TickTimeの秒数は、下記(3)式により算出される。
TickTime[秒]=60/Tempo/TimeDivision
・・・(3)
そこで、図9(a)のフローチャートで例示される初期化処理において、CPU201はまず、上記(10)式に対応する演算処理により、TickTime[秒]を算出する(ステップS901)。なお、テンポ値Tempoは、初期状態では図2のROM202に所定の値、例えば60[ビート/秒]が記憶されているとする。或いは、不揮発性メモリに、前回終了時のテンポ値が記憶されていてもよい。
次に、CPU201は、図2のタイマ210に対して、ステップS901で算出したTickTime[秒]によるタイマ割込みを設定する(ステップS902)。この結果、タイマ210において上記TickTime[秒]が経過する毎に、CPU201に対してソング再生及び自動伴奏のための割込み(以下「自動演奏割込み」と記載)が発生する。従って、この自動演奏割込みに基づいてCPU201で実行される自動演奏割込み処理(後述する図12)では、1TickTime毎にソング再生及び自動伴奏を進行させる制御処理が実行されることになる。
続いて、CPU201は、図2のRAM203の初期化等のその他初期化処理を実行する(ステップS903)。その後、CPU201は、図9(a)のフローチャートで例示される図8のステップS801の初期化処理を終了する。
図9(b)及び(c)のフローチャートについては、後述する。図10は、図8のステップS802のスイッチ処理の詳細例を示すフローチャートである。
CPU201はまず、図1の第1のスイッチパネル102内のテンポ変更スイッチにより歌詞進行及び自動伴奏のテンポが変更されたか否かを判定する(ステップS1001)。その判定がYESならば、CPU201は、テンポ変更処理を実行する(ステップS1002)。この処理の詳細は、図9(b)を用いて後述する。ステップS1001の判定がNOならば、CPU201は、ステップS1002の処理はスキップする。
次に、CPU201は、図1の第2のスイッチパネル103において何れかのソング曲が選曲されたか否かを判定する(ステップS1003)。その判定がYESならば、CPU201は、ソング曲読込み処理を実行する(ステップS1004)。この処理は、図7で説明したデータ構造を有する曲データを、図2のROM202からRAM203に読み込む処理である。なお、ソング曲読込み処理は、演奏中でなくても、演奏開始前でもよい。これ以降、図7に例示されるデータ構造内のトラックチャンク1又は2に対するデータアクセスは、RAM203に読み込まれた曲データに対して実行される。ステップS1003の判定がNOならば、CPU201は、ステップS1004の処理はスキップする。
続いて、CPU201は、図1の第1のスイッチパネル102においてソング開始スイッチが操作されたか否かを判定する(ステップS1005)。その判定がYESならば、CPU201は、ソング開始処理を実行する(ステップS1006)。この処理の詳細は、図9(c)を用いて後述する。ステップS1005の判定がNOならば、CPU201は、ステップS1006の処理はスキップする。
続いて、CPU201は、図1の第1のスイッチパネル102においてフリーモードスイッチが操作されたか否かを判定する(ステップS1007)。その判定がYESならば、CPU201は、RAM203上の変数FreeModeの値を変更するフリーモードセット処理を実行する(ステップS1008)。フリーモードスイッチは例えばトグル動作になっており、変数FreeModeの値は、例えば図9ステップS903で、例えば値1に初期設定されている。その状態でフリーモードスイッチが押されると変数FreeModeの値は0になり、もう一度押されるとその値は1になる、というようにフリーモードスイッチが押される毎に変数FreeModeの値が0と1で交互に切り替えられる。変数FreeModeの値が、1のときにはフリーモードが設定され、値0のときにはフリーモードの設定が解除される。ステップS1007の判定がNOならば、CPU201は、ステップS1008の処理はスキップする。
続いて、CPU201は、図1の第1のスイッチパネル102において演奏テンポアジャストスイッチが操作されたか否かを判定する(ステップS1009)。その判定がYESならば、CPU201は、RAM203上の変数ShiinAdjustの値を、上記演奏テンポアジャストスイッチの操作に続いて第1のスイッチパネル102上の数値キーによって指定された値に変更する演奏テンポアジャスト設定処理を実行する(ステップS1010)。変数ShiinAdjustの値は、例えば図9のステップS903で、値0に初期設定される。ステップS1009の判定がNOならば、CPU201は、ステップS1010の処理はスキップする。
最後に、CPU201は、図1の第1のスイッチパネル102又は第2のスイッチパネル103においてその他のスイッチが操作されたか否かを判定し、各スイッチ操作に対応する処理を実行する(ステップS1011)。その後、CPU201は、図10のフローチャートで例示される図8のステップS802のスイッチ処理を終了する。
図9(b)は、図10のステップS1002のテンポ変更処理の詳細例を示すフローチャートである。前述したように、テンポ値が変更されるとTickTime[秒]も変更になる。図9(b)のフローチャートでは、CPU201は、このTickTime[秒]の変更に関する制御処理を実行する。
まず、CPU201は、図8のステップS801の初期化処理で実行された図9(a)のステップS901の場合と同様にして、前述した(3)式に対応する演算処理により、TickTime[秒]を算出する(ステップS911)。なお、テンポ値Tempoは、図1の第1のスイッチパネル102内のテンポ変更スイッチにより変更された後の値がRAM203等に記憶されているものとする。
次に、CPU201は、図8のステップS801の初期化処理で実行された図9(a)のステップS902の場合と同様にして、図2のタイマ210に対して、ステップS911で算出したTickTime[秒]によるタイマ割込みを設定する(ステップS912)。その後、CPU201は、図9(b)のフローチャートで例示される図10のステップS1002のテンポ変更処理を終了する。
図9(c)は、図10のステップS1006のソング開始処理の詳細例を示すフローチャートである。
まず、CPU201は、自動演奏の進行において、TickTimeを単位として、直前のイベントの発生時刻からの相対時間をカウントするためのRAM203上のタイミングデータ変数DeltaT_1(トラックチャンク1)及びDeltaT_2(トラックチャンク2)の値を共に0に初期設定する。次に、CPU201は、図7に例示される曲データのトラックチャンク1内の演奏データ組DeltaTime_1[i]及びEvent_1[i](1≦i≦L-1)の夫々iの値を指定するためのRAM203上の変数AutoIndex_1と、同じくトラックチャンク2内の演奏データ組DeltaTime_2[j]及びEvent_2[j](1≦j≦M-1)の夫々jを指定するためのRAM203上の変数AutoIndex_2の各値を共に0に初期設定する(以上、ステップS921)。これにより、図7の例では、初期状態としてまず、トラックチャンク1内の先頭の演奏データ組DeltaTime_1[0]とEvent_1[0]、及びトラックチャンク2内の先頭の演奏データ組DeltaTime_2[0]とEvent_2[0]がそれぞれ参照される。
次に、CPU201は、現在のソング位置を指示するRAM203上の変数SongIndexの値をNull値に初期設定する(ステップS922)。Null値は通常0と定義されることが多いが、インデックス番号が0である場合があることから、本実施例においてはNull値を―1と定義する。
更に、CPU201は、歌詞及び伴奏の進行をするか(=1)しないか(=0)を示すRAM203上の変数SongStartの値を1(進行する)に初期設定する(ステップS923)。
その後、CPU201は、演奏者が、図1の第1のスイッチパネル102により歌詞の再生に合わせて伴奏の再生を行う設定を行っているか否かを判定する(ステップS924)。
ステップS924の判定がYESならば、CPU201は、RAM203上の変数Bansouの値を1(伴奏有り)に設定する(ステップS925)。逆に、ステップS924の判定がNOならば、CPU201は、変数Bansouの値を0(伴奏無し)に設定する(ステップS926)。ステップS925又はS926の処理の後、CPU201は、図9(c)のフローチャートで例示される図10のステップS1006のソング開始処理を終了する。
図11は、図8のステップS803の鍵盤処理の詳細例を示すフローチャートである。まず、CPU201は、図2のキースキャナ206を介して図1の鍵盤101上の何れかの鍵が操作されたか否かを判定する(ステップS1101)。
ステップS1101の判定がNOならば、CPU201は、そのまま図11のフローチャートで例示される図8のステップS803の鍵盤処理を終了する。
ステップS1101の判定がYESならば、CPU201は、押鍵がなされたか離鍵がなされたかを判定する(ステップS1102)。
ステップS1102の判定において離鍵がなされたと判定された場合には、CPU201は、音声合成LSI205に対して、離鍵された音高(又はキーナンバ)に対応する歌声音声データ217の発声の消音を指示する(ステップS1113)。この指示に従って、音声合成LSI205内の図3の音声合成部302は、該当する歌声音声データ217の発声を中止する。その後、CPU201は、図11のフローチャートで例示される図8のステップS803の鍵盤処理を終了する。
ステップS1102の判定において押鍵がなされたと判定された場合には、CPU201は、RAM203上の変数FreeModeの値を判定する(ステップS1103)。この変数FreeModeの値は、前述した図10のステップS1008で設定され、変数フリーモードが値1のときにはフリーモードが設定され、値0のときにはフリーモードの設定が解除される。
ステップ1103で変数フリーモードの値が0であってフリーモードの設定が解除されていると判定された場合には、CPU201は、図6の演奏形態出力部603の説明で前述したように、RAM203にロードされたソング再生用の曲データ604から順次読み出される各タイミングデータ605である後述するDeltaTime_1[AutoIndex_1]を用いて下記(4)式で例示される演算処理により算出される値を、図6の演奏時演奏形態データ611に対応する演奏テンポを示すRAM203上の変数PlayTempoにセットする(ステップS1109)。
PlayTempo=(1/
DeltaTime_1[AutoIndex_1])
×所定の係数 ・・・(4)
(4)式において、所定の係数は本実施例においては曲データのTimeDivision値×60である。すなわちTimeDivision値が480であれば、DeltaTime_1[AutoIndex_1]が480のときPlayTempoは60(通常のテンポ60に相当)となる。DeltaTime_1[AutoIndex_1]が240のときはPlayTempoは120(通常のテンポ120に相当)となる。
フリーモードの設定が解除されている場合には、演奏テンポは、ソング再生のタイミング情報に同期して設定されることになる。
ステップ1103で変数フリーモードの値が1であると判定された場合には、CPU201は更に、RAM203上の変数NoteOnTimeの値がNull値であるか否かを判定する(ステップS1104)。ソング再生の開始時には、例えば図9のステップS903において、変数NoteOnTimeの値はNull値に初期設定されており、ソング再生開始後は後述するステップS1110において図2のタイマ210の現在時刻が順次セットされる。
ソング再生の開始時であってステップS1104の判定がYESになった場合は、演奏者の押鍵操作から演奏テンポを決定することができないので、CPU201は、RAM203上のタイミングデータ605であるDeltaTime_1[AutoIndex_1]を用いて前述した(4)式で例示される演算処理により算出される値を、RAM203上の変数PlayTempoにセットする(ステップS1109)。このようにソング再生の開始時には、演奏テンポは、暫定的にソング再生のタイミング情報に同期して設定されることになる。
ソング再生の開始後であってステップS1104の判定がNOになった場合は、CPU201は、まず図2のタイマ210が示す現在時刻から前回の押鍵時刻を示しているRAM203上の変数NoteOnTimeの値を減算して得られる差分時間をRAM203上の変数DeltaTimeにセットする(ステップS1105)。
次に、CPU201は、前回の押鍵から今回の押鍵までの差分時間を示す変数DeltaTimeの値が、コード演奏(和音)による同時押鍵とみなす所定の最大時間よりも小さいか否かを判定する(ステップS1106)。
ステップS1106の判定がYESで、今回の押鍵がコード演奏(和音)による同時押鍵であると判定された場合には、CPU201は、演奏テンポを決定するための処理は実行せずに、後述するステップS1110の処理に移行する。
ステップS1106の判定がNOで、今回の押鍵がコード演奏(和音)による同時押鍵ではないと判定された場合には、CPU201は更に、前回の押鍵から今回の押鍵までの差分時間を示す変数DeltaTimeの値が、演奏が途切れたとみなす最小時間よりも大きいか否かを判定する(ステップS1107)。
ステップS1107の判定がYESで、しばらく演奏が途切れた後の押鍵(演奏フレーズの先頭)であると判定された場合には、演奏フレーズの演奏テンポを決定することができないので、CPU201は、RAM203上のタイミングデータ605であるDeltaTime_1[AutoIndex_1]を用いて前述した(4)式で例示される演算処理により算出される値を、RAM203上の変数PlayTempoにセットする(ステップS1109)。このように、しばらく演奏が途切れた後の押鍵(演奏フレーズの先頭)である場合には、演奏テンポは、暫定的にソング再生のタイミング情報に同期して設定されることになる。
ステップS1107の判定がNOで、今回の押鍵がコード演奏(和音)による同時押鍵でもなく演奏フレーズの先頭での押鍵でもないと判定された場合には、CPU201は、下記(5)式に例示されるように、前回の押鍵から今回の押鍵までの差分時間を示す変数DeltaTimeの逆数に所定の係数を乗算して得られる値を、図6の演奏時演奏形態データ611に対応する演奏テンポを示すRAM203上の変数PlayTempoにセットする(ステップS1108)。
PlayTempo=(1/DeltaTime)×所定の係数 ・・(5)
ステップS1108での処理により、前回の押鍵と今回の押鍵の時間差を示す変数DeltaTimeの値が小さい場合には、演奏テンポであるPlayTempoの値は大きくなり(演奏テンポが速くなり)、演奏フレーズが速いパッセージであるとみなされ、音声合成LSI205内の音声合成部302において、図5(a)に例示したように子音部の時間長が短い歌声音声データ217の音声波形が推論される。一方、時間差を示す変数DeltaTimeの値が大きい場合には、演奏テンポの値は小さくなり(演奏テンポが遅くなり)、演奏フレーズがゆっくりとしたパッセージであるとみなされ、音声合成部302において、図5(b)に例示したように子音部の時間長が長い歌声音声データ217の音声波形が推論される。
前述したステップS1108の処理の後、前述したステップS1109の処理の後、又は前述したステップS1106の判定がYESとなった後に、CPU201は、前回の押鍵時刻を示すRAM203上の変数NoteOnTimeに、図2のタイマ210が示す現在時刻をセットする(ステップS1110)。
最後に、CPU201は、ステップS1108又はS1109で決定された演奏テンポを示すRAM203上の変数PlayTempoの値に、演奏者が意図的に設定した演奏テンポアジャスト値が設定されているRAM203上の変数ShiinAdjust(図10のステップS1010参照)の値を加算して得られる値を、新たな変数PlayTempoの値としてセットする(ステップS1111)。その後、CPU201は、図11のフローチャートで例示される図8のステップS803の鍵盤処理を終了する。
ステップS1111の処理により、演奏者は、音声合成部302で合成される歌声音声データ217における子音部の時間長を意図的に調整(アジャスト)することができる。演奏者は、曲目や嗜好により歌い方を調整したい場合がある。例えば、ある曲では全体的に音を短く切って歯切れよく演奏したい場合は、子音を短くして早口で歌ったような音声を発音してほしい、逆に、ある曲では全体的にゆったり演奏したい場合は、ゆっくり歌ったような子音の息遣いをはっきり聞かせることができる音声を発音してほしいという場合がある。そこで、本実施形態では、演奏者が、例えば図1の第1のスイッチパネル102上の演奏テンポアジャストスイッチを操作することにより、変数ShiinAdjustの値を変更し、これに基づいて変数PlayTempoの値を調整することにより、演奏者の意図を反映した歌声音声データ217を合成することができる。スイッチ操作以外にも電子鍵盤楽器100に接続される可変抵抗を利用したペダルを足で操作することにより、ShiinAdjustの値を楽曲中の任意のタイミングで細かく制御することもできる。
以上の鍵盤処理によって変数PlayTempoに設定された演奏テンポ値は、後述するソング再生処理において、演奏時歌声データ215の一部として設定されて(後述する図13のステップS1305参照)、音声合成LSI205に発行される。
以上の鍵盤処理において、特に、ステップS1103からS1109、及びステップS1111の処理は、図6の演奏形態出力部603の機能に対応する。
図12は、図2のタイマ210においてTickTime[秒]毎に発生する割込み(図9(a)のステップS902又は図9(b)のステップS912を参照)に基づいて実行される自動演奏割込み処理の詳細例を示すフローチャートである。以下の処理は、図7に例示される曲データのトラックチャンク1及び2の演奏データ組に対して実行される。
まず、CPU201は、トラックチャンク1に対応する一連の処理(ステップS1201からS1206)を実行する。始めにCPU201は、SongStart値が1であるか否か(図10のステップS1006及び図9のステップS923参照)、即ち歌詞及び伴奏の進行が指示されているか否かを判定する(ステップS1201)。
歌詞及び伴奏の進行が指示されていないと判定された(ステップS1201の判定がNOである)場合には、CPU201は、歌詞及び伴奏の進行は行わずに図12のフローチャートで例示される自動演奏割込み処理をそのまま終了する。
歌詞及び伴奏の進行が指示されていると判定された(ステップS1201の判定がYESである)場合には、CPU201は、トラックチャンク1に関する前回のイベントの発生時刻からの相対時刻を示すRAM203上の変数DeltaT_1の値が、RAM203上の変数AutoIndex_1の値が示すこれから実行しようとする演奏データ組の待ち時間を示すタイミングデータ605(図6)であるRAM203上のDeltaTime_1[AutoIndex_1]に一致したか否かを判定する(ステップS1202)。
ステップS1202の判定がNOならば、CPU201は、トラックチャック1に関して、前回のイベントの発生時刻からの相対時刻を示す変数DeltaT_1の値を+1インクリメントさせて、今回の割込みに対応する1TickTime単位分だけ時刻を進行させる(ステップS1203)。その後、CPU201は、後述するステップS1207に移行する。
ステップS1202の判定がYESになると、CPU201は、トラックチャンク1内の次に実行すべきソングイベントの位置を示す変数AutoIndex_1の値を、RAM203上の変数SongIndexに格納する(ステップS1204)。
更に、CPU201は、トラックチャンク1内の演奏データ組を参照するための変数AutoIndex_1の値を+1インクリメントする(ステップS1205)。
また、CPU201は、トラックチャンク1に関して今回参照したソングイベントの発生時刻からの相対時刻を示す変数DeltaT_1値を0にリセットする(ステップS1206)。その後、CPU201は、ステップS1207の処理に移行する。
次に、CPU201は、トラックチャンク2に対応する一連の処理(ステップS1207からS1213)を実行する。始めにCPU201は、トラックチャンク2に関する前回のイベントの発生時刻からの相対時刻を示すRAM203上の変数DeltaT_2値が、RAM203上の変数AutoIndex_2の値が示すこれから実行しようとする演奏データ組のRAM203上のタイミングデータDeltaTime_2[AutoIndex_2]に一致したか否かを判定する(ステップS1207)。
ステップS1207の判定がNOならば、CPU201は、トラックチャック2に関して、前回のイベントの発生時刻からの相対時刻を示変数DeltaT_2値を+1インクリメントさせて、今回の割込みに対応する1TickTime単位分だけ時刻を進行させる(ステップS1208)。その後、CPU201は、図12のフローチャートで例示される自動演奏割込み処理を終了する。
ステップS1207の判定がYESならば、CPU201は、伴奏再生を指示するRAM203上の変数Bansouの値が1(伴奏有り)であるか否か(伴奏なし)を判定する(ステップS1209)(図9(c)のステップS924からS926を参照)。
ステップS1209の判定がYESならば、CPU201は、変数AutoIndex_2値が示すトラックチャック2の伴奏に関するRAM203上のイベントデータEvent_2[AutoIndex_2]が示す処理を実行する(ステップS1210)。ここで実行されるイベントデータEvent_2[AutoIndex_2]が示す処理が、例えばノートオンイベントであれば、そのノートオンイベントにより指定されるキーナンバー及びベロシティにより、図2の音源LSI204に対して伴奏用の楽音の発音指示が発行される。一方、イベントデータEvent_2[AutoIndex_2]が示す処理が、例えばノートオフイベントであれば、そのノートオフイベントにより指定されるキーナンバーにより、図2の音源LSI204に対して発音中の伴奏用の楽音の消音指示が発行される。
一方、ステップS1209の判定がNOならば、CPU201は、ステップS1210をスキップすることにより、今回の伴奏に関するイベントデータEvent_2[AutoIndex_2]が示す処理は実行せずに、歌詞に同期した進行のために、次のステップS1211の処理に進んで、イベントの進行を進める制御処理のみを実行する。
ステップS1210の後又はステップS1209の判定がNOの場合に、CPU201は、トラックチャンク2上の伴奏データのための演奏データ組を参照するための変数AutoIndex_2の値を+1インクリメントする(ステップS1211)。
次に、CPU201は、トラックチャンク2に関して今回実行したイベントデータの発生時刻からの相対時刻を示す変数DeltaT_2の値を0にリセットする(ステップS1212)。
そして、CPU201は、変数AutoIndex_2の値が示す次に実行されるトラックチャンク2上の演奏データ組のRAM203上のタイミングデータDeltaTime_2[AutoIndex_2]の値が0であるか否か、即ち、今回のイベントと同時に実行されるイベントであるか否かを判定する(ステップS1213)。
ステップS1213の判定がNOならば、CPU201は、図12のフローチャートで例示される今回の自動演奏割込み処理を終了する。
ステップS1213の判定がYESならば、CPU201は、ステップS1209の処理に戻って、変数AutoIndex_2の値が示すトラックチャンク2上で次に実行される演奏データ組のRAM203上のイベントデータEvent_2[AutoIndex_2]に関する制御処理を繰り返す。CPU201は、今回同時に実行される回数分だけ、ステップS1209からS1213の処理を繰り返し実行する。以上の処理シーケンスは、例えば和音等のように複数のノートオンイベントが同時タイミングで発音されるような場合に実行される。
図13は、図8のステップS805のソング再生処理の詳細例を示すフローチャートである。
まずCPU201は、図12の自動演奏割込み処理におけるステップS1204で、RAM203上の変数SongIndexにNull値でない新たな値がセットされて、ソング再生状態になったか否かを判定する(ステップS1301)。変数SongIndexには、ソング開始時は前述した図9(c)のステップS922でNull値が初期設定され、歌声の再生タイミングが到来する毎に図12の自動演奏割込み処理における前述したステップS1202の判定がYESとなって、続くステップS1204で、トラックチャンク1内の次に実行すべきソングイベントの位置を示す変数AutoIndex_1の有効な値がセットされ、更に図13のフローチャートで例示されるソング再生処理が1回実行される毎に、後述するステップS1307で再びNull値にリセットされる。即ち、変数SongIndexの値にNull値以外の有効な値がセットされているか否かは、現在のタイミングがソング再生のタイミングになっているか否かを示すものである。
ステップS1301の判定がYESになった、即ち現時点がソング再生のタイミングになったら、CPU201は、図8のステップS803の鍵盤処理により演奏者による図1の鍵盤101上で新たな押鍵が検出されているか否かを判定する(ステップS1302)。
ステップS1302の判定がYESならば、CPU201は、演奏者による押鍵により指定された音高を、発声音高として特には図示しないレジスタ又はRAM203上の変数にセットする(ステップS1303)。
一方、ステップS1301の判定により現時点がソング再生のタイミングになったと判定されると共に、ステップS1302の判定がNO、即ち現時点で新規押鍵が検出されていないと判定された場合には、CPU201は、RAM203上の変数SongIndexが示すRAM203上の曲データのトラックチャンク1上のソングイベントデータEvent_1[SongIndex]から音高データ(図6のイベントデータ606中の音高データ607に対応)を読み出し、この音高データを発声音高として特には図示しないレジスタ又はRAM203上の変数にセットする(ステップS1304)。
続いて、CPU201は、RAM203上の変数SongIndexが示すRAM203上の曲データのトラックチャンク1上のソングイベントEvent_1[SongIndex]から歌詞文字列(図6のイベントデータ606中の歌詞データ608に対応)を読み出す。そして、CPU201は、読み出した歌詞文字列(図6の演奏時歌詞データ609に対応)と、ステップS1303又はS1304で取得された発声音高(図6の演奏時音高データ610に対応)と、前述した図8のステップS803に対応する図10のステップS1111にてRAM203上の変数PlayTempoに得られた演奏テンポ(図6の演奏時演奏形態データ611に対応)がセットされた演奏時歌声データ215を、特には図示しないレジスタ又はRAM203上の変数にセットする(ステップS1305)。
続いて、CPU201は、ステップS1305で作成した演奏時歌声データ215を、図2の音声合成LSI205の図3の音声合成部302に対して発行する(ステップS1306)。音声合成LSI205は、図3から図6を用いて説明したように、演奏時歌声データ215によって指定される歌詞を、演奏時歌声データ215によって指定される演奏者が鍵盤101上で押鍵した鍵又はソング再生により音高データ607(図6参照)として自動的に指定される音高にリアルタイムに対応し、更に演奏時歌声データ215によって指定される演奏テンポ(歌い方)で適切に歌う歌声音声データ217を推論、合成して出力する。
最後に、CPU201は、変数SongIndexの値をNull値にクリアして、これ以降のタイミングをソング再生のタイミングでない状態にする(ステップS1307)。その後、CPU201は、図13のフローチャートで例示される図8のステップS805のソング再生処理を終了する。
以上のソング再生処理において、特に、ステップS1302からS1304の処理は、図6の音高指定部602の機能に対応する。また、特に、ステップS1305の処理は、図6の歌詞出力部601の機能に対応する。
以上説明した一実施形態により、演奏する曲の種類や、演奏フレーズにより、ボーカル音声の子音部の発音時間長が、ゆっくりとしたパッセージの音符の少ない演奏では長く表情豊かな生々しい音にすることができ、テンポが速い、又は音符が多い演奏では、短く歯切れのよい音にすることができる等、演奏フレーズに合った音色変化を得ることが可能となる。
上述した一実施形態は、歌声音声データを生成する電子楽器の実施形態であったが、他の実施形態として、管楽器音や弦楽器音を生成する電子楽器の実施形態も実施可能である。この場合、図3の音響モデル部306に対応する音響モデル部は、音高を指定する学習用音高データとその音高に対応する管楽器や弦楽器の或る音源ソースの音響を示す学習用音響データに対応する教師データと学習用音響データの演奏形態(例えば演奏テンポ)を示す学習用演奏形態データとで機械学習させられ、入力される音高データと演奏形態データとに対応する音響モデルパラメータを出力する学習済み音響モデルを記憶する。また、音高指定部(図6の音高指定部602に対応)は、演奏時に演奏者の演奏操作により指定される音高を示す演奏時音高データを出力する。更に、演奏形態出力部(図6の演奏形態出力部603に対応)は、上述の演奏時の演奏形態、例えば演奏テンポを示す演奏時演奏形態データを出力する。そして、発音モデル部(図3の発声モデル部308に対応)は、演奏時に、上述の演奏時音高データと演奏時演奏形態データとを音響モデル部が記憶する学習済み音響モデルに入力することにより出力される音響モデルパラメータに基づいて、或る音源ソースの音声を推論する楽音データを合成し出力する。このような電子楽器の実施形態においては、例えば速いパッセージの曲では、管楽器の吹き始めのブロー音や弦楽器の弦を弓で擦る瞬間の弓をあてる速度が短くなるような音高データが推論されて合成されることにより、歯切れのよい演奏が可能となる。逆に、ゆっくりしたパッセージの曲では、管楽器の吹き始めのブロー音、弦を弓で擦る瞬間の弓があたる音の時間が長くなるような音高データが推論されて合成されることにより、演奏表現力の高い演奏が可能となる。
上述した一実施形態において、初回の押鍵時や演奏フレーズの最初の押鍵のような演奏フレーズの速度が推定できない場合は、強く歌ったり弾いたりした場合は、子音や音の立ち上がり部分は短くなり、弱く歌ったり弾いたりした場合は子音や音の立ち上がり部分は長くなる傾向があることを利用して、鍵盤を弾く強さ(押鍵時のベロシティー値)を演奏テンポの値の算出時のよりどころとして使用してもよい。
図3の発声モデル部308として採用可能な音声合成方式は、ケプストラム音声合成方式には限定されず、LSP音声合成方式をはじめとして様々な音声合成方式を採用することが可能である。
更に、音声合成方式としては、HMM音響モデルを用いた統計的音声合成処理、DNN音響モデルを用いた統計的音声合成処理に基づく音声合成方式のほか、HMMとDNNを組み合わせた音響モデル等、機械学習に基づく統計的音声合成処理を用いた技術であればどのような音声合成方式が採用されてもよい。
以上説明した実施形態では、演奏時歌詞データ609は予め記憶された曲データ604として与えられたが、演奏者がリアルタイムに歌う内容を音声認識して得られるテキストデータが歌詞情報としてリアルタイムに与えられてもよい。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
演奏時に指定される演奏時音高データを出力する音高指定部と、
前記演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、
前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する発音モデル部と、
を備える電子楽器。
(付記2)
演奏時の歌詞を示す演奏時歌詞データを出力する歌詞出力部と、
前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力する音高指定部と、
前記演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、
前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する発声モデル部と、
を備える電子楽器。
(付記3)
前記演奏形態出力部は、前記演奏時に前記音高が指定される時間間隔を順次計測し、順次計測された前記時間間隔を示す演奏テンポデータを前記演奏時演奏形態データとして順次出力する、付記1又は2の何れかに記載の電子楽器。
(付記4)
前記演奏形態出力部は、順次得られる前記演奏テンポデータを演奏者に意図的に変更させる変更手段を含む、付記3に記載の電子楽器。
(付記5)
電子楽器のプロセッサに、
演奏時に指定される演奏時音高データを出力し、
前記演奏時の演奏形態を示す演奏時演奏形態データを出力し、
前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する、
処理を実行させる電子楽器の制御方法。
(付記6)
電子楽器のプロセッサに、
演奏時の歌詞を示す演奏時歌詞データを出力し、
前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力し、
前記演奏時の演奏形態を示す前記演奏時演奏形態データを出力し、
前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する、
処理を実行させる電子楽器の制御方法。
(付記7)
電子楽器のプロセッサに、
演奏時に指定される演奏時音高データを出力し、
前記演奏時の演奏形態を示す演奏時演奏形態データを出力し、
前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する、
処理を実行させるためのプログラム。
(付記8)
電子楽器のプロセッサに、
演奏時の歌詞を示す演奏時歌詞データを出力し、
前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力し、
前記演奏時の演奏形態を示す前記演奏時演奏形態データを出力し、
前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する、
処理を実行させるためのプログラム。
100 電子鍵盤楽器
101 鍵盤
102 第1のスイッチパネル
103 第2のスイッチパネル
104 LCD
200 制御システム
201 CPU
202 ROM
203 RAM
204 音源LSI
205 音声合成LSI
206 キースキャナ
208 LCDコントローラ
209 システムバス
210 タイマ
211、212 D/Aコンバータ
213 ミキサ
214 アンプ
215 歌声データ
216 発音制御データ
217 歌声音声データ
218 楽音データ
219 ネットワークインタフェース
300 サーバコンピュータ
301 音声学習部
302 音声合成部
303 学習用歌声解析部
304 学習用音響特徴量抽出
305 モデル学習部
306 音響モデル部
307 演奏時歌声解析部
308 発声モデル部
309 音源生成部
310 合成フィルタ部
311 学習用歌声データ
312 学習用歌声音声データ
313 学習用言語特徴量系列
314 学習用音響特徴量系列
315 学習結果データ
316 演奏時言語情報量系列
317 演奏時音響特徴量系列
318 スペクトル情報
319 音源情報
601 歌詞出力部
602 音高指定部
603 演奏形態出力部
604 曲データ
605 タイミングデータ
606 イベントデータ
607 音高データ
608 歌詞データ
609 演奏時歌詞データ
610 演奏時音高データ
611 演奏時演奏形態データ

Claims (8)

  1. 演奏時に指定される演奏時音高データを出力する音高指定部と、
    前記演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、
    前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する発音モデル部と、
    を備える電子楽器。
  2. 演奏時の歌詞を示す演奏時歌詞データを出力する歌詞出力部と、
    前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力する音高指定部と、
    前記演奏時の演奏形態を示す演奏時演奏形態データを出力する演奏形態出力部と、
    前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する発声モデル部と、
    を備える電子楽器。
  3. 前記演奏形態出力部は、前記演奏時に前記音高が指定される時間間隔を順次計測し、順次計測された前記時間間隔を示す演奏テンポデータを前記演奏時演奏形態データとして順次出力する、請求項1又は2に記載の電子楽器。
  4. 前記演奏形態出力部は、順次得られる前記演奏テンポデータを演奏者に意図的に変更させる変更手段を含む、請求項3に記載の電子楽器。
  5. 電子楽器のプロセッサに、
    演奏時に指定される演奏時音高データを出力し、
    前記演奏時の演奏形態を示す演奏時演奏形態データを出力し、
    前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する、
    処理を実行させる電子楽器の制御方法。
  6. 電子楽器のプロセッサに、
    演奏時の歌詞を示す演奏時歌詞データを出力し、
    前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力し、
    前記演奏時の演奏形態を示す前記演奏時演奏形態データを出力し、
    前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する、
    処理を実行させる電子楽器の制御方法。
  7. 電子楽器のプロセッサに、
    演奏時に指定される演奏時音高データを出力し、
    前記演奏時の演奏形態を示す演奏時演奏形態データを出力し、
    前記演奏時に、前記演奏時音高データ及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時音高データ及び前記演奏時演奏形態データに対応する楽音データを合成し出力する、
    処理を実行させるためのプログラム。
  8. 電子楽器のプロセッサに、
    演奏時の歌詞を示す演奏時歌詞データを出力し、
    前記演奏時に前記歌詞の出力に合わせて指定される演奏時音高データを出力し、
    前記演奏時の演奏形態を示す前記演奏時演奏形態データを出力し、
    前記演奏時に、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データを学習済み音響モデルに入力することにより推論される音響モデルパラメータに基づいて、前記演奏時歌詞データ、前記演奏時音高データ、及び前記演奏時演奏形態データに対応する歌声音声データを合成し出力する、
    処理を実行させるためのプログラム。
JP2020152926A 2020-09-11 2020-09-11 電子楽器、電子楽器の制御方法、及びプログラム Active JP7276292B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020152926A JP7276292B2 (ja) 2020-09-11 2020-09-11 電子楽器、電子楽器の制御方法、及びプログラム
PCT/JP2021/029833 WO2022054496A1 (ja) 2020-09-11 2021-08-13 電子楽器、電子楽器の制御方法、及びプログラム
US18/044,922 US20240021180A1 (en) 2020-09-11 2021-08-13 Electronic musical instrument, electronic musical instrument control method, and program
CN202180062213.5A CN116057624A (zh) 2020-09-11 2021-08-13 电子乐器、电子乐器控制方法和程序
EP21866456.3A EP4213143A1 (en) 2020-09-11 2021-08-13 Electronic musical instrument, electronic musical instrument control method, and program
JP2023073896A JP2023100776A (ja) 2020-09-11 2023-04-28 電子楽器、電子楽器の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020152926A JP7276292B2 (ja) 2020-09-11 2020-09-11 電子楽器、電子楽器の制御方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023073896A Division JP2023100776A (ja) 2020-09-11 2023-04-28 電子楽器、電子楽器の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2022047167A true JP2022047167A (ja) 2022-03-24
JP7276292B2 JP7276292B2 (ja) 2023-05-18

Family

ID=80632199

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020152926A Active JP7276292B2 (ja) 2020-09-11 2020-09-11 電子楽器、電子楽器の制御方法、及びプログラム
JP2023073896A Pending JP2023100776A (ja) 2020-09-11 2023-04-28 電子楽器、電子楽器の制御方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023073896A Pending JP2023100776A (ja) 2020-09-11 2023-04-28 電子楽器、電子楽器の制御方法、及びプログラム

Country Status (5)

Country Link
US (1) US20240021180A1 (ja)
EP (1) EP4213143A1 (ja)
JP (2) JP7276292B2 (ja)
CN (1) CN116057624A (ja)
WO (1) WO2022054496A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262989A1 (en) * 2004-05-28 2005-12-01 Electronic Learning Products, Inc. Computer-aided learning system employing a pitch tracking line
JP2015075574A (ja) * 2013-10-08 2015-04-20 ヤマハ株式会社 演奏データ生成装置および演奏データ生成方法を実現するためのプログラム
JP2017107228A (ja) * 2017-02-20 2017-06-15 株式会社テクノスピーチ 歌声合成装置および歌声合成方法
WO2018016581A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 楽曲データ処理方法およびプログラム
JP2019184935A (ja) * 2018-04-16 2019-10-24 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム
JP2019219568A (ja) * 2018-06-21 2019-12-26 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020152926A (ja) 2020-06-29 2020-09-24 王子ホールディングス株式会社 繊維状セルロース及び繊維状セルロースの製造方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262989A1 (en) * 2004-05-28 2005-12-01 Electronic Learning Products, Inc. Computer-aided learning system employing a pitch tracking line
JP2015075574A (ja) * 2013-10-08 2015-04-20 ヤマハ株式会社 演奏データ生成装置および演奏データ生成方法を実現するためのプログラム
WO2018016581A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 楽曲データ処理方法およびプログラム
JP2017107228A (ja) * 2017-02-20 2017-06-15 株式会社テクノスピーチ 歌声合成装置および歌声合成方法
JP2019184935A (ja) * 2018-04-16 2019-10-24 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム
JP2019219568A (ja) * 2018-06-21 2019-12-26 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム

Also Published As

Publication number Publication date
CN116057624A (zh) 2023-05-02
EP4213143A1 (en) 2023-07-19
JP2023100776A (ja) 2023-07-19
JP7276292B2 (ja) 2023-05-18
WO2022054496A1 (ja) 2022-03-17
US20240021180A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
JP6547878B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6610715B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6610714B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
CN110390923B (zh) 电子乐器、电子乐器的控制方法以及存储介质
US11417312B2 (en) Keyboard instrument and method performed by computer of keyboard instrument
JP6835182B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6766935B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6760457B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6801766B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6819732B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
WO2022054496A1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP2022038903A (ja) 電子楽器、電子楽器の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7276292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150