JP2022168269A - 電子楽器、学習済モデル、学習済モデルを備える装置、電子楽器の制御方法、及びプログラム - Google Patents

電子楽器、学習済モデル、学習済モデルを備える装置、電子楽器の制御方法、及びプログラム Download PDF

Info

Publication number
JP2022168269A
JP2022168269A JP2022146086A JP2022146086A JP2022168269A JP 2022168269 A JP2022168269 A JP 2022168269A JP 2022146086 A JP2022146086 A JP 2022146086A JP 2022146086 A JP2022146086 A JP 2022146086A JP 2022168269 A JP2022168269 A JP 2022168269A
Authority
JP
Japan
Prior art keywords
data
musical instrument
performance
phrase
sound
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
JP2022146086A
Other languages
English (en)
Other versions
JP7476934B2 (ja
Inventor
真 段城
Makoto Danjo
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 JP2022146086A priority Critical patent/JP7476934B2/ja
Publication of JP2022168269A publication Critical patent/JP2022168269A/ja
Application granted granted Critical
Publication of JP7476934B2 publication Critical patent/JP7476934B2/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/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • G10G1/04Transposing; Transcribing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B15/00Teaching music
    • 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/0008Associated control or indicating means
    • G10H1/0016Means for indicating which keys, frets or strings are to be actuated, e.g. using lights or leds
    • 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/32Constructional details
    • G10H1/34Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
    • 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/32Constructional details
    • G10H1/34Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
    • G10H1/344Structural association with individual keys
    • G10H1/348Switches actuated by parts of the body other than fingers
    • 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/40Rhythm
    • G10H1/42Rhythm comprising tone forming circuits
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means for controlling the transition from one tone waveform to another
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • 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/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/076Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of timing, tempo; Beat detection
    • 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/095Inter-note articulation aspects, e.g. legato or staccato
    • 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
    • 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
    • G10H2210/385Speed change, i.e. variations from preestablished tempo, tempo change, e.g. faster or slower, accelerando or ritardando, without change in pitch
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/221Keyboards, i.e. configuration of several keys or key-like input devices relative to one another
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/265Key design details; Special characteristics of individual keys of a keyboard; Key-like musical input devices, e.g. finger sensors, pedals, potentiometers, selectors
    • 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/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/641Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

【課題】鍵盤等の操作子の操作に応じて歌声を再生する電子楽器、電子楽器の制御方法、及びプログラムに関し、演奏家に指定される各音高に基づいて学習された歌い手の歌声に応じた歌声で良好に歌う電子楽器を提供する。【解決手段】電子鍵盤楽器の制御システムにおいて、音声合成LSIは、演奏家による或る楽器による各学習用のフレーズの演奏をモデル化したスペクトルデータ618及び音源データ619を出力する学習済み音響モデル606を記憶しているメモリとを含み、ユーザによるフレーズ演奏として操作された操作子に対応付けられている音高列を含む音高データ215を、学習済み音響モデル606に入力し、楽器データの入力に応じて学習済み音響モデル606が出力した、スペクトルデータ618と、音源データ619と、に基づいて、或る演奏家による或る楽器のフレーズ演奏を推論したを示す推論楽器音を楽器音声出力データ217として出力する。【選択図】図6

Description

本発明は、鍵盤等の操作子の操作に応じて楽器音声を再生する電子楽器、電子楽器の制御方法、及びプログラムに関する。
電子楽器の普及により、ユーザは、様々な楽器音で演奏を楽しむことができるようになった。例えば、初心者のユーザでも、光る鍵盤を追って押鍵を行ったり、或いは、ディスプレイに表示される演奏の操作ガイドを追って演奏を行ったりすることで、手軽に楽曲の演奏を楽しむことができる。ここで、ユーザが演奏する楽音の音高、音長、発音タイミング、拍の強弱などは、ユーザの演奏スキルに任されている。
特開平9-050287
特にユーザが初心者であるような場合、様々な楽曲のフレーズを楽器演奏するときに、ユーザはなんとか楽譜の各音符の音高は追うことはできる。しかしながら、各楽器のプロフェッショナルの演奏家が演奏するような、楽器の種類毎に特有な各フレーズ内の各音符の発音タイミング、発音長、拍の強弱などの微妙な演奏は行うことが難しい。
本発明の目的は、ユーザによる演奏操作子への操作に応じて、まるでプロの演奏家により演奏操作されたかのような音を発音する電子楽器を提供することである。
態様の一例の電子楽器では、演奏操作子と、音高列と、前記音高列に対応した第1種類の演奏に係る特徴量との関係が学習されている学習済み音響モデルを記憶しているメモリと、前記演奏操作子による演奏操作で指定される音高列のデータを前記学習済み音響モデルに入力し、前記入力に応じて前記学習済み音響モデルが出力した前記特徴量のデータに基づいて前記第1種類の演奏に対応した楽音データを出力する制御部と、を備える。
本発明によれば、或る演奏家の演奏を学習した学習済みモデルを搭載することにより、ユーザによる演奏であっても、まるで前記或る演奏家の演奏であるかのように発音する電子楽器を提供できる。
電子鍵盤楽器の一実施形態の外観例を示す図である。 電子鍵盤楽器の制御システムの一実施形態のハードウェア構成例を示すブロック図である。 ルーパLSIの構成例を示すブロックズである。 ループ録音/再生処理の第1の実施形態の動作説明図である。 クォンタイズ処理の動作説明図である。 音声学習部及び音声合成部の構成例を示すブロック図である。 統計的音声合成処理の第1の実施例の説明図である。 統計的音声合成処理の第2の実施例の説明図である。 ループ録音/再生処理の第2の実施形態における電子楽器の制御処理例を示すメインフローチャートである。 初期化処理及びテンポ変更処理の詳細例を示すフローチャートである。 スイッチ処理の詳細例を示すフローチャートである。 TickTime割込み処理の詳細例を示すフローチャートである。 ペダル制御処理の詳細例を示すフローチャートである。 ルーパ制御処理の詳細例を示すフローチャート(その1)である。 ルーパ制御処理の詳細例を示すフローチャート(その2)である。 ループ録音/再生処理の第2の実施形態の動作説明図(その1)である。 ループ録音/再生処理の第2の実施形態の動作説明図(その2)である。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、電子鍵盤楽器の一実施形態100の外観例を示す図である。電子鍵盤楽器100は、演奏操作子としての複数の鍵からなる鍵盤101と、音量の指定、ループ録音のテンポ設定等の各種設定を指示する第1のスイッチパネル102と、電子鍵盤楽器100の音源の音色や音声合成される楽器音声の楽器種類の選択等を行う第2のスイッチパネル103と、各種設定データを表示するLCD104(Liquid Crystal Display:液晶ディスプレイ)等を備える。電子鍵盤楽器100には、ループ録音や再生の指示を行うための足踏み式のペダル105がケーブルで接続される。また、電子鍵盤楽器100は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。
図2は、図1の電子鍵盤楽器100の制御システム200の一実施形態のハードウェア構成例を示す図である。図2において、制御システム200は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ/大容量フラッシュメモリ)202、RAM(ランダムアクセスメモリ)203、音源LSI(大規模集積回路)204、音声合成LSI205、ルーパLSI220、図1の鍵盤101、第1のスイッチパネル102、第2のスイッチパネル103、及びペダル105が接続されるキースキャナ206、図1のLCD104が接続されるLCDコントローラ208が、それぞれシステムバス209に接続されている。また、CPU201には、ルーパLSI220におけるループ録音・再生処理を制御するためのタイマ210が接続される。更に、音源LSI204から出力される楽音出力データ218及びルーパLSI220から出力されるループ再生楽器音声出力データ222は、ミキサ213で混合された後、D/Aコンバータ211によりアナログ出力信号に変換される。アナログ出力信号は、アンプ214で増幅された後に、特には図示しないスピーカ又は出力端子から出力される。
CPU201は、RAM203をワークメモリとして使用しながらROM202に記憶された制御プログラムを実行することにより、図1の電子鍵盤楽器100の制御動作を実行する。また、ROM202は、上記制御プログラム及び各種固定データのほか、後述する機械学習の学習結果のモデルパラメータ等を記憶する。
CPU201には、本実施形態で使用するタイマ210が実装されており、例えば電子鍵盤楽器100におけるループ録音・再生の進行をカウントする。
音源LSI204は、CPU201からの発音制御指示に従って、例えば特には図示しない波形ROMから楽音波形データを読み出し、D/Aコンバータ211に出力する。音源LSI204は、同時に最大256ボイスを発振させる能力を有する。
音声合成LSI205は、CPU201から、予め楽器の種類を示すデータと、フレーズ毎の音高列を音高データ215として与えられると、それに対応するフレーズ毎の例えばスラーを含むアーティキュレーションの演奏技法のような、ユーザが演奏していない演奏技法に応じた音を示す演奏表現音を含む楽器音声出力データ217を合成し、ルーパLSI220に出力する。
ルーパLSI220は、図1のペダル105の操作に応じて、音声合成LSI205が出力する楽器音声出力データ217をループ録音し、そのループ録音された後に繰り返し再生されるループ再生音に更に重ねてループ録音をし、最終的に得られたループ再生楽器音声出力データ222を繰り返しミキサ213に出力する。
キースキャナ206は、図1の鍵盤101の押鍵/離鍵状態、第1のスイッチパネル102と第2のスイッチパネル103のスイッチ操作状態、及びペダル105の操作状態を定常的に走査し、CPU201に割り込みを掛けて状態変化を伝える。
LCDコントローラ208は、LCD104の表示状態を制御するIC(集積回路)である。
図3は、図2のルーパLSI220の構成例を示すブロック図である。ルーパLSI220は、繰り返し再生される繰返し区間のループ再生楽器音声出力データ222を記憶するための第1ループ記憶エリア301及び第2ループ記憶エリア302と、これらのいずれかのループ記憶エリアに音声合成LSI205から出力されてくる楽器音声出力データ217をミキサ307を介して録音するためのループ録音部303と、上記いずれかのループ記憶エリアに記憶されている楽器音声出力データ217をループ再生音310として再生するためのループ再生部304と、そのループ再生音310を1フレーズ(1小節)分遅延させるフレーズ遅延部305と、フレーズ遅延部305から出力されるループ再生音遅延出力311を音声合成LSI205から入力する楽器音声出力データ217と混合してループ録音部303に入力させるミキサ307と、ループ再生部304から出力されるループ再生音310から拍のタイミングを拍データ221として出力し、音声合成LSI205に入力させる拍抽出部306とを備える。
本実施形態では、例えばユーザが図1の電子鍵盤楽器100において、音源LSI204から周知の技術により出力される自動リズムや自動伴奏音に追従して、鍵盤101においてフレーズ毎の音高列を、例えばある楽曲の楽譜に従って順次押鍵してゆく。このとき、周知の技術により鍵盤101上の鍵が自動的に光りながらユーザが押鍵すべき鍵がガイドされてもよい。このとき、ユーザは、各音符の鍵の押鍵タイミングや押鍵時間を正確に追う必要はなく、少なくとも音高を追う、即ち例えば次に光っている鍵を追いながら押鍵をすればよい。これに対して、図2のCPU201は、ユーザが1フレーズ分の押鍵を行う毎に、その押鍵の検出により得られる1フレーズ分の音高列をまとめて、音声合成LSI205に送り込む。この結果、音声合成LSI205は、1フレーズ遅れて、ユーザが単純に演奏した1フレーズ分の音高列から、あたかもユーザが指定した楽器の種類に対応する楽器をプロが演奏するような1フレーズ分の楽器音声出力データ217を出力することが可能となる。
このようにして音声合成LSI205から出力される楽器音声出力データ217を活用した実施形態として、その楽器音声出力データ217を図2のルーパLSI220によるループ録音/再生処理に用いることができる。即ち、音声合成LSI205から出力される楽器音声出力データ217を、ルーパLSI220に入力させてそこでループ録音し、そこからループ再生されるループ再生音を更に生成される楽器音声出力データ217に重ねて多重ループ録音し、そこから得られるループ再生音を演奏に用いること等ができる。
図4は、図3のルーパLSI220で実行されるループ録音/再生処理の基本的な動作であるループ録音/再生処理の第1の実施形態を説明する動作説明図である。ループ録音/再生処理の第1の実施形態では、説明をわかりやすくするため、ユーザが1フレーズ=1小節分のループ録音/再生処理を実行する場合の概略動作について説明する。
まず、ユーザが図1のペダル105をタップすると、ルーパLSI220は、以下に説明するループ録音/再生処理を実行する。このループ録音/再生処理ではまず、ユーザがペダル105のタップに続いて、図1の鍵盤101上で繰返し再生(ループ再生)のための1フレーズ分の夫々タイミングが異なる複数の音高データ列を指定する第1ユーザ操作(演奏)を行う。この結果、図4(a)の例えば時刻t0からt1までのフレーズにおいて、上記1フレーズ分の音高データ列(以下これを「フレーズ第1データ」と呼ぶ)が、鍵盤101からキースキャナ206及びCPU201を介して、音声合成LSI205に、音高データ215として入力される(以下この入力を「第1入力」と呼ぶ)。
音声合成LSI205は、CPU201から、予め楽器の種類を示すデータと、上記第1入力(1フレーズ分の音高列を含む音高データ215)を与えられると、それに対応する1フレーズ分の楽器音声出力データ217を合成し、例えば図4(b)の時刻t1からt2までの期間で、ルーパLSI220に出力する。音声合成LSI205は、図6で後述する学習済み音響モデル部606が出力する音響特徴量データ617に基づいて、或る演奏家による或る楽器のフレーズ演奏(以下これを「フレーズ第1演奏」と呼ぶ)を推論した、例えばスラーを含むアーティキュレーションの演奏技法のような、ユーザが演奏していない演奏技法に応じた音を示す演奏表現音を含む1フレーズ分の楽器音声出力データ217(以下これを「第1フレーズ楽器音声出力データ217」と呼ぶ)を出力する。
図3のルーパLSI220において、ループ録音部303は、図4(b)の時刻t1からt2までの期間で、図4(a)の時刻t0からt1のフレーズの第1入力に基づいて音声合成LSI205から出力される1フレーズ分の第1フレーズ楽器音声出力データ217を、例えば第1ループ記憶エリア301(Area1)に順次録音(記憶)させる。
更に、図3のルーパLSI220において、ループ再生部304は、例えば図4(c)の時刻t1からt2、t2からt3、t4からt5、・・・というように、上記例えば第1ループ記憶エリア301(Area1)に録音された第1フレーズ楽器音声出力データ217(図4(c)では「第1データ」と記載)を、ループ再生音310として繰り返し出力する(以下この出力を「第1出力」と呼ぶ)。この繰り返される第1出力は、図2のルーパLSI220から、ループ再生楽器音声出力データ222として、ミキサ213からD/Aコンバータ211及びアンプ214を介して特には図示しないスピーカから放音される。
続いて、図4(c)のように第1出力の再生放音が繰り返されているときに、例えばフレーズの開始タイミング(例えば図4の時刻t4)でユーザが図1のペダル105を更にタップする。そして、ユーザは、ペダル105のタップに続いて、図1の鍵盤101上でループ再生のための別の1フレーズ分の夫々タイミングが異なる複数の音高データ列を指定する第2ユーザ操作(演奏)を行う。この結果、図4(d)の例えば時刻t4からt5までのフレーズにおいて、上記別の1フレーズ分の音高データ列(以下これを「フレーズ第2データ」と呼ぶ)が、鍵盤101からキースキャナ206及びCPU201を介して、音声合成LSI205に、音高データ215として入力される(以下この入力を「第2入力」と呼ぶ)。
音声合成LSI205は、CPU201から、予め楽器の種類を示すデータと、上記第2入力(1フレーズ分の音高列を含む音高データ215)を与えられると、それに対応する別の1フレーズ分の楽器音声出力データ217を合成し、例えば図4(e)の時刻t5からt6までの期間で、ルーパLSI220に出力する。音声合成LSI205は、第1フレーズ楽器音声出力データ217の場合と同様に、図6で後述する学習済み音響モデル部606が出力する音響特徴量データ617に基づいて、或る演奏家による或る楽器の別のフレーズ演奏(以下これを「フレーズ第2演奏」と呼ぶ)を推論した、例えばスラーを含むアーティキュレーションの演奏技法のような、ユーザが演奏していない演奏技法に応じた音を示す演奏表現音を含む1フレーズ分の楽器音声出力データ217(以下これを「第2フレーズ楽器音声出力データ217」と呼ぶ)を出力する。
図3のルーパLSI220において、ミキサ307は、図4(e)の時刻t5からt6の期間で、図4(d)の時刻t4からt5のフレーズの第2入力に基づいて音声合成LSI205から出力される1フレーズ分の第2フレーズ楽器音声出力データ217を、ループ再生部304から出力されるループ再生音310がフレーズ遅延部305を介してループ再生音遅延出力311として入力する図4(c)の時刻t4からt5の第1フレーズ楽器音声出力データの第1出力に重ね合わせる。そして、ループ録音部303は、図4(e)の時刻t5からt6の期間で、上述のように重ね合わされた第1出力と第2出力を、例えば第2ループ記憶エリア302(Area2)に順次録音(記憶)させる。
更に、図3のルーパLSI220において、ループ再生部304は、例えば図4(f)の時刻t5からt6、t6からt7、t7からt8、・・・というように、上記例えば第2ループ記憶エリア302(Area2)に録音された第1フレーズ楽器音声出力データ217と重ね合わされた第2フレーズ楽器音声出力データ217を、ループ再生音310として出力する(以下この出力を「第2出力」と呼ぶ)。この第1出力と第2出力が重ね合わされたフレーズ音列の繰返しは、図2のルーパLSI220から、ループ再生楽器音声出力データ222として、ミキサ213からD/Aコンバータ211及びアンプ214を介して特には図示しないスピーカから放音される。
更に、フレーズのループ録音を重ねたい場合には、上記第2出力の繰返しを第1出力の繰返しに置き換えて、新たな第2入力に対して、同様の処理を実行すればよい。
以上のようにして、ルーパLSI220によるループ録音/再生処理の第1の実施形態によれば、ユーザが入力した1フレーズ分の音高データ列をフレーズ第1データとして、更にそれに重ねてフレーズ第2データとして順次指定するだけで、それらを音声合成LSI205により或る演奏家による或る楽器のフレーズ演奏を推論した各楽器音声出力データ217に変換して重ね合わせることができ、例えばスラーを含むアーティキュレーションの演奏技法のような、ユーザが演奏していない演奏技法に応じた音を示す演奏表現音を含むループフレーズ音列を、ループ再生楽器音声出力データ222として再生出力することが可能となる。
上述のループ録音/再生処理の実施形態において、第1フレーズ楽器音声出力データ217と第2フレーズ楽器音声出力データ217とが重ね合わされるときに、重ね合わされるフレーズ毎の拍の進行タイミングなどがずれてしまうことが考えられる。そこで、本実施形態では、図3のルーパLSI220の構成において、拍抽出部306が、ループ再生部304から出力されるループ再生音310から拍のタイミングを拍データ221として出力し、その拍データ221を音声合成LSI205に入力させることで、クォンタイズ処理を実行することができる。
図5は、クォンタイズ処理の説明図である。図5(a-1)において、t0からt1のフレーズ期間で4つに分けて塗りつぶされたブロックは、図4(a)の時刻t0からt1のフレーズ期間において、そのフレーズ内の各拍タイミング(4本の縦破線位置)において、模式的に示されている鍵盤101の各鍵に対応してユーザによって押鍵された4つの音高データ列であるフレーズ第1データを示している(図4(a)の「第1入力」に対応する)。これに対して、図5(b-1)は、上記フレーズ第1データが、音高データ215として音声合成LSI205に入力することにより、そこから出力される第1フレーズ楽器音声出力データを示しており、a1、a3、a5、及びa7は、拍毎に演奏される音符に対応しており、a2、a4、及びa6は、元々のユーザ演奏操作にはなかった音符と音符の間をつなぐような感じの演奏技法を模式的に示している。
一方、図5(a-2)の、t4からt5のフレーズ期間で4つに分けて塗りつぶされたブロックは、図4(d)の時刻t4からt5のフレーズ期間において、そのフレーズ内の各拍タイミング(4本の縦破線位置)において、模式的に示されている鍵盤101の各鍵に対応してユーザによって押鍵された4つの音高データ列であるフレーズ第2データを示している(図4(d)の「第2入力」に対応する)。このフレーズ第2データが音声合成LSI205に入力して第2フレーズ楽器音声出力データ217が生成され、図4で説明したループ録音/再生処理により、第1フレーズ楽器音声出力データ217と重ね合わされるときに、2つの音高データ列は通常異なるため、2つの楽器音声出力データ217の拍の進行タイミングはずれてしまう可能性が高い。
そこで、本実施形態では、図3のルーパLSI220において、図5(b-1)の第1フレーズ楽器音声出力データ217から生成されるループ再生音310から、拍抽出部306が、図5(b-1)の各拍の音符音a1、a3、a5、及びa7の各先頭タイミングを拍データ221として検出する。この検出は、例えば、ループ再生音310の波形の4つのピークパワーを検出することにより実現できる。この拍データ221は、ループ再生音310からフレーズ内の拍位置を検出したものであり、後述する図6の音声合成LSI205内の発音モデル部608内の音源生成部609に入力される。後述する図6において、音源生成部609は、例えば音源データ619に含まれる基本周波数(F0)で周期的に繰り返されるパルス列を生成するときに、拍データ221に従って、各パルス位置を調整する、いわゆるクォンタイズ処理を実行する。
この制御のもとで、後述する図6の音声合成LSI205において発音モデル部408が図4(e)の時刻t5からt6に対応するフレーズ期間で第2フレーズ楽器音声出力データ217を生成することにより、図5(b-1)及び(b-2)に示されるように、第2フレーズ楽器音声出力データ217の各拍毎の音符音の開始タイミングを、第1フレーズ楽器音声出力データ217の各音符音a1、a3、a5、及びa7の各開始タイミングに良く同期させることが可能となる。これにより、即ち、後述する図6の発音モデル部608から出力される楽器音声出力データ217は、ルーパLSI220内で既に生成されているループ再生音310に良く同期したものとすることができ、多重ループ録音しても違和感のないループ再生音310を得ることが可能となる。
図6は、本実施形態における音声合成部602及び音声学習部601の構成例を示すブロック図である。ここで、音声合成部602は、図2の音声合成LSI205が実行する一機能として電子鍵盤楽器100に内蔵される。
音声合成部602は、後述するテンポ設定に基づいて認識されるフレーズ(小節)毎に、図1の鍵盤101上の押鍵に基づいて図2のキースキャナ206を介してCPU201から指示される音高列を含む音高データ215を入力することにより、楽器音声出力データ217を合成し出力する。このとき音声合成部602のプロセッサは、鍵盤101上の複数の鍵(操作子)のなかのいずれかの鍵への操作に応じて、学習済み音響モデル部606に設定されているユーザにより選択された楽器の種類に応じた学習済み音響モデルに対して、いずれかの鍵に対応付けられているフレーズ毎の音高列を含む音高データ215を入力するとともに、その入力に応じて学習済み音響モデル部606が出力したスペクトルデータ618と音源データ619とに基づいて、フレーズ毎の楽器演奏音を推論した楽器音声出力データ217を出力する処理を実行する。
音声学習部601は例えば、図6に示されるように、図1の電子鍵盤楽器100とは別に外部に存在するサーバコンピュータ600が実行する一機能として実装されてよい。或いは、図6には図示していないが、音声学習部601は、図2の音声合成LSI205の処理能力に余裕があれば、音声合成LSI205が実行する一機能として電子鍵盤楽器100に内蔵されてもよい。
図2の音声学習部601及び音声合成部602は、例えば下記非特許文献1に記載の「深層学習に基づく統計的音声合成」の技術に基づいて実装される。
(非特許文献1)
橋本佳,高木信二「深層学習に基づく統計的音声合成」日本音響学会誌73巻1号(2017),pp.55-62
図6に示されるように例えば外部のサーバコンピュータ600が実行する機能である図2の音声学習部601は、学習用音響特徴量抽出部604とモデル学習部605とを含む。
音声学習部601において、学習用楽器音声データ612としては、例えば適当なジャンルの複数の楽曲を或る種類の楽器で演奏した音声を録音したものが使用される。また、学習用音高データである学習用楽譜データ611としては、各楽曲のフレーズ毎の音高列のテキストが用意される。
学習用音響特徴量抽出部604は、上記学習用楽譜データ611に含まれる1フレーズ分の音高列テキストの入力に合わせてその学習用楽譜データ611に対応する1フレーズ分の音高を例えばプロの演奏家が或る楽器で演奏することによりマイク等を介して集録された学習用楽器音声データ612を入力して分析する。この結果、学習用音響特徴量抽出部604は、学習用楽器音声データ612に対応する音声の特徴を表す学習用音響特徴量系列614を抽出して出力する。
モデル学習部605は、下記(1)式に従って、学習用楽譜データ611(これを
Figure 2022168269000002
と置く)と、音響モデル(これを
Figure 2022168269000003
と置く)とから、学習用音響特徴量系列614(これを
Figure 2022168269000004
と置く)が生成される確率(これを
Figure 2022168269000005
と置く)を最大にするような音響モデル
Figure 2022168269000006
を、機械学習により推定する。即ち、テキストである楽器音特徴量系列と音声である音響特徴量系列との関係が、音響モデルという統計モデルによって表現される。
Figure 2022168269000007
ここで、
Figure 2022168269000008
は、その右側に記載される関数に関して最大値を与える、その下側に記載されている引数を算出する演算を示す。
モデル学習部605は、(1)式によって機械学習を行った結果算出される音響モデル
Figure 2022168269000009
を表現するモデルパラメータを学習結果615として出力する。
この学習結果615(モデルパラメータ)は例えば、図6に示されるように、図1の電子鍵盤楽器100の工場出荷時に、図2の電子鍵盤楽器100の制御システムのROM202に記憶され、電子鍵盤楽器100のパワーオン時に、図2のROM202から音声合成LSI205内の後述する学習済み音響モデル部606にロードされてよい。或いは、学習結果615は例えば、図6に示されるように、ユーザが電子鍵盤楽器100の第2のスイッチパネル103を操作することにより、特には図示しないインターネットやUSB(Universal Serial Bus)ケーブル等のネットワークからネットワークインタフェース219を介して、音声合成LSI205内の後述する学習済み音響モデル部606にダウンロードされてもよい。
音声合成LSI205が実行する機能である音声合成部602は、学習済み音響モデル部606と発音モデル部608とを含む。音声合成部602は、1フレーズ分の音高列テキストを含む音高データ215に対応する楽器音声出力データ217を、学習済み音響モデル部606に設定された音響モデルという統計モデルを用いて予測することにより合成する、統計的音声合成処理を実行する。
学習済み音響モデル部606は、1フレーズ分の音高データ215を入力することにより、それに対応する音響特徴量系列617を推定して出力する。即ち学習済み音響モデル部606は、下記(2)式に従って、キースキャナ206及びCPU201を介して鍵盤101から入力する音高データ215(これを再度
Figure 2022168269000010
と置く)と、モデル学習部605での機械学習により学習結果615として設定された音響モデル
Figure 2022168269000011
とに基づいて、音響特徴量データである音響特徴量系列617(これを再度
Figure 2022168269000012
と置く)が生成される確率(これを
Figure 2022168269000013
と置く)を最大にするような音響特徴量系列617の推定値
Figure 2022168269000014
を推定する。
Figure 2022168269000015
発音モデル部608は、音響特徴量系列617を入力することにより、CPU201より指定される音高列を含む音高データ215に対応する楽器音声出力データ217を生成する。楽器音声出力データ217は、図2のルーパ220に入力する。
学習用音響特徴量系列614や音響特徴量系列617で表される音響特徴量は、楽器の発音又は共鳴機構をモデル化したスペクトルデータと、楽器の音源機構をモデル化した音源データとを含む。スペクトルデータ(スペクトルパラメータ)としては例えば、メルケプストラムや線スペクトル対(Line Spectral Pairs:LSP)等を採用できる。音源データとしては、楽器音の音高に対応するピッチ周波数を示す基本周波数(F0)及びパワー値を採用できる。発音モデル部608は、音源生成部609と合成フィルタ部610とを含む。音源生成部609は、楽器の音源機構をモデル化した部分であり、学習済み音響モデル部606から出力される音源データ619の系列を順次入力することにより、例えば、音源データ619に含まれる基本周波数(F0)及びパワー値で周期的に繰り返されるパルス列(有声音音符音の場合)、又は音源データ619に含まれるパワー値を有するホワイトノイズ(無声音音符音の場合)、或いはそれらが混合された信号からなる音源信号を生成する。合成フィルタ部610は、楽器の発音又は共鳴機構をモデル化した部分であり、学習済み音響モデル部606から順次入力するスペクトルデータ618の系列に基づいて楽器の発音又は共鳴機構をモデル化するデジタルフィルタを形成し、音源生成部609から入力する音源信号を励振源信号として、デジタル信号の楽器音声出力データ217を生成し出力する。
学習用楽器音声データ612に対するサンプリング周波数は、例えば16KHz(キロヘルツ)である。また、学習用音響特徴量系列614及び音響特徴量系列617に含まれるスペクトルパラメータとして、例えばメルケプストラム分析処理により得られるメルケプストラムパラメータが採用される場合、その更新フレーム周期は、例えば5msec(ミリ秒)である。更に、メルケプストラム分析処理の場合、分析窓長は25msec、窓関数はブラックマン窓、分析次数は24次である。
音声合成部602から出力される楽器音声出力データ321は、図2のルーパ220に入力する。
次に、図6の音声学習部601及び音声合成部602からなる統計的音声合成処理の第1の実施例について説明する。統計的音声合成処理の第1の実施例では、学習済み音響モデル部606に設定される学習結果615(モデルパラメータ)によって表現される音響モデルとして、前述した非特許文献1、及び下記非特許文献2に記載のHMM(Hidden Markov Model:隠れマルコフモデル)を用いる。
(非特許文献2)
酒向慎司、才野慶二郎、南角吉彦、徳田恵一、北村正「声質と歌唱スタイルを自動学習可能な歌声合成システム」情報処理学会研究報告音楽情報科学(MUS)2008(12(2008-MUS-074)),pp.39-44,2008-02-08
統計的音声合成処理の第1の実施例では、或る種類の楽器音の1フレーズ分の音高列がユーザの演奏により与えられる際、楽器の音源や楽器の発音又は共鳴特性の楽器音の特徴パラメータがどのような時間変化をしながら発音されるかが、HMM音響モデルによって学習される。より具体的には、HMM音響モデルは、学習用楽器データ(図6の学習用楽譜データ611に対応)から求めたスペクトル、基本周波数(音高)、及びそれらの時間構造を音符音(楽譜の音符毎に発音される音)単位でモデル化したものである。
まず、HMM音響モデルが採用される図6の音声学習部601の処理について説明する。音声学習部601内のモデル学習部605は、学習用楽譜データ611と、学習用音響特徴量抽出部604が出力する上記学習用音響特徴量系列614とを入力することにより、前述した(1)式に基づいて、尤度が最大となるHMM音響モデルの学習を行う。HMM音響モデルの尤度関数は下記(3)式で示される。
Figure 2022168269000016
ここで、
Figure 2022168269000017
はフレームtにおける音響特徴量、Tはフレーム数、
Figure 2022168269000018
はHMM音響モデルの状態系列、
Figure 2022168269000019
はフレームtにおけるHMM音響モデルの状態番号を表す。また、
Figure 2022168269000020
は状態
Figure 2022168269000021
から状態
Figure 2022168269000022
への状態遷移確率を表し、
Figure 2022168269000023
は平均ベクトル
Figure 2022168269000024
、共分散行列
Figure 2022168269000025
の正規分布であり、状態
Figure 2022168269000026
の出力確率分布を表す。尤度最大化基準によるHMM音響モデルの学習は、期待値最大化(Expectation Maximization:EM)アルゴリズムを利用することで効率良く行われる。
楽器音声のスペクトルパラメータは、連続HMMによってモデル化することができる。一方、対数基本周波数(F0)は楽器音の有声区間(音高が存在する区間)では連続値をとり、楽器音の無声区間(音高が存在しないブレス音等の区間)では値を持たない可変次元の時間系列信号であるため、通常の連続HMMや離散HMMで直接モデル化することはできない。そこで、可変次元に対応した多空間上の確率分布に基づくHMMであるMSD-HMM(Multi-Space probability DistributionHMM)を用い、スペクトルパラメータとしてメルケプストラムを多次元ガウス分布、対数基本周波数(F0)の楽器音の有声音を1次元空間、楽器音の無声音を0次元空間のガウス分布として同時にモデル化する。
また、楽器音を構成する音符音の音響的特徴(音符が発音されるときの音高、音長、発音の開始/終了タイミング、拍位置での強弱等)は、音符(例えば、音符が表す音高)は同一の音符音であっても、様々な要因の影響を受けて変動することが知られている。このような音符音毎の音響特徴量に影響を与える要因のことをコンテキストと呼ぶ。第1の実施例の統計的音声合成処理では、楽器の音符音の音響的な特徴を精度良くモデル化するために、コンテキストを考慮したHMM音響モデル(コンテキスト依存モデル)を採用することができる。具体的には、学習用楽譜データ611は、個々の音符音の音高だけでなく、フレーズ内の一連の音符列に対応する音高列や、楽器の種類等も考慮したものであってもよい。更に、モデル学習部605では、コンテキストの組合せの効率化のために、決定木に基づくコンテキストクラスタリングの手法が用いられてよい。これは、二分木を用いてHMM音響モデルの集合を木構造に分割することで、類似したコンテキストの組合せごとにHMM音響モデルをクラスタリングする手法である。木の各ノードには、「直前の音符音の音高はxであるか?」「直後の音符音の音高はyであるか?」「楽器の種類はzであるか?」等のコンテキストを二分する質問があり、各リーフノードには、特定のHMM音響モデルに相当する学習結果615(モデルパラメータ)がある。任意のコンテキストの組合せは、ノードにある質問に沿って木を辿ることで、何れかのリーフノードに到達でき、そのリーフノードに対応する学習結果615(モデルパラメータ)を選択できる。適切な決定木構造を選択することで、高精度かつ汎化性能の高いHMM音響モデル(コンテキスト依存モデル)を推定することができる。
図7は、統計的音声合成処理の第1の実施例における、HMMの決定木についての説明図である。コンテキストに依存するそれぞれの音符音について、その音符音の各状態は、例えば図7(a)に示される#1、#2、#3の3つの状態701からなるHMMに対応付けられる。各状態に対して入出力する矢印は、状態遷移を示している。例えば、状態701(#1)は、その音符音の発音開始付近をモデル化する状態である。また、状態701(#2)は例えば、その音符音の発音中心付近をモデル化する状態である。更に、状態701(#3)は例えば、その音符音の発音終了付近をモデル化する状態である。
また、音符音の発音長に依存して、図7(a)のHMMが示す#1から#3の各状態701が継続する長さが、図7(b)の状態継続長モデルにより決定される。図6のモデル学習部605は、図6の1フレーズを単位とする多数の音符音列のコンテキストに対応する学習用楽譜データ611から、状態継続長を決定するための状態継続長決定木702を学習により生成し、学習結果615として音声合成部602内の学習済み音響モデル部606に設定する。
また、図6のモデル学習部605は例えば、図6の学習用音響特徴量抽出部604が図6の学習用楽器音声データ612から抽出したメルケプストラムパラメータに関する1フレーズを単位とした多数の音符音列に対応する学習用音響特徴量系列614から、メルケプストラムパラメータを決定するためのメルケプストラムパラメータ決定木703を学習により生成し、学習結果615として音声合成部602内の学習済み音響モデル部606に設定する。
更に、図6のモデル学習部605は例えば、図6の学習用音響特徴量抽出部604が図6の学習用楽器音声データ612から抽出した対数基本周波数(F0)に関する1フレーズ分の多数の音符音列に対応する学習用音響特徴量系列614から、対数基本周波数(F0)を決定するための対数基本周波数決定木704を学習により生成し、学習結果615として音声合成部602内の学習済み音響モデル部606に設定する。なお、前述したように、対数基本周波数(F0)の有声区間と無声区間はそれぞれ、可変次元に対応したMSD-HMMにより、1次元及び0次元のガウス分布としてモデル化され、対数基本周波数決定木704が生成される。
その他、図6のモデル学習部605は、図7には図示しないが、1フレーズを単位とする多数の音符音列のコンテキストに対応する学習用楽譜データ611から、音符音の音高のアクセント(例えば拍の強弱)等のコンテキストを決定するための決定木を学習により生成し、学習結果615として音声合成部602内の学習済み音響モデル部606に設定してもよい。
次に、HMM音響モデルが採用される図6の音声合成部602の処理について説明する。学習済み音響モデル部606は、キースキャナ206及びCPU201を介して鍵盤101から入力する或る楽器の種類の楽器音の1フレーズ分の音高列からなるコンテキストに関する音高データ215を入力することにより、コンテキスト毎に図7に例示される各決定木702、703、704等を参照してHMMを連結し、連結した各HMMから出力確立が最大となる音響特徴量系列617(スペクトルデータ618と音源データ619)を予測する。
このとき、学習済み音響モデル部606は、前述した(2)式に従って、キースキャナ206及びCPU201を介して鍵盤101から入力する音高データ215(=
Figure 2022168269000027
)と、モデル学習部605での機械学習により学習結果615として設定された音響モデル(=
Figure 2022168269000028
)とに基づいて、音響特徴量系列617(=
Figure 2022168269000029
)が生成される確率(=
Figure 2022168269000030
)を最大にするような音響特徴量系列617の推定値(=
Figure 2022168269000031
)を推定する。ここで、前述した(2)式は、図7(b)の状態継続長モデルによって推定される状態系列
Figure 2022168269000032
を用いることで、下記(4)式により近似される。
Figure 2022168269000033
ここで、
Figure 2022168269000034
Figure 2022168269000035
であり、
Figure 2022168269000036

