JP3915585B2 - データ生成方法、プログラム、記録媒体およびデータ生成装置 - Google Patents

データ生成方法、プログラム、記録媒体およびデータ生成装置 Download PDF

Info

Publication number
JP3915585B2
JP3915585B2 JP2002121319A JP2002121319A JP3915585B2 JP 3915585 B2 JP3915585 B2 JP 3915585B2 JP 2002121319 A JP2002121319 A JP 2002121319A JP 2002121319 A JP2002121319 A JP 2002121319A JP 3915585 B2 JP3915585 B2 JP 3915585B2
Authority
JP
Japan
Prior art keywords
data
midi
bits
audio data
unit
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.)
Expired - Fee Related
Application number
JP2002121319A
Other languages
English (en)
Other versions
JP2003316356A (ja
Inventor
潤 石井
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002121319A priority Critical patent/JP3915585B2/ja
Priority to US10/419,575 priority patent/US7026537B2/en
Publication of JP2003316356A publication Critical patent/JP2003316356A/ja
Application granted granted Critical
Publication of JP3915585B2 publication Critical patent/JP3915585B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/031File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルデータのデータ重畳技術に係り、特にデジタルオーディオデータとMIDIデータを同時に記録もしくは伝送するためのデータ生成方法、プログラム、記録媒体、およびデータ生成装置と、デジタルデータに重畳されたデータの生成方法、プログラム、記録媒体、およびデータ生成装置に関するものである。
【0002】
【従来の技術】
[1]背景
同時に複数の電子楽器(以下、電子ピアノ、シンセサイザ、サンプリングマシン、ハードディスクレコーダ、シーケンサ、それらと同様の機能を実現可能なコンピュータ等を広く含む言葉として「電子楽器」を用いる)を用いた演奏および電子楽器を用いた演奏情報の記録の目的で、MIDI(Musical Instrument Digital Interface)データが広く利用されている。一方、デジタルデータ処理技術の進歩に伴い、音声情報を記録する目的で、デジタルオーディオデータもまた、広く利用されるようになってきている。
【0003】
その結果、MIDIデータとデジタルオーディオデータとを関連づけて利用するケースが増えている。以下にその例を挙げる。
a)MIDIデータを用いた電子楽器の演奏に合わせて、記憶媒体からデジタルオーディオデータを読み出し、楽曲のフレーズを再生する。
b)記憶媒体からデジタルオーディオデータを読み出して楽曲を再生し、その再生音を伴奏として電子楽器を演奏し、その演奏において生成されるMIDIデータを記録する。
【0004】
(1)インタフェース数およびケーブル数の増加
上記のような状況において、MIDIデータと同時にデジタルオーディオデータも利用可能な電子楽器に対するニーズが増している。
【0005】
しかしながら、単に従来の電子楽器にデジタルオーディオデータ用のインタフェースを追加すれば、追加されるインタフェースそのもののコストが新たに必要となることに加え、以下のような問題が発生する。
a)電子楽器内部における入出力信号用の経路が増えることから、EMI(Electromagnetic Interference)対策のために開発コストが増加する。
b)電子楽器内部における入出力信号用の経路が増えることから、問題発生時の原因解明が困難となる。
c)電子楽器に接続されるケーブルの種類が増えることから、ユーザがケーブル接続を誤る可能性が高まる。
d)電子楽器に接続されるケーブルの数が増えることから、ユーザが接続および接続の取り外しを行うにあたり、より多くの時間がかかると同時に、電子楽器の外観が損なわれる。
e)電子楽器の外面に入出力端子のためのスペースをより多く必要とするため、電子楽器の小型化が難しくなる。
【0006】
上記のような問題は、元来インタフェース数およびそれらインタフェース間のケーブル数が多い電子楽器においては深刻である。
【0007】
(2)データ数の増加
一方で、前述のようにMIDIデータとデジタルオーディオデータが混在した状態で利用される状況において、データ管理上の困難が発生している。すなわち、互いに関連するMIDIデータとデジタルオーディオデータは同じ記録媒体に記録する等の管理が必要であるが、通常それらのデータは別のファイルとして記録されるため、その管理が煩雑となっている。ましてや、それら複数のデータを同期させて再生する必要がある場合には、別途再生のタイミングを管理するための情報を記録したデータが必要となり、データ管理の煩雑さはより深刻である。
【0008】
[2]従来技術
これに対し、以下のような技術的対応がなされてきた。
【0009】
(1)インタフェース数およびケーブル数の増加に対する対応
(1−1)複数の電子楽器の統合
電子楽器のあるものは、複数の電子楽器の機能を統合している。これにより、電子楽器が要するインタフェース数および複数楽器間のケーブル数が減少する。CDプレーヤを内蔵した電子ピアノや、ミキサ機能を持ち、外部から受け取る音声信号と内部で生成される音声信号とをミキシングして出力可能なシンセサイザ等がその例である。
【0010】
(1−2)デジタルオーディオデータ用インタフェースのMIDIデータ伝送への利用
電子楽器のあるものは、MIDIデータを伝送可能なデジタルオーディオデータ用インタフェースを備えている。そのような電子楽器は、例えばUSB(Universal Serial Bus)端子やIEEE1394端子を介して、1本のケーブルでMIDIデータとデジタルオーディオデータとを送受信することができる。その結果、電子楽器が要するインタフェース数および電子楽器間のケーブル数が減少する。
【0011】
(2)データ数の増加に対する対応
(2−1)シーケンサにおけるデータの統合
MIDIデータを用いて電子楽器に自動演奏を行わせるシーケンサおよびコンピュータに同等の機能を実現させるシーケンサ・ソフトウェア(以下、単に「シーケンサ」と呼ぶ)のあるものは、MIDIデータだけでなくデジタルオーディオデータも扱うことができる。そのようなシーケンサを用いると、ユーザは一つの時間軸上にMIDIデータとデジタルオーディオデータを配置することにより、希望するタイミングでMIDIデータを用いた電子楽器の演奏とデジタルオーディオデータの再生を同時に行うことができる。なお、そのようなシーケンサの多くは、MIDIデータとデジタルオーディオデータを一つのファイルとして記録することもできる。従って、それらのシーケンサを用いることにより、互いに関連するMIDIデータ、デジタルオーディオデータ、およびそれらの同期情報の一元的な管理が可能となる。
【0012】
(2−2)CD−MIDIの利用
音楽用のCD(Compact Disc)の規格を拡張したCD−MIDIと呼ばれる規格を用いると、音楽CD内のサブコードと呼ばれる領域の未使用部分にMIDIデータを記録することができる。これにより、ユーザは関連するデジタルオーディオデータとMIDIデータを1つのCDメディア上で管理することができる。
【0013】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術による技術的対応策は、以下のようにそれぞれ問題点を持っている。
【0014】
複数の機能を合わせ持つ電子楽器を用いる場合、その電子楽器が持っていない機能を利用する必要が生じた際には、ユーザは従来と同様、複数のケーブルを用いて必要な機能を持つ他の電子楽器との煩雑な接続を行わねばならない。
【0015】
USBやIEEE1394のインタフェースを用いる場合、相互に接続される電子楽器の一方もしくは両方が通信のために高水準な処理能力を備えている必要がある。これはUSBやIEEE1394が主としてコンピュータとその周辺機器とを接続することを目的に作られた規格であることに由来している。従って、例えば電子ピアノやシンセサイザ等のコンピュータではない電子楽器どうしをこれらの規格を用いて自由に接続するには、それらの両方にインタフェース用の高性能なマイクロプロセッサを導入しなければならず、高コストとなる。
【0016】
MIDIデータとデジタルオーディオデータの両方を一元管理可能なシーケンサを用いる場合、それらのシーケンサが作成するファイルに汎用性がないため、複数のユーザ間でデータのやりとりを行う場合に不便である。
【0017】
CD−MIDIを用いる方法によれば、デジタルオーディオデータとMIDIデータを1枚のCDメディアで管理ができるが、その仕様の範囲は記録に限られ、また利用可能な媒体はCDに限られている。従って、CD−MIDIの規格に従ってデジタルオーディオデータとMIDIデータを単一の媒体で伝送することはできないし、ハードディスク等の他の記録媒体に、そのままではそれらのデータを記録することもできない。また、MIDIデータをサブコードと呼ばれる特殊な領域に記録するので、一般的なCD機器では取り扱う事が出来ない。
【0018】
上記のような状況に鑑み、本発明は、MIDIデータとデジタルオーディオデータの両方を利用可能な電子楽器において、安価かつ容易な方法でそれらデータの伝送に要するインタフェース数およびケーブル数を減少させる手段を提供することを目的としている。同時に、本発明はMIDIデータとデジタルオーディオデータの両方を単一のデータとして扱うことにより、それらのデータの管理を容易にする手段を提供することを目的としている。
【0019】
【課題を解決するための手段】
かかる目的を達成するため、この発明は、サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信過程と、楽音の発音を指示する演奏データを受信する演奏データ受信過程と、前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成過程とを具備することを特徴とするデータ生成方法を提供する。
【0023】
さらに別の好ましい態様では、前記演奏データ受信過程において受け取った演奏データを示すビット列に同期ビットを付加する同期ビット付加過程を具備し、前記オーディオデータ生成過程において、前記同期ビットの付加された演奏データを示すビット列を構成するビットにより前記置き換えの処理が行われることを特徴とする。
【0025】
また、この発明は、音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信過程と、前記受信過程によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成過程とを具備することを特徴とするデータ生成方法を提供する。
【0027】
この発明によれば、上記データ生成方法によってデジタルオーディオデータに演奏データを重畳して伝送を行い、また、伝送されたデジタルオーディオデータから演奏データを抽出することができる。従って、デジタルオーディオデータおよび演奏データを1本のケーブルで高速伝送することができる。また、この発明によれば、デジタルオーディオデータおよび演奏データの記録再生を行う場合にも、記憶容量を節約できると同時にデータ管理が容易になるという利点がある。
【0028】
この発明は、以上説明したデータ生成方法を使用するという態様の他、これらの方法を実施するためのプログラムを電気通信回線を介してユーザに配布する、もしくはそのようなプログラムをコンピュータ読み取り可能な記録媒体に記録させて配布するという態様でも実施され得る。
【0029】
また、別の観点から、この発明は、サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信手段と、楽音の発音を指示する演奏データを受信する演奏データ受信手段と、前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成手段とを具備することを特徴とするデータ生成装置を提供する。
【0030】
さらにこの発明は、音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信手段と、前記受信手段によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成手段とを具備することを特徴とするデータ生成装置を提供する。
【0031】
【発明の実施の形態】
次に、本発明の技術的思想の理解を容易にするため、本発明の望ましい実施形態を説明する。なお、この実施形態は本発明の一態様を示すものであってこの発明を限定するものではなく、本発明はその技術的思想の範囲内で任意に変更が可能である。
【0032】
[1]本実施形態の構成
[1.1]全体構成
図1はこの発明の一実施形態である演奏システム全体の構成を示すブロック図である。この演奏システムは、コントローラ11と、音源モジュール12とを有している。ここで、コントローラ11と音源モジュール12は、デジタルオーディオケーブルにより接続されている。コントローラ11は、デジタルオーディオ信号を発生する手段と、演奏データであるMIDIデータを発生する手段と、デジタルオーディオデータにMIDIデータを重畳する手段を有している。コントローラ11は、デジタルオーディオケーブルを介してデジタルオーディオデータを音源モジュール12に送ることができる。音源モジュール12は、デジタルオーディオケーブルを介して受信されるデジタルオーディオデータを音として再生するためのモジュールである。コントローラ11から送られてくるデジタルオーディオデータには、MIDIデータが重畳されている場合がある。音源モジュール12には、このデジタルオーディオデータからMIDIデータを抽出する手段が設けられている。また、音源モジュール12には、この抽出されたMIDIデータに従って、楽音を表すデジタルオーディオデータを生成する手段も設けられている。
【0033】
音源モジュール12にはアナログオーディオケーブルを介してアンプ13が接続されている。音源モジュール12は、その内部において発生したデジタルオーディオデータをアナログ音声信号に変換し、アナログオーディオケーブルを介して外部に出力することができる。アンプ13は、このアナログオーディオケーブルを介して出力されるアナログ音声信号を受け取り、受け取ったアナログ音声信号をラインレベルからスピーカレベルに増幅し、増幅したアナログ音声信号をスピーカL14およびスピーカR15に出力する。スピーカL14およびスピーカR15はアンプ13からアナログ音声信号を受け取り、受け取ったアナログ音声信号を人間が聴くことのできる音声に変換する。
【0034】
[1.2]コントローラ11の構成
図2はコントローラ11の構成を示すブロック図である。図2に示すように、コントローラ11は、制御部21、操作部22、表示部23、鍵盤部24、CDプレーヤ部25、音源部26、ミキサ部27、MIDIデータ重畳部28、S/P DIF出力部29、および発振器30を有している。
【0035】
ここで、操作部22、表示部23、鍵盤部24、CDプレーヤ部25、音源部26、ミキサ部27およびMIDIデータ重畳部28はコントロール用バスにより制御部21と接続されている。制御部21は、コントロール用バスを介してこれらの各部とコントロール用の信号を授受し、各部の制御を行う。
【0036】
発振器30は、2種類のクロックSCKおよびWSを出力する。これらのクロックは、MIDIデータまたはデジタルオーディオデータの送受信のタイミング制御に用いられる。
【0037】
クロックSCKおよびWSのクロック周期は以下の通りである。
(SCK)
(1/44100)/(24×2)×1000000=約0.4724(マイクロ秒)
(WS)
約0.4724×(24×2)=約22.68(マイクロ秒)
【0038】
鍵盤部24と音源部26間、鍵盤部24とMIDIデータ重畳部28間は、MIDIデータ用バスにより接続されている。ここで、鍵盤部24は、MIDIデータ用バスを介してMIDIデータを送信するMIDI送信部を有している。また、音源部26およびMIDIデータ重畳部28は、MIDIデータ用バスを介してMIDIデータを受信するMIDI受信部を有している。MIDI送信部は、マイクロプロセッサ、MIDIデータ送信用メモリ、主記憶、EPROM(Erasable Programmable Read Only Memory)、不揮発性メモリ等を有する。また、MIDI受信部は、マイクロプロセッサ、MIDIデータ受信用メモリ、主記憶、EPROM、不揮発性メモリ等を有する。なお、MIDI送信部およびMIDI受信部の機能の詳細については、本実施形態の動作説明において明らかにする。
【0039】
CDプレーヤ部25とミキサ部27間、音源部26とミキサ部27間、ミキサ部27とMIDIデータ重畳部28間、MIDIデータ重畳部28とS/P DIF出力部29間は、I2Sバス(Inter−IC Sound Bus)により相互に接続されている。ここで、I2Sバスは、マイクロプロセッサ間で左右2チャネルのデジタルオーディオデータを伝送するための伝送規格である。また、その伝送規格に従った伝送経路もI2Sバスと呼ばれる。
【0040】
CDプレーヤ部25は、音楽CDに記録されたデジタルオーディオデータの再生を行う装置である。このデジタルオーディオデータは、I2Sバスを介してミキサ部27に伝送される。図3は、このデジタルオーディオデータを例示している。このデジタルオーディオデータは、音声情報を所定のサンプリング周波数でサンプリングすることにより得られた一連のサンプルを表すPCM(PulseCode Modulation)形式のデジタルデータである。各サンプルは、左チャネルの音声を表すワードと右チャネルの音声を表すワードとからなる。左チャネルの音声を表すワードは、16個のビットl(15)、l(14)、・・・、l(0)により構成され、また右チャネルの音声を表すワードも16個のビットr(15)、r(14)、・・・、r(0)により構成されている。各ワードにおいて、l(15)およびr(15)はMSB(Most Significant Bit)であり、l(0)およびr(0)はLSB(LeastSignificant Bit)である。これらのデータは、サンプル(n)を表す各ビットが左チャネルワードのMSBから順に1ビットずつ伝送され、これが終わると、次のサンプル(n+1)を表す各ビットが1ビットずつ伝送され、という具合に、シリアル伝送される。その伝送速度は音声情報の量子化時のサンプリング周波数に依存し、例えばサンプリング周波数が44.1kHzであった場合、通常1/44100秒の間に1サンプル分のデータが伝送される。
【0041】
ところで、サンプリングおよび量子化により得られたデータは必ずしもそのままのビット長で伝送されるとは限らない。データの伝送用フォーマットは、多くの場合、量子化ビット数の大きいデータや将来の伝送規格の拡張に対応できるように、データ伝送用のビット長に余裕を持たせている。従って、16ビットで量子化されたデジタルオーディオデータが例えば図4に示すようなフォーマットで出力される場合もある。図4は左右それぞれのデータ伝送用のビット長が24であるフォーマットを用いて図3におけるデータ例を伝送する場合の例である。図3における左チャネル用ワードの構成ビットl(15)、l(14)、・・・は図4における24ビットの伝送データの上位16ビットL(23)、L(22)、・・・に入り、同様に右チャネル用ワードの構成ビットr(15)、r(14)、・・・も伝送データの上位16ビットR(23)、R(22)、・・・に入る。また、伝送データにおける下位8ビットL(7)からL(0)およびR(7)からR(0)のビット列には、対応するデータが存在しないので、“0”が入れられる。
【0042】
鍵盤部24は、ユーザの演奏に基づきMIDIデータを生成する装置である。このMIDIデータは、MIDIデータ用バスを介して、音源部26およびMIDIデータ重畳部28に伝送される。ここで、MIDIデータについて説明する。MIDI規格においては、1つのまとまった演奏情報もしくはパラメータを表すデータをMIDIメッセージと呼び、1つのMIDIメッセージは1または複数のMIDIバイトにより構成される。図5は発音を指示するMIDIメッセージ(ノートオンメッセージ)の例を示している。この例において、ステータスバイトの上位4ビット“1001”はこのMIDIメッセージがノートオンメッセージであることを示し、下位4ビット“0001”は発音の対象がMIDIチャネル2に設定された機器であることを示す。続くデータバイト1は発音すべき音の高さを示すノートナンバが「53」、さらに続くデータバイト2は発音の強さを示すベロシティが「100」であることを表している。上述した鍵盤部24は、MIDI規格に従い、このようなMIDIメッセージをLSBから順にMIDIバイト単位で非同期に送信する。このように非同期に送られるMIDIバイトに受信側装置(図2では音源部26とMIDIデータ重畳部28)の受信動作を同期させるために、送信側装置である鍵盤部24は、MIDIバイトのLSBの前にスタートビット(常に“0”)を、またMIDIバイトのMSBの後にストップビット(常に“1”)を付加して送信する。図6は図5に示したMIDIメッセージが伝送される際のフォーマットである。以下、スタートビットおよびストップビットを付加されて10ビットとなったMIDIバイトをMIDIワードと呼び、また各MIDIワードの各ビットを各々が伝送される順にm(0)、m(1)、・・・、m(9)と呼ぶ。
【0043】
音源部26は、MIDIデータ用バスを介して鍵盤部24からMIDIデータを受け取り、このMIDIデータによって発音が指示された楽音のデジタルオーディオデータを生成する装置である。
【0044】
ミキサ部27は、CDプレーヤ部25によって再生されらデジタルオーディオデータと、音源部26によって生成されたデジタルオーディオデータとをミキシングして出力する装置である。
【0045】
音源部26およびミキサ部27から出力されるデジタルオーディオデータのフォーマットは、既に図3および図4を参照して説明した通りであり、各サンプルにおいては1ワード24ビットに対し、実データ16ビットが入っている。
【0046】
MIDIデータ重畳部28は、ミキサ部27から出力されるデジタルオーディオデータに対し、鍵盤部24から出力されるMIDIデータを構成する各ビットを重畳する装置である。
【0047】
本実施形態において、ユーザはCD再生音とコントローラ11の音源部を用いた鍵盤演奏音との両方の情報を含んだデジタルオーディオデータを得ることができる。すなわち、上述のように音源部26により鍵盤部24の鍵盤演奏を表すデジタルオーディオデータが生成され、これとCDプレーヤ部25から得られるデジタルオーディオデータとがミキサ部27によりミキシングされる。また、ユーザは音源モジュール12の音源部を用いた鍵盤演奏音も得ることができる。すなわち、このMIDIデータ重畳部28を利用し、MIDIデータを音源モジュール12に伝送することにより、音源モジュール12の音源部より鍵盤部24の鍵盤演奏を表すデジタルオーディオデータが生成される。
【0048】
図7および図8は、各々、MIDIデータ重畳部28の出力データを例示している。図4に例示したように、MIDIデータ重畳部28に伝送されるデジタルオーディオデータが未使用のビット列を有しているような態様では、MIDIデータ重畳部28は、この未使用のビット列にMIDIデータの構成ビットを埋め込む。1サンプル分のデジタルオーディオデータにおける未使用なビット列は、ビット数が限られているため伝送速度が問題となるが、MIDIデータはデジタルオーディオデータと比べてサイズが極めて小さく、要求される伝送速度も遅いため、未使用のビット列を利用してMIDIデータの伝送を行っても実用上問題はない。
図7は図4の例において、未使用の最下位ビットL(0)の列にMIDIデータを入れた例である。図7において、m(0)〜m(9)がMIDIデータ本体であり、サンプル(n+2)以降のL(0)にMIDIデータが重畳されている。伝送すべきMIDIデータ本体がない場合、L(0)列には“1”が入れられる。これはMIDIデータの受信側が、スタートビットm(0)の値“0”を検出可能とするためである。
なお、MIDIデータを入れるビット列はL(0)に限られず、音質への影響が少ない他の未使用のビット列にMIDIデータを入れてもよいし、複数の未使用のビット列にMIDIデータを入れてもよい。複数のビット列をMIDIデータ用に用いる場合、図4におけるフォーマットにおいて、1系列のMIDIデータを横方向に順次記録してもよいし、縦方向に複数系列のMIDIデータを記録してもよい。
【0049】
一方、図3に例示したように、伝送される各デジタルオーディオデータの全ビットが音を表すデータに使用され、未使用のビットがないような態様も考えられる。しかしながら、そのような場合においても、伝送される各ビットのうち音質への影響が少ないLSB側のビット列を利用することが可能である。
図8は図3に示したフォーマットのデジタルオーディオデータが入力される場合にMIDIデータ重畳部28から出力されるデジタルオーディオデータを例示している。この例では、デジタルオーディオデータの最下位ビットl(0)およびr(0)の2列において、サンプル(n+2)以降に図6のMIDIデータが横方向に順次埋め込まれている。すなわち、サンプル(n+2)のl(0)、サンプル(n+2)のr(0)、サンプル(n+3)のl(0)、サンプル(n+3)のr(0)、・・・の順に、MIDIデータのm(0)、m(1)、m(2)、m(4)、・・・が埋め込まれている。
この場合、量子化ビット数は16ビットであるため、各ワードはそれぞれ−32768(10進数)から32767(10進数)の範囲の整数値のいずれか1つをとる。従って、各ワードのLSBがMIDIデータにより置き換えられたとしても、その影響は65536段階における1段階の変化であり、無視できる。なお、以下の説明においては、図7に示した1ワード24ビットを例として用いる。
【0050】
S/P DIF出力部29は、I2Sバスデータ受信用メモリ、BMC変調回路等を有し、MIDIデータ重畳部28から送信されるデジタルオーディオデータを、デジタルオーディオケーブルを介して外部の機器、図1に示す例では音源モジュール12に送信する。より具体的には、まずS/P DIF出力部29は、MIDIデータ重畳部28よりI2Sバスを介してデジタルオーディオデータを受信し、受信したデジタルオーディオデータをI2Sバスデータ受信用メモリに書き込む。その一方で、S/P DIF出力部29は、I2Sバスデータ受信用メモリからデジタルオーディオデータを1サンプル分読み出し、読み出したデータを逆順に並び替え、その前後にPreamble等の情報を付加し、左右2サブフレーム64ビットのデータを作成する。続いてBMC変調回路はこの64ビットのデータをBMC変調してデジタルオーディオケーブルに出力する。なお、BMC変調回路は発振器30より得られるクロック信号SCKを用いてS/PDIF送信に用いる約0.3543マイクロ秒周期のクロック信号を生成しており、BMC変調回路はデータの変調にそのクロック信号を用いる。
【0051】
[1.3]音源モジュール12の構成
図9は音源モジュール12の構成を示すブロック図である。図9に示すように、音源モジュール12は、制御部41、操作部42、表示部43、S/P DIF入力部44、MIDIデータ抽出部45、音源部46、MIDIデータ出力部47、ミキサ部48、記憶部49、ライン出力部50および発振器51を有している。
【0052】
操作部42、表示部43、MIDIデータ抽出部45、音源部46、ミキサ部48および記憶部49はコントロール用バスにより制御部41と接続されている。制御部41は、コントロール用バスを介してこれらの各部とコントロール用の信号を授受し、各部の制御を行う。
【0053】
MIDIデータ抽出部45と音源部46間、MIDIデータ抽出部45とMIDIデータ出力部47間は、MIDIデータ用バスにより相互に接続されている。MIDIデータ抽出部45は、MIDIデータ用バスを介してMIDIデータを送信するためのMIDI送信部を有している。また、音源部46およびMIDIデータ出力部47は、MIDIデータ用バスを介してMIDIデータを受信するためのMIDI受信部を有している。
【0054】
S/P DIF入力部44とMIDIデータ抽出部45間、S/P DIF入力部44とミキサ部48間、音源部46とミキサ部48間、ミキサ部48と記憶部49間、ミキサ部48とライン出力部50間、記憶部49とMIDIデータ抽出部45間は、I2Sバスにより相互に接続されている。
【0055】
S/P DIF入力部44、MIDIデータ抽出部45、音源部46、MIDIデータ出力部47、ミキサ部48、ライン出力部50、および記憶部49は発振器51と接続されており、発振器51からはMIDIデータ抽出部45およびMIDIデータ出力部47に対しクロック信号SCKが、またその他の構成部に対してはクロック信号SCKおよびWSが送信される。
【0056】
S/P DIF入力部44は、S/P DIFデータ受信用メモリ、BMC復調回路等を有し、デジタルオーディオケーブルを介して外部の機器、例えば図1に示すシステムではコントローラ11からデジタルオーディオデータを受信する。このデジタルオーディオデータには、MIDIデータが重畳されている場合がある。BMC復調回路は、デジタルオーディオケーブルを介して受信される信号から約0.3543マイクロ秒周期のクロックを生成し、そのクロックを用いて受信信号からデータの復調を行う。復調されたデータは、S/P DIFデータ受信用メモリに書き込まれる。S/P DIF入力部44では、S/P DIFデータ受信用メモリから1サンプル分の64ビットのデータが読み出され、そのデータからPreamble等が除かれ、さらにデジタルオーディオデータ部分が逆順に並び替えられた後、そのデジタルオーディオデータがI2Sバスを介してMIDIデータ抽出部45およびミキサ部48に送信される。
【0057】
MIDIデータ抽出部45は、MIDIデータの重畳されたデジタルオーディオデータからMIDIデータを抽出する装置である。MIDIデータの重畳されたデジタルオーディオデータは、S/P DIF入力部44あるいは記憶部49からI2Sバスを介して与えられる。MIDIデータ抽出部45によって抽出されたMIDIデータは、MIDIデータ出力部47およびミキサ部48に送信される。また、MIDIデータ抽出部45は、抽出されたMIDIデータが制御用のMIDIメッセージ(システムエクスクルーシブメッセージ等)である場合には、それらのMIDIデータをコントロール用バスを介して制御部41に送信する。
【0058】
MIDIデータ出力部47は、MIDIデータ抽出部45からMIDIデータを受信し、受信したMIDIデータをMIDIケーブルにより外部の機器に送信する。なお、MIDIデータ出力部47におけるMIDIデータ受信動作には発振器51から受信するSCK(周期:約0.4724マイクロ秒)が用いられるが、MIDIデータ送信動作においては、マイクロプロセッサはMIDIデータ送信用のクロック(周期:32.00マイクロ秒)を生成し、そのクロックをSCKの代わりに用いる。これにより、音源モジュール12は外部の機器に対してMIDI規格に従った伝送速度によりMIDIデータの送信を行う。
【0059】
記憶部49は、大容量不揮発性メモリもしくはディスクからなり、ミキサ部48からI2Sバスを介して、MIDIデータの重畳されたデジタルオーディオデータを受信し、受信したデータを記録する。また、記憶部49は、大容量不揮発性メモリもしくはディスクに記録されたデータをI2Sバスを介してMIDIデータ抽出部45に送信する。デジタルオーディオデータの記録の形式は、例えば図7のフォーマットに対し、量子化ビット数、1ワードのビット数、チャネル数、MIDIデータの含まれるビット列の位置および方向を示す情報を加えればよい。
【0060】
ライン出力部50はマイクロプロセッサおよびその周辺部品、I2Sバスデータ受信用メモリ、D/Aコンバータ、増幅器等を有し、I2Sバスを介してミキサ部48よりデジタルオーディオデータを受信し、そのL(23)、L(22)、・・・、L(8)およびR(23)、R(22)、・・・、R(8)のデータを取り出す。さらにライン出力部50は、取り出したデータをD/Aコンバータによりアナログ音声信号に変換し、そのアナログ音声信号を増幅器によりラインレベルに増幅して、アナログオーディオケーブルを介して外部の機器、すなわち、図1に示す例ではアンプ13に出力する。
【0061】
[2]実施形態の動作
[2.1]コントローラ11の伝送すべきMIDIデータがない状態における動作
ユーザがコントローラ11のCDプレーヤ部25に所望の音楽CDを装着し、操作部22にCD再生の指示を与えると、この再生指示は制御部21を介してCDプレーヤ部25に与えられる。この結果、CDプレーヤ部25による再生動作が開始される。この再生動作では、音楽を表す時系列的なデジタルオーディオデータがCDから順次読み取られ、I2Sバスを介してミキサ部27に送られる。ここで、鍵盤部24が操作されない場合には、音源部26によるデジタルオーディオデータの生成は行われない。この場合、デジタルオーディオデータは、ミキサ部27を通過し、MIDIデータ重畳部28に送られる。鍵盤部24によってMIDIデータが生成されない場合、MIDIデータ重畳部28に対するMIDIデータの供給はない。この場合、ミキサ部27を通過したデジタルオーディオデータは、MIDIデータ重畳部28で各サンプルのL(0)にMIDIデータがないことを示す“1”を重畳され、そこを通過する。このデジタルオーディオデータは、S/P DIF出力部29およびデジタルオーディオケーブルを介して音源モジュール12に送信される。
【0062】
[2.2]鍵盤部24のMIDIデータ送信動作
このようにして音楽CDからのデジタルオーディオデータの再生およびその音源モジュール12への送信が行われているとき、ユーザは、鍵盤部24の演奏を行ってMIDIデータを生成し、音源モジュール12に送られるデジタルオーディオデータにこのMIDIデータを重畳させることができる。以下、その動作を説明する。
【0063】
既に説明したように、鍵盤部24は、MIDI送信部を有している。このMIDI送信部のマイクロプロセッサは、その起動時に、主記憶およびMIDIデータ送信用メモリに以下の変数を設定する。
【0064】
(主記憶)
a)MIDI送信用コンテナ:送信するMIDIワードを一時的に保管するコンテナである。
b)MIDI送信用レジスタ:送信するMIDIワードの1ビット分のデータを一時的に保管するレジスタである。
c)MIDI送信用ステータス:MIDI送信用コンテナにおいて送信すべきビットの位置を特定するためのカウンタである。このMIDI送信用ステータスは「0」から「9」までの整数値のいずれかをとり、「0」は送信途中のMIDIワードがないことを意味し、「1」、「2」、・・・、「9」は、送信すべきワードがそれぞれMIDI送信用コンテナ内のm(1)、m(2)、・・・、m(9)であることを示す。初期設定状態において、MIDI送信用ステータスの値は「0」となっている。
【0065】
(MIDIデータ送信用メモリ)
a)MIDI送信用バッファ:MIDIデータをMIDIワード単位で順次記録可能なバッファである。
b)MIDI送信用カウンタ:MIDI送信用バッファ内のMIDIワード数をカウントするカウンタである。初期設定状態において、MIDI送信用カウンタの値は「0」となっている。
【0066】
MIDI送信部は、発振器から約0.4724マイクロ秒周期で“0”と“1”の値を交互にとるクロックSCKを常時受信している。MIDI送信部は、クロックSCKに応じて図10に示す処理ルーチンを実行する。
【0067】
まず、クロックSCKが“0”から“1”に変化すると(ステップS101)、マイクロプロセッサは、送信途中のMIDIワードの有無を確認するためにMIDI送信用ステータスの値を判定する(ステップS102)。
【0068】
ステップS102においてMIDI送信用ステータスの値が「0」である場合、送信途中のMIDIワードはないので、マイクロプロセッサはMIDI送信用バッファ内のMIDIワードの有無を確認するために、MIDI送信用カウンタの値を判定する(ステップS103)。
【0069】
ステップS103においてMIDI送信用カウンタの値が「0」場合、送信待ちのMIDIワードがないので、マイクロプロセッサはMIDI送信用レジスタに“1”を代入し(ステップS104)、クロックSCKが“1”から“0”に変化するまで待機する。
【0070】
クロックSCKが“1”から“0”に変化すると(ステップS113)、マイクロプロセッサはMIDI送信用レジスタの値をMIDIデータ用バスを介して音源部26およびMIDIデータ重畳部28に送信する(ステップS114)。ここで、送信待ちのMIDIワードがない場合には常にMIDI送信用レジスタに“1”が格納されている。従って、送信待ちのMIDIワードがない間は、クロックSCKが“1”から“0”に変化する度に“1”がMIDIデータ用バスに出力される。
【0071】
鍵盤部24の押鍵が行われ、これに対応したMIDIデータが発生すると、MIDI送信部のマイクロプロセッサは、このMIDIデータを1または複数のMIDIバイトに分け、各MIDIバイトにスタートビットとストップビットを付加してMIDIワードを生成し、各MIDIワードをMIDI送信用バッファに格納する。またマイクロプロセッサは、MIDI送信用バッファに格納したMIDIワードのワード数だけMIDI送信用カウンタの値を増加させる。例えば、図6に示すような3ワードからなるMIDIデータが生成された場合、マイクロプロセッサはそのワード数である「3」だけMIDI送信用カウンタの値を増加することになる。
【0072】
この後、クロックSCKが“0”から“1”に変化すると、マイクロプロセッサの処理はステップS101を介してステップS103に進む。この場合、MIDI送信用カウンタの値が「0」ではないので、ステップS103の判定に従い、マイクロプロセッサはMIDI送信用バッファの先頭からMIDIワードを1ワード読み出し、主記憶のMIDI送信用コンテナに書き込む(ステップS105)。次にこのMIDIワードをMIDI送信用バッファから削除し(ステップS106)、MIDI送信用カウンタの値を「1」減少させる(ステップS107)。次にMIDI送信用レジスタにMIDI送信用コンテナのm(0)の値、すなわちスタートビットである「0」を代入し(ステップS108)、その制御をステップS110に移す。
【0073】
ステップS110に進むと、マイクロプロセッサはMIDI送信用ステータスの値を「1」だけ増加させる。この例の場合、MIDI送信用ステータスの値は「0」から「1」になる。そして、マイクロプロセッサはクロックSCKが“1”から“0”になるのを待つ。
【0074】
クロックSCKが“1”から“0”になると(ステップS113)、マイクロプロセッサは、その時点における送信用レジスタの値、すなわち、スタートビット“0”をMIDIデータ用バスを介して音源部26およびMIDIデータ重畳部28に送信する(ステップS114)。それまで連続して“1”を受信していた音源部26およびMIDIデータ重畳部28は、このスタートビット“0”を受信することにより、スタートビット“0”に続いてMIDIバイトが送られてくることを検知することができる。ステップS114の処理が終了すると、マイクロプロセッサはクロックSCKが“0”から“1”になるまで待機する。
【0075】
その後、クロックSCKが“0”から“1”になると(ステップS101)、そのときのMIDI送信用ステータスが「1」であるため、マイクロプロセッサの処理はステップS102を介してステップS109に進む。このステップS109において、マイクロプロセッサは次の処理を行う。すなわち、MIDI送信用ステータスの値をkとした場合に、MIDI送信用コンテナ内のMIDIワードのうちk番目のビットm(k)をMIDI送信用レジスタに格納する。
【0076】
この処理を終えると、マイクロプロセッサは、MIDI送信用ステータスを「1」増加させ(ステップS110)、クロックSCKが“1”から“0”に変化するまで待機する。そして、クロックSCKが“1”から“0”になると(ステップS113)、マイクロプロセッサは、その時点における送信用レジスタの値、すなわち、ビットm(k)をMIDIデータ用バスを介して音源部26およびMIDIデータ重畳部28に送信する(ステップS114)。
【0077】
MIDI送信用ステータスが「1」〜「8」のいずれかである間は、以上と同様の動作が繰り返される。この結果、クロックSCKが“1”から“0”になるのに同期して、MIDI送信用コンテナ内のMIDIバイトを構成する各ビットm(k)(k=1〜8)が順次送信される。
【0078】
そして、MIDI送信用ステータスが「9」になると、その後、クロックSCKが“0”から“1”になったとき(ステップS101)、マイクロプロセッサの処理はステップS102を介してステップS111に進む。このステップS111において、マイクロプロセッサは、MIDI送信用レジスタにストップビット“1”を格納する。次にマイクロプロセッサは、MIDI送信用ステータスを「0」とし(ステップS112)、クロックSCKが“1”から“0”になるまで待機する。そして、クロックSCKが“1”から“0”になると(ステップS113)、マイクロプロセッサは、その時点における送信用レジスタの値、すなわち、ストップビット“1”をMIDIデータ用バスを介して音源部26およびMIDIデータ重畳部28に送信する(ステップS114)。
【0079】
その後、クロックSCKが“0”から“1”になると(ステップS101)、MIDI送信用ステータスが「0」になっていることから、マイクロプロセッサの処理は、ステップS102を介してステップS103に進む。そして、MIDI送信用カウンタの値が「0」でない場合には、上述と同様に、MIDI送信用バッファ内の先頭のMIDIワードがMIDI送信用コンテナに移され(ステップS105およびS106)、MIDI送信用カウンタのカウント値を「1」だけ減少させる処理(ステップS107)とスタートビットの送信が行われる(ステップS108、S110、S113およびS114)。
【0080】
その後の8個の連続したクロックSCKに同期して、MIDI送信用コンテナ内のビットm(k)(k=1〜8)が送信され(ステップS101、S102、S109、S110、S113およびS114)、さらにその後のクロックSCKに同期して、ストップビットが送信される(ステップS101、S102、S111、S112、S113およびS114)。
【0081】
MIDI送信用カウンタの値が「0」でない間は、以上のような動作が繰り返される。そして、MIDI送信用バッファが空になり、MIDI送信用カウンタの値が「0」になると、ビット“1”を送信し続ける状態に戻る(ステップS101、S102、S103、S104、S113およびS114)。
以上が鍵盤部24におけるMIDI送信部のMIDIデータ送信動作である。
【0082】
図11は図6に示したMIDIデータがMIDIデータ用バスを介して伝送される様子を示すタイミングチャートである。このタイミングチャートにおいて、MDはMIDIデータ用バスに出力されている信号の値である。
【0083】
[2.3]MIDIデータ重畳部28のMIDIデータ受信動作
次に、鍵盤部24のMIDI送信部から送られてくるMIDIデータを受信して、受信したMIDIデータをデジタルオーディオデータに重畳する、MIDIデータ重畳部28の動作について説明する。
【0084】
既に説明したように、MIDIデータ重畳部28はMIDI受信部を有している。このMIDI受信部のマイクロプロセッサは、その起動時に、主記憶およびMIDIデータ受信用メモリに以下の変数を設定する。
【0085】
(主記憶)
a)MIDI受信用レジスタ:MIDIデータ用バスに出力されている信号MDを一時的に保管するレジスタである。
b)MIDI受信用コンテナ:受信したMIDIワードを一時的に保管するコンテナである。
c)MIDI受信用ステータス:MIDI受信用コンテナのどのビットに受信したデータを記録すべきかをカウントするカウンタである。このMIDI受信用ステータスは「0」から「9」までの整数値のいずれかをとり、「0」は受信途中のMIDIワードがない状態を意味し、「1」、「2」、・・・、「9」はそれぞれ受信するデータをMIDI受信用コンテナのm(1)、m(2)、・・・、m(9)に記録すべきことを意味する。マイクロプロセッサは起動時に、このMIDI受信用ステータスに初期値「0」を設定する。
【0086】
(MIDIデータ受信用メモリ)
a)MIDI受信用バッファ:MIDIデータをMIDIワード単位で順次記録するためのバッファである。
b)MIDI受信用カウンタ:MIDI受信用バッファ内のMIDIワード数をカウントするためのカウンタである。マイクロプロセッサは、起動時に、このMIDI受信用カウンタに初期値「0」を設定する。
【0087】
MIDI受信部は、MIDI送信部と同様、発振器30からクロックSCKを常時受信しており、マイクロプロセッサはこのクロックSCKに応じて、図12に示す処理ルーチンを実行する
【0088】
まず、クロックSCKが“0”から“1”に変化すると(ステップS201)、マイクロプロセッサは、MIDIデータ用バスに出力されている信号値MDを読み取り、この値MDをMIDI受信用レジスタに代入し(ステップS202)、MIDI受信用レジスタの値を判定する(ステップS203)。
【0089】
ステップS203においてMIDI受信用レジスタの値が“1”である場合、マイクロプロセッサはMIDI受信用ステータスの値を判定する(ステップS204)。
【0090】
ステップS204において、MIDI受信用ステータスの値が「0」である場合、受信途中のMIDIワードがない状態で信号MDとして“1”を受信していることになる。この場合、マイクロプロセッサは新たなMIDIデータはないと判断し、何もせずに待機状態を継続する。
【0091】
既に説明したように、鍵盤部24のMIDI送信部は、送信すべきMIDIデータがない場合に、信号“1”を送信し続ける。この場合、MIDIデータ重畳部28におけるMIDI受信部では、クロックSCKが“0”から“1”に変化する(ステップS201)たびに、以上説明したステップS201、S202、S203およびS204が繰り返される。
【0092】
鍵盤部24のMIDI送信部は、送信すべきMIDIワードがあるとき、MIDIワードを構成する各ビットをクロックSCKの立ち下がりに同期してMIDIデータ用バスに順次出力する。
【0093】
MIDIデータ用バスにMIDIワードの先頭のスタートビット“0”が出力されると、MIDIデータ重畳部28におけるMIDI受信部では、その後、クロックSCKが“0”から“1”に変化したとき(ステップS201)、マイクロプロセッサが信号MDとしてスタートビット“0”を読み取り、MIDI受信レジスタにこれを格納する(ステップS202)。次にマイクロプロセッサはMIDI受信レジスタの内容を判定する(ステップS203)。この場合、MIDI受信レジスタには“0”が格納さているので、マイクロプロセッサはフローを図12における右にとり、MIDI受信ステータスを判定する(ステップS209)。そして、MIDI受信ステータスが「0」〜「8」のいずれかである場合、マイクロプロセッサの処理はステップS210へ進む。この例の場合、MIDI受信ステータスは「0」であるので、処理はステップS210へ進むこととなる。
【0094】
ステップS210に進むと、マイクロプロセッサは、次の処理を行う。すなわち、MIDI受信用ステータスをkとした場合に、MIDI受信用レジスタに記憶された信号値を、受信中のMIDIバイトにおけるk番目のビットm(k)としてMIDI受信用コンテナに格納する。この例の場合、MIDI受信用ステータスが「0」であることから、MIDI受信用レジスタに格納されたスタートビット“0”が、MIDIワードにおけるビットm(0)としてMIDI受信用コンテナに格納されることとなる。
【0095】
ステップS210の処理が終了すると、マイクロプロセッサは、MIDI受信用ステータスを「1」だけ増加させ(ステップS211)、クロックSCKが再び“0”から “1”に変化するまで待機する。
【0096】
その後、クロックSCKが“0”から“1”に変化すると(ステップS201)、マイクロプロセッサは、MIDIデータ用バスに出力されている信号値MDをMIDI受信用レジスタに格納する(ステップS202)。次にマイクロプロセッサは、MIDI受信用レジスタの値が“1”であるか“0”であるかを判定する(ステップS203)。
【0097】
ステップS203においてMIDI受信レジスタの内容が“1”である場合、マイクロプロセッサはフローを図12における左にとり、MIDI受信用ステータスの内容を判定する(ステップS204)。ここで、MIDI受信用ステータスが「1」〜「8」のいずれかである場合には、ステップS204からステップS210に進む。また、ステップS203においてMIDI受信レジスタの内容が“1”である場合には、マイクロプロセッサはフローを図12における右にとり、MIDI受信用ステータスの内容を判定する(ステップS209)。この場合においてMIDI受信用ステータスが「1」〜「8」のいずれかである場合にも、マイクロプロセッサの処理はステップS210に進む。
【0098】
ステップS204またはS209からステップS210に進むと、マイクロプロセッサは、MIDI受信用レジスタに記憶された信号値を、受信中のMIDIワードにおけるk番目のビットm(k)としてMIDI受信用コンテナに格納する。ここで、kはMIDI受信用ステータスの値である。そして、マイクロプロセッサは、MIDI受信用ステータスを「1」だけ増加させ(ステップS211)、クロックSCKが再び“0”から“1”に変化するのを待つ。
【0099】
MIDI受信ステータスが「1」〜「8」のいずれかである間は、以上説明したステップS201、S202、S203、S204(またはS209)、S210およびS211の各処理が繰り返される。この結果、MIDIワードにおけるスタートビットに続く8ビットm(k)(k=1〜8)がMIDI受信用コンテナに格納される。
【0100】
そして、MIDI受信ステータスが「9」になった後、クロックSCKが“0”から“1”になったとする(ステップS201)。この場合もマイクロプロセッサは、MIDI用データバスを介して受信した信号MDをMIDI受信用レジスタに格納し(ステップS202)、MIDI受信用レジスタの内容を判定する(ステップS203)。通常、MIDI受信ステータスが「9」であるときには、ストップビット“1”が送られてくる。従って、この場合においてマイクロプロセッサの処理はステップS203からステップS204に進む。そして、MIDI受信ステータスが「9」である場合、マイクロプロセッサの処理はステップS205に進む。このステップS205において、マイクロプロセッサは、受信したストップビット“1”を受信中のMIDIワードにおける9番目のビットm(9)としてMIDI受信用コンテナに格納する。次にマイクロプロセッサは、MIDI受信用コンテナ内に得られたビットm(k)(k=0〜9)からなるMIDIワードをMIDI受信用バッファに格納し(ステップS206)、MIDI受信用カウンタの値を「1」だけ増加させる(ステップS207)。そして、マイクロプロセッサは、MIDI受信用ステータスを「0」とし(ステップS208)、クロックSCKが“0”から“1”に変化するまで待機する。
【0101】
以上により1ワード分のMIDIワードの受信が完了する。このMIDIワードに続いて、間を空けることなく、次のMIDIワードが鍵盤部24から送信された場合、MIDIデータ重畳部28のMIDI受信部では、以上と同様な動作が行われる。
【0102】
また、MIDIワードの送信が途絶え、信号“1”が鍵盤部24から送信される間は、MIDIデータ重畳部28のMIDI受信部では、クロックSCKが“0”から“1”に変化する度に、ステップS201、S202、S203、S204が繰り返される。
【0103】
なお、MIDI受信用ステータスの値が「9」であるときに、何らかのエラーにより信号“0”が受信された場合には、マイクロプロセッサは、処理を中断する等のエラー処理を行う(ステップS201、S202、S203、S209およびエラー)。
以上がMIDIデータ重畳部28におけるMIDI受信部の動作である。
【0104】
[2.4]MIDIデータ重畳部28のMIDIデータ重畳動作
MIDIデータ重畳部28は、以上の動作がMIDI受信部によって行われているときに、これと並行し、MIDI受信部のMIDI受信用バッファに格納されているMIDIワードを取り出し、このMIDIワードを構成する各ビットを、音源モジュール12に送るデジタルオーディオデータに重畳する処理を行う。MIDIデータ重畳部28は、この処理を行うために、マイクロプロセッサ、主記憶、およびMIDIデータ受信用メモリとを有している。なお、この処理を行うマイクロプロセッサは、MIDI受信部のマイクロプロセッサを兼ねてもよい。
【0105】
以下、MIDIデータ重畳部28のマイクロプロセッサによって行われる処理を説明する。このマイクロプロセッサは起動時に、主記憶およびMIDIデータ受信用メモリに以下の変数を作成する。
【0106】
(主記憶)
a)WSフラグ1:過去のクロックWSの値を示すフラグである。マイクロプロセッサは、起動時に、このWSフラグ1に初期値“1”を設定する。
b)WSフラグ2:現在のクロックWSの値を示すフラグである。マイクロプロセッサは、WSフラグ1およびWSフラグ2に基づき、クロックWSの変化を検出する。マイクロプロセッサは、起動時に、WSフラグ2に初期値“1”を設定する。
c)サンプル送受信用レジスタ:ミキサ部27からI2Sバスを介して受信されるデジタルオーディオ信号のビットSDを一時的に保管するレジスタである。
d)サンプル送受信用ステータス:ミキサ部27から受信され、かつ、S/P DIF出力部29に送信されるビットがサンプルのどのビットかを特定するためのカウンタである。マイクロプロセッサは、起動時、このサンプル送受信用ステータスに初期値「0」を設定する。
e)MIDI送信用コンテナ:送信するMIDIワードを一時的に保管するコンテナである。
f)MIDI送信用レジスタ:送信するMIDIワードの1ビット分のデータを一時的に保管するレジスタである。
g)MIDI送信用ステータス:MIDI送信用コンテナにおいて送信すべきビットの位置を特定するためのカウンタである。マイクロプロセッサは、起動時、このMIDI送信用ステータスに初期値「0」を設定する。
【0107】
(MIDIデータ受信用メモリ)
a)MIDI受信用バッファ:MIDIデータをMIDIワード単位で順次記録可能なバッファである。
b)MIDI受信用カウンタ:MIDI受信用バッファ内のMIDIワード数をカウントするカウンタである。マイクロプロセッサは、起動時、このMIDI受信用カウンタに初期値「0」を設定する。
【0108】
マイクロプロセッサは起動後、発振器30から常時、クロック信号SCKおよびWSを受信している。また、マイクロプロセッサは、クロックSCKに同期して、ミキサ部27からデジタルオーディオデータの各ビットの値を表すビットSDを受信する。図13は、マイクロプロセッサによって受信されるクロックSCK、クロックWSおよびビットSDを例示している。そして、マイクロプロセッサは、クロックSCKに応じて、図14に示すルーチン処理を実行する。
【0109】
まず、クロックSCKが“0”から“1”に変化すると(ステップS301)、マイクロプロセッサはその時点におけるクロックWSの値をWSフラグ2に、またI2Sバスに出力されているデジタルオーディオデータのビットSDをサンプル送受信用レジスタに格納する(ステップS302)。続いてマイクロプロセッサは次の計算を行い、その結果を判定する(ステップS303)。
WSフラグ1−WSフラグ2
【0110】
既に説明したように、WSフラグ1は過去におけるクロックWSの値を、WSフラグ2は現在におけるクロックWSの値を表している。そして、図13に示すように、クロックWSは、あるサンプルにおける右チャネルの最後のビットR(0)が出力される直前に“1”から“0”に変化する。従って、このサンプルの最後のビットR(0)が出力されているときにクロックSCKが“0”から“1”に変化した場合に、その際に実行される本ルーチンでは、上記ステップS303における計算結果が「1」になる。その場合、マイクロプロセッサはサンプル送受信用ステータスに「−1」を設定し(ステップS304)、クロックSCKが“1”から“0”に変化するまで待機する。
【0111】
そして、クロックSCKが“1”から“0”になると、マイクロプロセッサは、サンプル送受信用レジスタに格納されたデジタルオーディオデータのビットSD(この場合、ビットR(0))を、I2Sバスを介してS/P DIF出力部29に送信する(ステップS309)。次にマイクロプロセッサは、サンプル送受信用ステータスの値を「1」だけ増加させる(ステップS310)。ここで、サンプル送受信用ステータスの値は、前述のステップS304の処理により「−1」とされた。従って、このステップS304が実行された後のステップS310においては、サンプル送受信用ステータスの値は「0」になる。次にマイクロプロセッサは、WSフラグ2の値(この例の場合、“0”)をWSフラグ1に設定する(ステップS311)。そして、マイクロプロセッサは、クロックSCKが“0”から“1”に変化するまで待機する。
【0112】
その後、クロックSCKが“0”から“1”に変化すると(ステップS301)、マイクロプロセッサはその時点におけるクロックWSの値をWSフラグ2に、またI2Sバスに出力されているデジタルオーディオデータのビットSDをサンプル送受信用レジスタに格納する(ステップS302)。
【0113】
ここで、あるサンプルの最後のビットR(0)がI2Sバスに出力された後は、新たなサンプルの最初のビットL(23)がI2Sバスに出力される。また、このとき、クロックWSの値は“0”となっている。従って、ステップS302では、ビットL(23)がサンプル送受信用レジスタに格納され、“0”がWSフラグ2に格納される。
【0114】
次にマイクロプロセッサは、WSフラグ1−WSフラグ2を計算し、その結果を判定する(ステップS303)。この場合、計算結果は「0」となり、「1」ではないので、マイクロプロセッサの処理はステップS305に進む。このステップS305において、マイクロプロセッサはサンプル送受信用ステータスの値を判定する。ステップS305においてサンプル送受信用ステータスの値が「23」でない場合、マイクロプロセッサは何もせずクロックSCKが“1”から“0”に変化するまで待機する。
【0115】
そして、クロックSCKが“1”から“0”になると(ステップS308)、マイクロプロセッサは、サンプル送受信用レジスタに格納されたデジタルオーディオデータのビットSDを送信し(ステップS309)、サンプル送受信用ステータスの値を「1」だけ増加させ(ステップS310)、WSフラグ1にWフラグ2の値を設定し(ステップS311)、クロックSCKが“0”から“1”に変化するまで待機する。
【0116】
サンプル送受信用ステータスの値が「0」〜「22」のいずれかである間は、以上説明したステップS301、S302、S303、S305、S308、S309、S310およびS311が繰り返される。従って、ミキサ部27から送信されるデジタルオーディオデータのビットL(23)〜L(1)は、そのままMIDIデータ重畳部28を素通りし、S/P DIF出力部29に送られる。
【0117】
サンプル送受信用ステータスの値が「23」になると、その直前のクロックSCKの“1”から“0”への変化に同期して、サンプルの左チャネル最後のビットL(0)がMIDIデータ重畳部28に送られてくる。
【0118】
そして、クロックSCKが“0”から“1”に変化すると(ステップS301)、マイクロプロセッサの処理は、ステップS302およびS303を介してステップS305に進む。そして、サンプル送受信用ステータスの値が「23」であることから、マイクロプロセッサは、以下説明するステップS306およびステップS307の各処理を実行する。
【0119】
ステップS306では、送信すべきMIDIデータを1ビットずつ取り出す動作として、図10におけるステップS102からステップS110までの処理に類似した処理を行う。さらに詳述すると、次の通りである。まず、MIDIワードが鍵盤部24から受信された場合、このMIDIワードは前述した図12のルーチンにより、MIDI受信用バッファ内に格納される。そして、マイクロプロセッサは、このステップS306において、MIDI受信用カウンタを用いてMIDI受信用バッファ内にMIDIワードがあることを確認すると、このMIDIワードをMIDI受信用バッファからMIDI送信用コンテナに読み込む。勿論、この読み込み動作は、新たなMIDIワードがMIDI受信用バッファに格納されたときにのみ行われる。次いで、マイクロプロセッサは、MIDI送信用コンテナ内のMIDIワードから送信対象となる1ビットを取り出し、その値をMIDI送信用レジスタに格納する。この送信対象のビットの取り出し位置を管理するのがMIDI送信用ステータスであり、これはステップS306が実行される度に「1」ずつ増加し、「0」〜「9」の範囲で周期的に変化する。なお、MIDI送信用コンテナ内のMIDIワードの最後のビットが取り出された後は、新たなMIDIワードがMIDI送信用コンテナ内に移されるまでの間、このステップS306において“1”がMIDI送信用レジスタに格納される。以上の動作により、送信すべきMIDIデータの構成ビットがMIDI送信用レジスタの値として取り出される。
【0120】
続いて、マイクロプロセッサはMIDI送信用レジスタからMIDIワードの構成ビット(MIDIデータがない場合は“1”)を読み出し、読み出した値をサンプル送受信レジスタに格納する(ステップS307)。ステップS307が終了すると、マイクロプロセッサは、クロックSCKが“1”から“0”に変化するまで待機する。
【0121】
そして、クロックSCKが“1”から“0”になると(ステップS308)、マイクロプロセッサは、サンプル送受信用レジスタに格納されたデジタルオーディオデータのビットSD(この場合はMIDIワードの構成ビット)を送信し(ステップS309)、サンプル送受信用ステータスの値を「1」だけ増加させ(ステップS310)、WSフラグ2の値をWSフラグ1に設定し(ステップS311)、クロックSCKが“0”から“1”に変化するまで待機する。
【0122】
サンプル送受信用ステータスが「23」でなくなると、それ以降、ステップS301、S302、S303、S305、S308、S309、S310およびS311が繰り返される。従って、ミキサ部27から送信されるデジタルオーディオデータのビットL(24)〜R(1)は、そのままMIDIデータ重畳部28を素通りし、S/P DIF出力部29に送られる。
【0123】
そして、ビットR(0)が送信されるときには、上述したように、サンプル送受信用ステータスが「−1」にされる(ステップS304)。以後の動作は既に説明した通りである。
【0124】
以上説明したように、MIDIデータ重畳部28では、MIDIワードが鍵盤部から届いた場合に、その構成ビットが、その後の複数の連続したデジタルオーディオデータのビットL(0)に重畳され、このMIDIデータの構成ビットを含んだデジタルオーディオデータがS/P DIF出力部29に送られる。
【0125】
[2.5]コントローラ11と音源モジュール12間のデータ伝送動作
S/P DIF出力部29は、このようにしてMIDIデータ重畳部28から送信されてくるデジタルオーディオデータを、EIAJ(日本電子機械工業会)のディジタルオーディオインタフェース規格であるEIAJ CP−1201に従ったデータフォーマットおよび伝送フォーマットに従い、音源モジュール12に送信する。なお、EIAJ CP−1201は「S/P DIF」という呼称で広く知られているため、以下ではその呼称を用いる。
【0126】
S/P DIFにおいては、1ワードのデジタルオーディオデータを含むことが可能なデータ単位をサブフレームと呼ぶ。サブフレームのビット長は32であり、図15はそのデータフォーマットおよびデータ例(データはデジタルオーディオデータ部分のみ)である。なお、以下ではS/P DIFのサブフレームにおける各ビットを、送信される順にF(0)、F(1)・・・と呼び、左右を区別する必要がある場合には、それぞれFL(0)、FL(1)・・・、およびFR(0)、FR(1)・・・と呼ぶこととする。
【0127】
Preambleはデータの受信側機器がサブフレームの開始点を特定し、またチャネルの別を判定するために用いられる。Auxiliaryはユーザの設定により利用方法を変更可能なビットである。Sampleはデジタルオーディオデータ本体を伝送するために用いられる。Validity、Sub−code、Channel Status、Parityはサンプリング周波数等の付帯情報の伝送および誤り検出等に用いられる。なお、図15においては、後述する本実施形態における条件に従い、AuxiliaryをSampleと共にデジタルオーディオデータ本体の伝送に用いている。
【0128】
S/P DIFにおいては、デジタルオーディオデータ本体はLSB側から伝送される。従って、図4におけるデータがS/P DIFにより伝送される場合には、L(23)、L(22)、・・・のデータはそれぞれFL(27)、FL(26)、・・・に入れられる。同様に、R(23)、R(22)、・・・のデータはそれぞれFR(27)、FR(26)、・・・に入れられる。
【0129】
S/P DIFにおいて伝送可能なデジタルオーディオデータのサンプリング周波数は、48kHz、44.1kHz、および32kHzである。
【0130】
S/P DIFにおいては、送信側機器が図15に示したようなデータフォーマットのデータを送信する際、受信側機器が送信側機器と同期をとることができるように、送信するデータをBMC(Bi−phase Mark Code)と呼ばれる方法を用いて変調した後、変調後の信号を送信する。図16は説明例として、“010110011101・・・”というデータがBMC変調される際のタイミングチャートである。図16におけるDataは送信されるデジタルオーディオデータの値であり、ClockはDataを順次伝送するためのクロック信号である。OutputはDataがBMC変調された後の信号の値である。
【0131】
BMC変換においては、Dataが「0」の場合、OutputはClockの1周期の間に“−1”と“+1”の間を1往復する。すなわち、Outputは“−1”→“+1”→“−1”もしくは“+1”→“−1”→“+1”と変化する。一方、Dataが「1」の場合、OutputはClockの1周期の間に“−1”と“+1”の間を1往復半する。すなわち、Outputは“−1”→“+1”→“−1”→“+1”もしくは“+1”→“−1”→“+1”→“−1”と変化する。
【0132】
OutputはClockの1周期にあたる時間幅もしくはその半分の時間幅で必ず変化するため、受信側機器はこのOutputの変化から自分でクロックを生成し、そのクロックを用いてDataの値を受信する。
【0133】
本実施形態においては、S/P DIFにおいて伝送されるデジタルオーディオデータのサンプリング周波数は44.1kHzである。また、S/P DIFにおいてはモノラル(1チャネル)のデジタルオーディオデータの伝送も可能であるが、本実施形態においては左右2チャネルである。従って、本実施形態においては64ビットのデータが1/44100秒で伝送されるため、Clockの周期は以下のようになる。
(Clock)
(1/44100)/(32×2)×1000000=約0.3543(マイクロ秒)
【0134】
以上のようにして、コントローラ11から送信されたデジタルオーディオデータは、音源モジュール12のS/P DIF入力部44によって受信される。このS/P DIF入力部44では、コントローラ11におけるS/P DIF出力部29が行う変換処理の逆変換に相当する処理が受信データに対して施される。この結果、コントローラ11のMIDIデータ重畳部28から出力されたものと同じデジタルオーディオデータがS/P DIF入力部44から出力される。
【0135】
このデジタルオーディオデータは、I2Sバスを介して、MIDIデータ抽出部45およびミキサ部48に送信される。
【0136】
S/P DIF出力部29から出力されるデジタルオーディオデータは、MIDIデータを含む場合がある。このMIDIデータは、コントローラ11のMIDIデータ重畳部28によってデジタルオーディオデータに重畳されたデータである。
【0137】
[2.6]MIDIデータ抽出部45のMIDIデータ抽出動作
MIDIデータ抽出部45は、デジタルオーディオデータからMIDIデータを抽出し、MIDIデータ出力部47に出力する。MIDIデータ抽出部45はマイクロプロセッサ、主記憶mMIDIデータ送信用メモリを有している。以下に、MIDIデータ抽出部45の動作を説明する。
【0138】
MIDIデータ抽出部45のマイクロプロセッサは起動時に、主記憶およびMIDIデータ送信用メモリに以下の変数を作成する。
【0139】
(主記憶)
a)WSフラグ3:過去のクロックWSの値を表すフラグである。マイクロプロセッサは起動時に、WSフラグ3に初期値“1”を設定する。
b)WSフラグ4:現在のクロックWSの値を表すフラグである。マイクロプロセッサは起動時に、WSフラグ4に初期値“1”を設定する。
c)サンプル受信用レジスタ:S/P DIF入力部44の出力ビットSDを一時的に保管するレジスタである。
d)サンプル受信用ステータス:受信したビットがサンプルのどのビットかを特定するためのカウンタである。マイクロプロセッサは、起動時、サンプル受信用ステータスに初期値「0」を代入する。
e)MIDI受信用コンテナ:受信したMIDIワードを一時的に保管するコンテナである。
f)MIDI受信用ステータス:MIDI受信用コンテナにおいて受信すべきビットの位置を特定するためのカウンタである。マイクロプロセッサは、起動時、MIDI受信用ステータスに初期値「0」を代入する。
【0140】
(MIDIデータ送信用メモリ)
a)MIDI受信用バッファ:MIDIデータをMIDIワード単位で順次記録するためのバッファである。
b)MIDI受信用カウンタ:MIDI送信用バッファ内のMIDIワード数をカウントするためのカウンタである。マイクロプロセッサは、起動時、MIDI送信用カウンタに初期値「0」を代入する。
【0141】
マイクロプロセッサは、起動後、発振器51から常時、クロックSCKおよびWSを受信し、またクロックSCKに同期してS/P DIF入力部44からデジタルオーディオデータの構成ビットSDを順次受信する。
【0142】
これらの動作環境において、マイクロプロセッサは、図17に示す処理ルーチンを実行する。
【0143】
クロックSCKが“0”から“1”に変化すると(ステップS401)、マイクロプロセッサはその時点におけるクロックWSの値をWSフラグ4に、またビットSDをサンプル受信用レジスタに代入する(ステップS402)。続いてマイクロプロセッサは以下の計算を行い、その結果を判定する(ステップS403)。
WSフラグ3−WSフラグ4
【0144】
既に説明したように、WSフラグ3は過去におけるクロックWSの値を、WSフラグ4は現在におけるクロックWSの値を表している。そして、既に図14を参照して説明したように、クロックWSは、あるサンプルにおける右チャネルの最後のビットR(0)が出力されるときに“1”から“0”に変化する。従って、このサンプルの最後のビットR(0)が出力されているときにクロックSCKが“0”から“1”に変化した場合に、その際に実行される本ルーチンでは、上記ステップS403における計算結果が「1」になる。この場合、マイクロプロセッサはサンプル送受信用ステータスに「−1」を設定する(ステップS404)。次にマイクロプロセッサは、WSフラグ4の値をWSフラグ3に設定し(ステップS407)、サンプル受信用ステータスを「1」だけ増加させ(ステップS408)、クロックSCKが“0”から“1”に変化するまで待機する。
【0145】
次にクロックSCKが“0”から“1”に変化すると(ステップS401)、上述と同様、マイクロプロセッサはその時点におけるクロックWSの値をWSフラグ4に、またビットSDをサンプル受信用レジスタに代入する(ステップS402)。続いてマイクロプロセッサは、WSフラグ3−WSフラグ4を計算し、その結果を判定する(ステップS403)。この場合、前回からクロックWSの値に変化がないので、WSフラグ3−WSフラグ4は「0」となる。このため、マイクロプロセッサの処理はステップS405に進む。
【0146】
ステップS405において、マイクロプロセッサはサンプル受信用ステータスの値を判定する。ステップS405においてサンプル受信用ステータスの値が「23」でない場合、マクロプロセッサは、WSフラグ4の値をWSフラグ3に設定し(ステップS407)、サンプル受信用ステータスを「1」だけ増加させ(ステップS408)、クロックSCKが“0”から“1”に変化するまで待機する。
【0147】
その後、サンプル受信用ステータスの値が「23」でない期間、クロックSCKが“0”から“1”に変化する度に、ステップS401、S402、S403、S405、S407およびS408が繰り返される。
【0148】
そして、サンプル受信用ステータスの値が「23」になり、その後、クロックSCKの“0”から“1”へ変化したとき(ステップS401)、マイクロプロセッサは、ステップS402においてデジタルオーディオデータにおけるビットL(0)を取得し、サンプル受信用レジスタに格納することとなる。そして、サンプル受信用ステータスの値が「23」であることから、マイクロプロセッサの処理は、ステップS403およびS405を介してステップS406に進む。
【0149】
このステップS406では、ステップS402においてサンプル受信用レジスタに格納されたビットを取り出して10ビットのMIDIワードを組み立てる処理として、図12におけるステップS203からステップS211までの処理に類似した処理が行われる。その結果、サンプル受信用レジスタに格納されたビットがMIDIデータの構成ビットである場合、マイクロプロセッサがステップS406の処理を経由する度に、MIDI受信用コンテナにはMIDIデータが1ビットずつ取り出される。その際、MIDI受信用コンテナのどのビットにデータを格納するかの判断のため、MIDI受信用ステータスが用いられる。また、MIDI受信用コンテナに10ビットが揃いMIDIワードとなると、そのMIDIワードはMIDI受信用バッファに書き出され、MIDI受信用カウンタが「1」だけ増加される。
【0150】
ステップS406を終えると、マイクロプロセッサはWSフラグ4の値をWSフラグ3に設定し(ステップS407)、サンプル受信用ステータスを「1」だけ増加させ(ステップS408)、クロックSCKが“0”から“1”に変化するまで待機する。
【0151】
サンプル受信用ステータスが「23」でなくなると、それ以降、ステップS401、S402、S403、S405、S407およびS408が繰り返される。そして、ビットR(0)が受信されるときには、上述したように、サンプル受信用ステータスが「−1」にされる(ステップS404)。以後の動作は既に説明した通りである。
【0152】
MIDIデータ抽出部45は、上記の動作と並行して、MIDI受信用バッファのMIDIデータを音源部46およびMIDIデータ出力部47にMIDIデータ用バスを介して送信する。この動作は図10を用いて既に説明した鍵盤部24のMIDI送信部の動作と同じであるので、説明を省略する。MIDIデータ抽出部45はMIDI送信用に異なるマイクロプロセッサを備えてもよいが、時分割処理等により上記のMIDIデータの抽出を行うマイクロプロセッサがこれを兼ねてもよい。
【0153】
[2.7]抽出されたMIDIデータの処理動作
MIDIデータ出力部47は、このようにしてMIDIデータ抽出部45から送られてくるMIDIデータを受信し、受信したMIDIデータをMIDI規格に従った31250bpsの伝送速度で、MIDIケーブルにより外部の機器に送信する。
【0154】
より具体的には、MIDIデータ出力部47のマイクロプロセッサは、図12を用いて既に説明したMIDIデータ重畳部28のMIDI受信部の動作と同じ動作によりMIDIデータを受信し、図10を用いて既に説明した鍵盤部24のMIDI送信部の動作と同じ動作によりMIDIデータを送信する。MIDIデータ出力部47はこれらの処理を並行して行うため、複数のマイクロプロセッサを備えてもよいが、時分割処理等により1つのマイクロプロセッサが同時に行ってもよい。なお、MIDIデータ出力部47におけるMIDIデータ受信動作には発振器51から受信するSCK(周期:約0.4724マイクロ秒)が用いられるが、MIDIデータ送信動作においては、マイクロプロセッサはMIDIデータ送信用のクロック(周期:32.00マイクロ秒)を生成し、そのクロックをSCKの代わりに用いる。これにより、音源モジュール12は外部の機器に対してMIDI規格に従った伝送速度によりMIDIデータの送信を行う。
【0155】
MIDI抽出部45によって抽出されたMIDIデータは、音源部46にも送られる。音源部46は、このようにして与えられるMIDIデータに応じて、デジタルオーディオデータを生成する。ここで、MIDI抽出部45によって抽出されたMIDIデータは、元々はコントローラ11の鍵盤部24の操作により生じたものであるので、音源部46から出力されるデジタルオーディオデータは、鍵盤部24の鍵盤演奏に対応したものとなる。ミキサ部48は、この音源部46から出力されるデジタルオーディオデータと、S/P DIF入力部44からのデジタルオーディオデータとをミキシングして出力する。ライン出力部50は、デジタルオーディオデータを左チャネルと右チャネルに分けてD/A変換し、この結果得られる左チャネル用アナログ音声信号と右チャネル用アナログ音声信号を出力する。これらのアナログ音声信号は図1のアンプ13によって増幅され、スピーカL14およびスピーカR15から音として出力される。この結果、ユーザは、コントローラ11においてCDから再生されたデジタルオーディオデータに対応した音と、鍵盤部24の演奏に対応した音とを聞くことになる。
【0156】
[2.8]ユーザによる操作部を用いた操作
本実施形態において、ユーザは、操作部42を用いた操作により、以上の処理とは別に、記憶部49を用いた処理を音源モジュール12に行わせることができる。
【0157】
例えば、ユーザが操作部42を用いて記録開始の指示を音源モジュール12に与えると、制御部41は操作部42を介してその指示を受け取り、記憶部49は制御部41の制御のもとで、ミキサ部48から送信されるデジタルオーディオデータを順次記憶する。
【0158】
また、ユーザが操作部42を用いて再生開始の指示を音源モジュール12に与えると、制御部41は操作部42を介してその指示を受け取り、記憶部49は制御部41の制御のもと、記憶されているデジタルオーディオデータを読み出し、読み出したデジタルオーディオデータをMIDIデータ抽出部45に送信する。MIDIデータ抽出部45はこのデジタルオーディオデータからMIDIデータを抽出し、抽出されたMIDIデータがMIDIデータ出力部47から外部に出力される。
【0159】
また、本実施形態において、ユーザは、コントローラ11の操作部22を用いた操作により、音源モジュール12の各種制御を行うこともできる。すなわち、ユーザは操作部22を用いて望む制御を行うためのシステムエクスクルーシブメッセージの送信命令をコントローラ11に与える。システムエクスクルーシブメッセージはMIDIメッセージの一種で、機器のメーカが自由にその内容を規定できるため、機器により異なる機能を制御する目的で広く用いられている。コントローラ11の制御部21は操作部22を介してその命令を受け取ると、ユーザの操作に応じたシステムエクスクルーシブメッセージを生成し、MIDIデータ重畳部28のMIDI送信用バッファに書き込む。MIDI送信用バッファに書き込まれたシステムエクスクルーシブメッセージはMIDIデータ重畳部28で他のMIDIデータと同様にデジタルオーディオデータに重畳され、S/P DIF出力部29を介して音源モジュール12に送信される。音源モジュール12においては、S/P DIF入力部44を介して、システムエクスクルーシブメッセージが重畳されたデジタルオーディオデータはMIDIデータ抽出部45に受信される。MIDIデータ抽出部45は他のMIDIデータと同様にシステムエクスクルーシブメッセージをデジタルオーディオデータより抽出し、それを制御部41に送信する。音源モジュール12の制御部41はこうしてシステムエクスクルーシブメッセージを受信すると、それに応じた制御処理を行う。
【0160】
[2.9]演奏システム全体の動作タイミング
図18および図19は、以上説明した演奏システムの全体の動作を示すタイミングチャートである。なお、これらの図においては簡易化のため、コントローラ11のクロックWSと音源モジュール12のクロックWSは同期されている。これらのクロックWSは必ずしも同期している必要はないが、例えばS/P DIF入力部44がコントローラ11から受信する信号に基づき同期信号を生成し、その同期信号を発振器51に出力することにより、同期を取ることが可能である。以下、図18および図19を参照して、本実施形態の全体としての動作を説明する。
【0161】
まず、コントローラ11において、CDプレーヤ部25および音源部26から送信されるデジタルオーディオデータは、ミキサ部27においてミキシング処理のため、1/44100秒遅れ、さらにS/P DIF出力部29においてデータをS/P DIF形式の信号に変換するために1/44100秒遅れる。同様に、それらのデータは音源モジュール12において、S/P DIF入力部44においてS/P DIF形式の信号をPCM形式のデジタルオーディオデータに変換するために1/44100秒遅れ、さらにミキサ部48においてミキシング処理のため、1/44100秒遅れる。従って、これらのデジタルオーディオデータはCDプレーヤ部25および音源部26における送信開始から5/44100秒遅れて、ライン出力部50から出力される。
【0162】
一方、コントローラ11においてユーザが押鍵を行った場合、鍵盤部24からは押鍵直後から、図6に示したような3つのMIDIワードからなるノートオンメッセージが順次MIDIデータ重畳部28に送信され、MIDIデータ重畳部28は受信したデータをクロックWSが“0”から“1”に変化するタイミングで1ビットずつS/P DIF出力部29に送信する。MIDIデータの各ビットの値はデジタルオーディオデータに重畳された形でMIDIデータ重畳部28からS/P DIF出力部29、音源モジュール12のS/P DIF入力部44、を経由してMIDIデータ抽出部45に送信されるが、この伝送において2/44100秒の遅れが生ずる。MIDIデータ抽出部においては1/44100秒間隔でMIDIデータが1ビットずつ受信され、10ビット、すなわち1MIDIワードが揃う度にそのMIDIワードを音源部46に送信する。音源部46はこうしてMIDIワードを順次受信するが、3番目のMIDIワード、すなわちデータバイト2の受信を完了した時点で発音を行うことが可能となる。従って、音源部46の発音は、ユーザによる押鍵から約32/44100秒後、すなわち約725.6マイクロ秒後となるが、これはMIDI規格の31250bpsによる3つのMIDIワードの伝送速度、すなわち960.0マイクロ秒よりも速く、実用上問題がない。さらに、例えばMIDIデータの伝送用にL(0)のビット列に加え、R(0)を用いると、この遅れは約半分となり、MIDIデータの伝送速度の改善にも貢献する。
【0163】
[3]変形例
上記実施形態は本発明の一形態であり、本発明の技術的思想の範囲で自由に変形が可能である。以下、それら変形例を示す。
【0164】
(1)上記実施形態においては、MIDIデータを重畳する際のもとなるデジタルオーディオデータの一つとして音楽CDが用いられている。しかしながら、もととなるデジタルオーディオデータの記録媒体およびデータ形式はこれに限られるものではない。コントローラはハードディスク等の他の記録媒体を持ち、その記録媒体に記録されたデジタルオーディオデータを用いてもよいし、またS/PDIF入力部等のインタフェースを持ち、外部の機器からケーブル等を介して伝送されてくるデジタルオーディオデータを用いてもよい。またその際のデータ形式は、PCMデータ形式と同様に規則的なデータ列をなすフォーマットのものであれば、本実施形態において利用することができる。
【0165】
(2)上記実施形態においては、デジタルオーディオデータに対し重畳するMIDIデータはユーザの演奏によりコントローラ内の鍵盤部において生成される。しかしながら、重畳されるMIDIデータはこれに限定されない。コントローラはハードディスク等の他の記録媒体を持ち、その記録媒体に記録されたSMF(Standard MIDI File)等のMIDIデータファイルを用いてMIDIデータを生成し、それを用いてもよいし、またMIDIインタフェース等を持ち、外部の機器からケーブル等を介して伝送されてくるMIDIデータを用いてもよい。なお、SMFはMIDIデータに時間情報を追加して記録する際に広く用いられているファイル形式の一つである。
【0166】
(3)上記実施形態においては、コントローラおよび音源モジュールの内部におけるデータ伝送にはI2Sバスが、またコントローラと音源モジュールとの間のデータ伝送にはS/P DIFが用いられているが、データ伝送規格はこれに限られるものではない。PCMデータ形式およびそれと同様に規則的なデータ列を伝送可能な伝送規格であれば本実施形態において利用することができる。
【0167】
(4)上記実施形態においては、MIDIデータの重畳を行うMIDIデータ重畳部と、MIDIデータの抽出を行うMIDIデータ抽出部がそれぞれ異なる機器に備えられている。しかしながら、これらの構成部およびそれらに付帯する構成部の配置はこれに限られるものではない。例えばコントローラ11の構成に加え、S/P DIF入力部、MIDIデータ抽出部、およびライン出力部を備えるコントローラを用いてもよい。そのようなコントローラを用いれば、MIDIデータのデジタルオーディオデータへの重畳処理と、MIDIデータのデジタルオーディオデータからの抽出処理が同じ機器において実行できる。
【0168】
(5)上記実施形態においては、コントローラと音源モジュールは比較的近距離において利用されることが想定されている。しかしながら、これらの機器はEthernet等のインタフェースを持ち、LANやインターネット等を用いて遠距離にある他の機器とMIDIデータの重畳されたデジタルオーディオデータの送受信を行ってもよい。
【0169】
(6)上記実施形態においては、デジタルオーディオデータとそれに重畳されるMIDIデータは再生時に同じ時間軸上で同期再生される。しかしながら、これらのデータは互いに同期していなくともよい。例えばSMF形式のMIDIデータファイルを、関連する楽曲のデジタルオーディオデータに重畳して配布してもよい。
【0170】
【発明の効果】
図20は図1における演奏システムと類似の構成をとる演奏システムを従来技術により構築した場合の接続例である。従来技術によれば、コントローラ111と音源モジュール112の間には3本のケーブル、すなわちアナログ音声信号の入出力を行うためのアナログオーディオケーブルが左右用に2本とMIDIデータの送受信を行うためのMIDIケーブルが1本必要である。本発明を用いた本実施形態によれば、これら電子楽器間のケーブル数を減少させることができる。
【0171】
すなわち、本発明を用いることにより、低コストで電子楽器(MIDIデータを扱うコンピュータ等を含む)のインタフェース数およびそれらインタフェースに接続されるケーブル数が削減される。なお、その際に電子楽器の拡張性が損なわれることはない。
【0172】
また、本発明を用いることにより、低コストでMIDIデータとそれに関連するデジタルオーディオデータとの一元管理が可能となる。すなわち、それらのデータは一つのデータに重畳され、伝送および記録されるため、データ管理の煩雑さが低減する。
【0173】
また、MIDIデータの重畳先がサブコードではなく、デジタルオーディオデータ本体内であるので、MIDIデータの重畳および抽出の作業も容易である。
【図面の簡単な説明】
【図1】 本実施形態に係る演奏システム全体の構成を示すブロック図である。
【図2】 本実施形態に係るコントローラの構成を示すブロック図である。
【図3】 本実施形態に係るデジタルオーディオデータのデータフォーマット(16ビット)を示す図である。
【図4】 本実施形態に係るデジタルオーディオデータのデータフォーマット(24ビット)を示す図である。
【図5】 本実施形態に係るMIDIデータ例を示す図である。
【図6】 本実施形態に係るMIDIデータ伝送時のフォーマットを示す図である。
【図7】 本実施形態に係るMIDIデータが重畳されたデジタルオーディオデータのデータフォーマット(24ビット)を示す図である。
【図8】 本実施形態に係るMIDIデータが重畳されたデジタルオーディオデータのデータフォーマット(16ビット)を示す図である。
【図9】 本実施形態に係る音源モジュールの構成を示すブロック図である。
【図10】 本実施形態に係るMIDIデータ送信動作を表すフローチャートである。
【図11】 本実施形態に係るMIDIデータ伝送時のタイミングチャート例である。
【図12】 本実施形態に係るMIDIデータ受信動作を表すフローチャートである。
【図13】 本実施形態に係るI2Sバスを介したデジタルオーディオデータ伝送時のタイミングチャート例である。
【図14】 本実施形態に係るMIDIデータのデジタルオーディオデータへの重畳動作を表すフローチャートである。
【図15】 本実施形態に係るS/P DIFを介したデジタルオーディオデータ伝送時のデータフォーマットを示す図である。
【図16】 BMC変換の説明用タイミングチャートである。
【図17】 本実施形態に係るMIDIデータ抽出動作を示すフローチャートである。
【図18】 本実施形態に係るデジタルオーディオデータおよびMIDIデータの伝送過程を示すタイミングチャートである。
【図19】 本実施形態に係るデジタルオーディオデータおよびMIDIデータの伝送過程を示すタイミングチャートである。
【図20】 従来技術を用いた演奏システムの構成を示すブロック図である。
【符号の説明】
11、111 コントローラ
12、112 音源モジュール
13、113 アンプ
14、114 スピーカL
15、115 スピーカR
21、41 制御部
22、42 操作部
23、43 表示部
24 鍵盤部
25 CDプレーヤ部
26、46 音源部
27、48 ミキサ部
28 MIDIデータ重畳部
29 S/P DIF出力部
30、51 発振器
44 S/P DIF入力部
45 MIDIデータ抽出部
47 MIDIデータ出力部
49 記憶部
50 ライン出力部

