JP2019168517A - 電子楽器、方法及びプログラム - Google Patents

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

Info

Publication number
JP2019168517A
JP2019168517A JP2018054636A JP2018054636A JP2019168517A JP 2019168517 A JP2019168517 A JP 2019168517A JP 2018054636 A JP2018054636 A JP 2018054636A JP 2018054636 A JP2018054636 A JP 2018054636A JP 2019168517 A JP2019168517 A JP 2019168517A
Authority
JP
Japan
Prior art keywords
data
performance
waveform
storage means
waveform data
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
JP2018054636A
Other languages
English (en)
Other versions
JP2019168517A5 (ja
JP7124371B2 (ja
Inventor
佐藤 博毅
Hirotake Sato
博毅 佐藤
肇 川島
Hajime Kawashima
肇 川島
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 JP2018054636A priority Critical patent/JP7124371B2/ja
Priority to CN201910195901.3A priority patent/CN110299128B/zh
Priority to US16/359,567 priority patent/US10559290B2/en
Priority to EP19164655.3A priority patent/EP3550555B1/en
Publication of JP2019168517A publication Critical patent/JP2019168517A/ja
Publication of JP2019168517A5 publication Critical patent/JP2019168517A5/ja
Application granted granted Critical
Publication of JP7124371B2 publication Critical patent/JP7124371B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • G10H7/04Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch
    • G10H7/045Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch using an auxiliary register or set of registers, e.g. a shift-register, in which the amplitudes are transferred before being read
    • 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
    • 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
    • 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/18Selecting circuits
    • G10H1/22Selecting circuits for suppressing tones; Preference 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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/24Selecting circuits for selecting plural preset register stops
    • 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
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • 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/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/031Use of cache memory for electrophonic musical instrument processes, e.g. for improving processing capabilities or solving interfacing problems
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】大容量フラッシュメモリ29の記憶する複数の波形データから選択的に読み出された波形データを保持するRAM28を用いて音源LSI26で楽音を発生させる装置で、演奏中にRAM28に保持していない波形データが必要となった際、さらに波形データを転送して保持させる処理を円滑に実行する。【解決手段】シーケンサ42で演奏データを得、得た演奏データにイベント・タイム・ジェネレータ43及びイベント・ディレイ・バッファ44で一定の遅延時間を与え、遅延された演奏データに基づいてイベントバッファ45及び音源ドライバ48で楽音を発生させ、必要波形調査部46及び波形転送部47により演奏データからRAM28に保持していない波形データの有無を判断し、その判断結果に基づいて大容量フラッシュメモリ29から選択的に波形データを読み出してRAM28に保持させる。【選択図】 図4

Description

本発明は、電子楽器、方法及びプログラムに関する。
電子鍵盤楽器等を用いた自動演奏装置において、波形再生用バッファの容量を増大させずに、キーオン時のレスポンスを良くし、且つ自動演奏に際して楽音情報の音色割当を効率的に行なうための技術が提案されている。(例えば、特許文献1)
前記特許文献に記載された技術も含めて一般に電子楽器においては、より多数、より長時間の波形データを利用できるようにするため、使用しない波形データはフラッシュメモリやハードディスク装置等の大容量の補助記憶装置でなる2次記憶装置に記憶させておき、実際に演奏で使用する波形データのみを、音源回路がアクセスできる波形メモリでなる1次記憶装置に転送して保持させ、所望される楽音を再生させる、というシステム構成を採るものがある。
この場合、1次記憶装置を構成する高価な波形メモリと、音源回路からの直接のアクセスはできないものの、より大容量で比較的安価な2次記憶装置とを組み合わせた、コストパフォーマンスに優れた効率的な手法を実現できる。
特開平 6− 27943号公報
しかしながら前記手法においては、2次記憶装置から1次記憶装置への波形データの転送に一定の時間が必要となる。そのため、同一の音色であっても、鍵域や強さに応じて複数の波形データを切り替えて使用するような場合には、演奏中に適時波形データを転送させる処理が必要となり、その転送が完了するまではその波形に基づいた発音ができないので、演奏に支障を来すことになる。
特にシーケンサや自動伴奏などの自動演奏機能を搭載する電子楽器では、複数のパートの音源を同時に発音させるために、演奏者の演奏と合わせて、短時間に多くの発音処理を行わせるケースが多く、前記のように波形データの転送によって一部の発音が途切れるような事態が生じる可能性がある。
また、通信カラオケシステムのように、自動演奏曲を選択した時点で、必要な波形データをすべて波形メモリに転送して記憶させる方法も実現されている。しかしながら、昨今の音源や自動演奏システムでは多数のパートを有し、選択した曲内で使用する音色の数も多いため、多数の音色の波形データを予め波形メモリに転送しておく必要がある。
また1つの音色を構成する複数の波形データのうち、実際に演奏で使用されるのは一部のみである場合も多く、そのような場合には転送に要する時間と波形メモリの容量とがいずれも無駄なものとなる。このように、曲の選択時に必要となる可能性のあるすべての波形データを転送する方式は、時間とメモリ容量の点で、きわめて効率が悪い、という不具合がある。
本発明は前記のような実情に鑑みてなされたもので、その目的とするところは、音源用に保持している波形データ以外の波形データが必要となった場合に、さらに波形データを転送して保持させる際の処理を円滑に実行することが可能な電子楽器、方法及びプログラムを提供することにある。
本発明の一態様は、第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、を実行する。
本発明によれば、波形データの転送処理による演奏への影響を受けにくいので、良好に演奏できる。
本発明の一実施形態に係る電子鍵盤楽器の外観構成を示す平面図。 同実施形態に係るハードウェア上の回路構成を示すブロック図。 同実施形態に係る図2の音源LSI内の機能構成を示すブロック図。 同実施形態に係るデータ処理上の機能構成を示すブロック図。 同実施形態に係る音色の波形スプリットを例示する図。 同実施形態に係る大容量フラッシュメモリに格納されている内容と、選択的に読み出されてRAMに保持される内容との対応を例示する図。 同実施形態に係る波形再生部用波形バッファに保持するデータのディレクトリ構成を示す図。 同実施形態に係るシーケンサに記録するシーケンスデータのフォーマット構成を示す図。 同実施形態に係るトラック毎に羅列して配置されるシーケンスデータの構成を示す図。 同実施形態に係るコントロールイベントのデータフォーマットを示す図。 同実施形態に係る実際のイベントの発生タイミングとこれに対応するイベントデータの具体値の例を示す図。 同実施形態に係るイベント・ディレイ・バッファが取り扱うデータのフォーマット構成を示す図。 同実施形態に係るメインルーチンの処理内容を示すフローチャート。 同実施形態に係る図12のシーケンサ再生時のサブルーチンの処理内容を示すフローチャート。 同実施形態に係るイベント・ディレイ・バッファで実行するサブルーチンの処理内容を示すフローチャート。 同実施形態に係る音源ドライバで実行するサブルーチンの処理内容を示すフローチャート。 同実施形態に係る必要波形調査処理のサブルーチンの処理内容を示すフローチャート。 同実施形態に係る波形転送処理のサブルーチンの処理内容を示すフローチャート。
本発明を、自動伴奏機能を有する電子鍵盤楽器に適用した場合の一実施形態について、以下に図面を参照して詳細に説明する。
図1は、この電子鍵盤楽器10の外観構成を示す平面図である。同図において、電子鍵盤楽器10は、薄板状筐体の上面に、発生すべき楽音の音高を指定する、演奏操作子としての複数の鍵からなる鍵盤11と、楽音の音色を選択するための音色選択ボタン部(TONE)12と、自動伴奏機能に関する各種選択設定のためのシーケンサ操作ボタン部(SEQUENCER)13と、ピッチベンドやトレモロ、ビブラート等の各種モジュレーション(演奏効果)を付加するベンダ/モジュレーションホイール14と、各種設定情報等を表示する液晶表示部15と、演奏により生成された楽音を放音する左右のスピーカ16,16等とを備える。
前記音色選択ボタン部12は、例えばピアノや電子ピアノ、オルガン、電気ギター1,2、アコースティックギター、サクソフォン、ストリングス、シンセサイザ1,2、クラリネット、ビブラフォン、アコーディオン、ベース、トランペット、クワイヤ等の選択ボタンを有する。
前記シーケンサ操作ボタン部13は、例えばトラックを選択する「トラック1」〜「トラック4」、ソングメモリを選択する「ソング1」〜「ソング4」、一時停止(PAUSE)、再生(PLAY)、録音(REC)、曲頭戻し、巻き戻し、早送り、テンポダウン(TEMPO DOWN)、テンポアップ(TEMPO UP)等の選択ボタンを有する。
この電子鍵盤楽器10の音源はPCM(Pulse Code Moduration:パルス符号変調)波形再生方式であり、最大256音を発生させることが可能であるものとする。また、音源パート番号「0」〜「4」の5つの音源パートを持ち、16種類の音色を同時に再生可能とする。音源パート番号「0」が鍵盤11に割り当てられる一方で、音源パート番号「1」〜「4」はシーケンサ機能に割り当てられるものとする。
またこの電子鍵盤楽器10は、16のメロディ音色を搭載し、それぞれの音色番号に「1」〜「16」を割り当てるものとする。
図2は、ハードウェア上の回路構成を示すブロック図である。電子鍵盤楽器10では、バスコントローラ21がバスBと接続され、このバスB上で送受されるデータの流れを、予め設定された優先順位に従って制御する。
このバスBに対して、CPU(中央演算処理装置)22、メモリコントローラ23、フラッシュメモリコントローラ24、DMA(ダイレクトメモリアクセス)コントローラ25、音源LSI(大規模集積回路)26、及び入出力(I/O)コントローラ27がそれぞれ接続される。
CPU22は、機器全体の処理を行なうメインプロセッサである。メモリコントローラ23は、例えばSRAM(Static RAM)で構成されるRAM28を接続し、前記CPU22との間でのデータの送受を行なう。RAM28は、CPU22のワークメモリとして機能し、波形データ(自動演奏用波形データを含む)や制御プログラム、データ等を必要に応じて保持する。
フラッシュメモリコントローラ24は、例えばNAND型フラッシュメモリで構成される大容量フラッシュメモリ29を接続し、この大容量フラッシュメモリ29に格納される制御プログラムや波形データ、固定データ等をCPU22の要求に応じて読み出す。読み出された各種データ等は、前記メモリコントローラ23により前記RAM28に保持される。大容量フラッシュメモリ29は、この電子鍵盤楽器10に内蔵されるフラッシュメモリに加えて、電子鍵盤楽器10に装着されるメモリカードによりメモリ領域を拡張することも可能であるものとする。
DMAコントローラ25は、前記CPU22を介さずに、後述する周辺機器と前記RAM28、大容量フラッシュメモリ29との間でのデータの送受を制御するコントローラである。
音源LSI26は、RAM28に保持される複数の波形データを用いてデジタルの楽音再生データを生成し、D/Aコンバータ30へ出力する。
D/Aコンバータ30は、デジタルの楽音再生データをアナログの楽音再生信号に変換する。変換により得られたアナログの楽音再生信号は、さらにアンプ31により増幅された後に、前記スピーカ16,16で可聴周波数範囲の楽音として拡声出力されるか、または前記図1では示さなかった出力端子より出力される。
前記入出力コントローラ27は、前記バスBと周辺接続されるデバイスとのインタフェイスを行なうもので、LCDコントローラ32、キースキャナ33、A/Dコンバータ34を接続する。
LCDコントローラ32は、前記図1の液晶表示部(LCD)15を接続し、入出力コントローラ27、バスBを介してCPU22の制御の下に、与えられる各種動作状態等を示す情報を液晶表示部15により表示出力させる。
キースキャナ33は、前記鍵盤11や、前記音色選択ボタン部12及びシーケンサ操作ボタン部13を含むスイッチパネルでのキー操作状態を走査して、その走査結果を入出力コントローラ27を介してCPU22へ通知する。
A/Dコンバータ34は、前記ベンダ/モジュレーションホイール14や、この電子鍵盤楽器10の外付けオプション装備となるダンパペダル等の各操作位置を示すアナログ信号を受付け、当該操作量をデジタルデータに変換した上で、前記CPU22へ通知する。
図3は、前記音源LSI26内の機能構成を示すブロック図である。同図に示すように音源LSI26は、波形発生器26A、ミキサ26B、バスインタフェイス26C、及びDSP(Digital Signal Processor)26Dを有する。
波形発生器26Aは、バスインタフェイス26Cを介してRAM28から与えられる波形データに基づいてそれぞれ楽音を再生する256組の波形再生部1〜256を有し、再生されたデジタル値の楽音再生データがミキサ26Bに送られる。
ミキサ26Bは、波形発生器26Aから出力される楽音再生データを混合し、必要に応じて音源LSI26に送って音響処理を実行させ、実行後のデータをDSP26Dから受け取って、後段のD/Aコンバータ30へ出力する。
バスインタフェイス26Cは、前記バスBを介して、前記波形発生器26A、ミキサ26B、及びバスインタフェイス26Cとの入出力制御を行なうインタフェイスである。
DSP26Dは、バスインタフェイス26Cを介して前記CPU22から与えられた指示に基づき、音源LSI26から楽音再生データを読み出して音響処理を加えた上で、ミキサ26Bに送り返す。
次に図4により、CPU22の制御の下に実行される処理上の機能構成を示すブロック図についても説明しておく。
同図において、この電子鍵盤楽器10の演奏者による、前記音色選択ボタン部12での音色選択操作に対応した操作信号、鍵盤11での操作に伴うノート情報のオン/オフ信号、及び、ベンダ/モジュレーションホイール14やオプションとなるダンパペダルでの操作による操作信号が、シーケンサ42、及びイベントバッファ45に入力される。
また前記シーケンサ42には、シーケンサ操作ボタン部13での操作信号と、ソングメモリ41からの自動演奏データとが入力される。ソングメモリ41は、実際には前記大容量フラッシュメモリ29内に構築されるもので、複数曲、例えば4曲分の自動演奏データを記憶可能なメモリであり、再生時にはシーケンサ操作ボタン部13で選択した1曲分の自動演奏データをRAM28に保持させることで、前記シーケンサ42に読み出す。
シーケンサ42は、図示するように4トラック(「Track1」〜「Track4」)の構成となっており、前記ソングメモリ41から選択して読み出される1曲の自動演奏データを用いて演奏や録音を行なうことができる。
録音時には、いずれかの録音対象トラックを選択して演奏者の演奏を記録することが可能となる。また再生時には、4つのトラックを同期させて、出力する演奏データをミックスした状態で出力する。この電子鍵盤楽器10を操作する演奏者は、シーケンサ操作ボタン部13において必要なボタンを操作することにより、それらの動作を選択して指示する。
前記シーケンサ42から出力される最大4トラック分の演奏データが、イベント・ディレイ・バッファ44、及び必要波形調査部46へ送出される。
イベント・ディレイ・バッファ44は、前記図2のRAM28のワーク領域に形成されたリングバッファで構成され、イベント・タイム・ジェネレータ43から与えられる現在時刻情報Tに基づいて、シーケンサ42から送られてきた演奏データを予め設定された一定時間、例えば50[ミリ秒]だけ遅延した後に前記イベントバッファ45へ送出する。そのため、イベント・ディレイ・バッファ44は、前記一定時間に発生し得るイベントを保持できるだけの容量が確保されている。
前記必要波形調査部46は、前記図2のRAM28のワーク領域に形成され、前記シーケンサ42から送られてくる演奏データ(この演奏データには、音色番号、Key番号、ベロシティ情報からなる識別子が含まれており、この識別子を参照することにより必要波形が調査できる)と、後述する音源ドライバ48から送られてくる、その時点で情報している波形データの情報とから、あらたに必要となる波形データを判断し、判断結果を波形転送部47へ出力する。波形転送部47は、波形転送部47から指示された波形データを前記大容量フラッシュメモリ29から読み出し、前記RAM28へ転送して保持させる。
前記イベントバッファ45は、前記図2のRAM28のワーク領域に形成され、前記鍵盤11、音色選択ボタン部12、ベンダ/モジュレーションホイール14等から送られてくる操作信号と、前記イベント・ディレイ・バッファ44で遅延された演奏データとを保持し、その保持内容を音源ドライバ48へ送出する。
音源ドライバ48は、前記図2の音源LSI26をコントロールするインタフェイスであり、イベントバッファ45から与えられる入力に基づいて、最大同時発音数の範囲内でデジタルの楽音再生データを発生させる。すなわちユーザにより鍵盤11を含む演奏操作子からリアルタイムに入力されるイベントと、自動演奏させる演奏データに含まれるイベントの発生タイミングをイベント・ディレイ・バッファ44により遅延させたイベントと、に基づいて音源ドライバ48は楽音を発生させる。詳細には、演奏データを遅延させた遅延演奏データに応じた自動演奏をさせる際に、遅延演奏データに含まれる識別子(音色番号と、Key番号、ベロシティ情報)に対応する自動演奏用波形データを出力するタイミングに合わせて、自動演奏用波形データはRAM28内から読み込まれる。発生された楽音再生データは、前記D/Aコンバータ30、アンプ31及びスピーカ16,16で構成される発音部49により楽音として出力される。
次に前記実施形態の動作について説明する。
まず、すべての波形データを格納している大容量フラッシュメモリ29と、大容量フラッシュメモリ29から読み出した必要な波形データの書き込みや、必要な波形データの読み出しを制御するメモリコントローラ23の動作について説明する。
本実施形態では、前述した如く音源が5つのパートから構成され、5種類の音色を同時に発生させることができるものとする。
各音色は、それぞれ1音色当たり最大32種類の波形データから構成され、波形データは大容量フラッシュメモリ29に格納されている。それぞれの波形データの最大値を最大64kバイトとする。
図5は、1つの音色での波形スプリットを例示する図である。同図に示す如く、0〜127のキーと0〜127のベロシティとによって2次元的に帯域を分割して、最大32個のスプリット(分割)エリアに、それぞれ波形データが割り当てられる。すなわち、鍵番号であるキーと、押鍵時の強さであるベロシティの2つの要因から波形データを1つだけ決定する構成を採っている。
図6は、実際に大容量フラッシュメモリ29に格納されている内容と、選択的に読み出されてRAM28に保持される内容との対応を例示する図である。
大容量フラッシュメモリ29は、音色波形ディレクトリと、音色波形データ、音色パラメータ、CPUプログラム、CPUデータ、DSPプログラム、及びDSPデータを格納している。
前記音色波形ディレクトリは、各音色の波形データについて、どのような条件で分割されているのかというキー域及びベロシティ域の情報と、実際に大容量フラッシュメモリ29内でどのアドレスに配置されている、どの程度の長さを有するのか、という情報をまとめたテーブルである。
音色波形データは、例えば16の音色毎に32個の波形データを有するものとして最大512個の波形データから前記フラッシュメモリコントローラ24により選択的に読み出される。
音色パラメータは、各音色毎に波形データをどのように取扱うかを示す各種パラメータを羅列したデータである。
CPUプログラムは、CPU22が実行する制御プログラムであり、CPUデータは、CPU22が実行する制御プログラム中で使用する固定データ等である。
DSPプログラムは、音源LSI26のDSP26Dが実行する制御プログラムであり、DSPデータは、DSP26Dが実行する制御プログラム中で使用する固定データ等である。
RAM28は、音色波形ディレクトリ、波形再生部用波形バッファ、音色パラメータ、CPUプログラム、CPUデータ、CPUワーク、DSPプログラム、DSPデータ、及びDSPワークを保持するための各領域を有する。
前記音色波形ディレクトリ用の領域では、各音色の波形データが分割されているキー域及びベロシティ域の情報と、このRAM28内での配置アドレス、データ長等の情報をテーブルとして保持する。
波形再生部用波形バッファの領域では、大容量フラッシュメモリ29から選択的に読み出した波形データを、前記音源LSI26の波形発生器26A内の256個の波形再生部それぞれに割り当てられたバッファに転送して保持する。この領域に保持する波形データは、自動演奏の再生時に発音が必要となったタイミングで随時、前記大容量フラッシュメモリ29から読み出される。
音色パラメータ用の領域では、各音色毎の波形データを示す各種パラメータを保持する。
CPUプログラム用の領域では、CPU22が実行する制御プログラムの一部を大容量フラッシュメモリ29から読み出して保持する。CPUデータ用の領域では、CPU22が実行する制御プログラム中で使用する固定データ等を保持する。CPUワーク用の領域では、前記図4のシーケンサ42、イベント・タイム・ジェネレータ43、イベント・ディレイ・バッファ44、イベントバッファ45、必要波形調査部46、波形転送部47、及び音源ドライバ48に相当するバッファ等を構成して必要なデータ等を保持する。
DSPプログラム用及びDSPデータ用の領域では、音源LSI26のDSP26Dが実行する制御プログラム、固定データ等をそれぞれ大容量フラッシュメモリ29から読み出して仲介して保持する。DSPワーク用の領域では、DSP26Dがミキサ26Bから読み出して音響処理する楽音再生データ等を保持する。
次にCPU22で実行するキーアサイン処理について説明する。鍵盤11での押鍵時には、まずキーアサイン処理により、押鍵された鍵番号を割り当てる音源LSI26の波形発生器26A内の波形再生部を決定する。このとき、発音を停止している波形再生部を優先して割り当てる。
その時点で設定されている音色のスプリット情報から波形番号を特定し、当該波形番号の波形データがRAM28の波形再生部用波形バッファのいずれからすでに保持されているか否かを調査する。
同波形データがバッファに保持されていない場合、所望の波形を新規に大容量フラッシュメモリ29から読み出して転送設定する。これは、演奏者による鍵盤11での演奏に基づいた発音のための波形データである場合か、あるいはシーケンサ42での発音であるが、大容量フラッシュメモリ29からの読み出しが完了していない場合が考えられる。後者の読み出しが完了していない場合では、途中まで転送が行われている可能性も含むので、その完了を待機する。
波形データがRAM28のバッファに保持され、その保持位置が確定した時点で発音のため、音源LSI26の波形発生器26Aへの読み出しを開始する。
図7は、RAM28の波形再生部用波形バッファに保持するデータのディレクトリ構成を示す。バッファ番号「0」〜「255」毎に、転送済みフラグ、音色番号、音色内波形番号、及び波形サイズを保持している。
前記転送済みフラグは、そのバッファに波形データが保持されているかどうかを示すフラグであり、大容量フラッシュメモリ29からの転送が完了した時点で「1」をセットする。
図8は、前記シーケンサ42に記録するシーケンスデータのフォーマットを示す図である。同図に示すように、イベントデータ長L(LENGTH)、イベント内容E(EVENT)、及び次のイベントまでの時間間隔を示すインターバルI(INTERVAL)の3つのフィールドを1組のデータとして、図9に示すように各トラック毎にこれらのデータの複数の組がそれぞれ羅列される。
イベントデータ長Lのフィールドは、続くイベント内容Eの長さを定義するもので、8ビットの固定語長で「0」〜「255」の値域となるため、実際のデータ長を「−1」した値をとる。
イベント内容Eのフィールドは、1バイト乃至256バイトの可変となる語長をとり、16進数で先頭の2桁が「00H」〜「7FH」で始まる場合は後述する図10で示すコントロールイベントである一方、「90H」〜「FFH」で始まる場合はMIDI(Musical Instruments Digital Interface)イベントとなる。
インターバルIのフィールドは、16ビットの固定長で「0」〜「65535」の値域となり、1拍を480分割したTickという単位で次のイベントまでの時間間隔を表現する。もし16ビットの最大値である「65535」Tick以上の時間間隔が発生した場合には、コントロールイベントである前記「NOP」イベントを使ってダミーとなるイベントを必要なだけ繋げることで、長時間を表現する。
図10は、コントロールイベントのフォーマットを示す図である。例えばトラックの先頭やインターバルタイムが655535足りないときにダミーイベントとして使用する「NOP(Non OPeration)」イベント、トラックの最後に配置する「EOT(End Of Track)」イベント、テンポを設定するための「TEMPO」イベント等が存在する。
前記「TEMPO」イベントは、トラック1のみでしか配置、認識することができず、トラック1の記録(録音)中にシーケンサ操作ボタン部13のテンポボタンを操作することで定義される。前記「TEMPO」イベントでは、分解能を例えば0.1[BPM]単位で設定する。
図11は、実際のイベントの発生タイミング(図11(A))と、これに対応するイベントデータ(図11(B))の具体値の例を示す図である。
図11(A)に示すように、開始時のTEMPOイベント、押鍵(NOTE ON)イベント、離鍵(NOTE OFF)イベント、‥‥、ピッチベンドイベントを経てトラック終了のEOTイベントとなる一連の流れを例示している。
同図中、Kはノート番号(音階)、Vは音の強さ、Pbはピッチベンド、T1〜Tnはインターバルの時間間隔を示している。
次に図12により、前記イベント・ディレイ・バッファ44で取り扱うデータのフォーマット構成について説明する。前述した如くイベント・ディレイ・バッファ44は、演奏データを一定時間だけ遅延させるための回路である。
ここで取扱うデータのフォーマット構成は、前記図8に示したシーケンスデータのフォーマット構成に比して、インターバルIのフィールドを廃し、代わって先頭にタイムTのフィールドを設けて、タイムT、イベントデータ長L、及びイベント内容Eの3つのフィールドを1組のデータとする構成となる。
タイムTのフィールドは、32ビットの固定語長で「0H」〜「FFFFFFFFH」の値域となり、当該イベントが処理されるべき時刻を定義する。
続くイベントデータ長Lのフィールド、及びイベント内容Eのフィールドは、前記図8で示したシーケンサのイベントデータと同様の内容となる。
自動演奏用の演奏データを、このイベント・ディレイ・バッファ44で一定時間だけ遅延させる。そのため、次にRAM28に必要な波形データが保持されていない状態から、大容量フラッシュメモリ29から必要な波形データを読み出して転送させ、RAM28で保持させるまでの時間を確保することで、演奏データに対する再生処理時に必要な波形データの転送が完了しておらず、演奏の楽音が部分的に欠落するような事態を回避できるものである。
前記遅延時間は、前述した如く例えば50[ミリ秒]に設定し、シーケンサ操作ボタン部13でのボタン操作に対応して遅延を行なうもので、この電子鍵盤楽器10の使用者は、実際に演奏される(遅延された)楽曲再生された音声に合わせて演奏を行なうので、前記遅延時間を認識することはなく、その演奏には何ら影響しない。
イベント・タイム・ジェネレータ43は、前記遅延時間の基準となる計時回路であり、最大値FFFFFFFFHの次に0Hに戻る32ビットのフリーランニングタイマで構成される。イベント・タイム・ジェネレータ43は、1[ミリ秒]毎に1づつ計時値をインクリメントする。
イベント・ディレイ・バッファ44は、前記Tickがテンポに依存するので遅延時間の基準とはなり得ないため、前述した如くイベント・タイム・ジェネレータ43の計時値に基づいて、保持内容を遅延して出力する。
イベント・ディレイ・バッファ44では、シーケンサ42の出力する演奏データが入力された際、イベント・タイム・ジェネレータ43の計時する時刻Tを読み取り、その値に遅延時間に相当する50を加算した時刻情報を当該演奏データに付加しておく。
イベント・ディレイ・バッファ44は、読み出しポイントに待機しているイベントに付加されている時刻情報が、イベント・タイム・ジェネレータ43の計時値と一致するか、または経過した時点で当該イベントを読み出して第1イベントバッファ45へ送出する。
以下、前記CPU22が実行する制御プログラムについて説明する。
図13は、CPU22が実行するメインルーチンの処理内容を示すフローチャートである。電子鍵盤楽器10の電源を投入して本メインルーチンを開始し、CPU22はまず回路内の各部を初期化する(ステップS101)。この初期化に関する処理は、大容量フラッシュメモリ29からCPUプログラム、CPUデータ、DSPプログラム、DSPデータを読み出してRAM28に保持させた後、大容量フラッシュメモリ29から音色波形ディレクトリの必要な情報をRAM28上の指定したアドレスに転送して保持させる処理を含む。
初期化完了後にCPU22は、鍵盤11等での押鍵、離鍵操作に対する鍵盤処理や音色選択ボタン部12、シーケンサ操作ボタン部13でのボタン操作に対するスイッチ処理を含むイベント処理(ステップS102)、シーケンサ42での演奏データの再生や停止中を行なうシーケンサ処理(ステップS103)、イベント・ディレイ・バッファ44でのイベントデータに対するディレイ処理や必要波形調査部46で定期的に実行する処理などを含む周期処理(ステップS104)を順次繰返して実行する。
前記ステップS102におけるイベント処理中、鍵盤11での押鍵イベントがあった場合、CPU22は押鍵された鍵盤の位置に応じたノート番号と押鍵時の強さに応じたベロシティとを含む鍵盤発音イベントを生成し、生成した発音イベントをイベントバッファ45に送信する。
同様にイベント処理中、鍵盤11での離鍵イベントがあった場合、CPU22は離鍵された鍵盤の位置に応じたノート番号と離鍵時の強さに応じたベロシティとを含む鍵盤消音イベントを生成し、生成した消音イベントをイベントバッファ45に送信する。
イベントバッファ45にイベントが送信された場合、音源ドライバ48はイベントバッファ45に保持されているイベントを取得した上で、音源LSI26を含む発音部49による発音や消音の処理を実行する。
図14は、前記ステップS103のシーケンサ処理で実行される、シーケンサ再生時のサブルーチンのフローチャートである。電子鍵盤楽器10の演奏者がシーケンサ操作ボタン部13の再生(PLAY)を操作した場合、CPU22によりこの図14の処理が起動される。
処理当初には、まず再生開始からのTickを更新した上で(ステップS201)、更新したTickで処理するイベントがあるか否かを判断する(ステップS202)。
処理するイベントがあると判断した場合(ステップS202のYes)、詳細な処理を後述する必要波形調査処理を実行する(ステップS203)。
次に、イベント・タイム・ジェネレータ43から現在の時刻情報Tを取得する(ステップS204)。
CPU22は、この取得した時刻情報Tに、一定の遅延時間50[ミリ秒]を加算した時刻をイベントの時刻TIMEとして当該イベントデータに付加した上で(ステップS205)、前記のようにイベント・ディレイ・バッファ44に送信して保持させる(ステップS206)。
その後、前記ステップS202からの処理に戻り、同一のTickで他に処理すべきイベントがあれば、同様の処理を繰返し実行する。
前記ステップS202において、イベントがない、もしくは同一のTickで処理すべきイベントを完了したと判断した場合(ステップS202のNo)、CPU22はこの図14の処理を終了する。
図15は、前記図13のステップS104において、シーケンサ42から送信されてきたイベントデータを保持するイベント・ディレイ・バッファ44で周期的に実行する処理を示すサブルーチンのフローチャートである。
CPU22は、イベント・ディレイ・バッファ44により、まずイベント・タイム・ジェネレータ43から現在の時刻情報Tを取得させる(ステップS301)。
次にCPU22は、イベント・ディレイ・バッファ44の読み出し用のリードポインタに示されるイベントデータに付加されている時間情報TIMEを取得し、取得した時刻情報TIMEが、その直前にイベント・タイム・ジェネレータ43から取得した現在の時刻情報Tと等しいか、あるいは超えているか否かにより、その時点のタイミングで処理すべきイベントデータがあるか否かを判断する(ステップS302)。
取得した時刻情報TIMEが、その直前に取得した現在の時刻情報Tと等しいか、あるいは超えていると判断した場合(ステップS302のYes)、CPU22は、該当するイベントデータをイベント・ディレイ・バッファ44から読み出してイベントバッファ45へ送信させる(ステップS303)。
次にCPU22は、前記リードポインタの値を1イベント分更新設定した上で(ステップS304)、再び前記ステップS302からの処理に戻り、まだこのタイミングで他に処理すべきイベントデータがあれば、同様に読み出して第1イベントバッファ45へ送信させる。
そして、前記ステップS302において、イベント・ディレイ・バッファ44の読み出し用のリードポインタに示されるイベントデータに付加されている時間情報TIMEが現在の時刻情報Tに達していないと判断した場合、もしくはイベント・ディレイ・バッファ44から読み出すべきイベントデータがないと判断した場合に(ステップS302のNo)、この図15の処理を終了する。
図16は、CPU22が前記音源ドライバ48により実行させるサブルーチンの処理内容を示すフローチャートである。
処理当初にCPU22は、イベントバッファ45に送信されてきたイベントデータを取得する(ステップS401)。CPU22は、取得したイベントデータが発音イベントであるか否かを判断する(ステップS402)。イベントデータが発音イベントであると判断した場合(ステップS402のYes)、CPU22はキーアサイン処理により、音源LSI26の波形発生器26A内の256個の波形再生部の1つを割り当てる(ステップS403)。
次にCPU22は、その発音イベントで使用する波形データをあらたに大容量フラッシュメモリ29から読み出して転送させる必要があるか否かを調べるため、詳細な処理を後述する必要波形調査処理を実行する(ステップS404)。
また前記ステップS402において、取得したイベントデータが発音イベントではないと判断した場合(ステップS402のNo)、CPU22は前記ステップS403,S404の処理を省略する。
その後にCPU22は、取得したイベントデータに応じた発音または消音処理を実行した上で(ステップS405)、この図16による音源ドライバ48での処理を一旦終了する。
図17は、前記図4の必要波形調査部46が実行する、前記図14のステップS203、及び前記図16のステップS404での必要波形調査処理のサブルーチンの処理内容を示すフローチャートである。
処理当初にCPU22は、発生したイベントが発音イベントであるか否かを判断する(ステップS501)。発音イベントではないと判断した場合(ステップS501のNo)、CPU22はこの図17の処理を終了する。
前記ステップS501において、発生したイベントが発音イベントであることを確認すると(ステップS501のYes)、CPU22はその発音イベントで必要とされる波形データの波形番号を取得する(ステップS502)。
以下、この波形番号の取得の詳細について説明する。
CPU22は、取得した発音イベントにおいて記述されるキー番号とベロシティを取得し、RAM28のCPUワーク領域から音色番号を取得する。その後、大容量フラッシュメモリ29の音色波形ディレクトリのテーブル先頭から、音色番号が一致し、且つノート番号が最大キー番号以下、且つ最小キー番号以上であり、且つ、ベロシティが最大ベロシティ以下、且つ最小ベロシティ以上であるテーブルの波形番号と波形サイズ、及び音色波形領域の先頭からのアドレスを取得する。
そして、取得したそれらを基準として、RAM28の波形再生部用波形バッファを変数i(i=1,2,…,256)を用いて順次サーチして、波形番号が一致する波形データがあるか否かにより、すでにこのRAM28の波形再生部用波形バッファに必要とする波形データが保持されているか否かを判断する(ステップS503〜S506)。
波形番号が一致する波形データがすでにバッファされていると判断した場合(ステップS504のYes)、CPU22はあらたに大容量フラッシュメモリ29から必要な波形データを転送させる必要がないものとして、この図17の処理を終了する。
また波形番号が一致する波形データがないままに256番目の波形バッファの調査を終え、結果としてRAM28には必要な系データが保持されていないと判断した場合(ステップS506のYes)、CPU22は大容量フラッシュメモリ29から必要な波形データを読み出して転送する要求を発生した上で(ステップS507)、以上でこの図17の処理を終了する。
図18は、前記要求に基づいてCPU22が実行する、波形データの転送処理のサブルーチンの処理内容を示すフローチャートである。図4の機能回路上の構成では、必要波形調査部46からの要求に応じて波形転送部47が実行する。
CPU22はまず、RAM28の波形再生部用波形バッファ領域の256個の波形バッファに対し、少なくとも1つの空きがあるか否かを判断する(ステップS601)。ここで空いている波形バッファがあると判断した場合(ステップS601のYes)、CPU22は大容量フラッシュメモリ29から必要な波形データを読み出し、その空いている波形バッファに転送して保持させた上で(ステップS604)、以上でこの図18の処理を終了する。
また前記ステップS601において、空いている波形バッファが1つもないと判断した場合(ステップS601のNo)、CPU22は、256個の波形バッファ中、音楽的に最も優先度の低い波形データを保持しているものを、音色番号とキー番号領域、及びベロシティ等を含む要因に基づいて1つ選択し、選択した内容により音源LSI26の波形発生器26A内で、対応する波形再生部によりクリックノイズが発生しない程度の短時間、例えば2[ミリ秒]中に発音を無段階で減衰させる急速ダンプ処理を実行させる(ステップS602)。
CPU22は、この処理により急速ダンプ処理が終了するのを待機する(ステップS603)。そして、前記急速ダンプ処理が終了したと判断した時点で(ステップS603のYes)、CPU22はあらためて大容量フラッシュメモリ29から必要な波形データを読み出し、前記ダンプ処理した波形データを保持していた波形バッファに転送し、上書きして保持させた上で(ステップS604)、以上でこの図18の処理を終了する。
このように、自動演奏中に必要な波形データを大容量フラッシュメモリ29から読み出し、RAM28に転送して保持させる場合であっても、実際に演奏で発音する波形データは、前記イベント・タイム・ジェネレータ43、イベント・ディレイ・バッファ44を用いて前述した一定時間、例えば50[ミリ秒]だけ遅延したであるため、前記あらたな波形データの転送に要する時間を十分確保した上で、欠落等を生じずに演奏を継続することができる。
以上詳述した如く本実施形態によれば、音源用に保持している波形データ以外の波形データが必要となった場合に、さらに波形データを転送して保持させる際の処理を円滑に実行することが可能となる。
また前記実施形態では、自動演奏事態は一定時間だけ遅延した内容となるものの、それに合わせた鍵盤11での演奏には遅延を生じないため、演奏者は前記遅延時間を意識することなく、自動演奏を伴った演奏を楽しむことができる。
また前記演奏中の大容量フラッシュメモリ29からRAM28への波形データの転送に際して、RAM28で保持できる波形バッファに空きがないと判断された場合には、その時点ですでに保持されている波形データ中で、音楽的に優先度が低く、消音したとしても全体の演奏に最も影響が少ないと思われる波形データを選択した上で、その発音をクリックノイズが発生しない程度の十分に短い時間幅で急速に減衰処理させた上で、当該波形データが保持されていたバッファ位置に、あらたに波形データを転送設定して保持させるものとしたので、演奏に用いる波形データを保持できるRAM28の容量が限られている場合でも、演奏内容に大きな影響を与えることなく、波形データの転送を実現できる。
なお前記実施形態では、鍵盤11を用いた電子鍵盤楽器10に適用した場合について説明したが、本発明は電子楽器としての種類等を限定するものではなく、演奏データの自動再生が可能な電子機器であれば、ソフトウェアを含む各種シンセサイザやタブレット端末、パーソナルコンピュータ等でも同様に適用することが可能となる。
その他、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行する電子楽器。
[請求項2]
前記出力処理は、前記演奏データに含まれる各イベントが発生するタイミングにそれぞれ一定の遅延時間を与える遅延処理を実行することにより前記遅延演奏データを出力する、請求項1に記載の電子楽器。
[請求項3]
前記自動演奏処理による前記遅延演奏データに応じた前記自動演奏に合わせて演奏操作子が操作されることにより前記操作に応じた楽音を前記発音部に発音させる演奏処理、をさらに実行する請求項1または2に記載の電子楽器。
[請求項4]
前記転送処理は、前記第2の記憶手段内に前記複数の自動演奏用波形データが記憶されていない場合に、前記複数の自動演奏用波形データを前記第1の記憶手段内から前記第2の記憶手段に転送する、請求項1乃至3のいずれかに記載の電子楽器。
[請求項5]
電子楽器のコンピュータに、
第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行させる方法。
[請求項6]
電子楽器のコンピュータに、
第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
を実行させるプログラム。
10…電子鍵盤楽器、
11…鍵盤、
12…音色選択ボタン部(TONE)、
13…シーケンサ操作ボタン部(SEQUENCER)、
14…ベンダ/モジュレーションホイール、
15…液晶表示部、
16…スピーカ、
21…バスコントローラ、
22…CPU、
23…メモリコントローラ、
24…フラッシュメモリコントローラ、
25…DMAコントローラ、
26…音源LSI、
26A…波形発生器、
26B…ミキサ、
26C…バスインタフェイス、
26D…DSP、
27…入出力(I/O)コントローラ、
28…RAM、
29…大容量フラッシュメモリ、
30…D/Aコンバータ、
31…アンプ、
32…LCDコントローラ、
33…キースキャナ、
34…A/Dコンバータ、
41…ソングメモリ、
42…シーケンサ、
43…イベント・タイム・ジェネレータ、
44…イベント・ディレイ・バッファ、
45…イベントバッファ、
46…必要波形調査部、
47…波形転送部、
48…音源ドライバ、
49…発音部、
B…バス

Claims (6)

  1. 第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
    前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
    前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
    前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
    前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
    を実行する電子楽器。
  2. 前記出力処理は、前記演奏データに含まれる各イベントが発生するタイミングにそれぞれ一定の遅延時間を与える遅延処理を実行することにより前記遅延演奏データを出力する、請求項1に記載の電子楽器。
  3. 前記自動演奏処理による前記遅延演奏データに応じた前記自動演奏に合わせて演奏操作子が操作されることにより前記操作に応じた楽音を前記発音部に発音させる演奏処理、をさらに実行する請求項1または2に記載の電子楽器。
  4. 前記転送処理は、前記第2の記憶手段内に前記複数の自動演奏用波形データが記憶されていない場合に、前記複数の自動演奏用波形データを前記第1の記憶手段内から前記第2の記憶手段に転送する、請求項1乃至3のいずれかに記載の電子楽器。
  5. 電子楽器のコンピュータに、
    第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
    前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
    前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
    前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
    前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
    を実行させる方法。
  6. 電子楽器のコンピュータに、
    第1の記憶手段内に記憶されている複数の自動演奏用波形データをそれぞれ特定できる複数の識別子を含む演奏データを読み込む読込処理と、
    前記読込処理により読み込まれた前記演奏データに含まれる前記複数の識別子に基づいて、前記第1の記憶手段から第2の記憶手段への転送が必要となる前記複数の自動演奏用波形データを調査する調査処理と、
    前記調査処理により調査した前記転送が必要となる複数の自動演奏用波形データを、前記第1の記憶手段内から前記第2の記憶手段に転送する転送処理と、
    前記読込処理により読み込まれた前記演奏データの再生開始タイミングを遅らせた遅延演奏データを出力する出力処理と、
    前記複数の自動演奏波形データを出力するタイミングに合わせて前記第2の記憶手段内に記憶されている前記複数の自動演奏波形データを読み込み、前記出力処理により出力した前記遅延演奏データに応じた自動演奏を発音部に発音させる自動演奏処理と、
    を実行させるプログラム。
JP2018054636A 2018-03-22 2018-03-22 電子楽器、方法及びプログラム Active JP7124371B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018054636A JP7124371B2 (ja) 2018-03-22 2018-03-22 電子楽器、方法及びプログラム
CN201910195901.3A CN110299128B (zh) 2018-03-22 2019-03-15 电子乐器、方法、存储介质
US16/359,567 US10559290B2 (en) 2018-03-22 2019-03-20 Electronic musical instrument, method, and storage medium
EP19164655.3A EP3550555B1 (en) 2018-03-22 2019-03-22 Electronic musical instrument, method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018054636A JP7124371B2 (ja) 2018-03-22 2018-03-22 電子楽器、方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2019168517A true JP2019168517A (ja) 2019-10-03
JP2019168517A5 JP2019168517A5 (ja) 2021-05-06
JP7124371B2 JP7124371B2 (ja) 2022-08-24

Family

ID=65910968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018054636A Active JP7124371B2 (ja) 2018-03-22 2018-03-22 電子楽器、方法及びプログラム

Country Status (4)

Country Link
US (1) US10559290B2 (ja)
EP (1) EP3550555B1 (ja)
JP (1) JP7124371B2 (ja)
CN (1) CN110299128B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081204A (zh) * 2019-11-26 2020-04-28 韩冰 电子乐器及其控制方法、计算机可读介质
JP7419830B2 (ja) * 2020-01-17 2024-01-23 ヤマハ株式会社 伴奏音生成装置、電子楽器、伴奏音生成方法および伴奏音生成プログラム
JP7192831B2 (ja) * 2020-06-24 2022-12-20 カシオ計算機株式会社 演奏システム、端末装置、電子楽器、方法、およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04168491A (ja) * 1990-10-31 1992-06-16 Brother Ind Ltd 楽音再生装置
JPH07271372A (ja) * 1994-04-01 1995-10-20 Kawai Musical Instr Mfg Co Ltd 電子楽器
JPH10124051A (ja) * 1996-08-30 1998-05-15 Yamaha Corp 曲データ加工方法、加工後曲データ再生方法および記憶媒体
JPH10124059A (ja) * 1996-08-30 1998-05-15 Yamaha Corp 楽音発生方法および記憶媒体
JP2004177981A (ja) * 2004-02-02 2004-06-24 Yamaha Corp 楽音生成装置
JP2005173136A (ja) * 2003-12-10 2005-06-30 Yamaha Corp 音楽システム及び音楽データ送受装置
JP2006243103A (ja) * 2005-03-01 2006-09-14 Yamaha Corp 電子楽器

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2836028B2 (ja) * 1990-09-12 1998-12-14 カシオ計算機株式会社 自動演奏装置
JPH04288596A (ja) 1991-01-09 1992-10-13 Brother Ind Ltd 電子音楽再生装置
JP2639271B2 (ja) * 1992-01-16 1997-08-06 ヤマハ株式会社 自動演奏装置
JP2661468B2 (ja) 1992-07-10 1997-10-08 ヤマハ株式会社 自動演奏装置
JP3122277B2 (ja) 1993-03-12 2001-01-09 ローランド株式会社 電子楽器
JP2671747B2 (ja) * 1993-04-27 1997-10-29 ヤマハ株式会社 楽音形成装置
JP3235409B2 (ja) * 1995-06-07 2001-12-04 ヤマハ株式会社 ミュージックシステム、音源および楽音合成方法
JP3293474B2 (ja) * 1996-06-06 2002-06-17 ヤマハ株式会社 楽音発生方法
JP3163984B2 (ja) * 1996-06-28 2001-05-08 ヤマハ株式会社 楽音発生装置
JP3152196B2 (ja) * 1998-01-07 2001-04-03 ヤマハ株式会社 楽音発生回路
JP3980750B2 (ja) * 1998-04-23 2007-09-26 ローランド株式会社 電子楽器
JP3551818B2 (ja) 1999-03-24 2004-08-11 ヤマハ株式会社 楽音生成方法および楽音生成装置
JP3700599B2 (ja) * 2001-03-29 2005-09-28 ヤマハ株式会社 音色選択装置及び方法
JP2003330464A (ja) * 2002-05-14 2003-11-19 Casio Comput Co Ltd 自動演奏装置および自動演奏方法
JP3922224B2 (ja) * 2003-07-23 2007-05-30 ヤマハ株式会社 自動演奏装置及びプログラム
US7329811B2 (en) * 2003-12-08 2008-02-12 Kabushiki Kaisha Kawai Gakki Seisakusho Musical sound generation device capable of effectively utilizing the access timing for an unused slave sound source
JP4967406B2 (ja) * 2006-03-27 2012-07-04 ヤマハ株式会社 鍵盤楽器
JP4475323B2 (ja) * 2007-12-14 2010-06-09 カシオ計算機株式会社 楽音発生装置、及びプログラム
US8263849B2 (en) * 2008-12-12 2012-09-11 Young Chang Research And Development Institute Flash memory based stored sample electronic music synthesizer
EP2866223B1 (en) * 2012-06-26 2017-02-01 Yamaha Corporation Automated music performance time stretch using audio waveform data
JP6040809B2 (ja) * 2013-03-14 2016-12-07 カシオ計算機株式会社 コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム
JP6455189B2 (ja) * 2015-02-02 2019-01-23 カシオ計算機株式会社 波形読み込み装置、方法、プログラム、および電子楽器
JP6443772B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6388048B1 (ja) * 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6904141B2 (ja) * 2017-07-28 2021-07-14 カシオ計算機株式会社 楽音発生装置、方法、プログラム、及び電子楽器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04168491A (ja) * 1990-10-31 1992-06-16 Brother Ind Ltd 楽音再生装置
JPH07271372A (ja) * 1994-04-01 1995-10-20 Kawai Musical Instr Mfg Co Ltd 電子楽器
JPH10124051A (ja) * 1996-08-30 1998-05-15 Yamaha Corp 曲データ加工方法、加工後曲データ再生方法および記憶媒体
JPH10124059A (ja) * 1996-08-30 1998-05-15 Yamaha Corp 楽音発生方法および記憶媒体
JP2005173136A (ja) * 2003-12-10 2005-06-30 Yamaha Corp 音楽システム及び音楽データ送受装置
JP2004177981A (ja) * 2004-02-02 2004-06-24 Yamaha Corp 楽音生成装置
JP2006243103A (ja) * 2005-03-01 2006-09-14 Yamaha Corp 電子楽器

Also Published As

Publication number Publication date
EP3550555A1 (en) 2019-10-09
US10559290B2 (en) 2020-02-11
CN110299128A (zh) 2019-10-01
EP3550555B1 (en) 2021-04-21
JP7124371B2 (ja) 2022-08-24
CN110299128B (zh) 2023-07-28
US20190295517A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
US10373595B2 (en) Musical sound generation device
CN110299128B (zh) 电子乐器、方法、存储介质
US10475425B2 (en) Musical sound generation device
US8373055B2 (en) Apparatus, method and computer program for switching musical tone output
JP4787258B2 (ja) 音色記憶装置、音色記憶方法、音色記憶のためのコンピュータプログラム
JP2565069B2 (ja) 電子楽器
JP4066533B2 (ja) カラオケ装置
US10805475B2 (en) Resonance sound signal generation device, resonance sound signal generation method, non-transitory computer readable medium storing resonance sound signal generation program and electronic musical apparatus
JP7332002B2 (ja) 電子楽器、方法及びプログラム
JP7124370B2 (ja) 電子楽器、方法及びプログラム
JPH06259064A (ja) 電子楽器
JP4096952B2 (ja) 楽音発生装置
JP5754404B2 (ja) Midi演奏装置
JP6443773B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP4501639B2 (ja) 音響信号読出装置及びプログラム
JPH06195071A (ja) パート情報記録装置
JP2005017676A (ja) 自動演奏装置及びプログラム
JP4496927B2 (ja) 音響信号記録装置及びプログラム
JPH08137473A (ja) 電子楽器のエクスプレッションペダル装置
JP4124227B2 (ja) 音源装置
JP2019168644A (ja) 電子楽器、電子楽器の制御方法及び制御プログラム
JP2002318582A (ja) 楽音情報割当操作子を有する電子音楽装置
JPH04242794A (ja) 電子音楽再生装置
JPH07325569A (ja) 電子楽器
JPS63118792A (ja) 電子楽器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220407

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150