Figure 2022168269000037
はそれぞれ状態
Figure 2022168269000038
における平均ベクトルと共分散行列である。楽器音特徴量系列
Figure 2022168269000039
を用い、学習済み音響モデル部606に設定された各決定木を辿ることにより、平均ベクトルと共分散行列が算出される。(4)式より、音響特徴量系列617の推定値(=
Figure 2022168269000040
)は平均ベクトル(=
Figure 2022168269000041
)によって得られるが、
Figure 2022168269000042
は状態が遷移する部分で階段状に変化する不連続な系列となる。このような不連続な音響特徴量系列617から合成フィルタ部610が楽器音声出力データ217を合成した場合、自然性という観点からは低品質な合成楽器音声となってしまう。そこで、統計的音声合成処理の第1の実施例では、モデル学習部605において動的特徴量を考慮した学習結果615(モデルパラメータ)の生成アルゴリズムが採用されてよい。静的特徴量
Figure 2022168269000043
と動的特徴量
Figure 2022168269000044
からフレームtにおける音響特徴量系列(=
Figure 2022168269000045
)が構成されるとき、各時刻の音響特徴量系列(=
Figure 2022168269000046
)は、下記(5)式で示される。
Figure 2022168269000047
ここで、
Figure 2022168269000048
は静的特徴量系列
Figure 2022168269000049
から動的特徴量を含む音響特徴量系列
Figure 2022168269000050
を求める行列である。モデル学習部605は、上述の(5)式を制約として前述の(4)式を、下記(6)式に示されるように解く。
Figure 2022168269000051
ここで、
Figure 2022168269000052
は、動的特徴量を制約としながら出力確率が最大となる静的特徴量系列である。動的特徴量を考慮することで状態境界の不連続が解決され、滑らかに変化する音響特徴量系列617を得ることができ、合成フィルタ部610において、高品質な楽器音声出力データ217を生成することが可能となる。
次に、図6の音声学習部601及び音声合成部602からなる統計的音声合成処理の第2の実施例について説明する。統計的音声合成処理の第2の実施例では、音高データ215から音響特徴量系列617を予測するために、学習済み音響モデル部606がディープニューラルネットワーク(Deep Neural Network:DNN)により実装される。これに対応して、音声学習部601内のモデル学習部605は、楽器音特徴量(学習用楽譜データ611に対応)から音響特徴量(学習用音響特徴量系列614に対応)へのDNN内の各ニューロンの非線形変換関数を表すモデルパラメータを学習し、そのモデルパラメータを学習結果615として音声合成部602内の学習済み音響モデル部606のDNNに出力する。
通常、音響特徴量は例えば5.1msec(ミリ秒)幅のフレームを単位として算出され、楽器音特徴量は音符を単位として算出される。従って、音響特徴量と楽器音特徴量は時間単位が異なる。HMM音響モデルを採用した統計的音声合成処理の第1の実施例では、音響特徴量と楽器音特徴量の対応はHMMの状態系列によって表現され,モデル学習部605は、音響特徴量と楽器音特徴量の対応関係を、図6の学習用楽譜データ611及び学習用楽器音声データ612に基づき自動学習した。これに対して、DNNを採用した統計的音声合成処理の第2の実施例では、学習済み音響モデル部606に設定されるDNNは、入力である音高データ215と出力である音響特徴量系列617の一対一の対応関係を表すモデルであるため、時間単位の異なる入出力データ対を用いてDNNを学習させることはできない。このため、統計的音声合成処理の第2の実施例では、予めフレーム単位の音響特徴量系列と音符単位の楽器音特徴量系列の対応関係が設定され、フレーム単位の音響特徴量と言語特徴量の対が生成される。
図8は、上述の対応関係を示す音声合成LSI205の動作説明図である。例えば、或る楽曲のフレーズの音高系列(文字列)「C3」「E3」「G3」「G3」「G3」「G3」・・・(図8(a))に対応する楽器音特徴量系列である楽器音符列が得られているときに、これらの楽器音特徴量系列が、フレーム単位の音響特徴量系列(図8(b))に対して、1対多の関係(図8の(a)と(b)の関係)で対応付けられる。なお、楽器音特徴量は学習済み音響モデル部606におけるDNNへの入力として使用されるため、数値データとして表現する必要がある。このため、楽器音特徴量系列としては、「直前の音符はxであるか?」や「現在の音符の楽器の種類はyであるか?」等のコンテキストに関する質問に対する二値のデータ(0又は1)、或いは、連続値での回答を連結して得られる数値データが用意される。
統計的音声合成処理の第2の実施例における図6の音声学習部601内のモデル学習部605は、図8の破線矢印群801として示されるように、フレーム単位で、図8(b)に対応する1フレーズ分の音符列(音高列)である学習用楽譜データ611と図8(c)に対応する1フレーズ分の学習用音響特徴量系列614の対を学習済み音響モデル部606のDNNに順次与えて学習を行う。なお、学習済み音響モデル部606内のDNNは、図8のグレー色の丸印群として示されるように、入力層、1つ以上の中間層、及び出力層からなるニューロン群を含む。
一方、音声合成時には、上記フレーム単位で、図8(b)に対応する1フレーズ分の音符列(音高列)である音高データ215が学習済み音響モデル部606のDNNに入力される。この結果、学習済み音響モデル部606のDNNは、図8の太実線矢印群802として示されるように、上記フレーム単位で、1フレーズ分の音響特徴量系列617を出力する。従って、発音モデル部608においても、上述のフレーム単位で、1フレーズ分の音響特徴量系列617に含まれる音源データ619及びスペクトルデータ618がそれぞれ音源生成部609及び合成フィルタ部610に与えられて、音声合成が実行される。
この結果、発音モデル部608は、図8の太実線矢印群803として示されるように、フレーム毎に、例えば225サンプル(samples)ずつの楽器音声出力データ217を、合計で1フレーズ分出力する。フレームは5.1msecの時間幅を有するため、1サンプルは「5.1msec÷225≒0.0227msec」であり、従って、楽器音声出力データ217のサンプリング周波数は1/0.0227≒44kHz(キロヘルツ)である。
DNNの学習は、1フレーズ分の、フレーム単位の音響特徴量と楽器音特徴量の音高列+楽器の種類の対を用いて、下記の(7)式で演算される二乗誤差最小化基準によって行われる。
Figure 2022168269000053
ここで、
Figure 2022168269000054