Claims (9)

  1. サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信過程と、
    楽音の発音を指示する演奏データを受信する演奏データ受信過程と、
    前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成過程と
    を具備することを特徴とするデータ生成方法。
  2. 請求項1記載のデータ生成方法であって、
    前記演奏データ受信過程において受け取った演奏データを示すビット列に同期ビットを付加する同期ビット付加過程を具備し、
    前記オーディオデータ生成過程において、前記同期ビットの付加された演奏データを示すビット列を構成するビットにより前記置き換えの処理が行われる
    ことを特徴とするデータ生成方法。
  3. 音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信過程と、
    前記受信過程によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成過程と
    を具備することを特徴とするデータ生成方法。
  4. サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信過程と、
    楽音の発音を指示する演奏データを受信する演奏データ受信過程と、
    前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成過程と
    をコンピュータに実行させるプログラム。
  5. 音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信過程と、
    前記受信過程によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成過程と
    をコンピュータに実行させるプログラム。
  6. サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信過程と、
    楽音の発音を指示する演奏データを受信する演奏データ受信過程と、
    前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成過程と
    をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  7. 音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演 奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信過程と、
    前記受信過程によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成過程と
    をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  8. サンプル値を表す所定数のビット列であるサンプルデータを時系列的に複数配列してなるオーディオデータを受信するオーディオデータ受信手段と、
    楽音の発音を指示する演奏データを受信する演奏データ受信手段と、
    前記オーディオデータに含まれる複数のサンプルデータ各々に含まれる未使用ビットまたは最下位ビットを含む所定のビットを、前記演奏データを示すビット列を構成するビットで置き換えることにより、演奏データの埋め込まれたオーディオデータを生成するオーディオデータ生成手段
    を具備することを特徴とするデータ生成装置。
  9. 音のサンプル値を示す所定数のビット列であって、当該ビット列に含まれる未使用ビットまたは最下位ビットを含む所定数のビットが楽音の発音を指示する演奏データを示すビット列の一部を構成するビットであるサンプルデータを時系列的に複数配列してなるオーディオデータを受信する受信手段と、
    前記受信手段によって受信されるオーディオデータに含まれる複数のサンプルデータの各々から未使用ビットまたは最下位ビットを含む所定数のビットを抽出し、抽出したビットを結合することにより、前記演奏データを生成する演奏データ生成手段
    を具備することを特徴とするデータ生成装置。