Figure 2022168269000055
はそれぞれt番目のフレームtにおける音響特徴量と楽器音特徴量(音高+楽器の種類)、
Figure 2022168269000056
は学習済み音響モデル部606のDNNのモデルパラメータ、
Figure 2022168269000057
はDNNによって表される非線形変換関数である。DNNのモデルパラメータは誤差逆伝播法によって効率良く推定することができる。前述した(1)式によって表される統計的音声合成におけるモデル学習部605の処理との対応関係を考慮すると、DNNの学習は下記の(8)式のように表すことができる。
Figure 2022168269000058
ここで、下記(9)式が成立する。
Figure 2022168269000059
上記(8)式及び(9)式のように、音響特徴量と楽器音特徴量(音高+楽器の種類)の関係は、DNNの出力を平均ベクトルとする正規分布
Figure 2022168269000060
によって表すことができる。DNNを用いた統計的音声合成処理の第2の実施例では、通常、楽器音特徴量系列
Figure 2022168269000061
に非依存な共分散行列、即ち全てのフレームにおいて同じ共分散行列
Figure 2022168269000062
が用いられる。また、共分散行列
Figure 2022168269000063
を単位行列とすると、(8)式は(7)式と等価な学習処理を示している。
図8で説明したように、学習済み音響モデル部606のDNNは、フレーム毎に独立に音響特徴量系列617を推定する。このため、得られる音響特徴量系列617には、合成音声の品質を低下させるような不連続が含まれる。そこで、本実施例では例えば、統計的音声合成処理の第1の実施例の場合と同様な、動的特徴量を用いたパラメータ生成アルゴリズムを利用することにより、合成音声の品質を改善することができる。
図2の音声合成LSI205が出力する楽器音声出力データ217を用いて、図2のルーパLSI220が行うループ録音/再生処理の第2の実施形態を実現するための、図1及び図2の電子鍵盤楽器100の更に具体的な動作について、以下に詳細に説明する。ループ録音/再生処理の第2の実施形態は、複数の連続するフレーズをループ区間とすることができるものである。
ループ録音/再生処理の第2の実施形態では、ループ録音/再生処理が動作していない状態(以下「Mode0」と呼ぶ)において、ユーザが、図1のペダル105を1回タップすると、ルーパLSI220は、以下に説明するMode1の動作に移行する。Mode1では、ユーザが図1の鍵盤101上でフレーズ毎に所望の音高列を指定する演奏を行うと、図2の音声合成LSI205が1フレーズ(本実施例では、1小節)遅れて、図6~図8を用いて前述したようにして、ユーザが演奏していない演奏技法に応じた音を含む演奏表現音データが付加された楽器音声出力データ217をフレーズ単位で出力する。図2のルーパLSI220内の図3に示されるループ録音部303は、上述のようにして音声合成LSI205からフレーズ毎にユーザによって演奏される音高列に対応してフレーズ単位で出力される楽器音声出力データ217を、ミキサ307を介して第1ループ記憶エリア301に順次記憶させる処理を実行する。ユーザは、例えば音源LSI204からミキサ213、D/Aコンバータ211、アンプ214、及び特には図示しないスピーカから放音されるリズム音に合わせて、複数フレーズ(小節)をカウントしながら上述の演奏を行い、ルーパLSI220に上記Mode1の動作を実行させる。
その後、ユーザが、再度ペダル105を1回タップすると、ルーパLSI220は、以下に説明するMode2の動作に移行する。Mode2では、図3のループ再生部304が、第1ループ記憶エリア301に記憶された上記複数フレーズ(小節)の区間(以下これを「ループ区間」と呼ぶ)の楽器音声出力データ217を、ループ再生音310として順次読み出す。このループ再生音310は、図2のループ再生楽器音声出力データ222として図2のミキサ213に入力し、D/Aコンバータ211、アンプ214、及び特には図示しないスピーカから放音される。ユーザは更に、このループ再生音310に合わせて、図1の鍵盤101上で上記ループ区間内の各フレーズ毎にループ再生音310に重ねてループ録音したい楽音に対応する所望の音高列を指定する演奏を行う。この結果、図2の音声合成LSI205が1フレーズ遅れて、Mode1の場合と同様に、豊かな音楽表現が付加された楽器音声出力データ217をフレーズ単位で出力する。図3のミキサ307は、上記音声合成LSI205からユーザの演奏に1フレーズ遅れてフレーズ単位で入力する楽器音声出力データ217を、前述のループ再生部304が出力するループ再生音310をフレーズ遅延部305で1フレーズ分遅延させて得られるループ再生音遅延出力311とミックスして、ループ録音部303に入力させる。ループ録音部303は、このミックス(いわゆる多重ループ録音)された楽器音声出力データを、図3の第2ループ記憶エリア302に順次記憶させる処理を実行する。上述の多重ループ録音動作がループ区間の最後まで達すると、ループ再生部304は、ループ再生音310の読出しを第1ループ記憶エリア301のループ末尾から第2ループ記憶エリア302のループ先頭に切り替え、ループ録音部303は、楽器音声出力データの録音先を第2ループ記憶エリア302の末尾から第1ループ記憶エリア301の先頭に切り替える。更に、上述の動作がループ区間の最後まで達すると、ループ再生部304は、ループ再生音310の読出しを再度、第2ループ記憶エリア301の末尾から第1ループ記憶エリア302の先頭に切り替え、ループ録音部303は、楽器音声出力データの録音先を再度、第1ループ記憶エリア302の末尾から第2ループ記憶エリア301の先頭に切り替える。このような切替え制御動作が繰り返されることにより、ユーザは、ループ区間のループ再生音310に、自分の演奏に基づいて得られる楽器音声出力データ217を次々と多重ループ録音させながら、ループ区間のループ再生音310を生成してゆくことができる。
その後、ユーザが、再度ペダル105を1回タップすると、ルーパLSI220は、以下に説明するMode3の動作に移行する。Mode3では、図3のループ再生部304が、第1ループ記憶エリア301又は第2ループ記憶エリア302のうち最後に録音が行われたほうからループ再生音310をループ区間で繰り返し再生し、それを楽器音声出力データ222として出力する。このループ再生される楽器音声出力データ217は、図2のミキサ213から、D/Aコンバータ211、及びアンプ214を介して、特には図示しないスピーカから放音される。このようにして、ユーザは、図1の鍵盤101においてフレーズ単位で各音符の音高を指定する程度のたとえ単調な演奏を行ったとしても、音声合成LSI205を介して生成される非常に豊かな音楽表現(演奏に応じて出力される音の強弱、音響効果やエフェクトの付与、演奏されていない音の追加)を有するループ再生音310を再生させることが可能となる。このときユーザは更に演奏を行うことにより、その演奏に基づいて図2の音源LSI204から出力される楽音出力データを、図2のミキサ213でループ再生音310にミックスさせてから、そのミックス音を、D/Aコンバータ211、及びアンプ214を介して、特には図示しないスピーカから放音させることができ、ループ再生と自分の演奏のアンサンブルを実現することができる。
その後、上記Mode3のループ再生状態で、ユーザが、再度ペダル105を1回タップすると、ルーパLSI220は、前述したMode2の動作に戻り、更に重ねループ録音を行うことができる。
また、上記Mode2の多重ループ録音状態で、ユーザが、ペダル105を長押しタップすると、ルーパLSI220は、最後に録音中のループ録音をキャンセルしてMode3に移行し、1つの前のループ再生状態に戻ることができる。この上で、ユーザが、再度ペダル105を1回タップすれば、ルーパLSI220は、前述したMode2の動作に戻り、更に多重ループ録音を続行することができる。
上記Mode1、Mode2、又はMode3の状態で、ユーザが、ペダル105をダブルタップ(素早く2回タップ)すると、ルーパLSI220は、Mode0no停止状態に移行して、ループ録音/再生を終了することができる。
図9は、ループ録音/再生処理の第2の実施形態における電子楽器の制御処理例を示すメインフローチャートである。この制御処理は例えば、図2のCPU201が、ROM202からRAM203にロードされた制御処理プログラムを実行する動作である。
CPU201は、まず初期化処理を実行した後(ステップS901)、ステップS902からS907の一連の処理を繰り返し実行する。
この繰返し処理において、CPU201はまず、スイッチ処理を実行する(ステップS902)。ここでは、CPU201は、図2のキースキャナ206からの割込みに基づいて、図1の第1のスイッチパネル102又は第2のスイッチパネル103のスイッチ操作に対応する処理を実行する。
次に、CPU201は、図2のキースキャナ206からの割込みに基づいて図1の鍵盤101の何れかの鍵が操作されたか否かを判定して処理する鍵盤処理を実行する(ステップS903)。この鍵盤処理では、CPU201は、ユーザによる何れかの鍵の押鍵又は離鍵の操作に応じて、図2の音源LSI204に対して、発音開始又は発音停止を指示する楽音制御データ216を出力する。また、CPU201は、この鍵盤処理において、後述するTickTime割込み処理におけるフレーズ単位での音高列の音声合成LSI205への出力処理のために、押鍵が発生した鍵の各音高をRAM203上の配列変数であるフレーズバッファに順次記憶させる処理を実行する。
次に、CPU201は、図1のLCD104に表示すべきデータを処理し、そのデータを、図2のLCDコントローラ208を介してLCD104に表示する表示処理を実行する(ステップS904)。LCD104に表示されるデータとしては、例えば演奏される楽器音声出力データ217に対応する楽譜や、各種設定内容がある。
次に、CPU201は、ルーパ制御処理を実行する(ステップS905)。この処理においては、CPU201が、図2のルーパLSI220を制御する処理であるルーパ制御処理(後述する図14、図15のフローチャートの処理)を実行する。
続いて、CPU201は、音源処理を実行する(ステップS906)。音源処理において、CPU201は、音源LSI204における発音中の楽音のエンベロープ制御等の制御処理を実行する。
最後にCPU201は、ユーザが特には図示しないパワーオフスイッチを押してパワーオフしたか否かを判定する(ステップS907)。ステップS907の判定がNOならば、CPU201は、ステップS902の処理に戻る。ステップS907の判定がYESならば、CPU201は、図9のフローチャートで示される制御処理を終了し、電子鍵盤楽器100の電源を切る。
図10(a)及び(b)はそれぞれ、図9のステップS901の初期化処理、図9のステップS902のスイッチ処理における後述する図11のステップS1102のテンポ変更処理の詳細例を示すフローチャートである。
まず、図9のステップS901の初期化処理の詳細例を示す図10(a)において、CPU201は、TickTimeの初期化処理を実行する。本実施形態において、ループ演奏の進行は、RAM203に記憶されるTickTime変数の値(以下この変数の値を変数名と同じ「TickTime」と呼ぶ)を単位として進行する。図2のROM202内には、TimeDivision定数の値(以下この変数の値を変数名と同じ「TimeDivision」と呼ぶ)が予め設定されており、このTimeDivisionは4分音符の分解能を示しており、この値が例えば480ならば、4分音符は480×TickTimeの時間長を有する。なお、このTimeDivisionの値はRAM203に記憶されるようにして、ユーザが例えば図1の第1のスイッチパネル102上のスイッチで変更できるようにしてもよい。また、図2のRAM203に記憶される変数であって、ユーザが1フレーズ分の演奏を行ったことを判定するポインタ変数の値(後述するPhrasePointer変数の値、以下この変数の値を変数名と同じ「PhrasePointer」と呼ぶ)と、ループ演奏の録音を進行させるためのポインタ変数の値(後述するRecPointer変数の値、以下この変数の値を変数名と同じ「RecPointer」と呼ぶ)と、ループ再生を進行させるためのポインタ変数の値(後述するPlayPointer変数の値、以下この変数の値を変数名と同じを「PlayPointer」と呼ぶ)も、TickTimeの時間単位によりカウントされる。ここで、1TickTimeが実際に何秒になるかは、曲データに対して指定されるテンポによって異なる。今、ユーザ設定に従ってRAM203上のTempo変数に設定される値をTempo[ビート/分]とすれば、1TickTimeの秒数は、次式により算出される。
TickTime[秒]=60/Tempo/TimeDivision
・・・(10)
そこで、図10(a)のフローチャートで例示される初期化処理において、CPU201はまず、上記(10)式に対応する演算処理により、TickTime[秒]を算出し、RAM203上の同名の変数に記憶させる(ステップS1001)。なお、変数Tempoに設定されるTempoの値としては、初期状態では図2のROM202の定数から読み出した所定の値、例えば60[ビート/秒]が、初期設定されてもよい。或いは、変数Tempoが不揮発性メモリに記憶され、電子鍵盤楽器100の電源の再投入時に、前回終了時のTempo値がそのまま保持されていてもよい。
次に、CPU201は、図2のタイマ210に対して、ステップS1001で算出したTickTime[秒]によるタイマ割込みを設定する(ステップS1002)。この結果、タイマ210において上記TickTime[秒]が経過する毎に、CPU201に対して音声合成LSI205のためのフレーズ進行と、ルーパLSI220のためのループ録音/再生進行のための割込み(以下「TickTime割込み」と記載)が発生する。従って、このTickTime割込みに基づいてCPU201で実行されるTickTime割込み処理(後述する図12のフローチャートの処理)では、1TickTime毎にフレーズを判定し、ループ録音/再生を進行させる制御処理が実行されることになる。
続いて、CPU201は、図2のRAM203の初期化等のその他初期化処理を実行する(ステップS1003)。その後、CPU201は、図10(a)のフローチャートで例示される図9のステップS901の初期化処理を終了する。
図10(b)のフローチャートについては、後述する。図11は、図9のステップS902のスイッチ処理の詳細例を示すフローチャートである。
CPU201はまず、図1の第1のスイッチパネル102内のテンポ変更スイッチによりフレーズ進行及びループ録音/再生進行のためのテンポが変更されたか否かを判定する(ステップS1101)。その判定がYESならば、CPU201は、テンポ変更処理を実行する(ステップS1102)。この処理の詳細は、図10(b)を用いて後述する。ステップS1101の判定がNOならば、CPU201は、ステップS1102の処理はスキップする。
次に、CPU201は、ルーパLSI220におけるループ録音/再生のために、ユーザが図1のペダル105を足等でタップ操作したか否かを、図2のキースキャナ206を介して判定する(ステップS1103)。その判定がYESならば、CPU201は、ペダル制御処理を実行する(ステップS1104)。この処理の詳細は、図14を用いて後述する。ステップS1103の判定がNOならば、CPU201は、ステップS1103の処理はスキップする。
最後に、CPU201は、図1の第2のスイッチパネル103において電子鍵盤楽器100の音源の音色や音声合成LSI205で音声合成される楽器音声の楽器種類の選択等が行われた場合に対応するその他のスイッチ処理を実行する(ステップS1105)。CPU201は、設定された音源の音色と音声合成の楽器種類を、RAM203上の特には図示しない変数に記憶する(ステップS1104)。その後、CPU201は、図11のフローチャートで例示される図9のステップS902のスイッチ処理を終了する。
図10(b)は、図11のステップS1102のテンポ変更処理の詳細例を示すフローチャートである。前述したように、テンポ値が変更されるとTickTime[秒]も変更になる。図10(b)のフローチャートでは、CPU201は、このTickTime[秒]の変更に関する制御処理を実行する。
まず、CPU201は、図9のステップS901の初期化処理で実行された図10(a)のステップS1001の場合と同様にして、前述した(10)式に対応する演算処理により、TickTime[秒]を算出する(ステップS1011)。なお、テンポ値Tempoは、図1の第1のスイッチパネル102内のテンポ変更スイッチにより変更された後の値がRAM203等に記憶されているものとする。
次に、CPU201は、図9のステップS901の初期化処理で実行された図10(a)のステップS1002の場合と同様にして、図2のタイマ210に対して、ステップS1011で算出したTickTime[秒]によるタイマ割込みを設定する(ステップS1012)。その後、CPU201は、図10(b)のフローチャートで例示される図11のステップS1102のテンポ変更処理を終了する。
図12は、図2のタイマ210においてTickTime[秒]毎に発生するTickTime割込み(図10(a)のステップS1002又は図10(b)のステップS1012を参照)に基づいて実行されるTickTime割込み処理の詳細例を示すフローチャートである。
まず、CPU201は、RAM203上の変数RecStartの値(以下この変数の値を変数名と同じ「RecStart」と呼ぶ)が1であるか否か、即ちループ録音の進行が指示されているか否かを判定する(ステップS1201)。
ループ録音の進行が指示されていないと判定した(ステップS1201の判定がNOである)場合には、CPU201は、ステップS1202~S1205のループ録音の進行を制御する処理は行わずに、ステップS1206の処理に移行する。
ループ録音の進行が指示されていると判定した(ステップS1201の判定がYESである)場合には、CPU201は、TickeTime割込みが1単位だけ進行したのに対応して、図3の第1ループ記憶エリア301又は第2ループ記憶エリア302上での録音のためのループ区間内でのTickeTime単位の時間進行を制御するためのRAM203上の変数RecPointerの変数の値(以下この変数の値を変数名と同じ「RecPointer」と呼ぶ)を値1だけインクリメントし、また、フレーズ区間のTickeTime単位での時間進行を制御するためのRAM203上の変数PhrasePointerの変数の値(以下のこの変数の値を変数名と同じ「PhrasePointer」と呼ぶ)を値1だけインクリメントする(ステップS1202)。
次に、CPU201は、PhrasePointerの値が、TimeDevision×Beatで定まる値に等しくなったか否かを判定する(ステップS1203)。TimeDevisionの値は、前述したように、4分音符が何TickeTimeにあたるかを示したTickeTimeを基準とする時間長である。また、Beatは、これからユーザが演奏を開始する楽曲が何拍子(1小節=1フレーズに何個の4分音符が含まれるか)の楽曲であるかを示す値を格納するRAM203上の変数であり(以下この変数の値を変数名と同じ「Beat」とする)、4拍子の楽曲であればBeat=4、3拍子の楽曲であればBeat=3である。このBeatの値は、例えば図1の第1のスイッチパネル102のスイッチによってユーザが設定できる。従って、TimeDevision×Beatの値は、現在演奏中の楽曲の1小節のTickeTime長を示している。つまり、ステップS1203において、CPU201は、PhrasePointerの値が、TimeDevision×Beatで定まる1小節=1フレーズのTickeTime長に等しくなったか否かを判定している。
PhrasePointerの値が1小節のTickeTime長に達したと判定した(ステップS1203の判定がYESである)場合には、CPU201は、上記1小節=1フレーズのTickeTime長区間の間に、前述した図9のステップS903の鍵盤処理によりRAM203上のフレーズバッファに記憶されている図1の鍵盤101上でユーザにより押鍵された各鍵に基づく音高列を、ユーザにより予め指定されている音声合成のための楽器の種類(前述した図9のステップS902のスイッチ処理内の図11のステップS1105のその他スイッチ処理の説明を参照)に関するデータと共に、図6で説明した1フレーズ分の音高データ215として、図2の音声合成LSI205に送り、図6~図8で説明した統計的音声合成処理に従って、1フレーズ分の楽器音声出力データ217を合成し、ルーパLSI220に出力させる指示を行う(ステップS1204)。
その後、CPU201は、PhrasePointerの値を0にリセットする(ステップS1205)。
PhrasePointerの値が1小節のTickeTime長に達していないと判定した(ステップS1203の判定がNOである)場合には、CPU201は、ステップS1204とS1205の処理は実行せずに、ステップS1202でのRecPointerとPhrasePointerのインクリメント処理のみ実行して、ステップS1206の処理に移行する。
続いて、CPU201は、RAM203上の変数PlayStartの値(以下この変数の値を変数名と同じ「PlayStart」と呼ぶ)が1であるか否か、即ちループ再生の進行が指示されているか否かを判定する(ステップS1206)。
ループ再生の進行が指示されていると判定した(ステップS1206の判定がYESである)場合には、CPU201は、TickeTime割込みが1単位だけ進行したのに対応して、図3の第1ループ記憶エリア301又は第2ループ記憶エリア302上でのループ再生のためのループ区間を制御するためのRAM203上の変数PlayPointerの変数の値(以下この変数の値を変数名と同じ「PlayPointer」と呼ぶ)を値1だけインクリメントする。
ループ再生の進行が指示されていないと判定した(ステップS1206の判定がNOである)場合には、CPU201は、ステップS1207でのPlayPointerのインクリメント処理は実行せずに、そのまま図12のフローチャートで示されるTickTime割込み処理を終了し、図9のメインフローチャートの何れかの処理の実行に戻る。
次に、図9のステップS902のスイッチ処理内の図11のステップS1104のペダル制御処理と、図9のステップS905のルーパ制御処理に基づく、図2のルーパLSI220において実現される前述したMode0からMode3のループ録音/再生処理について、図13~図15のフローチャートと、図16及び図17の動作説明図を用いて、詳細に説明する。
図16及び図17の動作説明図において、図16のt0~図17のt22までは、TickeTimeを単位として進行する1小節間隔=1フレーズ間隔=TimeDevision×Beat(図12のステップS1203の説明を参照)の時間間隔を示している。以下、単に時刻t0などと記載した場合には、TickeTime単位の時刻を表しているものとする。また、以下の説明において、「小節」と「フレーズ」は同じ意味で用いるものとし、記載は「小節」で統一する。
図13は、図9のステップS902のスイッチ処理内の図11のステップS1104のペダル制御処理の詳細を示すフローチャートである。まず、電子鍵盤楽器100がパワーオンされた直後は、図13に示されるRAM203上の変数Modeの値(以下この変数の値を変数名と同じ「Mode」と呼ぶ)と、同じく変数PrevModeの値(以下この変数の値を変数名と同じ「PrevMode」と呼ぶ)と、同じく前述した変数RecStartの各値は、例えば図9のステップS901内の図10(a)のステップS1003のその他初期化処理において、0にリセットされているとする。
図13のペダル制御処理において、CPU201はまず、図11のステップS1103でペダル105の操作が検出された後、そのペダル操作の種類を、図2のキースキャナ206を介して検出する(ステップS1301)。
ステップS1301において、ユーザによるペダル105の操作がペダル105を1回だけ足等でタップするシングルタップの操作であったと判定された場合、CPU201は、更に、現在のModeの値を判定する。
CPU201は、現在のModeの値が0である、即ちループ録音/再生が動作していない状態であると判定した場合には、Mode0からMode1に遷移するための、図13のステップS1303からS1308までの一連の処理を実行する。これは、図16の動作例では、時刻t0においてMode0からペダル105がタップされた状態である。
CPU201はまず、Mode変数の値をMode1を表す値1にセットし、更に、1つ前のMode0に対応するModeの値0を、PrevMode変数にセットする(ステップS1303)。
次に、CPU201は、Mode1でのループ録音を開始させるために、RecStart変数に値1をセットする(ステップS1304)。
次に、CPU201は、図3のルーパLSI220上でループ録音を行うループ記憶エリアを示すRAM203上の変数RecArea(以下この変数の値を変数名と同じ「RecArea」と呼ぶ)に、図3の第1ループ記憶エリア301を表す値Area1を記憶する(ステップS1305)。
次に、CPU201は、ループ録音のTickeTime単位での記憶アドレスを示す変数RecPointerに、-TimeDivision×Beatの値をセットし、また、変数PhrasePointerに値0をセットする(ステップS1306)。図12のステップS1203で説明したように、TimeDivision×Beatは1小節のTickeTime長である。RecPointerの値は0が先頭の記憶アドレスであるため、-TimeDivision×Beatの値は記憶が開始されるまで1小節分手前のタイミングを示していることになる。これは、ユーザが1小節目のループ演奏を開始してから音声合成LSI205がそれに対応する楽器音声出力データ217の出力を開始するまで1小節分の遅延があるため、前述したTickTime割込み処理でRecPointerの値を0から開始させるまで1小節分遅延させるためである。
次に、CPU201は、Mode1ではループ再生は行わないため、PlayStart変数に値0をセットする(ステップS1307)。
更に、CPU201は、ループ録音の末尾を示すRAM203上のLoopEnd変数の値(以下この変数の値を変数名と同じ「LoopEnd」と呼ぶ)を、図2のROM202に記憶されている十分に大きな数Maxとする(ステップS1308)。
上述のようにして図9のステップS902のスイッチ処理内の図11のステップS1104のペダル制御処理内の図13のステップS1303~S1308の一連の処理によってMode0でのユーザによるペダル105のシングルタップ操作によりMode1が設定された後、CPU201は、図9のステップS905に対応する図14のルーパ制御処理において、以下の処理を実行する。
図14において、CPU201はまず、RecStart値が1であるか否かを判定する(ステップS1401)。Mode0からMode1に状態が遷移した場合、図13のステップS1304においてRecStart=1にセットされているため、ステップS1401の判定はYESになる。
ステップS1401の判定がYESの場合は、次に、CPU201は、RecPointer値がLoopEnd値以上となったか否かを判定する(ステップS1402)。図13のステップS1308においてLoopEnd変数には十分大きな値が格納されているため、最初はステップS1402の判定はNOである。
ステップS1402の判定がNOの場合、CPU201は、現在ループ録音が停止中で、かつRecPointer値が0以上になったか否かを判定する(ステップS1410)。
図13のステップS1306において、RecPointer値は1小節分のマイナス値-TimeDevision×Beatが格納されている。このため、図12のTickTime割込み処理によりRecStart=1となった後にRecPointer値が-TimeDevision×BeatからTickeTimeが経過する毎に1ずつ順次インクリメントされて(図12のステップS1202参照)、1小節分のTickeTime時間が経過してRecPointer値が0になるまでは、図14のステップS1410の判定はNOになり続け、それに続く図15のステップS1412のPlayStart値が1であるか否かの判定もNOになり続けるため(図13のステップS1307参照)、実質的に図14のルーパ制御処理では何も実行されないで時間のみが経過してゆく。
やがて、1小節分のTickeTime時間が経過してRecPointer値が0になると、CPU201は、図2のルーパLSI220内の図3のループ録音部303に対して、変数RecAreaが示す値Area1に対応する図3の第1ループ記憶エリア301に対して、変数RecPointerが示す先頭アドレス0からのループ録音の動作を開始させる(ステップS1411)。
図16の動作説明図において、時刻t0において、ユーザがペダル105をタップすることにより状態がMode0からMode1に遷移し、ユーザはこれに合わせて、図16(a)の時刻t0に示されるように、図1の鍵盤101による小節毎の音高列を指定する押鍵によるループ演奏を開始する。図16(a)に示される時刻t0以降のループ演奏は、その押鍵指定が鍵盤101からキースキャナ206及びCPU201を介して音源LSI204に伝達されることにより、音源LSI204から対応する楽音出力データ218が出力され、ミキサ213、D/Aコンバータ211及びアンプ214を介して特には図示しないスピーカから、対応する楽音が放音される。
その後、時間が経過して、時刻t0から1小節分のTickeTime時間の経過後の時刻t1に、図16(b)に示されるように、音声合成LSI205から第1小節目に対応する楽器音声出力データ217が出力され始め、これに同期して、上述したステップS1411の処理により、時刻t1以降、図16(c)に示されるように、音声合成LSI205から順次出力される第1小節目以降の楽器音声出力データ217の第1ループ記憶エリア301(Area1)へのループ録音が開始される。このとき、図16(a)のタイミングで示される例えば第1小節から第4小節までの演奏入力に対して、音声合成LSI205からの楽器音声出力データ217の出力タイミング及び第1ループ記憶エリア301へのループ録音のタイミングは、図16(b)及び(c)に示されるように、1小節分遅延することになる。これは、音声合成LSI205が音高データ215として入力する小節毎の音符列に対して、1小節分遅延して楽器音声出力データ217を出力するという制約によるものである。ユーザの押鍵演奏に対して1小節遅れた楽器音声出力データ217は、ルーパLSI220に入力されるが、ミキサ213側には出力されないため対応する発音は行われない。
時刻t1で第1小節からのループ録音が開始された後、RecPointerの値が後述するLoopEndに達するまでの間は、CPU201による図14のルーパ制御処理において、ステップS1401の判定がYES→ステップS1402の判定がNO→ステップS1410の判定がNOという制御が繰り返される。これにより、図2のルーパLSI220内の図3のループ録音部303は、時刻t1で前述した図14のステップS1411でRecArea=Area1が示す図3の第1ループ記憶エリア301へのRecPointer=0(先頭アドレス)から開始したループ録音を継続し、図16(b)の時刻t1から後述する時刻t5までの図2の音声合成LSI205から出力される第1小節から第4小節までの楽器音声出力データ217を順次、図16(c)に示されるようにループ録音することになる。
次に、ユーザが、図16(a)に示されるループ演奏中に、第4小節の末尾の時刻t4のタイミングで、ペダル105をタップしたとする。この結果、図9のステップS902のスイッチ処理内の図11のステップS1104に対応する図13のペダル制御処理において、前述したステップS1301の判定がシングルタップ、ステップS1302の現在Modeの判定がMode=1であると判定されることにより、CPU201は、Mode1からMode2に遷移するための、図13のステップS1309からS1314までの一連の処理を実行する。
CPU201はまず、Mode変数の値をMode2を表す値2にセットし、更に、1つ前のMode1に対応するModeの値1を、変数PrevModeにセットする(ステップS1309)。
次に、CPU201は、ループ録音の末尾を示すLoopEnd変数に、現在のRecPointer値に、1小節分のTickeTime時間長を示す値TimeDevision×Beatを加算した値をセットする(ステップS1310)。図16の例では、RecPointer値は時刻t4を示しているが、図16(b)及び(c)に示されるように、楽器音声出力データ217の出力タイミング及びループ録音のタイミングとして、時刻t4は第3小節の終わりのタイミングを示しており、図16(a)に示される第4小節の終わりのタイミングに対して1小節分遅れている。そこで、現在のRecPointer値に対して1小節分遅れた時刻t5のタイミングまでループ録音を続行させて第4小節の終わりまで録音が完了されるようにするために、ループ録音の末尾を示すLoopEnd変数に、現在のRecPointer値に、1小節分のTickeTime時間長を示す値TimeDevision×Beat]を加算した値がセットされる。即ち、LoopEnd値は、4小節分のTickeTime時間長を有することになる。
次に、CPU201は、前述したMode2による多重ループ録音のためのループ再生を有効にするために、変数PlayStartに値1をセットする(ステップS1311)。
更に、CPU201は、ループ再生のTickeTime単位でのアドレスを示すPlayPointer変数に、先頭アドレス0をセットする(ステップS1312)。
また、CPU201は、図3の第1ループ記憶エリア301及び第2ループ記憶エリア302のうち、ループ再生を行うループ記憶エリアを示す変数PlayAreaに、いままでループ録音を行ってきている第1ループ記憶エリア301を示す値Area1をセットする(ステップS1313)。
そして、CPU201は、図2のルーパLSI220内の図3のループ再生部304に対して、変数PlayAreaが示す値Area1に対応する図3の第1ループ記憶エリア301に対して、変数PlayPointerが示す先頭アドレス0からのループ再生の動作を開始させる(ステップS1314)。
図16の動作説明図において、時刻t4において、ユーザがペダル105をタップすることにより状態がMode1からMode2に遷移する。図16(e)の時刻t4からとして示されるように、いままでループ録音されていた図2のルーパLSI220内の第1ループ記憶エリア301の先頭アドレス=第1小節からのループ再生音310の再生、及びこのループ再生音310がループ再生楽器音声出力データ222としてミキサ213から、D/Aコンバータ211、アンプ214を介して特には図示しないスピーカから放音されるループ再生音に重ねて、ユーザは、図16(d)の時刻t4からとして示されるように、再び第1小節からの小節毎の音高列を指定する押鍵演奏を開始する。図16(d)に示される時刻t4以降のユーザの押鍵によるループ演奏は、その押鍵指定が鍵盤101からキースキャナ206及びCPU201を介して音源LSI204に伝達されることにより、音源LSI204から対応する楽音出力データ218が出力され、ミキサ213、D/Aコンバータ211及びアンプ214を介して特には図示しないスピーカから、対応する楽音が放音される。これと同期して、上述したように、ルーパLSI220から出力されるループ再生楽器音声出力データ222も、ミキサ213でユーザのループ演奏による楽音出力データ218とミックスされて、放音される。このようにしてユーザは、直前に録音されたルーパLSI220からのループ再生楽器音声出力データ222を聞きながら、鍵盤101の押鍵によるループ演奏を行うことができる。
一方、図13のステップS1310の説明で前述したように、変数LoopEndには時刻t5に対応する値が設定されている。従って、図9のステップS905に対応する図14のルーパ制御処理において、CPU201は、時刻t4の後、図12のTickTime割込み処理のステップS1202によりTickeTime毎に順次インクリメントされるRecPointerの値が時刻t5に達するまでは、ステップS1401の判定がYES、ステップS1402の判定がNO、ステップS1410の判定がNOとなって、図16(b)に示されるように、音声合成LSI205からの第4小節目の楽器音声出力データ217のルーパLSI220への入力と、図16(c)に示されるように、第1ループ記憶エリア301(Area1)への(前述したステップS1411で開始された)第4小節目の楽器音声出力データ217のループ録音が続行される。
その後、CPU201は、図12のTickTime割込み処理のステップS1202によりTickeTime毎に順次インクリメントされるRecPointer値が時刻t5に達すると、ステップS1401の判定がYES、ステップS1402の判定もYESとなる。更に、現在はMode=1であるからステップS1403の判定はNOとなる。この結果、CPU201は、まず変数RecAreaに設定されている値が図3の第1ループ記憶エリア301を示すArea1であるか、そうでないか、つまりその値が図3の第2ループ記憶エリア302を示すArea2であるかを判定する(ステップS1404)。ステップS1404の判定がYES(RecArea=Area1)である場合、CPU201は、変数RecAreaの値をArea2に変更する(ステップS1405)。一方、ステップS1404の判定がNO(RecArea≠Area1、つまりRecArea=Area2)である場合、CPU201は、変数RecAreaの値をArea1に変更する(ステップS1406)。図16の動作例では、時刻t5の時点で、RecAreaの値は図16(c)に示されるようにArea1で図3の第1ループ記憶エリア301がループ録音の対象記憶エリアとなっていたが、時刻t5以降はRecAreaの値が図16(h)に示されるようにArea2となって図3の第2ループ記憶エリア302が新たにループ録音の対象記憶エリアとなることになる。
その後、CPU201は、変数RecPointerの値を先頭アドレス0にセットする(ステップS1407)。
そして、CPU201は、図2のルーパLSI220内の図3のループ録音部303に対して、変数RecAreaが示す値Area2に対応する図3の第2ループ記憶エリア302に対して、変数RecPointerが示す先頭アドレス0からのループ録音の動作を開始させる(ステップS1408)。図16の動作例では、図16(h)の時刻t5以降がこれに対応する。
次に、図14の上記ステップS1408の後に実行される図15のステップS1412では、CPU201は、変数PlayStartの値が1であるか否かを判定する。図16の動作例の時刻t4の時点において、前述した図13のステップS1311により変数PlayStartの値が1に設定されているため、ステップS1412の判定はYESとなる。
続いて、CPU201は、変数PlayPointerの値が変数LoopEndの値以上になったか否かを判定する(ステップS1413)。しかし、時刻t4の時点ではまだ変数PlayPointerの値は0であるため(図13のステップS1312参照)、ステップS1413の判定はNOとなる。この結果、CPU201は、図14及び図15のフローチャートで示される図9のステップS905のルーパ制御処理を終了する。
このようにして、時刻t4で第1小節からのループ再生が開始された後、PlayPointerの値が前述したLoopEndに達するまでの間は、CPU201による図15のルーパ制御処理において、ステップS1412の判定がYES→ステップS1413の判定がNOというルーパ制御が繰り返される。これにより、図2のルーパLSI220内の図3のループ再生部304は、図16(e)の時刻t4で前述した図13のステップS1314でPlayArea=Area1が示す図3の第1ループ記憶エリア301からのPlayPointer=0(先頭アドレス)から開始したループ再生を継続し、図16(e)の時刻t4から後述する時刻t8までの第1小節から第4小節までのループ再生音310を順次再生し、スピーカから放音することになる。
このときユーザは、図16(e)の時刻t4から後述する時刻t8までスピーカから放音される第1小節から第4小節までのループ再生音に合わせて、図16(d)に示されるように、図1の鍵盤101の各鍵の押鍵による第1小節から第4小節までの小節毎のループ演奏を継続し、音源LSI204がその演奏指定に対応する楽音出力データ218が放音出力される。
この結果、上記第1小節から第4小節までの各小説の音高列と楽器の種類が、前述の図12のステップS1204により、小節単位で音声合成LSI205に入力される。この結果、音声合成LSI205は、1小節遅延して、図16(f)の時刻t5から後述する時刻t9までのループ区間で、音楽表現が豊かに付加された楽器音声出力データ217を図2のルーパLSI220に出力する。
一方、図16(e)に示される時刻t4から後述する時刻t8までの間にループ再生される図3のループ再生音310が図3のフレーズ遅延部305により1小節分遅延させられることにより、図16(g)に示されるように、時刻t5から後述する時刻t9までの間にミキサ307にループ再生音遅延出力311が入力する。そして、図16(f)に示されるように時刻t5から時刻t9の間にミキサ307に入力する楽器音声出力データ217と、図16(g)に示されるように時刻t5から時刻t9の間にミキサ307に入力するループ再生音遅延出力311は、第1小節から第4小節まで同じタイミングを有していることがわかる。そこで、ミキサ307は、楽器音声出力データ217とループ再生音遅延出力311とを混合して、図3のループ録音部303に入力させる。この結果、ループ録音部303は、時刻t5の第1小節から時刻t9の第4小節までの上記ミキシングデータを、RecArea=Area2が示す図3の第2ループ記憶エリア302に順次多重ループ録音することになる。なお、フレーズ遅延部305の動作は、前述したTimeDevision×Beat値に同期しているものとする。
ここで、図16(e)に示されるループ再生音310が、第4小節目の末尾のタイミング、即ちループ区間の末尾に対応する時刻t8に達したとする。この場合、図9のステップS905に対応する図14及び図15のルーパ制御処理において、図15のステップS1412の判定がYESとなった後、PlayPointer値がLoopEnd値に達したためにステップS1413の判定がYESとなる。更に、Mode値=2であって、PrevMode値=1(図13のステップS1309参照)であるから、ステップS1414の判定がYESとなる。この結果、CPU201は、まず変数PlayAreaに設定されている値が図3の第1ループ記憶エリア301を示すArea1であるか、そうでないか、つまりその値が図3の第2ループ記憶エリア302を示すArea2であるかを判定する(ステップS1415)。ステップS1415の判定がYES(PlayArea=Area1)である場合、CPU201は、変数PlayAreaの値をArea2に変更する(ステップS1416)。一方、ステップS1415の判定がNO(PlayArea≠Area1、つまりPlayArea=Area2)である場合、CPU201は、変数PlayAreaの値をArea1に変更する(ステップS1417)。図16の動作例では、時刻t8の時点で、PlayAreaの値は図16(e)に示されるようにArea1で図3の第1ループ記憶エリア301がループ再生の対象記憶エリアとなっていたが、時刻t8以降はPlayAreaの値がArea2となって図16(j)に示されるように図3の第2ループ記憶エリア302が新たにループ再生の対象記憶エリアとなることになる。
その後、CPU201は、変数PrevModeの値を2にセットする(ステップS1418)。
更に、CPU201は、変数PlayPointerの値を先頭アドレス0にセットする(ステップS1419)。
そして、CPU201は、図2のルーパLSI220内の図3のループ再生部304に対して、変数PlayAreaが示す値Area2に対応する図3の第2ループ記憶エリア302に対して、変数PlayPointerが示す先頭アドレス0からのループ再生の動作を開始させる(ステップS1420)。図16の動作例では、図16(j)の時刻t8以降がこれに対応する。
一方、図16(h)に示されるループ録音は、第4小節目の末尾のタイミングに対応する時刻t9で、ループ区間の末尾に達する。この場合、図9のステップS905に対応する図14及び図15のルーパ制御処理において、図14のステップS1401の判定がYESとなった後、RecPointer値がLoopEnd値に達したためにステップS1402の判定がYESとなる。更に、Mode値=2であるから、ステップS1403の判定がNOとなる。この結果、CPU201は、前述したステップS1404からS1406で、ループ録音するループ記憶エリアを交換する処理を実行する。この結果、図16の動作例では、時刻t9の時点で、RecAreaの値は図16(h)に示されるようにArea2で図3の第2ループ記憶エリア302がループ録音の対象記憶エリアとなっていたが、時刻t9以降はRecAreaの値がArea1となって図16(m)に示されるように図3の第1ループ記憶エリア301が新たにループ録音の対象記憶エリアとなることになる。
その後、CPU201は、RecPointerの値を0にセットする(ステップS1407)。
そして、CPU201は、図2のルーパLSI220内の図3のループ録音部303に対して、変数RecAreaが示す値Area1に対応する図3の第1ループ記憶エリア301に対して、変数RecPointerが示す先頭アドレス0からのループ録音の動作を開始させる(ステップS1408)。図16の動作例では、図16(m)の時刻t9以降がこれに対応する。
以上説明したようにして、Mode=2において、ループ再生及びそれに同期した多重ループ録音がループ区間の末尾まで達すると、第1ループ記憶エリア301と第2ループ記憶エリア302の間で、いままでループ録音していたループ記憶エリアといままでループ再生していたループ記憶エリアが交換されて、多重ループ録音が続行される。これにより、ユーザは、ループ区間のループ再生音310に、自分の演奏に基づいて得られる楽器音声出力データ217を次々と多重ループ録音させながら、ループ区間のループ再生音310を生成してゆくことができる。
上述のMode=2における例えば図16(i)及び図17(i)のループ演奏中に、任意のタイミング、例えば第4小節の末尾の時刻t12のタイミングで、ユーザがペダル105をタップしたとする。この結果、図9のステップS902のスイッチ処理内の図11のステップS1104に対応する図13のペダル制御処理において、前述したステップS1301の判定がシングルタップ、ステップS1302の現在Modeの判定がMode=2であると判定されることにより、CPU201は、Mode2からMode3に遷移するための、図13のステップS1315からS1321までの一連の処理を実行する。
CPU201はまず、Mode変数の値をMode3を表す値3にセットし、更に、1つ前のMode2に対応するModeの値2を、変数PrevModeにセットする(ステップS1315)。
次に、CPU201は、ループ再生のTickeTime単位でのアドレスを示すPlayPointer変数に、先頭アドレス0をセットする(ステップS1316)。
続いて、CPU201は、前述した図15のステップS1415からS1417の一連の処理と同様の図13のステップS1317~S1319で、ループ再生するループ記憶エリアを交換する処理を実行する。この結果、図16~図17の動作例では、時刻t12の時点で、PlayAreaの値は図17(j)に示されるようにArea2で図3の第2ループ記憶エリア302がループ再生の対象記憶エリアとなっていたが、時刻t12以降はPlayAreaの値がArea1となって図17(n)に示されるようにいままで多重ループ録音の対象であった図3の第1ループ記憶エリア301が新たにループ再生の対象記憶エリアとなることになる。
次に、CPU201は、ループ録音の末尾を示すLoopEnd変数に、現在のRecPointer値に、1小節分のTickeTime時間長を示す値TimeDevision×Beatを加算した値をセットする(ステップS1320)。図17の例では、RecPointer値は時刻t12を示しているが、図17(m)に示されるように、ループ録音のタイミングとして、時刻t12は第3小節の終わりのタイミングを示しており、図16(i)に示される第4小節の終わりのタイミングに対して1小節分遅れている。そこで、現在のRecPointer値に対して1小節分遅れた時刻t13のタイミングまでループ録音を続行させて第4小節の終わりまで録音が完了されるようにするために、ループ録音の末尾を示すLoopEnd変数に、現在のRecPointer値に、1小節分のTickeTime時間長を示す値TimeDevision×Beat]を加算した値がセットされる。
そして、CPU201は、図2のルーパLSI220内の図3のループ再生部304に対して、変数PlayAreaが示す値Area1に対応する図3の第1ループ記憶エリア301に対して、変数PlayPointerが示す先頭アドレス0からのループ再生の動作を開始させる(ステップS1321)。
ここで、図15のステップS1412では、CPU201は、変数PlayStartの値が1であるか否かを判定する。図17の動作例の時刻t12の時点において、変数PlayStartの値はMode2から継続して1に設定されているため、ステップS1412の判定はYESとなる。
続いて、CPU201は、変数PlayPointerの値が変数LoopEndの値以上になったか否かを判定する(ステップS1413)。しかし、時刻t12の時点ではまだ変数PlayPointerの値は0であるため(図13のステップS1316参照)、ステップS1413の判定はNOとなる。この結果、CPU201は、図14及び図15のフローチャートで示される図9のステップS905のルーパ制御処理を終了する。
このようにして、図17(n)に示されるように、時刻t12で第1小節からのループ再生が開始された後、PlayPointerの値が前述したLoopEndに達するまでの間は、CPU201による図15のルーパ制御処理において、ステップS1412の判定がYES→ステップS1413の判定がNOというルーパ制御が繰り返される。これにより、図2のルーパLSI220内の図3のループ再生部304は、図17(n)の時刻t12で前述した図13のステップS1321でPlayArea=Area1が示す図3の第1ループ記憶エリア301からのPlayPointer=0(先頭アドレス)から開始したループ再生を継続し、図17(n)の時刻t12から後述する時刻t16までの第1小節から第4小節までのループ再生音310を順次再生し、スピーカから放音することになる。
このときユーザは、図17(n)の時刻t12から後述する時刻t16までスピーカから放音される第1小節から第4小節までのループ再生音に合わせて、例えば自由に演奏を楽しむことができ、鍵盤101での押鍵演奏により図2の音源LSI204で楽音出力データ218が生成される。この楽音出力データ218は、ミキサ213において上記ループ再生音310と混合され、D/Aコンバータ211、アンプ214を介して特には図示しないスピーカから放音される。
ここで、図13のステップS1310の説明で前述したように、変数LoopEndには時刻t13に対応する値が設定されている。従って、図9のステップS905に対応する図14のルーパ制御処理において、CPU201は、時刻t12の後、図12のTickTime割込み処理のステップS1202によりTickeTime毎に順次インクリメントされるRecPointerの値が時刻t13に達するまでは、ステップS1401の判定がYES、ステップS1402の判定がNO、ステップS1410の判定がNOとなって、図16(k)に示されるように、音声合成LSI205からの第4小節目の楽器音声出力データ217のルーパLSI220への入力と、図16(l)に示されるように、ループ再生音遅延出力311の入力と、図16(m)に示されるように、第1ループ記憶エリア301(Area1)への第4小節目の楽器音声出力データ217のループ録音が続行される。
その後、CPU201は、図12のTickTime割込み処理のステップS1202によりTickeTime毎に順次インクリメントされるRecPointer値が時刻t13に達すると、ステップS1401の判定がYES、ステップS1402の判定もYESとなる。更に、現在はMode=3であるからステップS1403の判定がYESとなる。この結果、CPU201は、ループ録音を停止させるために、RecStart変数に値0をセットする(ステップS1409)。その後、CPU201は、図15のステップS1412に移行する。
これにより、1小節分の遅延を考慮したループ録音の終了、及びループ録音が行わ1212の判定がNO→S1413の判定がYES→S1414の判定がNO→S1419→S1420)。この結果、図17(p)に示されるように、ループ区間の末尾の時刻t20までループ再生が行われた後に、図17(t)に示されるように、時刻t20から、今までループ再生を行っていた第1ループ記憶エリア301からのループ再生を行うMode3に移行する。
ここで、図17(n)には図示していないが、図17(n)に示されるループ再生音310が、第4小節目の末尾のタイミング、即ちループ区間の末尾に対応する時刻t16に達したとする。図17(n)の場合とは異なるが、ここでユーザがタップ操作をしなかった場合、図9のステップS905に対応する図14及び図15のルーパ制御処理において、図15のステップS1412の判定がYESとなった後、PlayPointer値がLoopEnd値に達したためにステップS1413の判定がYESとなる。更に、Mode値=3であるため、ステップS1414の判定がNOとなる。この結果、CPU201は、ステップS1419にジャンプして、PlayPointerの値を先頭アドレス0にリセットする(ステップS1419)。
そして、CPU201は、図2のルーパLSI220内の図3のループ再生部304に対して、変数PlayAreaが示す値Area1に対応する図3の第1ループ記憶エリア301に対して、変数PlayPointerが示す先頭アドレス0からのループ再生の動作を繰り返される(ステップS1420)。図16(n)の時刻t12~時刻16と同様の第1ループ記憶エリア301からのループ再生が、延々と繰り返されることになる。
次に、ユーザが、図17(n)に示されるMode3によるループ再生中に、例えば第4小節の末尾の時刻t16のタイミングで、ペダル105をタップしたとする。この結果、図9のステップS902のスイッチ処理内の図11のステップS1104に対応する図13のペダル制御処理において、前述したステップS1301の判定がシングルタップ、ステップS1302の現在Modeの判定がMode=3であると判定されることにより、CPU201は、Mode3からMode2に戻って遷移するための、図13のステップS1322からS1323までの一連の処理を実行する。
CPU201はまず、Mode変数の値をMode2を表す値2にセットし、更に、1つ前のMode3に対応するModeの値3を、変数PrevModeにセットする(ステップS1322)。
次に、CPU201は、Mode2でのループ録音を開始させるために、RecStart変数に値1をセットする(ステップS1323)。
次に、CPU201は、変数PlayAreaに設定されている値が図3の第1ループ記憶エリア301を示すArea1であるか、そうでないか、つまりその値が図3の第2ループ記憶エリア302を示すArea2であるかを判定する(ステップS1324)。ステップS1324の判定がYES(PlayArea=Area1)、即ち今までMode3でループ再生中であったループ再生音310の読出し元が第1ループ記憶エリア301であった場合、次のMode2においてもそれをそのままループ再生音310として使用し、ループ録音のループ記憶エリアは第2ループ記憶エリア302にするために、ループ録音を行うループ記憶エリアを示す変数RecAreaに、図3の第2ループ記憶エリア302を表す値Area2を記憶する(ステップS1325)。逆に、ステップS1324の判定がNO(PlayArea≠Area1、つまりPlayArea=Area2)、即ち今までMode3でループ再生中であったループ再生音310の読出し元が第2ループ記憶エリア302であった場合、次のMode2においてもそれをそのままループ再生音310として使用し、ループ録音のループ記憶エリアは第1ループ記憶エリア301にするために、ループ録音を行うループ記憶エリアを示す変数RecAreaに、図3の第1ループ記憶エリア301を表す値Area1を記憶する(ステップS1326)。
次に、CPU201は、ループ録音のTickeTime単位での記憶アドレスを示す変数RecPointerに、-TimeDivision×Beatの値をセットし、また、変数PhrasePointerに値0をセットする(ステップS1327)。この処理は、Mode1におけるステップS1306の処理と同じである。
以上のMode3からMode2への遷移処理の後の図17の(o)、(p)、(q)、(r)、及び(s)の時刻t16以降の動作例は、前述した図16の(d)、(e)、(f)、(g)、及び(h)の時刻t4以降の動作例と同様である。
次に、ユーザが、例えば図17(o)、(p)、(q)、(r)、及び(s)に示されるMode2による多重ループ録音中に、例えば第2小節まで演奏した時刻t19のタイミングで、ペダル105を長押しタップしたとする。この結果、図9のステップS902のスイッチ処理内の図11のステップS1104に対応する図13のペダル制御処理において、前述したステップS1301の判定が長押しであると判定されることにより、CPU201は、最後に録音していた多重ループ録音のみをキャンセルしてその1つ前までの多重ループ録音結果を再生するMode3に移行遷移するための処理を実行する。
即ち、CPU201はまず、Mode変数値を3にする(ステップS1327)。
次に、CPU201は、RecStart変数に値0をセットする(ステップS1328)。
以上の処理により、CPU201は、図14のルーパ制御処理において、ステップS1401の判定がNOとなることにより、ループ録音動作を即座に(時刻t19で)停止する。また、CPU201は、PlayPointer値がLoopEndまで達するのを待った後に、現在ループ再生を行っているループ記憶エリアをそのままにして、PlayPointer値を0に戻し、最初からループ再生を繰り返す(図15のステップS1412の判定がYES→S1413の判定がYES→S1414の判定がNO→S1419→S1420)。この結果、Mode2の動作において、図17(q)、(r)、(s)に示される最後の多重ループ録音が時刻t19で即座にキャンセルされ、図17(p)に示されるループ再生がループ区間の末尾であるt20まで実行された後に、時刻t20からMode3によって同じループ再生音310をループ再生することができる。ユーザは、その後、ペダル105を再度タップする等してMode2に移行し、多重ループ録音を続行することができる。
最後に、ユーザは任意のタイミングでペダル105をダブルタップすることにより、ループ動作を停止させることができる。この結果、図9のステップS902のスイッチ処理内の図11のステップS1104に対応する図13のペダル制御処理において、前述したステップS1301の判定がダブルタップであると判定されることにより、CPU201は、まずMode値を0にリセットした後(ステップS1329)、RecStart値とPlayStart値を共に0にリセットする(ステップS1330)。この結果、図14及び図15のルーパ制御処理において、ステップS1401とステップS1412の判定が共にNOとなって、CPU201は、ループ制御を停止する。
以上説明した実施形態では、一般的には楽器演奏とループ録音/再生操作を自動に行うには高度な演奏技術が必要であるが、簡単なフレーズ演奏を行いながらループ録音/再生操作を行うことにより、豊かな音楽表現が付加された楽器音声出力データ217に基づくループ録音/再生演奏を、簡単に実現することが可能となる。
以上、音声合成LSI205から出力される楽器音声出力データ217を活用した実施形態として、その楽器音声出力データ217を図2のルーパLSI220によるループ録音/再生に用いる実施形態について説明した。音声合成LSI205から出力される楽器音声出力データ217を活用した他の実施形態として、フレーズ毎の楽器音声出力データ217の出力を、自動伴奏や自動リズムなどと共に自動録音し、その後に、自動演奏を楽しむという実施形態も考えられる。これにより、ユーザは、単調なフレーズ演奏を、非常に音楽性豊かな演奏に変換して、自動演奏を楽しむことが可能となる。
その他、本発明により実現される様々な実施形態によれば、ユーザによる楽器音の演奏フレーズをプロの演奏家による楽器音の演奏フレーズに変換して、その変換された楽音を出力したりその楽音の出力に基づいてループ演奏をしたりできるようにすることが可能となる。
図6及び図7を用いて説明したHMM音響モデルを採用した統計的音声合成処理の第1の実施例では、特定の演奏家や演奏スタイルなどのフレーズ演奏に関する微妙な音楽表現を再現することが可能となり、接続歪みのない滑らかな楽器音質を実現することが可能となる。更に、学習結果615(モデルパラメータ)の変換により、別の演奏家への適応や、多様なフレーズ演奏を表現することが可能となる。更に、HMM音響モデルにおける全てのモデルパラメータを、学習用楽譜データ611及び学習用楽器音声データ612からから自働学習できることにより、特定の演奏家の特徴をHMM音響モデルとして獲得し、合成時にそれらの特徴を再現するような楽器演奏システムを自動的に構築することが可能となる。楽器音声出力の基本周波数や長さは楽譜のフレーズに従うものであり、ピッチの時間変化やリズムの時間構造を楽譜から一意に定めることもできるが、そこから合成される歌声は単調で機械的なものになり,楽器音としての魅力に欠けるものである。実際の演奏には,楽譜通りの画一化されたものだけではなく,音符音の音高や発音タイミング、拍の強弱やそれらの時間的な構造の変化により、それぞれの演奏家及び楽器の種類独自のスタイルが存在している。HMM音響モデルを採用する統計的音声合成処理の第1の実施例では、楽器演奏音におけるスペクトルデータと音源データであるピッチデータの時系列変化をコンテキストに基づいてモデル化することができ、実際のフレーズ演奏により近い楽器音声の再生が可能となる。更に、統計的音声合成処理の第1の実施例で採用されるHMM音響モデルは、あるフレーズを演奏する際、楽器の振動や共鳴特性等における楽器音の音響特徴量系列がどのような時間変化をしながら発声されるか、という生成モデルに相当する。更に、統計的音声合成処理の第1の実施例において、音符と歌声の「ずれ」のコンテキストを含むHMM音響モデルを用いることにより、演奏家の演奏技術に依存して複雑に変化する傾向を有する演奏法を正確に再現できる楽器音声の合成が実現される。このようなHMM音響モデルを採用する統計的音声合成処理の第1の実施例の技術が、例えば電子鍵盤楽器100によるリアルタイムのフレーズ演奏の技術と融合されることにより、いままで不可能であった、モデルとなる演奏家のフレーズ演奏技術を正確に反映させることのでき、まるでその演奏家が実際に演奏しているようなフレーズ演奏を、電子鍵盤楽器100の鍵盤演奏等に合わせて、実現することが可能となる。
図6及び図8を用いて説明したDNN音響モデルを採用した統計的音声合成処理の第2の実施例では、楽器音特徴量系列と音響特徴量系列の関係の表現として、統計的音声合成処理の第1の実施例における決定木に基づくコンテキストに依存したHMM音響モデルが、DNNに置き換えられる。これにより、決定木では表現することが困難な複雑な非線形変換関数によって楽器音特徴量系列と音響特徴量系列の関係を表現することが可能となる。また、決定木に基づくコンテキストに依存したHMM音響モデルでは、決定木に基づいて対応する学習データも分類されるため、各コンテキストに依存したHMM音響モデルに割り当てられる学習データが減少してしまう。これに対し、DNN音響モデルでは学習データ全体から単一のDNNを学習するため、学習データを効率良く利用することが可能となる。このため、DNN音響モデルはHMM音響モデルよりも高精度に音響特徴量を予測することが可能となり、合成される楽器音声の自然性を大幅に改善することが可能となる。更に、DNN音響モデルでは、フレームに関する楽器音特徴量系列を利用可能することが可能となる。即ち、DNN音響モデルでは、予め音響特徴量系列と楽器音特徴量系列の時間的な対応関係が決められるため、HMM音響モデルでは考慮することが困難であった「現在の音符の継続フレーム数」、「現在のフレームの音符内位置」などのフレームに関する楽器音特徴量を利用することが可能となる。これにより、フレームに関する楽器特徴量を用いることで、より詳細な特徴をモデル化することが可能となり,合成される楽器音声の自然性を改善することが可能となる。このようなDNN音響モデルを採用する統計的音声合成処理の第2の実施例の技術が、例えば電子鍵盤楽器100によるリアルタイム演奏の技術と融合されることにより、鍵盤演奏等に基づく歌声の演奏を、モデルとなる演奏家の演奏技術に更に自然に近づけることが可能となる。
以上説明した実施形態は、電子鍵盤楽器について本発明を実施したものであるが、本発明は電子弦楽器や電子管楽器等の他の電子楽器にも適用することができる。
また、電子楽器の一形態としてのルーパ装置単体としての実施形態も可能である。この場合、ユーザは、楽器の種類指定と共に音高指定をフレーズ毎に行う簡単な操作を実施形態として実現されるルーパ装置に入力させることで、プロの演奏家が行うようなループ録音/再生演奏を実現することが可能となる。
また、図6の発音モデル部608として採用可能な音声合成方式は、ケプストラム音声合成方式には限定されず、LSP音声合成方式をはじめとして様々な音声合成方式を採用することが可能である。
更に、以上説明した実施形態では、HMM音響モデルを用いた統計的音声合成処理の第1の実施例又はDNN音響モデルを用いた第2の実施例の音声合成方式について説明したが、本発明はこれに限られるものではなく、例えばHMMとDNNを組み合わせた音響モデル等、統計的音声合成処理を用いた技術であればどのような音声合成方式が採用されてもよい。
以上説明した実施形態では、音高列と楽器種類からなるフレーズは、リアルタイムに与えられているが、自動演奏データの一部として与えられてもよい。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
互いに異なる音高データにそれぞれ対応する複数の操作子と、
任意の音高データを入力することにより、或る演奏家による或る楽器演奏の音響特徴量を示す音響特徴量データを出力する学習済み音響モデルを記憶しているメモリと、
少なくとも1つのプロセッサと、
を含み、
前記少なくとも1つのプロセッサは、
前記複数の操作子のなかのいずれかの操作子へのユーザ操作に応じて、前記いずれかの操作子に対応する音高データを前記学習済み音響モデルに入力し、
入力に応じて前記学習済み音響モデルが出力した前記音響特徴量データに基づいて前記或る演奏家による前記或る楽器演奏を推論した楽器音声出力データを出力する、
電子楽器。
(付記2)
付記1に記載の電子楽器において、
前記学習済み音響モデルは、
或る演奏家による或る楽器の演奏結果を示す学習用楽器音声データと、前記学習用楽器音声データに応じた学習用音高データを含む学習用楽譜データと、を機械学習することにより得られた学習済み音響モデルである。
(付記3)
付記1または2に記載の電子楽器において、
前記楽器音声出力データは、ユーザが演奏していない演奏技法に応じた音を含む演奏表現音データを含む。
(付記4)
付記3に記載の電子楽器において、
前記演奏技法は、スラーを含むアーティキュレーションの演奏技法を含む。
(付記5)
付記1から4のいずれかに記載の電子楽器において、
前記少なくとも1つのプロセッサは、
第1ユーザ操作に応じて夫々タイミングが異なる複数の音高データのフレーズ第1データを前記学習済み音響モデルに第1入力し、
前記第1入力に応じて前記学習済み音響モデルが出力した音響特徴量データに基づいて前記或る演奏家による前記或る楽器のフレーズ第1演奏を推論した第1フレーズ楽器音声出力データを繰り返し第1出力し、
繰り返し出力しているときに、第2ユーザ操作に応じて夫々タイミングが異なる複数の音高データのフレーズ第2データを前記学習済み音響モデルに第2入力し、
前記第2入力に応じて前記学習済み音響モデルが出力した音響特徴量データに基づいて前記或る演奏家による前記或る楽器のフレーズ第2演奏を推論した第2フレーズ楽器音声出力データを、前記第1フレーズ楽器音声出力データの前記第1出力に重ね合わせて第2出力する。
(付記6)
付記5に記載の電子楽器において、
前記少なくとも1つのプロセッサは、
前記第1出力による前記第2フレーズ楽器音声出力データに含まれる各音それぞれの出力タイミングを、前記第1フレーズ楽器音声出力データの各音それぞれの出力タイミングに合うように、前記第2出力を調整する。
(付記7)
付記1から6のいずれかに記載の電子楽器において、
前記音響特徴量データは、前記或る楽器の共鳴部をモデル化したスペクトルデータと、前記或る楽器の振動源をモデル化した音源データと、を含み、
前記少なくとも1つのプロセッサは、
前記スペクトルデータと、前記音源データと、に基づいて、前記楽器音声出力データを出力する。
(付記8)
付記1から7のいずれかにに記載の電子楽器において、
前記学習済み音響モデルは、少なくともディープニューラルネットワーク及び隠れマルコフモデルのいずれかにより機械学習されている。
(付記9)
互いに異なる音高データにそれぞれ対応する複数の操作子と、
任意の音高データを入力することにより、或る演奏家による或る楽器演奏の音響特徴量を示す音響特徴量データを出力する学習済み音響モデルを記憶しているメモリと、
を備える電子楽器に、
前記複数の操作子のなかのいずれかの操作子へのユーザ操作に応じて、前記いずれかの操作子に対応する音高データを前記学習済み音響モデルに入力させ、
入力に応じて前記学習済み音響モデルが出力した前記音響特徴量データに基づいて前記或る演奏家による前記或る楽器演奏を推論した楽器音声出力データを出力させる、方法。
(付記10)
互いに異なる音高データにそれぞれ対応する複数の操作子と、
任意の音高データを入力することにより、或る演奏家による或る楽器演奏の音響特徴量を示す音響特徴量データを出力する学習済み音響モデルを記憶しているメモリと、
を備える電子楽器に、
前記複数の操作子のなかのいずれかの操作子へのユーザ操作に応じて、前記いずれかの操作子に対応する音高データを前記学習済み音響モデルに入力させ、
入力に応じて前記学習済み音響モデルが出力した前記音響特徴量データに基づいて前記或る演奏家による前記或る楽器演奏を推論した楽器音声出力データを出力させる、プログラム。
100 電子鍵盤楽器
101 鍵盤
102 第1のスイッチパネル
103 第2のスイッチパネル
104 LCD
105 ペダル
200 制御システム
201 CPU
202 ROM
203 RAM
204 音源LSI
205 音声合成LSI
206 キースキャナ
208 LCDコントローラ
209 システムバス
210 タイマ
211 D/Aコンバータ
213、307 ミキサ
214 アンプ
215 音高データ
216 発音制御データ
217 楽器音声出力データ
218 楽音出力データ
219 ネットワークインタフェース
220 ルーパLSI
221 拍データ
222 ループ再生楽器音声出力データ
301、Area1 第1ループ記憶エリア
302、Area2 第2ループ記憶エリア
303 ループ録音部
304 ループ再生部
305 フレーズ遅延部305
306 拍抽出部
310 ループ再生音
311 ループ再生音遅延出力
600 サーバコンピュータ
601 音声学習部
602 音声合成部
604 学習用音響特徴量抽出部
605 モデル学習部
606 学習済み音響モデル部
608 発音モデル部
609 音源生成部
610 合成フィルタ部
611 学習用楽譜データ
612 学習用楽器音声データ
614 学習用音響特徴量系列
615 学習結果
617 音響特徴量系列
618 スペクトルデータ
619 音源データ
本発明は、鍵盤等の操作子の操作に応じて楽器音声を再生する電子楽器、学習済モデル、学習済モデルを備える装置、電子楽器の制御方法、及びプログラムに関する。
態様の一例の電子楽器では、演奏操作子と、音高列と、前記音高列に対応した演奏に係る特徴量との関係が学習されている学習済モデルに、前記演奏操作子による演奏操作で指定される音高列のデータを入力し、前記入力に応じて前記学習済モデルが出力する特徴量のデータに基づいて楽音データを生成する制御部と、を備える。
電子鍵盤楽器の一実施形態の外観例を示す図である。 電子鍵盤楽器の制御システムの一実施形態のハードウェア構成例を示すブロック図である。 ルーパLSIの構成例を示すブロックである。 ループ録音/再生処理の第1の実施形態の動作説明図である。 クォンタイズ処理の動作説明図である。 音声学習部及び音声合成部の構成例を示すブロック図である。 統計的音声合成処理の第1の実施例の説明図である。 統計的音声合成処理の第2の実施例の説明図である。 ループ録音/再生処理の第2の実施形態における電子楽器の制御処理例を示すメインフローチャートである。 初期化処理及びテンポ変更処理の詳細例を示すフローチャートである。 スイッチ処理の詳細例を示すフローチャートである。 TickTime割込み処理の詳細例を示すフローチャートである。 ペダル制御処理の詳細例を示すフローチャートである。 ルーパ制御処理の詳細例を示すフローチャート(その1)である。 ルーパ制御処理の詳細例を示すフローチャート(その2)である。 ループ録音/再生処理の第2の実施形態の動作説明図(その1)である。 ループ録音/再生処理の第2の実施形態の動作説明図(その2)である。
図1は、電子鍵盤楽器100の一実施形態の外観例を示す図である。電子鍵盤楽器100は、演奏操作子としての複数の鍵からなる鍵盤101と、音量の指定、ループ録音のテンポ設定等の各種設定を指示する第1のスイッチパネル102と、電子鍵盤楽器100の音源の音色や音声合成される楽器音声の楽器種類の選択等を行う第2のスイッチパネル103と、各種設定データを表示するLCD104(Liquid Crystal Display:液晶ディスプレイ)等を備える。電子鍵盤楽器100には、ループ録音や再生の指示を行うための足踏み式のペダル105がケーブルで接続される。また、電子鍵盤楽器100は、特には図示しないが、演奏により生成された楽音を放音するスピーカを裏面部、側面部、又は背面部等に備える。
発音モデル部608は、音響特徴量系列617を入力することにより、CPU201より指定される音高列を含む音高データ215に対応する楽器音声出力データ217を生成する。楽器音声出力データ217は、図2のルーパLSI220に入力する。
音声合成部602から出力される楽器音声出力データ321は、図2のルーパLSI220に入力する。

Claims (17)

  1. 演奏操作子と、
    音高列と、前記音高列に対応した第1種類の演奏に係る特徴量との関係が学習されている学習済み音響モデルを記憶しているメモリと、
    前記演奏操作子による演奏操作で指定される音高列のデータを前記学習済み音響モデルに入力し、前記入力に応じて前記学習済み音響モデルが出力した前記特徴量のデータに基づいて前記第1種類の演奏に対応した楽音データを出力する制御部と、
    を備える電子楽器。
  2. 前記第1種類の演奏に係る特徴量は、或る演奏家による或る楽器の演奏に係る音響的な特徴量であり、
    前記制御部は、入力された音高列のデータに応じて前記学習済み音響モデルが出力した特徴量のデータに基づいて、前記演奏操作子によって演奏されていない前記或る演奏家の演奏技法を含む演奏に対応した楽音データをデジタル合成し、出力する、
    請求項1に記載の電子楽器。
  3. 前記第1種類の演奏に係る特徴量は、前記音高列に含まれる各音高の、発音タイミング、発音長、拍の強弱のうちの少なくとも1つを示す特徴量であり、
    前記学習済み音響モデルは、各音高の、発音タイミング、発音長、拍の強弱のいずれのデータも含まない音高列のデータを入力し、各音高の、発音タイミング、発音長、拍の強弱のうちの少なくとも1つを示す特徴量のデータを出力し、
    前記制御部は、前記学習済み音響モデルが出力した特徴量のデータに基づいて、各音高の、発音タイミング、発音長、拍の強弱のうちの少なくとも1つが調整された楽音データを出力する、
    請求項1または2に記載の電子楽器。
  4. 前記第1種類の演奏に係る特徴量は、前記音高列に含まれる各音高の、発音タイミング、発音長、拍の強弱を示す特徴量であり、
    前記学習済み音響モデルは、各音高の、発音タイミング、発音長、拍の強弱のうちの少なくとも1つを含まない音高列のデータを入力し、各音高の、発音タイミング、発音長、拍の強弱の全てを示す特徴量のデータを出力し、
    前記制御部は、前記学習済み音響モデルが出力した特徴量のデータに基づいて、各音高の、発音タイミング、発音長、拍の強弱の全てが調整された楽音データを出力する、
    請求項1から3のいずれかに記載の電子楽器。
  5. 前記学習済み音響モデルは、
    或る演奏家による或る楽器の演奏結果を示す学習用楽器音声データと、前記学習用楽器音声データに応じた学習用音高データを含む学習用楽譜データと、を機械学習することにより得られた学習済み音響モデルである、
    請求項1から4のいずれかに記載の電子楽器。
  6. 前記第1種類の演奏は、西洋の楽譜におけるシンボルであるスラーを含むアーティキュレーションズのなかの1つを少なくとも含む、
    請求項1から5のいずれかに記載の電子楽器。
  7. 前記制御部は、
    前記演奏操作子による第1ユーザ操作に応じて、第1タイミングから第2タイミングまでの複数の第1ノートを含む第1フレーズデータを取得し、
    前記第1フレーズデータに対応する前記或る演奏家の演奏技法を含む第1サウンドデータの繰り返し出力を指示する、
    請求項2または5に記載の電子楽器。
  8. 前記制御部は、
    前記演奏操作子による第2ユーザ操作に応じて、第3タイミングから第4タイミングまでの複数の第2ノートを含む第2フレーズデータを取得し、
    前記第2フレーズデータに対応する前記或る演奏家の前記演奏技法を含む第2サウンドデータの繰り返し出力を指示し、
    前記第1サウンドデータと前記第2サウンドデータを重ね合わせて繰り返し出力させる、
    請求項7に記載の電子楽器。
  9. ペダル操作子を更に含み、
    前記制御部は、前記ペダル操作子へのユーザ操作に応じて、前記第1フレーズデータ又は前記第2フレーズデータを取得する、請求項8に記載の電子楽器。
  10. 前記制御部は、
    前記第2フレーズデータにおける複数の第2ノートの各スタートタイミングを、前記第1サウンドデータにおける複数の第1ノートの、拍の先頭に必ずしも一致していない各スタートタイミングに、変更し、
    前記第1サウンドデータの複数の第1ノートの各スタートタイミングに基づいて変更された前記第2サウンドデータを生成する、
    請求項8又は9に記載の電子楽器。
  11. 前記制御部は、
    前記第2フレーズデータにおける前記複数の第2ノートの各音長を、前記第1サウンドデータの前記複数の第1ノートの各音長に、変更し、
    前記第2サウンドデータを、前記複数の第2ノートの少なくとも1音長に変更させる、
    請求項10に記載の電子楽器。
  12. 前記制御部は、
    前記演奏操作子による第1ユーザ操作に応じて夫々タイミングが異なる複数の音高データのフレーズ第1データを前記学習済み音響モデルに第1入力し、
    前記第1入力に応じて前記学習済み音響モデルが出力した音響特徴量データに基づいて前記或る演奏家による前記或る楽器のフレーズ第1演奏を推論した第1フレーズ楽器音声出力データを繰り返し第1出力し、
    繰り返し出力しているときに、第2ユーザ操作に応じて夫々タイミングが異なる複数の音高データのフレーズ第2データを前記学習済み音響モデルに第2入力し、
    前記第2入力に応じて前記学習済み音響モデルが出力した音響特徴量データに基づいて前記或る演奏家による前記或る楽器のフレーズ第2演奏を推論した第2フレーズ楽器音声出力データを、前記第1フレーズ楽器音声出力データの前記第1出力に重ね合わせて第2出力する、
    請求項2または5に記載の電子楽器。
  13. 前記制御部は、
    前記第1出力による前記第2フレーズ楽器音声出力データに含まれる各音それぞれの出力タイミングを、前記第1フレーズ楽器音声出力データの各音それぞれの出力タイミングに合うように、前記第2出力を調整する、
    請求項12に記載の電子楽器。
  14. 前記音響特徴量データは、前記或る楽器の共鳴部をモデル化したスペクトルデータと、前記或る楽器の振動源をモデル化した音源データと、を含み、
    前記制御部は、
    前記スペクトルデータと、前記音源データと、に基づいて、前記楽器音声出力データを出力する、
    請求項12または13に記載の電子楽器。
  15. 前記学習済み音響モデルは、少なくともディープニューラルネットワーク及び隠れマルコフモデルのいずれかにより機械学習されている、
    請求項1から14のいずれかに記載の電子楽器。
  16. 演奏操作子と、音高列と、前記音高列に対応した第1種類の演奏に係る特徴量との関係が学習されている学習済み音響モデルを記憶しているメモリと、を備える電子楽器が、
    前記演奏操作子による演奏操作で指定される音高列のデータを前記学習済み音響モデルに入力し、前記入力に応じて前記学習済み音響モデルが出力した前記特徴量のデータに基づいて前記第1種類の演奏に対応した楽音データを出力する処理を実行する、電子楽器の制御方法。
  17. 演奏操作子と、音高列と、前記音高列に対応した第1種類の演奏に係る特徴量との関係が学習されている学習済み音響モデルを記憶しているメモリと、を備える電子楽器に、
    前記演奏操作子による演奏操作で指定される音高列のデータを前記学習済み音響モデルに入力し、前記入力に応じて前記学習済み音響モデルが出力した前記特徴量のデータに基づいて前記第1種類の演奏に対応した楽音データを出力する処理を実行させる、プログラム。
JP2022146086A 2019-05-23 2022-09-14 電子楽器、電子楽器の制御方法、及びプログラム Active JP7476934B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022146086A JP7476934B2 (ja) 2019-05-23 2022-09-14 電子楽器、電子楽器の制御方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019096779A JP7143816B2 (ja) 2019-05-23 2019-05-23 電子楽器、電子楽器の制御方法、及びプログラム
JP2022146086A JP7476934B2 (ja) 2019-05-23 2022-09-14 電子楽器、電子楽器の制御方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019096779A Division JP7143816B2 (ja) 2019-05-23 2019-05-23 電子楽器、電子楽器の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2022168269A true JP2022168269A (ja) 2022-11-04
JP7476934B2 JP7476934B2 (ja) 2024-05-01

Family

ID=73453689

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019096779A Active JP7143816B2 (ja) 2019-05-23 2019-05-23 電子楽器、電子楽器の制御方法、及びプログラム
JP2022146086A Active JP7476934B2 (ja) 2019-05-23 2022-09-14 電子楽器、電子楽器の制御方法、及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019096779A Active JP7143816B2 (ja) 2019-05-23 2019-05-23 電子楽器、電子楽器の制御方法、及びプログラム

Country Status (5)

Country Link
US (1) US20220238088A1 (ja)
EP (1) EP3975167A4 (ja)
JP (2) JP7143816B2 (ja)
CN (1) CN113874932A (ja)
WO (1) WO2020235506A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9905210B2 (en) * 2013-12-06 2018-02-27 Intelliterran Inc. Synthesized percussion pedal and docking station
US20220215056A1 (en) * 2021-01-04 2022-07-07 Oracle International Corporation Drill back to original audio clip in virtual assistant initiated lists and reminders
WO2022172732A1 (ja) * 2021-02-10 2022-08-18 ヤマハ株式会社 情報処理システム、電子楽器、情報処理方法および機械学習システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869283A (ja) * 1994-08-29 1996-03-12 Imeeji Joho Kagaku Kenkyusho 音楽セッション装置およびシステム
JP3144273B2 (ja) 1995-08-04 2001-03-12 ヤマハ株式会社 自動歌唱装置
EP0858650B1 (en) * 1995-10-23 2003-08-13 The Regents Of The University Of California Control structure for sound synthesis
JP3776673B2 (ja) * 2000-04-06 2006-05-17 独立行政法人科学技術振興機構 音楽情報解析装置、音楽情報解析方法及び音楽情報解析プログラムを記録した記録媒体
EP1274069B1 (en) * 2001-06-08 2013-01-23 Sony France S.A. Automatic music continuation method and device
JP6187132B2 (ja) * 2013-10-18 2017-08-30 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム
JP6597903B2 (ja) * 2016-07-22 2019-10-30 ヤマハ株式会社 楽曲データ処理方法およびプログラム
JP6708179B2 (ja) * 2017-07-25 2020-06-10 ヤマハ株式会社 情報処理方法、情報処理装置およびプログラム
JP6913614B2 (ja) 2017-11-24 2021-08-04 京セラ株式会社 コンデンサ

Also Published As

Publication number Publication date
JP7476934B2 (ja) 2024-05-01
US20220238088A1 (en) 2022-07-28
EP3975167A1 (en) 2022-03-30
CN113874932A (zh) 2021-12-31
EP3975167A4 (en) 2023-02-01
WO2020235506A1 (ja) 2020-11-26
JP7143816B2 (ja) 2022-09-29
JP2020190676A (ja) 2020-11-26

Similar Documents

Publication Publication Date Title
JP6547878B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6610715B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6610714B1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP7476934B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
CN111696498B (zh) 键盘乐器以及键盘乐器的计算机执行的方法
JP7259817B2 (ja) 電子楽器、方法及びプログラム
CN113160779A (zh) 电子乐器、方法及存储介质
JP2023118866A (ja) 電子楽器、方法及びプログラム
JP2023015302A (ja) 電子機器、電子楽器、方法及びプログラム
JP2000122674A (ja) カラオケ装置
JP6819732B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6801766B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6835182B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6766935B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP2022065554A (ja) 音声合成方法およびプログラム
JP7276292B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
WO2022080395A1 (ja) 音声合成方法およびプログラム
JP7158331B2 (ja) カラオケ装置
JP2022038903A (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP2022145465A (ja) 情報処理装置、電子楽器、情報処理システム、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220922

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20231011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231220

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: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240401

R150 Certificate of patent or registration of utility model

Ref document number: 7476934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150