JP2002121319A 2002-04-23 2002-04-23 データ生成方法、プログラム、記録媒体およびデータ生成装置 Expired - Fee Related JP3915585B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002121319A JP3915585B2 (ja) 2002-04-23 2002-04-23 データ生成方法、プログラム、記録媒体およびデータ生成装置
US10/419,575 US7026537B2 (en) 2002-04-23 2003-04-21 Multiplexing system for digital signals formatted on different standards, method used therein, demultiplexing system, method used therein computer programs for the methods and information storage media for storing the computer programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002121319A JP3915585B2 (ja) 2002-04-23 2002-04-23 データ生成方法、プログラム、記録媒体およびデータ生成装置

Publications (2)

Publication Number Publication Date
JP2003316356A JP2003316356A (ja) 2003-11-07
JP3915585B2 true JP3915585B2 (ja) 2007-05-16

Family

ID=29208045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002121319A Expired - Fee Related JP3915585B2 (ja) 2002-04-23 2002-04-23 データ生成方法、プログラム、記録媒体およびデータ生成装置

Country Status (2)

Country Link
US (1) US7026537B2 (ja)
JP (1) JP3915585B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100541653B1 (ko) * 2003-10-16 2006-01-10 삼성전자주식회사 반도체 장치의 신호 송수신 방법
US7653344B1 (en) * 2004-01-09 2010-01-26 Neosonik Wireless digital audio/video playback system
JP2005274782A (ja) * 2004-03-23 2005-10-06 Kawai Musical Instr Mfg Co Ltd 電子楽音発生装置
US7332666B2 (en) * 2004-08-05 2008-02-19 Yamaha Corporation Performance control system, performance control apparatus, performance control method, program for implementing the method, and storage medium storing the program
US7531736B2 (en) * 2005-09-30 2009-05-12 Burgett, Inc. System and method for adjusting MIDI volume levels based on response to the characteristics of an analog signal
US20080178726A1 (en) * 2005-09-30 2008-07-31 Burgett, Inc. System and method for adjusting midi volume levels based on response to the characteristics of an analog signal
US8310965B1 (en) * 2005-10-04 2012-11-13 Marvell International Ltd. Buffered audio system with synchronizing bus controller
JP4775042B2 (ja) * 2006-03-09 2011-09-21 ヤマハ株式会社 制御装置及びプログラム
US8450589B2 (en) * 2008-04-10 2013-05-28 Panasonic Corporation Nonvolatile storage module, access module, musical sound data file generation module and musical sound generation system
JP5556076B2 (ja) * 2008-08-20 2014-07-23 ヤマハ株式会社 シーケンスデータ出力装置、音声処理システム、および電子楽器
JP5604824B2 (ja) * 2008-07-29 2014-10-15 ヤマハ株式会社 テンポ情報出力装置、音声処理システム、および電子楽器
JP5556075B2 (ja) * 2008-07-30 2014-07-23 ヤマハ株式会社 演奏情報出力装置、及び演奏システム
JP5556074B2 (ja) * 2008-07-30 2014-07-23 ヤマハ株式会社 制御装置
US8697975B2 (en) 2008-07-29 2014-04-15 Yamaha Corporation Musical performance-related information output device, system including musical performance-related information output device, and electronic musical instrument
US8737638B2 (en) 2008-07-30 2014-05-27 Yamaha Corporation Audio signal processing device, audio signal processing system, and audio signal processing method
CN102369573A (zh) * 2009-03-13 2012-03-07 皇家飞利浦电子股份有限公司 嵌入和提取辅助数据
JP5568999B2 (ja) * 2010-01-15 2014-08-13 ヤマハ株式会社 再生装置、楽音信号出力装置、再生システム及びプログラム
US8130790B2 (en) 2010-02-08 2012-03-06 Apple Inc. Digital communications system with variable-bandwidth traffic channels
JP5782677B2 (ja) 2010-03-31 2015-09-24 ヤマハ株式会社 コンテンツ再生装置および音声処理システム
EP2573761B1 (en) 2011-09-25 2018-02-14 Yamaha Corporation Displaying content in relation to music reproduction by means of information processing apparatus independent of music reproduction apparatus
JP5494677B2 (ja) 2012-01-06 2014-05-21 ヤマハ株式会社 演奏装置及び演奏プログラム
JP5533892B2 (ja) 2012-01-06 2014-06-25 ヤマハ株式会社 演奏装置
JP2013141167A (ja) 2012-01-06 2013-07-18 Yamaha Corp 演奏装置
US10452594B2 (en) * 2015-10-20 2019-10-22 Texas Instruments Incorporated Nonvolatile logic memory for computing module reconfiguration
US10331203B2 (en) 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
JP6519507B2 (ja) * 2016-03-22 2019-05-29 ヤマハ株式会社 音響信号の転送方法及び再生装置
JP6575407B2 (ja) * 2016-03-22 2019-09-18 ヤマハ株式会社 オーディオ機器及び音響信号の転送方法
KR20220059942A (ko) * 2019-09-10 2022-05-10 소니그룹주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
US11424624B2 (en) * 2019-11-01 2022-08-23 Samsung Electronics Co., Ltd. Transmitter circuit, data transmission method, and electronic system
US11500789B2 (en) * 2021-04-13 2022-11-15 Microchip Technology Incorporated Automatic threshold adjustment for USB power delivery to work with cables out of specification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3072452B2 (ja) * 1993-03-19 2000-07-31 ヤマハ株式会社 カラオケ装置
US5654516A (en) * 1993-11-03 1997-08-05 Yamaha Corporation Karaoke system having a playback source with pre-stored data and a music synthesizing source with rewriteable data
US5680512A (en) * 1994-12-21 1997-10-21 Hughes Aircraft Company Personalized low bit rate audio encoder and decoder using special libraries
JP2000513457A (ja) * 1996-06-24 2000-10-10 ヴァン コーベリング カンパニー 楽器システム
JP3870490B2 (ja) * 1997-06-30 2007-01-17 ヤマハ株式会社 音楽演奏情報伝送方式
US6610917B2 (en) * 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
US6686530B2 (en) * 1999-04-26 2004-02-03 Gibson Guitar Corp. Universal digital media communications and control system and method
US6462264B1 (en) * 1999-07-26 2002-10-08 Carl Elam Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech

Also Published As

Publication number Publication date
JP2003316356A (ja) 2003-11-07
US7026537B2 (en) 2006-04-11
US20030196540A1 (en) 2003-10-23

Similar Documents

Publication Publication Date Title
JP3915585B2 (ja) データ生成方法、プログラム、記録媒体およびデータ生成装置
US5933430A (en) Data communication method
US5194682A (en) Musical accompaniment playing apparatus
US7579543B2 (en) Electronic musical apparatus and lyrics displaying apparatus
JP2724896B2 (ja) Midi情報をサブコードパツクに記憶する方法及び装置
US7622664B2 (en) Performance control system, performance control apparatus, performance control method, program for implementing the method, and storage medium storing the program
JPH06222776A (ja) オーディオ信号の発生方法
JP2007514971A (ja) Midi符号化および復号化
JP2004157260A (ja) ミキシング記録装置およびその制御方法を実現するためのプログラム
JPH07302091A (ja) カラオケ通信システム
JP3925349B2 (ja) 音声データと演奏データの同期再生を行うための装置および方法
JP3969249B2 (ja) 音声データと演奏データの同期再生を行うための装置および方法
JP4066778B2 (ja) 楽曲演奏システム
JP2002108375A (ja) カラオケ曲データ変換装置及びカラオケ曲データ変換方法
JP2005092191A (ja) 楽曲シーケンスデータのデータ交換フォーマット、音源システム及び楽曲ファイル作成ツール
JP4207082B2 (ja) 再生装置、再生方法およびプログラム
JP2709965B2 (ja) Bgm再生に用いる音楽伝送再生システム
JP3754286B2 (ja) データ記録方法及びデータ記録装置
KR100620973B1 (ko) 음원데이타 출력시스템
JP3758267B2 (ja) 音源回路設定方法、該方法によって設定される音源回路を備えたカラオケ装置、および記録媒体
JP3592373B2 (ja) カラオケ装置
JP4674623B2 (ja) 音源システム及び楽曲ファイル作成ツール
JP4259422B2 (ja) 演奏制御装置及びプログラム
JPH0424691A (ja) 電子楽器
JPH05224672A (ja) Midi演奏制御情報再生・中継装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3915585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees