JP2002132263A - 楽音生成装置および携帯端末装置 - Google Patents

楽音生成装置および携帯端末装置

Info

Publication number
JP2002132263A
JP2002132263A JP2001158994A JP2001158994A JP2002132263A JP 2002132263 A JP2002132263 A JP 2002132263A JP 2001158994 A JP2001158994 A JP 2001158994A JP 2001158994 A JP2001158994 A JP 2001158994A JP 2002132263 A JP2002132263 A JP 2002132263A
Authority
JP
Japan
Prior art keywords
data
sound source
register
management information
time management
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
JP2001158994A
Other languages
English (en)
Other versions
JP2002132263A5 (ja
JP3675362B2 (ja
Inventor
Yasuyuki Muraki
保之 村木
Ichiro Tahashi
一郎 太箸
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
Priority to JP2001158994A priority Critical patent/JP3675362B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to TW090120340A priority patent/TW588326B/zh
Priority to PCT/JP2001/007092 priority patent/WO2002017294A1/ja
Priority to AU2001278767A priority patent/AU2001278767A1/en
Priority to EP01956949A priority patent/EP1318501A4/en
Priority to US10/344,806 priority patent/US7247784B2/en
Priority to CNB018142966A priority patent/CN1254785C/zh
Priority to KR10-2003-7002365A priority patent/KR100521575B1/ko
Publication of JP2002132263A publication Critical patent/JP2002132263A/ja
Priority to HK03108305A priority patent/HK1056037A1/xx
Publication of JP2002132263A5 publication Critical patent/JP2002132263A5/ja
Application granted granted Critical
Publication of JP3675362B2 publication Critical patent/JP3675362B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • 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
    • 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
    • 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/005Device type or category
    • G10H2230/021Mobile ringtone, i.e. generation, transmission, conversion or downloading of ringing tones or other sounds for mobile telephony; Special musical data formats or protocols herefor
    • 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/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • 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/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • 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/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/061MP3, i.e. MPEG-1 or MPEG-2 Audio Layer III, lossy audio compression
    • 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/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • G10H2240/251Mobile telephone transmission, i.e. transmitting, accessing or controlling music data wirelessly via a wireless or mobile telephone receiver, analog or digital, e.g. DECT GSM, UMTS
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/581Codebook-based waveform compression
    • G10H2250/585CELP [code excited linear prediction]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • G10H2250/595ADPCM [adaptive differential pulse code modulation]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones

Abstract

(57)【要約】 【課題】 ハードウェアの回路規模が大きくならないと
共に、ソフトウェアの重い処理を必要としないようにす
る。 【解決手段】 CPU10によりRAM11に記憶され
ている音楽コンテンツデータを音源ハードウェア制御デ
ータに変換して、RAM11に記憶する。再生時にCP
U10はこの音源ハードウェア制御データを読み出して
音源ハードウェア15に送る。音源ハードウェア15の
データデコード回路32bがFIFO31から逐次音源
ハードウェア制御データを読み出して、時間管理情報を
分離してカウンタ32aにセットする。時間管理を行う
カウンタ32aの制御の基で、レジスタライトコントロ
ーラ32cは時間管理情報のタイミングで楽音を生成す
るためのパラメータのデータを音源制御レジスタ33a
に書き込む。音源部33は音源制御レジスタ33aのデ
ータに基づいて楽音を生成する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、簡易な構成の楽音
生成装置に関するものであり、メロディ音を生成可能な
携帯端末装置に適用して好適なものである。
【0002】
【従来の技術】従来の楽音生成装置は、ハードウェアを
用いて楽音を生成するようにしたハードウェア楽音生成
装置と、楽音生成プログラムをコンピュータに実行させ
ることにより楽音を生成するソフトウェア楽音生成装置
とがあった。従来のハードウェア楽音生成装置の構成例
を図25に示す。図25において、CPU(Central Pr
ocessing Unit)110は、MIDI(Musical Instrum
entDigital Interface)データや、後述するSMAF
(Synthetic Music Mobile Application Format)デー
タ等の音楽コンテンツデータ111を音源ハードウェア
115に供給している。この場合、MIDIデータやS
MAFデータは外部から転送されたデータであったり、
記憶手段から読み出されたデータとされる。音源ハード
ウェア115には、シーケンサ132とハードウェアか
らなる音源部133が備えられている。シーケンサ13
2は、MIDIデータやSMAFデータを音源ハードウ
ェア115に固有の制御データに変換するハードウェア
固有制御データ変換部132aと、データ中の時間管理
情報に従って、楽音の発音を制御する時間管理部132
bとを有している。
【0003】このように構成されたハードウェア楽音生
成装置においては、楽音を再生する際に、制御データ中
に含まれているイベントとイベントの時間間隔を示すイ
ンターバルデータや、発音期間を示すゲートタイムデー
タに基づくタイミングにおいて、時間管理部132bが
ハードウェア固有制御データ変換部132aにデータ出
力の指示を与えている。これ受けて、ハードウェア固有
制御データ変換部132aは、変換したハードウェア固
有制御データを音源部133に出力する。音源部133
では、供給されたハードウェア固有制御データに基づい
て楽音を生成して出力する。これにより、楽音が再生さ
れるようになる。
【0004】また、従来のソフトウェア楽音生成装置の
構成例を図26に示す。図26において、CPU210
は、シーケンサ機能手段232を備えている。このシー
ケンサ機能手段232は、CPU210がシーケンサプ
ログラムを実行することにより実現されており、シーケ
ンサ機能手段232はハードウェア固有制御データ変換
手段210aと、時間管理手段210bとを有してい
る。ハードウェア固有制御データ変換手段210aは、
MIDIデータや、SMAFデータ211を音源ハード
ウェア215に固有の制御データに変換する手段であ
り、時間管理手段210bは、データ中の時間管理情報
に従って、楽音を発音するタイミングを制御する手段で
ある。なお、ハードウェア固有制御データ変換手段21
0aが変換するMIDIデータやSMAFデータ211
は外部から転送されたデータであったり、記憶手段から
読み出されたデータとされる。また、ハードウェア固有
制御データから楽音を生成する音源ハードウェア215
には、ハードウェアからなる音源部233が備えられて
いる。
【0005】このように構成されたソフトウェア楽音生
成装置において、楽音を再生する際には、CPU210
の時間管理手段210bは、変換されたハードウェア固
有制御データ中に含まれているイベントとイベントの時
間間隔を示すデュレーションデータや、発音期間を示す
ゲートタイムデータに基づくタイミングにおいて、ハー
ドウェア固有制御データ変換手段210aにデータ出力
の指示を与える。これを受けて、ハードウェア固有制御
データ変換手段210aは、変換したハードウェア固有
制御データを音源ハードウェア215に出力する。音源
ハードウェア215では、供給されたハードウェア固有
制御データに基づいて音源部233が楽音を生成して出
力する。これにより、楽音が再生されるようになる。
【0006】
【発明が解決しようとする課題】しかしながら、楽音生
成装置をハードウェアで実現するハードウェア楽音生成
装置においては、シーケンサ132が音楽コンテンツデ
ータの変換および時間管理を行っていることから、シー
ケンサ132の構成が複雑となってしまうことになる。
これにより、シーケンサ132の回路規模が大きくなり
コストアップになるという問題点があった。また、楽音
生成装置をソフトウェアで実現するソフトウェア楽音生
成装置においては、CPU210が音楽コンテンツデー
タの変換および時間管理を行っていることから、CPU
210の処理が重くなってしまうことになる。これによ
り、高速のCPUが必要となる。特に、CPUが通信制
御等の重要度の高い他の処理をメインに行うものである
場合には、シーケンサ処理を行うために高価な高速のC
PUが必要になるという問題点があった。さらに、従来
のハードウェア楽音生成装置および従来のソフトウェア
楽音生成装置においては、楽音を再生する際には曲の先
頭から再生されている。すると、携帯電話機等の着信メ
ロディとして楽音が再生される際には、曲の先頭の部分
しか聴くことができないという問題点があった。
【0007】そこで、本発明は、ハードウェアの回路規
模が大きくならないと共に、ソフトウェアの重い処理を
必要とすることのない楽音生成装置、および、このよう
な楽音生成装置を備える携帯端末装置を提供することを
第1の目的とし、この楽音生成装置および携帯端末装置
において、曲の任意の位置から楽音を再生できるように
することを第2の目的としている。
【0008】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明の楽音生成装置は、音楽コンテンツデ
ータを再生可能な音源ハードウェア制御データに変換す
る変換処理を実行するソフトウェア処理手段と、前記音
源ハードウェア制御データ中に含まれている時間管理情
報に基づくタイミングに達する毎に、前記音源ハードウ
ェア制御データ中の楽音生成用のパラメータに基づいて
楽音を生成する音源ハードウェア手段とを備えている。
また、上記本発明の楽音生成装置において、前記ソフト
ウェア処理手段は、処理に余裕がある時間を利用して記
憶手段に記憶されている前記音楽コンテンツデータを音
源ハードウェア制御データに変換する処理を実行し、変
換された前記音源ハードウェア制御データを記憶手段に
記憶するようにしてもよい。
【0009】さらに、上記本発明の楽音生成装置におい
て、前記音源ハードウェア手段は所定量の前記音源ハー
ドウェア制御データを記憶することのできるバッファメ
モリ手段を備え、前記ソフトウェア処理手段は前記バッ
ファメモリ手段に記憶可能なデータ量ずつ変換して、前
記バッファメモリ手段に変換した前記音源ハードウェア
制御データを転送するようにしてもよい。さらにまた、
上記本発明の楽音生成装置において、前記音源ハードウ
ェア手段は基準時間単位毎に発生されるクロック信号を
カウントするカウンタ手段を備え、前記ソフトウェア処
理手段から供給されたスタート信号に応じてカウントを
開始する前記カウンタ手段のカウント値が、前記音源ハ
ードウェア制御データ中に含まれている時間管理情報の
値以上になった際に、該時間管理情報に続く音源ハード
ウェア制御データ中の楽音生成用のパラメータを音源制
御レジスタに書き込むようにしてもよい。
【0010】さらにまた、上記本発明の楽音生成装置に
おける前記ソフトウェア処理手段において、前記音楽コ
ンテンツデータを前記音源ハードウェア制御データに変
換する際に、時間管理情報が同値とされると共に、楽音
生成用のパラメータを音源制御レジスタに書き込むアド
レスを示すインデックス情報が連続する場合は、前記時
間管理情報に続くインデックス情報を先頭のインデック
ス情報とし、該インデックス情報に続く楽音生成用のパ
ラメータを、連続するインデックス情報に対応している
複数のパラメータとするようにしてもよい。さらにま
た、上記本発明の楽音生成装置において、前記音源ハー
ドウェア手段は基準時間単位毎に発生されるクロック信
号をカウントするカウンタ手段を備え、前記ソフトウェ
ア処理手段から供給されたスタート信号に応じてカウン
トを開始する前記カウンタ手段のカウント値が、前記音
源ハードウェア制御データ中に含まれている時間管理情
報が示す値以上になった際に、該時間管理情報に続く音
源ハードウェア制御データ中の楽音生成用のパラメータ
を音源制御レジスタに書き込む場合に、前記パラメータ
が複数のパラメータデータから構成されている場合は、
前記インデックス情報が示すアドレスを1づつインクリ
メントしながらそれぞれのパラメータデータを、前記音
源制御レジスタに書き込むようにしてもよい。
【0011】さらにまた、上記第2の目的を達成するこ
とのできる上記本発明の楽音生成装置は、任意の演奏開
始位置のデータを記憶するポイントレジスタ手段を備え
ており、前記音源ハードウェア手段は、該ポイントレジ
スタ手段に記憶されている演奏開始位置のデータに対応
する位置からの音源ハードウェア制御データに基づいて
楽音を生成するようにしている。
【0012】次に、上記第1の目的あるいは第2の目的
をも達成することのできる本発明の携帯端末装置は、上
記いずれかの楽音生成装置を備える携帯端末装置であっ
て、前記ソフトウェア処理手段は、携帯端末機能処理を
メイン処理として実行するようになされている。
【0013】このような本発明によれば、音楽コンテン
ツデータを音源ハードウェア制御データに変換する変換
処理をソフトウェア処理手段で実行し、時間管理を音源
ハードウェアで行うようにしたので、音源ハードウェア
に設けられたシーケンサの回路規模を小さくすることが
できる。この場合、時間管理はカウンタ手段を用いて簡
易な構成で行うことができる。また、ソフトウェア処理
手段では時間管理のための処理を行う必要がないので、
ソフトウェア処理手段の負荷を軽くすることができ、高
速のCPUを不要とすることができる。さらに、ソフト
ウェア処理手段が、処理に余裕がある時間を利用して変
換処理を実行することにより、ソフトウェア処理手段に
負荷が集中することを防止することができ、高速のソフ
トウェア処理手段とする必要性をさらに低くすることが
できる。さらにまた、時間管理情報が同値とされると共
に、楽音生成用のパラメータを音源制御レジスタに書き
込むアドレスを示すインデックス情報が連続する場合
は、時間管理情報に続くインデックス情報を先頭のイン
デックス情報とし、続く楽音生成用のパラメータを複数
のパラメータとなるように変換することにより、音源ハ
ードウェア制御データ量を低減させることができ、ソフ
トウェア処理手段および音源ハードウェア手段の負担を
軽くすることができる。さらにまた、任意の演奏開始位
置のデータを記憶するポイントレジスタ手段を備え、こ
こに記憶されている演奏開始位置のデータに対応する位
置からの音源ハードウェア制御データに基づいて楽音を
生成するようにしたので、音楽コンテンツデータとされ
ている曲の任意の位置から再生することが可能となる。
これにより、再生される楽音を着信メロディとして用い
る際には、曲の好みの位置からの着信メロディを聴くこ
とができるようになる。
【0014】
【発明の実施の形態】本発明の楽音生成装置を備える本
発明の携帯端末装置を携帯電話機に適用した場合の実施
の形態の構成例を図1に示す。図1に示す携帯電話機1
は、一般にリトラクタブルとされたアンテナ25を備え
ており、基地局2と無線回線により接続可能とされてい
る。アンテナ25は変調・復調機能を有する通信部13
に接続されている。中央処理装置(Central Processing
Unit:CPU)10は、電話機能プログラムを実行す
ることにより携帯電話機1の各部の動作を制御するシス
テム制御部であり、動作時の経過時間を示したり、特定
の時間間隔でタイマ割込を発生するタイマを備えてい
る。また、CPU10は後述するデータ変換処理等の楽
音生成関連処理を行う。RAM11は基地局2を介して
接続したダウンロードセンター等からダウンロードされ
た配信フォーマットとされた音楽コンテンツデータの格
納エリアや、音楽コンテンツデータを変換した音源ハー
ドウェア制御データの格納エリア、および、CPU10
のワークエリア等が設定されるRAM(Random Access
Memory)である。ROM12はCPU10が実行する送
信や着信の各種電話機能プログラムや楽音生成関連処理
等のプログラムや、プリセットされた音源ハードウェア
制御データ等の各種データが格納されているROM(Re
ad Only Memory)である。
【0015】また、通信部13は、アンテナ25で受信
された信号の復調を行うと共に、送信する信号を変調し
てアンテナ25に供給している。通信部13で復調され
た受話信号は、音声処理部(コーダ/デコーダ)14に
おいて復号され、マイク21から入力された通話信号は
音声処理部14において圧縮符号化される。音声処理部
14は、音声を高能率圧縮符号化/復号化しており、例
えばCELP(Code Excited LPC )系やADPCM
(適応差分PCM符号化)方式のコーダ/デコーダとさ
れている。音源ハードウェア15は、音声処理部14か
らの受話信号を受話用スピーカ22から放音したり、変
換された音源ハードウェア制御データを再生することに
より着信メロディ、保留音を生成して出力することがで
きる。なお、着信メロディは着信用スピーカ23から放
音され、保留音は受話信号とミキシングされて受話用ス
ピーカ22から放音される。
【0016】また、音楽コンテンツデータのフォーマッ
トは配信するに便利なMIDIフォーマットやSMAF
フォーマットとされており、CPU10がこれらのフォ
ーマットの音楽コンテンツデータを音源ハードウェア1
5に固有なフォーマットの音源ハードウェア制御データ
に変換することにより、再生可能としている。変換され
た音源ハードウェア制御データはRAM11に記憶する
ことができる。音源ハードウェア15は音源ハードウェ
ア制御データに基づいて楽音を再生しており、この際
に、内部に所定量の音源ハードウェア制御データを一時
記憶するFIFOが設けられている。このFIFOは一
曲分の音源ハードウェア制御データが記憶できる記憶容
量とされてもよいが、記憶容量が小さく一曲分の音源ハ
ードウェア制御データを記憶できない場合は、FIFO
に所定量の空きエリアが生じた際に、音源ハードウェア
15がFIFOデータリクエスト信号をCPU10に与
え、CPU10がRAM11あるいはROM12に記憶
されている音源ハードウェア制御データの続きを読み出
して音源ハードウェア15に転送するようにしてもよ
い。このようにすると、小さい容量のFIFOを用いて
も大きなデータ量とされる音源ハードウェア制御データ
の楽曲を再生することができるようになる。
【0017】さらに、インタフェース(I/F)16
は、パーソナルコンピュータ等の外部機器20から音楽
コンテンツデータ等をダウンロードするためのインタフ
ェースである。入力部17は携帯電話機1に備えられた
「0」から「9」のダイヤルボタンや各種ボタンから構
成される入力手段である。表示部18は電話機能のメニ
ューや、ダイヤルボタン等のボタンの操作に応じた表示
がされる表示器である。バイブレータ19は、着信時に
着信音に代えて携帯電話機1の本体を振動させることに
より、着信をユーザに知らせるバイブレータである。な
お、各機能ブロックはバス24を介してデータ等の授受
を行っている。
【0018】次に、本発明の実施の形態にかかる携帯電
話機1における楽音生成装置の構成を図2に示す。ただ
し、図2では、受話用スピーカ22,着信用スピーカ2
3およびそれに関連する構成を省略して示している。な
お、図中のCPU10と音源ハードウェア15あるいは
RAM11とは図示されていないがバス24を介してデ
ータの授受を行っている。図2に示す本発明の楽音生成
装置において、RAM11には音楽コンテンツデータで
あるファイル化されたMIDIデータやSMAFデータ
等が領域11aに格納されている。また、CPU10に
おいて処理に余裕があったり空き時間等がある時や、あ
るいは音楽コンテンツデータの再生指示があった場合
に、CPU10はRAM11の領域11aから音楽コン
テンツデータを読み出して音源ハードウェア制御データ
に変換する変換処理を実行し、変換後の音源ハードウェ
ア制御データをRAM11の領域11bに格納してい
る。領域11aには複数曲分の音楽コンテンツデータが
記憶可能とされ、領域11bにも複数曲分の音源ハード
ウェア制御データが記憶可能とされている。
【0019】前述したようにCPU10は、RAM11
の領域11aから音楽コンテンツデータを読み出して音
源ハードウェア制御データに変換する変換処理を実行
し、変換後の音源ハードウェア制御データをRAM11
の領域11bに格納している。この変換処理は、CPU
10における音源ハードウェア制御データ変換手段10
bが実行するが、音源ハードウェア制御データ変換手段
10bはソフトウェアで実現されている。CPU10に
おいて、音楽コンテンツデータを音源ハードウェア制御
データに変換する際には、メモリコントローラ10aが
RAM11の領域11aから変換すべき音楽コンテンツ
データを先頭から順次読み出して、音源ハードウェア制
御データ変換手段10bに供給する。音源ハードウェア
制御データ変換手段10bは、供給された音楽コンテン
ツデータを解釈して逐次音源ハードウェア制御データに
変換する。変換された音源ハードウェア制御データは、
メモリコントローラ10aがRAM11の領域11bに
順次書き込む。これにより、CPU10は音楽コンテン
ツデータを音源ハードウェア制御データに変換すること
ができる。なお、CPU10によるデータ変換処理を行
いながら楽音の再生を行う場合は、メモリコントローラ
10aは音源ハードウェア15のFIFO(First-In F
irst-Out)31に変換された音源ハードウェア制御デー
タfを書き込むようにする。
【0020】音源ハードウェア15は、所定量の音源ハ
ードウェア制御データを格納することのできるFIFO
31を備え、シーケンサ32はこのFIFO31から順
次音源ハードウェア制御データを読み出している。FI
FO31は音源ハードウェア制御データを、例えば32
ワード分格納できる先入れ先出し方式の記憶手段であ
り、先に書き込まれた音源ハードウェア制御データから
順次読み出されるようにされている。また、FIFO3
1から音源ハードウェア制御データが読み出されて設定
された所定量の空きエリアがFIFO31に発生した際
には、FIFO31はFIFOデータリクエスト信号e
をCPU10のメモリコントローラ10aに送り、続く
音源ハードウェア制御データfをFIFO31に転送す
るように要求している。これにより、小さい容量のFI
FO31を用いても大きなデータ量とされる音源ハード
ウェア制御データの楽曲を再生することができるように
なる。
【0021】音源ハードウェア15におけるシーケンサ
32は、データデコード回路32bを備え、データデコ
ード回路32bはFIFO31から読み出した音源ハー
ドウェア制御データを、時間管理情報と音源制御レジス
タライトデータとに分離している。この場合、時間管理
情報に前置して時間管理情報識別アドレスが付加されて
いる場合は、時間管理情報識別アドレスに続く例えば1
バイトのデータを時間管理情報として分離する。時間管
理情報識別アドレスおよび時間管理情報を除いたデータ
である音源制御レジスタライトデータは、楽音生成用の
パラメータのデータでありレジスタライトコントローラ
32cの制御の基で音源部33の音源制御レジスタ33
aに書き込まれるようになる。レジスタライトコントロ
ーラ32cは、レジスタライト許可信号dが出力された
タイミングで音源制御レジスタライトデータを音源制御
レジスタ33aに書き込むが、レジスタライト許可信号
dは、後述するが時間管理情報のデュレーションの値や
ゲートタイムの値とカウンタ(タイマー)32aのカウ
ント値が一致したタイミングで出力される。
【0022】シーケンサ32におけるカウンタ32aは
基準時間単位とされる、例えば1ms毎に出力されるク
ロックを計数しており、この計数はCPU10から出力
されるシーケンサスタート信号gが印加された際に開始
される。また、シーケンサスタート信号gは、音源制御
レジスタ33aのうちのシーケンサ32に備えられてい
るレジスタ01hにデータ“01h”を書き込み、その
D0(start)を“1”にセットすることにより、シー
ケンサ開始を指示する。これにより、シーケンサ32は
シーケンサ処理をスタートし、カウンタ32aが計数を
開始すると、カウンタ32aはデータデコードスタート
信号aをデータデコード回路32bに印加する。これを
受けて、データデコード回路32bはFIFO31から
音源ハードウェア制御データを読み出して、時間管理情
報を分離する。分離された時間管理情報bはカウンタ3
2aへ送られる。そして、カウンタ32aにおいてカウ
ント値が時間管理情報b以上となった際に、カウンタ3
2aはレジスタライト許可信号dをレジスタライトコン
トローラ32cに印加して、データデコード回路32b
で分離された音源制御レジスタライトデータcを音源制
御レジスタ33aに書き込む。これにより、音源部33
においてその音源制御レジスタライトデータcに基づく
楽音が生成されて出力されるようになる。次いで、デー
タデコード回路32bはFIFO31から次の音源ハー
ドウェア制御データを読み出す。
【0023】そして、データデコード回路32bはFI
FO31から読み出した次の音源ハードウェア制御デー
タから次の時間管理情報を分離して、上述した処理と同
様の処理を繰り返し行う。すなわち、カウンタ32aに
おいてカウント値が次の時間管理情報b以上となった際
に、カウンタ32aはレジスタライト許可信号dをレジ
スタライトコントローラ32cに印加して、データデコ
ード回路32bで分離された次の音源制御レジスタライ
トデータcを音源制御レジスタ33aに書き込む。これ
により、音源部33において次の音源制御レジスタライ
トデータcに基づく楽音が生成されて出力される。次い
でデータデコード回路32bは、FIFO31から次の
次の音源ハードウェア制御データを読み出す。このよう
にFIFO31から順次音源ハードウェア制御データを
読み出していくことにより、音源部33において楽音が
再生されていくようになる。
【0024】次に、楽音生成装置に再生指示がされた際
の図2に示す楽音生成装置の動作を説明する。まず、S
MAFフォーマットについて説明する。SMAFフォー
マットのデータ構造を図3および図4に示す。図3
(a)に示すようにSMAFは、チャンク(Chunk)構
造とされており、コンテンツ情報チャンク(Contents I
nfo Chunk)40、スコアトラックチャンク(Score Tra
ck Chunk)41、PCMオーディオトラックチャンク
(PCM Audio Track Chunk)42等のチャンクから構成
されている。コンテンツ情報チャンク40は、コンテン
ツの情報や定義を含むチャンクであり、スコアトラック
チャンク41は、音源シーケンストラックを格納するチ
ャンクであり、PCMオーディオトラックチャンク42
は、ADPCMやMP3(MPEG audio layer 3),Twin
VQ等の圧縮されたPCM系のオーディオ発音をイベント
形式で格納するチャンクである。
【0025】スコアトラックチャンク41のデータ構造
を図3(b)に示す。この図に示すように、スコアトラ
ックチャンク41は、フォーマットタイプ(Format Typ
e)、シーケンスタイプ(Sequence Type)等のデータ
と、セットアップデータチャンク(Setup Data Chunk)
43、シーケンスデータチャンク(Sequence Data Chun
k)44等のチャンクから構成されている。フォーマッ
トタイプデータは、このチャンクの実フォーマットを定
義するステータスであり、例えばハンディフォン・スタ
ンダード等と定義することができる。シーケンスタイプ
データは、2種類のシーケンスデータのいずれかのタイ
プを示しており、タイプにはストリームシーケンスタイ
プとサブシーケンスタイプとがある。セットアップデー
タチャンク43は、音色データやエフェクト設定等を格
納するチャンクであり、シーケンスデータチャンク44
は、実演奏データとされるシーケンスデータを格納する
チャンクである。
【0026】次に、シーケンスデータチャンク44に格
納されるシーケンスデータのデータ構造を図4に示す。
この図に示すように、シーケンスデータは、1バイトの
デュレーション(Duration)データと、2バイトあるい
は3バイトとされるイベント(Event)データとが交互
に配列されて構成されている。この場合、イベントデー
タの前には必ずデュレーションデータが存在するものと
されている。デュレーションデータは、その前に配置さ
れたイベントとその後に配置されたイベントとの時間間
隔を表す時間情報である。また、イベントには、発音を
制御するノートメッセージ(Note Message)、ボリュー
ムやモジュレーション等をコントロールするコントロー
ルメッセージ(Contorol Message)、メーカ独自の情報
を送ることのできるエクスクルーシブメッセージ(Excl
usive Message)等のイベントがある。さらに、ノート
メッセージは、図示するように指定される発音チャンネ
ルを示すチャンネルナンバ(Channel Number)、発音す
る音高を示すノートナンバ(Note Number)、発音期間
を示すゲートタイム(Gatetime)の各データから構成さ
れる。
【0027】図4に示すデュレーションデータ1〜デュ
レーションデータ3とイベントデータ1〜イベントデー
タ3からなるシーケンスデータを時間軸上で示すと図5
に示すように表される。例えば、イベント1,イベント
2,イベント3をノートオンのノートメッセージとする
と、デュレーション1に示す時間が経過した時点でイベ
ント1による発音が開始される。また、イベント1によ
る発音が開始されてからゲートタイム1に示す時間が経
過した時点でイベント1による発音は停止される。そし
て、デュレーション1に示す時間が経過した時点から、
さらにデュレーション2に示す時間が経過した時点でイ
ベント2による発音が開始される。ついで、イベント2
による発音が開始されてからゲートタイム2に示す時間
が経過した時点でイベント2による発音は停止される。
さらに、デュレーション2に示す時間が経過した時点か
ら、デュレーション3に示す時間が経過した時点でイベ
ント3による発音が開始される。ついで、イベント3に
よる発音が開始されてからゲートタイム3に示す時間が
経過した時点でイベント3による発音は停止される。以
降は、図4に示すシーケンスデータをSMAFデータと
いう。
【0028】図2に戻り、CPU10における音源ハー
ドウェア制御データ変換手段10bにおいて、音楽コン
テンツデータである例えばSMAFデータが音源ハード
ウェア制御データに変換される。ここで、変換された音
源ハードウェア制御データは再生時に順次音源ハードウ
ェア15に転送されて、音源部33は音源ハードウェア
制御データに基づいて楽音を生成することになる。この
ため、音源ハードウェア制御データは音源部33におけ
る音源制御レジスタ33aのレジスタマップに対応する
データ構成とされている。ここで、一例とされるSMA
Fデータを変換した音源ハードウェア制御データの例を
示すが、音源ハードウェア制御データにはデュレーショ
ンやゲートタイムに相当する時間管理情報が含まれてい
るものの、時間管理情報は音源制御レジスタ33aには
書き込まれない。そこで、音源ハードウェア制御データ
の時間管理情報を省略した音源制御レジスタマップ対応
データを、変換前のSMAFデータに対応させて図6に
示す。
【0029】図6において、SMAFデータのデュレー
ションデータ“00”とプログラムチェンジメッセージ
のイベント“00 30 47”は、インデックス“1
8h”とデータ“10h”に変換される。ただし、
「h」は16進で表していることを示している。インデ
ックスは、図7に示す音源制御レジスタ33aの音源制
御レジスタマップに示されるレジスタのアドレスを示し
ており、インデックスで示されるアドレスのレジスタに
続くデータが書き込まれるようにされている。この場
合、各レジスタは1バイトの容量のレジスタとされてお
り、インデックス“01h”でアドレスされる1本のレ
ジスタ、インデックス“18h”〜“1Fh”でアドレ
スされる8本のレジスタ、インデックス“B0h”〜
“BFh”でアドレスされる16本のレジスタ、インデ
ックス“C0h”〜“CFh”でアドレスされる16本
のレジスタ、インデックス“E0h”〜“EFh”でア
ドレスされる16本のレジスタを、音源制御レジスタ3
3aが有している。なお、インデックス“01h”でア
ドレスされるレジスタ01hだけは、図2に示すように
シーケンサ32内に備えられている。また、インデック
スの長さは1バイトとされ、各レジスタは8ビット構成
とされているため、データ長も1バイトで構成されてい
る。
【0030】なお、インデックス“18h”〜“1F
h”でアドレスされる8本の各レジスタは、チャンネル
nの音色ナンバと次のチャンネルn+1の音色ナンバ指
定用のレジスタとされる。これにより、16チャンネル
分の音色を指定することができる。また、インデックス
“B0h”〜“BFh”でアドレスされる16本の各レ
ジスタは、各鍵の音高周波数に比例した数値である10
ビットとされるFナンバの内の下位8ビットが格納され
る。さらに、インデックス“C0h”〜“CFh”でア
ドレスされる16本の各レジスタは、D0,D1に残る
上位2ビットのFナンバが格納され、D2,D3,D4
に3ビットとされるオクターブ情報が格納され、D5に
キーオン情報が格納される。これにより、16チャンネ
ルの各チャンネルのFナンバおよびオクターブからなる
音高と、キーオンとを指示することができる。さらにま
た、インデックス“E0h”〜“EFh”でアドレスさ
れる16本の各レジスタは、D0〜D4に5ビットとさ
れるチャンネルボリューム情報が格納される。これによ
り、16チャンネルの各チャンネルのチャンネルボリュ
ーム値を指示することができる。
【0031】従って、インデックス“18h”とデータ
“10h”とに変換されることにより、レジスタ18h
にデータ“10h”が格納されることになり、これによ
りチャンネル1に音色ナンバ“0h”の音色が、チャン
ネル2に音色ナンバ“1h”の音色がそれぞれ指定され
ることになる。また、次のSMAFデータのデュレーシ
ョンデータ“00”とチャンネルボリュームメッセージ
のイベント“00 37 7F”は、インデックス“E
0h”とデータ“1Fh”に変換される。変換されたデ
ータは、レジスタE0hに格納されるデータ“1Fh”
になり、データ“1Fh”によりチャンネル1のボリュ
ーム値として“1Fh”が指定されることになる。
【0032】さらに、次のSMAFデータのデュレーシ
ョンデータ“00”とノートメッセージのイベント“2
C 50”は、インデックス“B0h”とデータ“B2
h”、および、インデックス“C0h”とデータ“32
h”に変換される。変換されたデータは、レジスタB0
hに格納されるデータ“B2h”と、レジスタC0hに
格納されるデータ“32h”となり、データ“B2h”
(2進で“10110010”)からなる1ビット目〜
8ビット目と、データ“32h”(2進で“00110
010”)のD0,D1からなる9ビット目、10ビッ
ト目により構成される10ビット“101011001
0”によりチャンネル1のFナンバが指定される。ま
た、データ“32h”のD2,D3,D4である“10
0”の3ビットでチャンネル1のオクターブが指定され
る。さらにまた、データ“32h”のD5である“1”
によりチャンネル1にキーオンが指示されることにな
る。
【0033】さらに、次のSMAFデータのデュレーシ
ョンデータ“5C”とノートメッセージのイベント“2
B 20”は、インデックス“B0h”とデータ“8B
h”、および、インデックス“C0h”とデータ“32
h”に変換される。変換されたデータは、レジスタB0
hに格納されるデータ“8Bh”と、レジスタC0hに
格納されるデータ“32h”となり、データ“8Bh”
(2進で“10001011”)からなる1ビット目〜
8ビット目と、データ“32h”(2進で“00110
010”)のD0,D1からなる9ビット目、10ビッ
ト目により構成される10ビット“101000101
1”によりチャンネル1のFナンバが指定される。ま
た、データ“32h”のD2,D3,D4である“10
0”の3ビットでチャンネル1のオクターブが指定され
る。さらにまた、データ“32h”のD5である“1”
によりチャンネル1にキーオンが指示されることにな
る。
【0034】SMAFデータと、これを変換した音源部
制御レジスタマップ対応データは以上のように対応して
おり、続くデータも同様に変換されている。なお、SM
AFデータのノートメッセージのイベント“2C 5
0”やイベント“2B 20”は16進で表されてお
り、その内の“50”“20”は発音期間であるゲート
タイムデータである。すなわち、これらのノートメッセ
ージによる発音は、基準時間が“50h”あるいは“2
0h”経過した際に発音を停止させなければならない。
すなわち、発音開始から基準時間が“50h”あるいは
“20h”経過した際にノートオフするために、デュレ
ーションデータが“50h”あるいは“20h”とされ
ていると共にキーオン/キーオフ情報が“0”とされた
キーオフを指示するノートメッセージが必要となる。
【0035】このようなノートメッセージは、図6には
示されていないがデータ変換の際に、変換前のSMAF
データを解釈して音源ハードウェア制御データ変換手段
10bにより自動的に生成される。そこで、この説明を
行うために時間管理情報を含む音源ハードウェア制御デ
ータの第1のデータ構成を図8に示し、図6に示すSM
AFデータを変換した第1のデータ構成の音源ハードウ
ェア制御データのデータ例を図9に示し、図9に示す音
源ハードウェア制御データをデータ組毎に整理して図1
0に示す。第1のデータ構成の音源ハードウェア制御デ
ータは図8に示すデータ構成とされている。この第1の
データ構成では、時間管理情報識別アドレスと時間管理
情報とが組のデータとされ、時間管理情報識別アドレス
は、時間管理情報に前置するものとされている。すなわ
ち、時間管理情報識別アドレスを検出した際に、後続す
るデータが時間管理情報であることが示される。この時
間管理情報に続いて、図6で説明したようにインデック
スとデータとで組とされたデータが1組以上配置され
る。インデックスは、前述したように音源制御レジスタ
33aに備えられている各レジスタのアドレスを示す情
報であり、後続するデータはそのアドレスで示されるレ
ジスタに書き込まれるデータとされている。そして、レ
ジスタに書き込まれるタイミングが前置する時間管理情
報で示されている。音源ハードウェア制御データ変換手
段10bでは、SMAFデータを図8に示すデータ構成
の音源ハードウェア制御データに変換している。
【0036】音源ハードウェア制御データ変換手段10
bにより、図6に示すSMAFデータを解釈して変換し
た音源ハードウェア制御データが図9に示されている。
図9に示す音源ハードウェア制御データにおいては、時
間管理情報に加えてシーケンサ終了データも付加されて
いる。すなわち、先頭データは時間管理情報識別アドレ
スとして定義されている“FFh”とされ、続いてデュ
レーションデータである時間管理情報“00h”が続い
ている。その後に続くデータは、前述したとおりのイン
デックス“18h”とデータ“10h”との組からなる
データ、インデックス“E0h”とデータ“1Fh”と
からなる組のデータ、インデックス“B0h”とデータ
“B2h”、および、インデックス“C0h”とデータ
“32h”とからなる組のデータと続くようになる。こ
れにより、チャンネル1およびチャンネル2の音色およ
びチャンネル1のボリュームが指定されると共に、チャ
ンネル1のキーオンと音高が指示される。
【0037】次に続くデータは、図6には示されていな
いがチャンネル1で発音中の楽音を発音停止させるデー
タである。なお、前述したチャンネル1の発音開始のタ
イミングは前置された時間管理情報“00h”のタイミ
ングとされている。そして、ゲートタイムが経過したタ
イミングで発音停止させるので、発音停止させるデータ
の時間管理情報はゲートタイムに相当するデータ値とな
る。すなわち、時間管理情報識別アドレスである“FF
h”と時間管理情報“50h”との組のデータと、その
後に続く、インデックス“B0h”とデータ“B2
h”、および、インデックス“C0h”とデータ“12
h”とからなる組のデータにより発音停止させるデータ
が構成される。このデータにより、“50h”基準時間
経過した際に、レジスタB0hにデータ“B2h”が格
納され、レジスタC0hにデータ“12h”が格納され
る。これにより、データ“B2h”(2進で“1011
0010”)からなる1ビット目〜8ビット目と、デー
タ“12h”(2進で“00010010”)のD0,
D1である“10”の9ビット目、10ビット目からな
る10ビット“1010110010”によりチャンネ
ル1のFナンバが指定される。また、データ“12h”
のD2,D3,D4である“100”の3ビットでチャ
ンネル1のオクターブがが指定される。さらにまた、デ
ータ“12h”のD5である“0”によりチャンネル1
にキーオフが指示される。これにより、指定されたオク
ターブとFナンバとからなるチャンネル1の楽音が“5
0h”基準時間経過した際に発音停止されるようにな
る。
【0038】以降に続くデータも、前述した説明と同様
にして音源制御レジスタ33aに書き込まれる。そし
て、音源ハードウェア制御データの最後には、時間管理
情報識別アドレスである“FFh”と時間管理情報“0
1h”の組からなるデータに続いて、インデックス“0
1h”とデータ“00h”(2進で“0000000
0”)との組からなるデータが付加されている。この場
合、データ“00h”は、直前のイベントから”01
h”の基準時間が経過したタイミングで音源制御レジス
タ33aのうちのシーケンサ32に備えられているレジ
スタ01hにセットされる。これにより、図7に示すレ
ジスタ01hのD0(start)が“0”となり、シーケ
ンサ32にシーケンサ終了が指示されるようになる。す
なわち、インデックス“01h”とデータ“00h”と
でシーケンサ終了データが構成される。
【0039】次に、音源ハードウェア制御データ変換手
段10bにより、SMAFデータを解釈して変換した第
1の構成の音源ハードウェア制御データをデータ組毎に
整理して図10に示している。この図に示すように、組
とされるデータは時間管理情報識別アドレスと時間管理
情報の組、および、インデックスとデータとの組とされ
る。このように変換された音源ハードウェア制御データ
が再生される楽曲として指定された際の図2に示す本発
明の楽音生成装置の動作を、図2および図10を参照し
て以下に説明する。ただし、音源ハードウェア制御デー
タはCPU10において再生に先立って変換されてRA
M11の領域11bに記憶されているものとする。CP
U10におけるメモリコントローラ10aは、RAM1
1の領域11bから指示された楽曲に対応する図10に
示す音源ハードウェア制御データfを、例えば32バイ
ト分読み出して音源ハードウェア15におけるFIFO
31に転送する。同時に、CPU10はシーケンサスタ
ート信号gをシーケンサ32のカウンタ32aに供給す
る。
【0040】また、シーケンサスタート信号gは、音源
制御レジスタ33aの一部のレジスタであるレジスタ0
1hにデータ“01h”を書き込み、そのD0(star
t)を“1”にセットすることにより、シーケンサ開始
を指示する。これにより、シーケンサ32はシーケンサ
処理をスタートし、シーケンサスタート信号gを受けた
カウンタ32aは、基準時間単位とされるクロックの計
数を開始すると共に、データデコード回路32bにデー
タデコードスタート信号aを印加する。これを受けて、
データデコード回路32bはFIFO31から1バイト
ずつデータを読み出す。この場合、読み出したデータが
時間管理情報識別アドレス“FFh”であった場合は、
さらに1バイトのデータを読み出すが、図10に示すよ
うに時間管理情報識別アドレスに続くデータは時間管理
情報であるので、その時間管理情報bをカウンタ32a
にセットする。
【0041】さらに、データデコード回路32bはFI
FO31から続くデータを読み出すが、読み出されたイ
ンデックス“18h”と続いて読み出されたデータ“1
0h”も音源制御レジスタライトデータであるので、レ
ジスタライトコントローラ32cに送られる。レジスタ
ライトコントローラ32cは、インデックス“18h”
をアドレスとするレジスタ18hにデータ“10h”を
書き込む準備を行う。この場合も、カウンタ32aにセ
ットされている時間管理情報は“00h”とされている
ので、即時にカウンタ32aからレジスタライト許可信
号dがレジスタライトコントローラ32cに印加され、
レジスタライトコントローラ32cは、音源制御レジス
タ33aのレジスタ18hにデータ“10h”を書き込
む。レジスタ18hは、チャンネル1とチャンネル2の
音色ナンバを指定するレジスタであるので、これによ
り、音源部33で生成される楽音のチャンネル1とチャ
ンネル2の音色が指定される。
【0042】さらに続いて、データデコード回路32b
はFIFO31から続くデータを読み出すが、読み出さ
れたインデックス“E0h”と続いて読み出されたデー
タ“1Fh”も音源制御レジスタライトデータであるの
で、レジスタライトコントローラ32cに送られる。レ
ジスタライトコントローラ32cは、インデックス“E
0h”をアドレスとするレジスタE0hにデータ“1F
h”を書き込む準備を行う。この場合も、カウンタ32
aにセットされている時間管理情報は“00h”とされ
ているので、即時にカウンタ32aからレジスタライト
許可信号dがレジスタライトコントローラ32cに印加
され、レジスタライトコントローラ32cは、音源制御
レジスタ33aのレジスタE0hにデータ“1Fh”を
書き込む。レジスタE0hは、チャンネル1のチャンネ
ルボリュームを指定するレジスタであるので、これによ
り、音源部33で生成される楽音のチャンネル1のチャ
ンネルボリュームが指定される。
【0043】さらに続いて、データデコード回路32b
はFIFO31から続くデータを読み出すが、読み出さ
れたインデックス“B0h”と続いて読み出されたデー
タ“B2h”も音源制御レジスタライトデータであるの
で、レジスタライトコントローラ32cに送られる。レ
ジスタライトコントローラ32cは、インデックス“B
0h”をアドレスとするレジスタB0hにデータ“B2
h”を書き込む準備を行う。この場合も、カウンタ32
aにセットされている時間管理情報は“00h”とされ
ているので、即時にカウンタ32aからレジスタライト
許可信号dがレジスタライトコントローラ32cに印加
され、レジスタライトコントローラ32cは、音源制御
レジスタ33aのレジスタB0hにデータ“B2h”を
書き込む。レジスタB0hは、チャンネル1のFナンバ
の下位8ビットを指定するレジスタである。
【0044】さらに続いて、データデコード回路32b
はFIFO31から続くデータを読み出すが、読み出さ
れたインデックス“C0h”と続いて読み出されたデー
タ“32h”も音源制御レジスタライトデータであるの
で、レジスタライトコントローラ32cに送られる。レ
ジスタライトコントローラ32cは、インデックス“C
0h”をアドレスとするレジスタC0hにデータ“32
h”を書き込む準備を行う。この場合も、カウンタ32
aにセットされている時間管理情報は“00h”とされ
ているので、即時にカウンタ32aからレジスタライト
許可信号dがレジスタライトコントローラ32cに印加
され、レジスタライトコントローラ32cは、音源制御
レジスタ33aのレジスタC0hにデータ“32h”を
書き込む。レジスタC0hは、チャンネル1のFナンバ
の上位2ビットとオクターブを指定すると共に、チャン
ネル1のキーオン/キーオフを指示するレジスタであ
り、キーオン/キーオフとして“1”(D5=1)がセ
ットされる。これにより、チャンネル1のキーオンが指
示されて、音源制御レジスタ33aにセットされている
オクターブおよびFナンバの音高、ボリュームおよび音
色の楽音がチャンネル1で生成開始される。
【0045】さらに続いて、データデコード回路32b
はFIFO31から続くデータを読み出すが、読み出さ
れたデータは時間管理情報識別アドレス“FFh”であ
るので、時間管理情報識別アドレス“FFh”に続く時
間管理情報“50h”を時間管理情報bとしてカウンタ
32aにセットする。次いで、データデコード回路32
bはFIFO31から続くデータを読み出す。読み出さ
れたデータは、インデックス“B0h”であり音源制御
レジスタライトデータであるので、続いて読み出された
データ“B2h”と共にレジスタライトコントローラ3
2cに送られる。レジスタライトコントローラ32c
は、インデックス“B0h”をアドレスとするレジスタ
B0hにデータ“B2h”を書き込む準備を行う。この
場合、カウンタ32aにセットされている時間管理情報
は“50h”とされているので、カウンタ32aの計数
値が50h進むまで待機される。
【0046】次いで、データデコード回路32bはFI
FO31から続くデータを読み出す。読み出されたデー
タは、インデックス“C0h”であり音源制御レジスタ
ライトデータであるので、続いて読み出されたデータ
“12h”と共にレジスタライトコントローラ32cに
送られる。レジスタライトコントローラ32cは、イン
デックス“C0h”をアドレスとするレジスタC0hに
データ“12h”を書き込む準備を行う。この場合、カ
ウンタ32aにセットされている時間管理情報は“50
h”とされているので、カウンタ32aの計数値が50
h進むまで待機される。そして、カウンタ32aの計数
値が進み50h時間経過した時刻50hのタイミング
で、カウンタ32aからレジスタライト許可信号dがレ
ジスタライトコントローラ32cに印加される。これを
受けてレジスタライトコントローラ32cは、音源制御
レジスタ33aのレジスタB0hにデータ“B2h”を
書き込むと共に、レジスタC0hにデータ“12h”を
書き込む。レジスタB0hは、チャンネル1のFナンバ
の下位8ビットを指定するレジスタであり、レジスタC
0hは、チャンネル1のFナンバの上位2ビットとオク
ターブを指定すると共に、そのD5によりチャンネル1
のキーオン/キーオフを指示するレジスタであり、キー
オン/キーオフとして“0”(D5=0)がセットされ
る。これにより、指定されたオクターブとFナンバの音
高で音源部33で生成されていたチャンネル1の楽音の
キーオフが指示されて、楽音の生成が停止される。
【0047】また、カウンタ32aの計数値が50h以
上になると、データデコード回路32bはFIFO31
から続くデータを読み出すが、読み出されたデータは時
間管理情報識別アドレス“FFh”であるので、時間管
理情報識別アドレス“FFh”に続く時間管理情報“0
Ch”を時間管理情報bとしてカウンタ32aにセット
する。次いで、データデコード回路32bはFIFO3
1から続くデータを読み出す。読み出されたデータは、
インデックス“B0h”であり音源制御レジスタライト
データであるので、続いて読み出されたデータ“8B
h”と共にレジスタライトコントローラ32cに送られ
る。レジスタライトコントローラ32cは、インデック
ス“B0h”をアドレスとするレジスタB0hにデータ
“8Bh”を書き込む準備を行う。この場合、カウンタ
32aにセットされている時間管理情報は“0Ch”と
されているので、カウンタ32aの計数値が0Ch進む
まで待機される。
【0048】次いで、データデコード回路32bはFI
FO31から続くデータを読み出す。読み出されたデー
タは、インデックス“C0h”であり音源制御レジスタ
ライトデータであるので、続いて読み出されたデータ
“32h”と共にレジスタライトコントローラ32cに
送られる。レジスタライトコントローラ32cは、イン
デックス“C0h”をアドレスとするレジスタC0hに
データ“32h”を書き込む準備を行う。この場合、カ
ウンタ32aにセットされている時間管理情報は“0C
h”とされているので、カウンタ32aの計数値が0C
h進むまで待機される。そして、カウンタ32aの計数
値が進み時刻50hから0Ch時間経過した時刻5Ch
(=50h+0Ch)のタイミングで、カウンタ32a
からレジスタライト許可信号dがレジスタライトコント
ローラ32cに印加される。これを受けてレジスタライ
トコントローラ32cは、音源制御レジスタ33aのレ
ジスタB0hにデータ“8Bh”を書き込むと共に、レ
ジスタC0hにデータ“32h”を書き込む。レジスタ
B0hは、チャンネル1のFナンバの下位8ビットを指
定するレジスタであり、レジスタC0hは、チャンネル
1のFナンバの上位2ビットとオクターブを指定すると
共に、チャンネル1のキーオン/キーオフを指示するレ
ジスタであり、キーオン/キーオフとして“1”(D5
=1)がセットされる。これにより、チャンネル1のキ
ーオンが指示されて、音源制御レジスタ33aにセット
されているオクターブおよびFナンバで指定される音
高、ボリュームおよび音色の楽音がチャンネル1で生成
される。
【0049】さらに続いて、データデコード回路32b
はFIFO31から続くデータを読み出すが、読み出さ
れたデータは時間管理情報識別アドレス“FFh”であ
るので、時間管理情報識別アドレス“FFh”に続く時
間管理情報“20h”を時間管理情報bとしてカウンタ
32aにセットする。次いで、データデコード回路32
bはFIFO31から続くデータを読み出す。読み出さ
れたデータは、インデックス“B0h”であり音源制御
レジスタライトデータであるので、続いて読み出された
データ“8Bh”と共にレジスタライトコントローラ3
2cに送られる。レジスタライトコントローラ32c
は、インデックス“B0h”をアドレスとするレジスタ
B0hにデータ“8Bh”を書き込む準備を行う。この
場合、カウンタ32aにセットされている時間管理情報
は“20h”とされているので、カウンタ32aの計数
値が20h進むまで待機される。
【0050】次いで、データデコード回路32bはFI
FO31から続くデータを読み出す。読み出されたデー
タは、インデックス“C0h”であり音源制御レジスタ
ライトデータであるので、続いて読み出されたデータ
“12h”と共にレジスタライトコントローラ32cに
送られる。レジスタライトコントローラ32cは、イン
デックス“C0h”をアドレスとするレジスタC0hに
データ“12h”を書き込む準備を行う。この場合、カ
ウンタ32aにセットされている時間管理情報は“20
h”とされているので、カウンタ32aの計数値が20
h進むまで待機される。そして、カウンタ32aの計数
値が進み20h時間経過した時刻7Ch(=5Ch+2
0h)のタイミングで、カウンタ32aからレジスタラ
イト許可信号dがレジスタライトコントローラ32cに
印加される。これを受けてレジスタライトコントローラ
32cは、音源制御レジスタ33aのレジスタB0hに
データ“8Bh”を書き込むと共に、レジスタC0hに
データ“12h”を書き込む。レジスタB0hは、チャ
ンネル1のFナンバの下位8ビットを指定するレジスタ
であり、レジスタC0hは、チャンネル1のFナンバの
上位2ビットとオクターブを指定すると共に、チャンネ
ル1のキーオン/キーオフを指示するレジスタであり、
キーオン/キーオフとして“0”(D5=0)がセット
される。これにより、音源部33で生成されていたオク
ターブとFナンバで指定された音高のチャンネル1の楽
音のキーオフが指示されて、楽音の生成が停止される。
【0051】以下、順次1バイトずつデータが読み出さ
れて、同様の処理が行われる。そして、最後にFIFO
31からはインデックス“01h”と続くデータ“00
h”が読み出される。また、これらのデータに前置して
時間管理情報識別アドレス“FFh”と時間管理情報
“01h”とがFIFO31から読み出される。この時
間管理情報“01h”は、時間管理情報bとしてカウン
タ32aにセットされ、FIFO31から続いて読み出
されたインデックス“01h”は音源制御レジスタライ
トデータcとしてレジスタライトコントローラ32cに
送られる。さらに、データデコード回路32bはFIF
O31から続いて読み出されたデータ“00h”をレジ
スタライトコントローラ32cに送る。レジスタライト
コントローラ32cは、インデックス“01h”をアド
レスとするレジスタ01hにデータ“00h”(2進で
“00000000”)を書き込む準備を行う。この場
合、カウンタ32aにセットされている時間管理情報は
“01h”とされているので、カウンタ32aの計数値
が01h進むまで待機される。そして、カウンタ32a
の計数値が1つ進み01h時間経過したタイミングで、
カウンタ32aからレジスタライト許可信号dがレジス
タライトコントローラ32cに印加される。これを受け
てレジスタライトコントローラ32cは、音源制御レジ
スタ33aのうちのシーケンサ32に備えられているレ
ジスタ01hにデータ“00h”を書き込む。レジスタ
01hのD0はシーケンサスタート/ストップをシーケ
ンサ32に指示するレジスタとされており、この場合シ
ーケンサスタート/ストップとして“0”(D0=0)
がセットされる。これにより、シーケンサ終了とされ、
シーケンサ32はシーケンス処理を終了する。このよう
に、インデックス“01h”とデータ“00h”からな
る組のデータは、シーケンサ終了データである。
【0052】以上の説明において、音源制御レジスタ3
3aへ各データが書き込まれるタイミングを図11に示
す。図11において横軸は時間とされているが、基準時
間単位は1msとされて時間値は16進で表している。
このため、時間単位をhmsとして示している。まず、
カウンタ32aが計数を開始する時刻0hmsにおいて
時間管理情報が“00h”とされるデータが音源制御レ
ジスタ33aに書き込まれる。この場合、書き込まれる
データは、図10に示すインデックス“FFh”ないし
データ“32h”からなる5組の音源制御レジスタライ
トデータAとされる。そして、50hms時間経過して
時刻50hmsになると、時間管理情報“00h”の次
の時間管理情報“50h”に続くデータが音源制御レジ
スタ33aに書き込まれる。この場合、書き込まれるデ
ータは、図10に示すインデックス“B0h”ないしデ
ータ“12h”からなる2組の音源制御レジスタライト
データBとされる。
【0053】さらに、0Chms時間経過して時刻5C
hmsになると、時間管理情報“50h”の次の時間管
理情報“0Ch”に続くデータが音源制御レジスタ33
aに書き込まれる。この場合、書き込まれるデータは、
図10に示すインデックス“B0h”ないしデータ“3
2h”からなる2組の音源制御レジスタライトデータC
とされる。さらにまた、20hms時間経過して時刻7
Chmsになると、時間管理情報“0Ch”の次の時間
管理情報“20h”に続くデータが音源制御レジスタ3
3aに書き込まれる。この場合、書き込まれるデータ
は、図10に示すインデックス“B0h”ないしデータ
“12h”からなる2組の音源制御レジスタライトデー
タDとされる。さらにまた、0Dhms時間経過して時
刻89hmsになると、時間管理情報“20h”の次の
時間管理情報“0Dh”に続くデータが音源制御レジス
タ33aに書き込まれる。この場合、書き込まれるデー
タは、図10に示すインデックス“B3h”ないしデー
タ“32h”からなる4組の音源制御レジスタライトデ
ータEとされる。
【0054】以降のデータは図示されていないが同様に
して音源制御レジスタ33aに書き込まれるようにな
る。そして、最後にインデックス“01h”とデータ
“00h”からなるシーケンサ終了データが、前述した
ように音源制御レジスタ33aのうちのシーケンサ32
に備えられたレジスタ01hに書き込まれるようにな
る。この場合、カウンタ32aの計数も停止されるよう
になる。なお、その後に再生指示がされた場合は、カウ
ンタ32aはクリアされて新たにカウントを開始するよ
うになる。このように、音源制御レジスタ33aには、
時間管理情報に続くデータが次の時間管理情報が表れる
まで順次書き込まれるようになる。そして、図11に示
すタイミングで音源制御レジスタ33aに楽音を生成す
るパラメータが書き込まれるので、音源部33において
生成される楽音の生成タイミングは前記図5に示すとお
りとなる。
【0055】次に、音源ハードウェア制御データ変換手
段10bが変換した音源ハードウェア制御データの第2
のデータ構成の例を図12に示し、その具体的な図6に
対応する第2の構成の音源ハードウェア制御データのデ
ータ例を図13に示し、図13に示す第2の構成の音源
ハードウェア制御データを組とされるデータ組毎に整理
して図14に示している。第2のデータ構成では図12
に示すように、音源ハードウェア制御データは時間管理
情報とインデックスとデータとを1組とするデータ構成
とされている。すなわち、データに前置してインデック
スが配置され、インデックスに前置して時間管理情報が
配置された構成とされている。インデックスは、前述し
たように音源制御レジスタ33aに備えられている各レ
ジスタのアドレスを示す1バイトの情報であり、後続す
る1バイトのデータはそのアドレスで示されるレジスタ
に書き込まれるデータとされている。そして、レジスタ
に書き込まれるタイミングが1バイトあるいは2バイト
の時間管理情報で示される。時間管理情報が2バイトと
される場合は、最初の1バイトのMSBが“1”とされ
る。また、第1の構成と異なり、第2の構成では時間管
理情報はインデックスに必ず前置して配置される。この
ように、第2の構成の音源ハードウェア制御データでは
3バイトあるいは4バイトを1組とするデータとされ、
組の先頭には時間管理情報が配置される。
【0056】音源ハードウェア制御データ変換手段10
bにより、図6に示すSMAFデータを解釈して第2の
データ構成の音源ハードウェア制御データに変換した例
を図13に示す。第2のデータ構成の音源ハードウェア
制御データは、図12に示すように時間管理情報、イン
デックス、データとを1組として構成されており、図1
3に示す第2のデータ構成の音源ハードウェア制御デー
タを組毎に整理して図14に示している。以下、これら
の図と図2を参照しながら第2のデータ構成の音源ハー
ドウェア制御データを再生する説明をする。ただし、第
2の構成の音源ハードウェア制御データはCPU10に
おいて再生に先立って変換されてRAM11の領域11
bに記憶されているものとする。CPU10におけるメ
モリコントローラ10aは、RAM11の領域11bか
ら指示された図10に示す楽曲の第2の構成の音源ハー
ドウェア制御データfを、例えば32バイト分読み出し
て音源ハードウェア15におけるFIFO31に転送す
る。同時に、CPU10はシーケンサスタート信号gを
シーケンサ32のカウンタ32aに供給する。
【0057】また、シーケンサスタート信号gは、音源
制御レジスタ33aの一部のレジスタであるレジスタ0
1hにデータ“01h”を書き込み、そのD0(star
t)を“1”にセットすることにより、シーケンサ開始
を指示する。これにより、シーケンサ32はシーケンサ
処理をスタートし、シーケンサスタート信号gを受けた
カウンタ32aは、基準時間単位とされるクロックの計
数を開始すると共に、データデコード回路32bにデー
タデコードスタート信号aを印加する。これを受けて、
データデコード回路32bはFIFO31から1バイト
ずつデータを読み出す。この場合、読み出した先頭のデ
ータは時間管理情報であり、このデータ“00h”を時
間管理情報bとしてカウンタ32aにセットする。この
場合、時間管理情報のMSBは“0”であるのでこの組
の全体のデータ量は3バイトとなる。
【0058】さらに、データデコード回路32bはFI
FO31から続く組のデータを読み出すが、読み出した
先頭のデータは時間管理情報であり、このデータ“00
h”を時間管理情報bとしてカウンタ32aにセットす
る。この場合、時間管理情報のMSBは“0”であるの
でこの組の全体のデータ量も3バイトとなる。読み出さ
れたインデックス“18h”と続いて読み出されたデー
タ“10h”も音源制御レジスタライトデータであるの
で、レジスタライトコントローラ32cに送られる。レ
ジスタライトコントローラ32cは、インデックス“1
8h”をアドレスとするレジスタ18hにデータ“10
h”を書き込む準備を行う。この場合も、カウンタ32
aにセットされている時間管理情報は“00h”とされ
ているので、即時にカウンタ32aからレジスタライト
許可信号dがレジスタライトコントローラ32cに印加
され、レジスタライトコントローラ32cは、音源制御
レジスタ33aのレジスタ18hにデータ“10h”を
書き込む。レジスタ18hは、チャンネル1とチャンネ
ル2の音色ナンバを指定するレジスタであるので、これ
により、音源部33で生成される楽音のチャンネル1と
チャンネル2の音色が指定される。
【0059】さらに続いて、データデコード回路32b
はFIFO31から続く組のデータを読み出すが、読み
出した先頭のデータは時間管理情報であり、このデータ
“00h”を時間管理情報bとしてカウンタ32aにセ
ットする。この場合、時間管理情報のMSBは“0”で
あるのでこの組の全体のデータ量も3バイトとなる。読
み出されたインデックス“E0h”と続いて読み出され
たデータ“1Fh”も音源制御レジスタライトデータで
あるので、レジスタライトコントローラ32cに送られ
る。レジスタライトコントローラ32cは、インデック
ス“E0h”をアドレスとするレジスタE0hにデータ
“1Fh”を書き込む準備を行う。この場合も、カウン
タ32aにセットされている時間管理情報は“00h”
とされているので、即時にカウンタ32aからレジスタ
ライト許可信号dがレジスタライトコントローラ32c
に印加され、レジスタライトコントローラ32cは、音
源制御レジスタ33aのレジスタE0hにデータ“1F
h”を書き込む。レジスタE0hは、チャンネル1のチ
ャンネルボリュームを指定するレジスタであるので、こ
れにより、音源部33で生成される楽音のチャンネル1
のチャンネルボリュームが指定される。
【0060】さらに続いて、データデコード回路32b
はFIFO31から続く組のデータを読み出すが、読み
出した先頭のデータは時間管理情報であり、このデータ
“00h”を時間管理情報bとしてカウンタ32aにセ
ットする。この場合、時間管理情報のMSBは“0”で
あるのでこの組の全体のデータ量も3バイトとなる。読
み出されたインデックス“B0h”と続いて読み出され
たデータ“B2h”も音源制御レジスタライトデータで
あるので、レジスタライトコントローラ32cに送られ
る。レジスタライトコントローラ32cは、インデック
ス“B0h”をアドレスとするレジスタB0hにデータ
“B2h”を書き込む準備を行う。この場合も、カウン
タ32aにセットされている時間管理情報は“00h”
とされているので、即時にカウンタ32aからレジスタ
ライト許可信号dがレジスタライトコントローラ32c
に印加され、レジスタライトコントローラ32cは、音
源制御レジスタ33aのレジスタB0hにデータ“B2
h”を書き込む。レジスタB0hは、チャンネル1のF
ナンバの下位8ビットを指定するレジスタである。
【0061】さらに続いて、データデコード回路32b
はFIFO31から続く組のデータを読み出すが、読み
出した先頭のデータは時間管理情報であり、このデータ
“00h”を時間管理情報bとしてカウンタ32aにセ
ットする。この場合、時間管理情報のMSBは“0”で
あるのでこの組の全体のデータ量も3バイトとなる。読
み出されたインデックス“C0h”と続いて読み出され
たデータ“32h”も音源制御レジスタライトデータで
あるので、レジスタライトコントローラ32cに送られ
る。レジスタライトコントローラ32cは、インデック
ス“C0h”をアドレスとするレジスタC0hにデータ
“32h”を書き込む準備を行う。この場合も、カウン
タ32aにセットされている時間管理情報は“00h”
とされているので、即時にカウンタ32aからレジスタ
ライト許可信号dがレジスタライトコントローラ32c
に印加され、レジスタライトコントローラ32cは、音
源制御レジスタ33aのレジスタC0hにデータ“32
h”を書き込む。レジスタC0hは、チャンネル1のF
ナンバの上位2ビットとオクターブを指定すると共に、
チャンネル1のキーオン/キーオフを指示するレジスタ
であり、キーオン/キーオフとして“1”(D5=1)
がセットされる。これにより、チャンネル1のキーオン
が指示されて、音源制御レジスタ33aにセットされて
いるオクターブおよびFナンバの音高、ボリュームおよ
び音色の楽音がチャンネル1で生成開始される。
【0062】さらに続いて、データデコード回路32b
はFIFO31から続く組のデータを読み出すが、読み
出した先頭のデータは時間管理情報であり、このデータ
“50h”を時間管理情報bとしてカウンタ32aにセ
ットする。この場合、時間管理情報のMSBは“0”で
あるのでこの組の全体のデータ量は3バイトとなる。次
いで、データデコード回路32bはFIFO31から続
くデータを読み出す。読み出されたデータは、インデッ
クス“B0h”であり音源制御レジスタライトデータで
あるので、続いて読み出されたデータ“B2h”と共に
レジスタライトコントローラ32cに送られる。レジス
タライトコントローラ32cは、インデックス“B0
h”をアドレスとするレジスタB0hにデータ“B2
h”を書き込む準備を行う。この場合、カウンタ32a
にセットされている時間管理情報は“50h”とされて
いるので、カウンタ32aの計数値が50h進むまで待
機される。
【0063】そして、カウンタ32aの計数値が進み5
0h時間経過した時刻50hのタイミングで、カウンタ
32aからレジスタライト許可信号dがレジスタライト
コントローラ32cに印加される。これを受けてレジス
タライトコントローラ32cは、音源制御レジスタ33
aのレジスタB0hにデータ“B2h”を書き込む。レ
ジスタB0hは、チャンネル1のFナンバの下位8ビッ
トを指定するレジスタである。
【0064】次いで、データデコード回路32bはFI
FO31から続く組のデータを読み出す。読み出した先
頭のデータは時間管理情報であり、このデータ“00
h”を時間管理情報bとしてカウンタ32aにセットす
る。この場合、時間管理情報のMSBは“0”であるの
でこの組の全体のデータ量は3バイトとなる。読み出さ
れたデータは、インデックス“C0h”であり音源制御
レジスタライトデータであるので、続いて読み出された
データ“12h”と共にレジスタライトコントローラ3
2cに送られる。レジスタライトコントローラ32c
は、インデックス“C0h”をアドレスとするレジスタ
C0hにデータ“12h”を書き込む準備を行う。この
場合、カウンタ32aにセットされている時間管理情報
は“00h”とされているので、即時にカウンタ32a
からレジスタライト許可信号dがレジスタライトコント
ローラ32cに印加される。これを受けてレジスタライ
トコントローラ32cは、音源制御レジスタ33aのレ
ジスタC0hにデータ“12h”を書き込む。レジスタ
C0hは、チャンネル1のFナンバの上位2ビットとオ
クターブを指定すると共に、チャンネル1のキーオン/
キーオフを指示するレジスタであり、キーオン/キーオ
フとして“0”(D5=0)がセットされる。これによ
り、2組のデータデ指定されたオクターブとFナンバの
音高で音源部33で生成されていたチャンネル1の楽音
のキーオフが指示されて、楽音の生成が停止される。な
お、このキーオフを指示する時間管理情報“50h”
は、SMAFデータのゲートタイムに対応している。
【0065】以下、同様にして組毎のデータが読み出さ
れる毎に、音源制御レジスタ33aにデータが書き込ま
れるようになる。そして、データデコード回路32bが
FIFO31から続く組のデータを読み出した際に、読
み出した先頭のデータである時間管理情報が“80h”
であったとする。この場合、時間管理情報のMSBは
“1”であるのでこの組の時間管理情報は2バイトで表
されることになる。そこで、続く時間管理情報”32
h”を読み出して、読み出されたデータ“80h32
h”を時間管理情報bとしてカウンタ32aにセットす
る。この場合の全体のデータ量は4バイトとなる。デー
タデコード回路32bはFIFO31から続くデータを
読み出すが、読み出されたデータは、インデックス“C
0h”であり音源制御レジスタライトデータであるの
で、続いて読み出されたデータ“32h”と共にレジス
タライトコントローラ32cに送られる。レジスタライ
トコントローラ32cは、インデックス“C0h”をア
ドレスとするレジスタC0hにデータ“32h”を書き
込む準備を行う。この場合、カウンタ32aにセットさ
れている時間管理情報は“80h 32h”とされてい
るので、カウンタ32aの計数値が(80h 32h)
進むまで待機される。
【0066】そして、カウンタ32aの計数値が進み
(80h 32h)時間経過したタイミングで、カウン
タ32aからレジスタライト許可信号dがレジスタライ
トコントローラ32cに印加される。これを受けてレジ
スタライトコントローラ32cは、音源制御レジスタ3
3aのレジスタC0hにデータ“32h”を書き込む。
レジスタC0hは、チャンネル1のFナンバの上位2ビ
ットとオクターブを指定すると共に、チャンネル1のキ
ーオン/キーオフを指示するレジスタであり、キーオン
/キーオフとして“1”(D5=1)がセットされる。
【0067】以下、順次1バイトずつデータが読み出さ
れて、同様の処理が行われる。そして、最後にFIFO
31からは時間管理情報“01h”とインデックス“0
1h”とデータ“00h”からなる組が読み出される。
この時間管理情報“01h”は、時間管理情報bとして
カウンタ32aにセットされ、FIFO31から続いて
読み出されたインデックス“01h”は音源制御レジス
タライトデータcとしてレジスタライトコントローラ3
2cに送られる。さらに、データデコード回路32bは
FIFO31から続いて読み出されたデータ“00h”
をレジスタライトコントローラ32cに送られる。レジ
スタライトコントローラ32cは、インデックス“01
h”をアドレスとするレジスタ01hにデータ“00
h”(2進で“00000000”)を書き込む準備を
行う。この場合、カウンタ32aにセットされている時
間管理情報は“01h”とされているので、カウンタ3
2aの計数値が01h進むまで待機される。そして、カ
ウンタ32aの計数値が1つ進み01h時間経過したタ
イミングで、カウンタ32aからレジスタライト許可信
号dがレジスタライトコントローラ32cに印加され
る。これを受けてレジスタライトコントローラ32c
は、音源制御レジスタ33aのうちのシーケンサ32に
備えられているレジスタ01hにデータ“00h”を書
き込む。レジスタ01hのD0はシーケンサスタート/
ストップをシーケンサ32に指示するレジスタとされて
おり、この場合シーケンサスタート/ストップとして
“0”(D0=0)がセットされる。これにより、シー
ケンサ終了とされ、シーケンサ32はシーケンス処理を
終了する。このように、インデックス“01h”とデー
タ“00h”からなる組のデータは、シーケンサ終了デ
ータである。
【0068】次に、第1の構成の音源制御レジスタデー
タを再生する際に音源ハードウェア15のシーケンサ3
2で実行される再生処理のフローチャートを図15に示
す。図15に示すフローチャートにおいて、シーケンサ
スタート信号gがCPU10からシーケンサ32へ印加
されると再生処理がスタートされ、ステップS1にてデ
ータデコード回路32bはFIFO31から先頭の1バ
イトのデータを読み込むようにする。次いで、ステップ
S2にて読み込んだデータが時間管理情報識別アドレス
か否かがデータデコード回路32bで判断される。当該
データがFFhとされており、時間管理情報識別アドレ
スの場合はYESと判断されてステップS3に進み、デ
ータデコード回路32bはFIFO31からさらに続く
1バイトのデータを読み込むようにする。ここで読み込
まれたデータは時間管理情報となるので、そのデータは
カウンタ32aにセットされる。そして、ステップS4
にてカウンタ32aにセットされた時間管理情報で示さ
れる時間だけ経過したか否かが判断される。経過してい
ない場合は経過するまで待機されて、経過したと判断さ
れた際にステップS5に進む。なお、時間の経過はカウ
ンタ32aの計数がセットされた時間管理情報の値以上
となった際に経過したと判断する。
【0069】ステップS5にてデータデコード回路32
bはFIFO31からさらに続く1バイトのデータを読
み込むようにする。次いで、ステップS6にて読み込ま
れたデータが時間管理情報識別アドレスか否かがデータ
デコード回路32bで判断される。ここで、読み込まれ
たデータが時間管理情報識別アドレス(FFh)でない
と判断されると、ステップS7へ進み読み込まれたデー
タが音源制御レジスタ33aへ送られる。ただし、この
データはインデックスであり、音源制御レジスタ33a
に用意されているレジスタを指定するアドレスとなる。
次いで、ステップS8にてデータデコード回路32bは
FIFO31からさらに続く1バイトのデータを読み込
むが、このデータはステップS7で送られたインデック
スと組となるデータであり、ステップS9にてそのイン
デックスで指定された音源制御レジスタ33aのレジス
タにデータライトされる。例えば、再生スタート時にお
いて最初に音源制御レジスタ33aに送られるのは、図
9および図10に示す例ではインデックス18hとデー
タ“10h”とからなるデータとなる。
【0070】次いで、ステップS5およびステップS8
にて読み込まれた2バイトのデータがシーケンサ終了デ
ータか否かが判断される。ここで、シーケンサ終了デー
タは図9および図10に示すようにインデックス01h
とデータ“00h”とからなるデータとされる。そこ
で、読み込まれたデータがインデックス01hとデータ
“00h”との組のデータの場合は、シーケンサ終了デ
ータと判断されて再生処理は終了する。また、シーケン
サ終了データでないと判断されると、ステップS5に戻
りデータデコード回路32bはFIFO31からさらに
続く1バイトのデータを読み込むようにする。次いで、
ステップS6にて読み込まれたデータが時間管理情報識
別アドレスか否かがデータデコード回路32bで判断さ
れる。ここで、読み込まれたデータが時間管理情報識別
アドレス(FFh)と判断されると、ステップS3に戻
りデータデコード回路32bはFIFO31からさらに
続く1バイトのデータを読み込むようにする。ここで読
み込まれたデータは時間管理情報となるので、そのデー
タはカウンタ32aにセットされる。そして、ステップ
S4にてカウンタ32aにセットされた時間管理情報で
示される時間だけ経過したか否かが判断される。経過し
ていない場合は経過するまで待機されて、経過したと判
断された際にステップS5に進む。
【0071】以降、同様の処理が行われ、ステップS1
0にて読み込まれたデータがシーケンサ終了データと判
断されると再生処理は終了する。この場合には、その前
のステップであるステップS7およびステップS9によ
りシーケンサ終了データが音源制御レジスタ33aに書
き込まれることになる。したがって、この際にはシーケ
ンサ32において再生処理が終了される。なお、ステッ
プS10からステップS5へ戻る処理が行われることに
より、時間管理情報識別アドレスが読み込まれるまでに
読み込まれた複数のデータを、1つの時間管理情報によ
り音源制御レジスタ33aに送ることができる。これら
の複数のデータを送ることにより、音源部33のキーオ
ン/キーオフ、発音する音高、ボリュームや音色等が制
御されるようになる。また、ステップS2にて読み込ん
だデータが時間管理情報識別アドレスでないとデータデ
コード回路32bで判断された場合は、第1の構成の音
源制御レジスタデータではないと判断されて再生処理は
終了する。さらに、フローチャートには示されていない
が、FIFO31からのデータ読み込みエラー等が発生
した場合にも再生処理は終了する。
【0072】次に、第2の構成の音源制御レジスタデー
タを再生する際に音源ハードウェア15のシーケンサ3
2で実行される再生処理のフローチャートを図16に示
す。図16に示すフローチャートにおいて、シーケンサ
スタート信号gがCPU10からシーケンサ32へ印加
されると再生処理がスタートされ、ステップS21にて
データデコード回路32bはFIFO31から先頭の1
バイトのデータを読み込むようにする。図12に示すよ
うに先頭のデータは時間管理情報であるので、そのデー
タのMSBが“1”か否かがステップS22にて判断さ
れる。ここで、読み込まれたデータのMSBが“1”と
判断されると、時間管理情報は2バイト構成と判断され
て、ステップS23に進んでデータデコード回路32b
はFIFO31から続く1バイトのデータを読み込むよ
うにする。読み込まれた2バイト構成の時間管理情報は
カウンタ32aにセットされる。また、読み込まれたデ
ータのMSBが“1”とステップS22で判断されない
場合は、読み込まれた1バイトとされる時間管理情報が
カウンタ32aにセットされる。そして、ステップS2
4にてカウンタ32aにセットされた時間管理情報で示
される時間だけ経過したか否かが判断される。経過して
いない場合は経過するまで待機されて、経過したと判断
された際にステップS25に進む。なお、時間の経過は
カウンタ32aの計数がセットされた時間管理情報の値
以上となった際に経過したと判断する。
【0073】ステップS25にてデータデコード回路3
2bはFIFO31からさらに続く2バイトのデータを
読み込むようにする。ここで、読み込まれた2バイトの
データは時間管理情報に続くデータであり図12に示す
ようにインデックスとデータとされるから、ステップS
26にて読み込まれた2バイトのデータが音源制御レジ
スタ33aへ送られる。この場合、インデックスで指定
された音源制御レジスタ33aのレジスタにインデック
スに続くデータがデータライトされる。例えば、再生ス
タート時において最初に音源制御レジスタ33aに送ら
れるのは、図13および図14に示す例ではインデック
ス18hとデータ“10h”とからなるデータとなる。
【0074】次いで、ステップS25にて読み込まれた
2バイトのデータがシーケンサ終了データか否かがステ
ップS27にて判断される。ここで、シーケンサ終了デ
ータは図13および図14に示すようにインデックス0
1hとデータ“00h”からなるデータとされる。そこ
で、読み込まれたデータの組がインデックス01hとデ
ータ“00h”との組のデータの場合は、シーケンサ終
了データと判断されて再生処理は終了する。また、シー
ケンサ終了データでないと判断されると、ステップS2
1に戻り上述した処理が繰り返し行われる。
【0075】これにより、3バイトあるいは4バイトを
組とするデータが順次読み出され、そのうちのインデッ
クスとデータとが順次音源制御レジスタ33aへ送られ
て、該当するレジスタにデータが書き込まれるようにな
る。これにより、音源部33は音源制御レジスタ33a
に書き込まれたデータに基づいて楽音を生成していくよ
うになる。なお、ステップS27にて読み込まれたデー
タがシーケンサ終了データと判断されると再生処理は終
了するが、この場合には、その前のステップであるステ
ップS26によりシーケンサ終了データが音源制御レジ
スタ33aに書き込まれていることになる。したがっ
て、この際にはシーケンサ32において再生処理が終了
される。
【0076】以上説明したように、音源ハードウェア1
5におけるシーケンサ32における再生処理では、時間
管理と、データを音源制御レジスタ33aに送る処理と
を行うことになる。そして、時間管理は時間管理情報を
分離してカウンタ32aにセットし、セットされた時間
管理情報とカウンタ32aとの計数値を比較監視するこ
とにより行っている。このため、時間管理を行うハード
ウェアを簡易な構成とすることができ、その回路規模を
小さくすることができる。また、データを音源制御レジ
スタ33aに送るのは、カウンタ32aとの計数値が時
間管理情報の値以上となった際に出力されるレジスタラ
イト許可信号dを受けることにより行えばよいので、そ
のハードウェアも簡易な構成とすることができる。これ
により、シーケンサ32の回路規模を小さくすることが
できる。なお、シーケンサスタート信号gによりカウン
タ32aは計数を開始すると共に、シーケンサスタート
信号gにより音源制御レジスタ33aの一部のレジスタ
であるレジスタ01hのD0(start)に“1”をセッ
トするようにしている。この場合、シーケンサスタート
信号gをレベル信号として、シーケンサスタート信号g
のレベルに応じてカウンタ32aの計数をスタートさせ
ると共に、レジスタ01hのD0(start)に“1”を
セットするようにしてもよい。また、シーケンサスター
ト信号gに、インデックス“01h”とデータ“01
h”からなるデータを含ませておいて、このデータによ
りレジスタ01hのD0(start)に“1”をセットす
るようにしてもよい。
【0077】次に、本発明の実施の形態にかかる携帯電
話機1において、曲の任意の位置から再生することので
きる本発明の他の実施の形態にかかる楽音生成装置の構
成を図17に示す。図17に示す本発明の楽音生成装置
では、曲を再生する際の演奏開始位置を示す演奏開始ポ
イントデータを格納しているレジスタ領域11cがRA
M11に設けられている。この構成において、前述した
図2に示す本発明の楽音生成装置と異なる構成とされて
いる。そこで、この構成についてのみ以下に説明するも
のとする。
【0078】RAM11におけるレジスタ領域11cに
は、曲を再生する際の演奏開始位置を示す演奏開始ポイ
ントデータが格納されている。この演奏開始ポイントデ
ータは、ユーザが任意に設定することができるようにさ
れている。設定する際には、着信メロディあるいは保留
音として選択されている曲において、どの位置から再生
するかを携帯電話機1に用意されたメニューから設定す
る。この際に、演奏を開始するに適した位置にマークを
曲の音楽コンテンツデータ中あるいは音楽コンテンツデ
ータを変換した音源ハードウェア制御データ中に複数挿
入しておき、いずれかのマークの位置をスタートポイン
トとして選択することにより、演奏開始位置を設定する
ようにしてもよい。マークを挿入する位置は、例えば曲
のイントロ、メイン、フィルイン、サビ、エンディング
等の先頭とされる。そして、CPU10は、音源ハード
ウェア制御データ変換手段10bにおいて、選択されて
いる曲の音楽コンテンツデータを音源ハードウェア制御
データに変換する。変換された音源ハードウェア制御デ
ータはRAM11における領域11bに格納される。
【0079】ここで、再生が指示されると、CPU10
はRAM11におけるレジスタ領域11cに格納されて
いる演奏開始ポイントデータを読み出して、演奏開始ポ
イントデータに対応する位置からの音源ハードウェア制
御データをRAM11における領域11bから読み出
し、順次音源ハードウェア15に転送する。音源部33
は転送された音源ハードウェア制御データに基づいて演
奏開始ポイントデータで示される位置からの楽音を生成
することになる。なお、音楽コンテンツデータの先頭部
分に音色データ、テンポデータやボリュームデータ等の
セットアップデータが存在する際には、セットアップデ
ータも音源ハードウェア制御データに変換してRAM1
1における領域11bに格納しておく。そして、再生が
指示された際には、最初にセットアップデータに対応す
る音源ハードウェア制御データを領域11bから読み出
して音源ハードウェア15に転送し、続いて演奏開始ポ
イントデータで示される位置からの音源ハードウェア制
御データを領域11bから読み出して順次音源ハードウ
ェア15に転送するようにする。これにより、曲を中途
から再生するようにしても曲に設定されている音色、テ
ンポ、音量とされた楽音が再生されるようになる。
【0080】ここで、着信ボタン等が操作されて再生ス
トップの指示がされた場合は、RAM11におけるレジ
スタ領域11cに格納する演奏開始ポイントデータとし
て、次回にその曲を再生する際に再生ストップされた位
置から再生できるように再生終了の位置情報を格納す
る。この場合、演奏開始ポイントデータは、実際に再生
を終了した曲の位置から後方において最初に検出された
マークの位置であるスタートポイントとすると、演奏開
始した際に好適な位置から再生することができるように
なる。なお、再生ストップの指示は、携帯電話機1にお
いて入力部17の着信ボタンの操作、保留解除の操作、
あるいは、通信回線が切断された際に行われることにな
る。
【0081】上記したように、レジスタ領域11cに格
納される演奏開始ポイントデータとして、音楽コンテン
ツデータを変換した音源ハードウェア制御データにおけ
る演奏開始位置のアドレスデータとしている。これによ
り、演奏開始位置が変更される毎に、演奏開始位置から
の音楽コンテンツデータを音源ハードウェア制御データ
に変換する必要をなくすことができる。さらに、携帯電
話機1がリセットされた場合にはレジスタ領域11cに
格納される演奏開始ポイントデータは初期化される。さ
らに、着信メロディの曲が変更された際にもレジスタ領
域11cに格納される演奏開始ポイントデータは初期化
される。
【0082】次に、本発明の実施の形態にかかる携帯電
話機1における楽音生成装置の変形例の構成を図18に
示す。図18に示す楽音生成装置においては、変換され
た音源ハードウェア制御データの量を低減することが可
能な構成とされており、この構成において、前述した図
2に示す本発明の楽音生成装置と異なる構成とされてい
る。そこで、この構成についてのみ以下に説明するもの
とする。図18に示す本発明の楽音生成装置の変形例に
おいて、RAM11には音楽コンテンツデータであるフ
ァイル化されたMIDIデータやSMAFデータ等が領
域11aに格納されている。また、CPU10において
処理に余裕があったり空き時間等がある時や、あるいは
音楽コンテンツデータの再生指示があった場合に、CP
U10はRAM11の領域11aから音楽コンテンツデ
ータを読み出して音源ハードウェア制御データに変換す
る変換処理を実行し、変換後の音源ハードウェア制御デ
ータをRAM11の領域11bに格納している。領域1
1aには複数曲分の音楽コンテンツデータが記憶可能と
され、領域11bにも複数曲分の音源ハードウェア制御
データが記憶可能とされている。
【0083】ここで、図18に示す本発明の楽音生成装
置の変形例において、一例とされるSMAFデータを変
換した音源ハードウェア制御データ(第3の例)を図1
9に示す。図19に示されるように、音源ハードウェア
制御データはデュレーションやゲートタイムに相当する
時間管理情報と、音源制御レジスタライトデータから構
成されている。そして、音源制御レジスタライトデータ
を構成しているインデックスは、前述したように音源制
御レジスタ33aに備えられている各レジスタのアドレ
スを示す情報であり、後続するデータはそのアドレスで
示されるレジスタに書き込まれるデータとされている。
図18に示す本発明の楽音生成装置の変形例において、
特徴とされるのは図19における音源ハードウェア制御
データにおける2行目に示されているように、インデッ
クスが複数バイト(図示する例では、2バイト)で表さ
れる場合があること、および、データが複数バイト(図
示する例では、3バイト)で表される場合があること、
さらに、3行目に示されているように時間管理情報が複
数バイト(図示する例では、2バイト)で表される場合
があることである。
【0084】ここで、時間管理情報を複数バイトで表す
ことができるようにしているのは、イベントとイベント
の時間間隔を示すデュレーションデータや、発音期間を
示すゲートタイムデータの範囲を広げるためである。例
えば、時間管理情報を1バイトとすると0〜255まで
の範囲しか表すことができず、単位時間を1msとする
と0〜255msの時間までしか表すことができない。
そこで、時間管理情報を2バイトとすると、0〜655
35(216−1)まで表すことができ、単位時間を1m
sとすると0〜65535msの時間まで表すことがで
きるようになる。ただし、図18に示す本発明の楽音生
成装置の変形例においては、各バイトのMSBを用いて
後続するバイトがあるか否かを示すようにしていること
から、各バイトで使用できるビット数はそれぞれ下位7
ビットであり、0〜16383(214−1)までの範囲
を表すことができるようになる。そして、時間管理情報
を最大3バイトまでとすると、0〜16383msを超
える時間を表すことができるようになる。
【0085】また、インデックスを複数バイトで表すこ
とができるようにしているのは、次の理由による。図1
8に示す本発明の楽音生成装置の変形例においては、各
バイトのMSBを用いて後続するバイトがあるか否かを
示すようにしていることから、各バイトで使用できるビ
ット数は1バイト中の下位7ビットとなる。すると、図
7に示すように音源制御レジスタ33aのインデックス
としてはインデックス“EFh”まで必要であるにもか
かわらず、下位7ビットの1バイトでは“7Fh”まで
しか表すことができない。そこで、インデックスを2バ
イトで表すようにして、例えばインデックス“6Fh
81h”とすると、MSBが“1”のバイトを上位バイ
トとしてそれぞれのバイトのMSBを除いて結合するこ
とにより、インデックス“EFh”を表すことができる
ようになる。なお、図18に示す本発明の楽音生成装置
の変形例の仕様では、余裕を見てインデックスは最大3
バイトまでとされている。
【0086】さらに、データを複数バイトで表すことが
できるようにしているのは、時間管理情報が同値とされ
ているタイミングにおいて同種のイベントが複数チャン
ネル分生起した場合に、複数イベントに対応する音源制
御レジスタライトデータを1行で表すことができるよう
にするためである。なお、音源制御レジスタ33aにお
いて同種のイベントにおけるデータが書き込まれるレジ
スタのアドレスは、図7に示す音源制御レジスタマップ
に示されているように連続するアドレスとされており、
これを利用して複数イベントに対応する音源制御レジス
タライトデータを1行で表すことができるようにしてい
る。
【0087】複数イベントに対応する音源制御レジスタ
ライトデータを1行で表す具体例を図20を参照して次
に説明する。図20は、SMAFデータと、SMAFデ
ータを変換した音源ハードウェア制御データとを対比し
て示しており、SMAFデータの1行目のデュレーショ
ンデータ“00”と「チャンネル番号0」におけるチャ
ンネルボリュームメッセージのイベント“00 37
7F”は、時間管理情報“80h”、インデックス“6
0h 81h”とデータ“9Fh”に変換されている。
また、SMAFデータの2行目のデュレーションデータ
“00”と「チャンネル番号1」におけるチャンネルボ
リュームメッセージのイベント“00 77 55”
は、時間管理情報“80h”、インデックス“61h
81h”とデータ“95h”に変換されている。さら
に、SMAFデータの3行目のデュレーションデータ
“00”と「チャンネル番号2」におけるチャンネルボ
リュームメッセージのイベント“00F7 28”は、
時間管理情報“80h”、インデックス“62h 81
h”とデータ“85h”に変換されている。さらにま
た、SMAFデータの4行目のデュレーションデータ
“00”と「チャンネル番号3」におけるチャンネルボ
リュームメッセージのイベント“00 F7 28”
は、時間管理情報“80h”、インデックス“63h
81h”とデータ“8Ah”に変換されている。
【0088】なお、インデックス“60h 81h”は
インデックス“E0h”で表され、インデックス“61
h 81h”はインデックス“E1h”で表され、イン
デックス“62h 81h”はインデックス“E2h”
で表され、インデックス“63h 81h”はインデッ
クス“E3h”で表されるが、その理由を次に説明す
る。図18に示す本発明の楽音生成装置の変形例におい
ては、インデックスデータを1バイトあるいは2バイト
ないし3バイトの複数バイトで表すことができ、この場
合は、前述したように各バイトにおける有効ビットは下
位7ビットとされている。そして、インデックスデータ
における先頭バイトのMSBが“0”とされている場合
はさらに上位のインデックスバイトが続くことを意味し
ており、そのMSBが“1”とされている場合は最上位
のインデックスバイトであることを意味している。
【0089】すなわち、図20に示すインデックスデー
タにおける先頭のバイトは“60h”であり、そのMS
Bは“0”であることからさらに上位のインデックスバ
イトが続いていることになる。これに続くインデックス
バイトは“81h”であり、そのMSBは“1”である
ことから当該インデックスバイトが最上位バイトとされ
ている。このように、インデックスバイトが複数バイト
とされている場合は下位のバイトから到来することにな
る。そして、上位のバイトから並べ直したインデックス
データは“81h 61h”となり、このインデックス
データから生成されるインデックス(レジスタのアドレ
ス)はそれぞれのバイトの下位7ビットで表されるた
め、それを2進数で示すと“00 0000 1110
0000”となり、有意のビットは下位8ビットとな
る。そこで、下位8ビットを16進数で示すと“E0
h”となる。このように、インデックスデータ“60h
81h”はインデックス“E0h”を意味しており、
同様にして、インデックス“61h 81h”はインデ
ックス“E1h”で表され、インデックス“62h 8
1h”はインデックス“E2h”で表され、インデック
ス“63h 81h”はインデックス“E3h”で表さ
れるのである。
【0090】これらのインデックスに対応するイベント
は、連続するチャンネルのチャンネルボリュームメッセ
ージであって対応するレジスタのアドレスが連続してい
ることから、図20に示すように連続するインデックス
とされており、さらに、時間管理情報も同値“80h”
とされている。なお、時間管理情報データも複数バイト
で表すことができ、時間管理情報データのバイトのMS
Bが“0”とされている場合はさらに上位の時間管理情
報バイトが続くことを意味しており、そのMSBが
“1”とされている場合は最上位の時間管理情報バイト
を意味している。そして、各バイトにおける有効ビット
は下位7ビットとされている。すなわち、図20に示す
1行目から4行目までの時間管理情報データは“80
h”とされており最上位バイトであって、この時間管理
情報データから生成される時間管理情報は下位7ビット
からなる“00h”となる。この時間管理情報は、シー
ケンサ32におけるタイマー32aに設定される。
【0091】図20に示すように連続するインデックス
とされていると共に、時間管理情報も同値とされている
場合は、対応するデータを連続して配置することによ
り、複数行で示されるSMAFデータを1行の音源ハー
ドウェア制御データで表すことができる。すなわち、図
20の矢印下部に示すように、図20におけるSMAF
の1行目から4行目は、時間管理情報データ“80
h”、インデックスデータ“60h 81h”とデータ
“1Fh 15h 05h 8Ah”と、1行の音源ハ
ードウェア制御データに変換することができる。この場
合、インデックスは連続するインデックスの先頭のイン
デックスとされ、続くデータは、最終データを除いてそ
れぞれのデータにおける有効な下位7ビットのデータに
変換される。すなわち、先頭のデータ“9Fh”はデー
タ“1Fh”に、2番目のデータ“95h”はデータ
“15h”に、3番目のデータ“85h”はデータ“0
5h”に変換され、4番目のデータ“8Ah”はそのま
まとされる。これは、MSBを“1”として、4番目の
データ“8Ah”はそのデータが最終データバイトであ
ることを示すためにそのままとされる。ただし、4番目
のデータ値はMSBを除いた“0Ah”となる。このよ
うに時間管理情報が同値でインデックスが連続する場合
は、複数行のSMAFデータを1行の音源ハードウェア
制御データで表すことができるため、音源ハードウェア
制御データの量を低減することが可能となる。
【0092】次に、図21ないし図24に示すフローチ
ャートを参照しながら図18に示す本発明の楽音生成装
置の変形例の動作を説明する。図21に示す再生スター
ト処理のフローチャートにおいて、シーケンサスタート
信号gがCPU10からシーケンサ32へ印加されると
カウンタ32aからデータデコード回路32bにデータ
デコードスタート信号が出力され、再生スタート処理が
開始される。これにより、ステップS30にて後述する
時間管理情報部処理が行われる。この時間管理情報部処
理は、データデコード回路32bが実行する処理であ
り、FIFO31から1バイトずつ読み込んだ時間管理
情報データに基づいて時間管理情報を生成して、カウン
タ32aに生成された時間管理情報をセットしている。
この実施の形態の場合では、時間管理情報データは1バ
イトないし3バイトから構成されるものとしている。そ
して、ステップS31にてカウンタ32aにセットされ
た時間管理情報で示される時間だけ経過したか否かが判
断される。経過していない場合は経過するまで待機され
て、経過したと判断された際にステップS32に進む。
なお、時間の経過はカウンタ32aの計数がセットされ
た時間管理情報の値以上となった際に経過したと判断さ
れ、経過した際にはカウンタ32aからレジスタライト
コントローラ32cにレジスタライト許可信号dが出力
される。
【0093】ステップS32では、後述するアドレス部
処理が行われる。このアドレス部処理は、データデコー
ド回路32bおよびアドレスコントローラ32dが実行
する処理であり、FIFO31から1バイトずつ読み込
んだインデックスデータに基づいて、後続するデータを
音源制御レジスタ33aに書き込むレジスタのアドレス
を生成するように、アドレスコントローラ32dを制御
している。この実施の形態の場合では、インデックスデ
ータは1バイトないし3バイトから構成されるものとし
ている。
【0094】ステップS32においてアドレスが生成さ
れると、ステップS33に進んで後述するデータ部処理
が行われる。このデータ部処理は、データデコード回路
32bおよびアドレスコントローラ32d、レジスタラ
イトコントローラ32cが実行する処理であり、FIF
O31から1バイトずつ読み込んだデータを音源制御レ
ジスタ33aに書き込むようにしている。この実施の形
態の場合では、データは1バイトないし3バイトから構
成されるものとしている。そして、音源制御レジスタ3
3aに書き込まれるデータは楽音発生用のデータであ
り、この楽音発生用のデータを用いて音源部33が楽音
を生成するようになる。このデータ部処理は、ステップ
S31の後に実行されるため、音源制御レジスタ33a
には時間管理情報で示す時間に達した際に楽音発生用の
データが書き込まれることになるから、楽音は時間管理
情報で示す時間になった時に発生されるようになる。ス
テップS33のデータ部処理が終了すると、ステップS
30に戻りステップS30ないしステップS33の処理
が繰り返し行われ、これにより、FIFO31からSM
AFデータを変換した音源ハードウェア制御データが順
次読み出されていくようになり、音源部33において自
動演奏されていくようになる。
【0095】次に、再生スタート処理におけるステップ
S30の時間管理情報部処理の詳細を図22に示すフロ
ーチャートを参照しながら説明する。図22に示す時間
管理情報部処理において、処理がスタートされるとステ
ップS40にてデータデコード回路32bはFIFO3
1から1バイトの音源ハードウェア制御データを読み込
むようにする。ここでは、読み込まれた音源ハードウェ
ア制御データが、その先頭のデータである時間管理情報
データあるいはMSBが“1”であるデータに続く時間
管理情報データであるとする。次いで、ステップS41
にて読み込まれた1バイトの時間管理情報データにおけ
るMSBが“1”か否かが判定される。ここで、MSB
が“0”と判定された場合は続く上位の時間管理情報デ
ータバイトがあることから、ステップS42に進んで読
み込まれた1バイトの時間管理情報データが時間管理情
報1バイト目用テンポラリレジスタに書き込まれる。そ
して、ステップS43にてデータデコード回路32bは
FIFO31から続く1バイトの時間管理情報データを
読み込むようにする。
【0096】次いで、ステップS44にて読み込まれた
2バイト目の時間管理情報データにおけるMSBが
“1”か否かが判定される。ここで、MSBが“0”と
判定された場合はさらに続く上位の時間管理情報データ
バイトがあることから、ステップS45に進んで読み込
まれた2バイト目の時間管理情報データが時間管理情報
2バイト目用テンポラリレジスタに書き込まれる。そし
て、ステップS46にてデータデコード回路32bはF
IFO31からさらに続く1バイトの時間管理情報デー
タを読み込むようにする。次いで、ステップS47にて
読み込まれた1バイトの時間管理情報データにおけるM
SBが“1”か否かが判定される。ここで、MSBが
“0”と判定された場合はさらに続く上位の時間管理情
報データバイトがあることを意味しているが、変形例に
おける仕様では最大3バイトとされているため、MSB
が“0”と判定された場合はエラーとなる。そこで、M
SBが“0”と判定された場合は、エラー処理後に再生
スタート処理のステップS31にリターンするようにな
る。
【0097】また、ステップS41にてMSBが“1”
と判定された場合は、読み込まれた1バイト目の時間管
理情報データが最上位のバイトとなることから、ステッ
プS48にて読み込まれた1バイト目の下位7ビットか
ら時間管理情報が生成されて、生成された時間管理情報
がタイマー32aにセットされる。次いで、ステップS
49にて全てのテンポラリレジスタがクリアされて、再
生スタート処理のステップS31にリターンするように
なる。さらに、ステップS44にてMSBが“1”と判
定された場合は、ステップS43で読み込まれた2バイ
ト目の時間管理情報データが最上位のバイトとなること
から、この2バイト目の時間管理情報データをステップ
S48にて上位バイト、時間管理情報1バイト目用テン
ポラリレジスタに書き込まれている1バイト目の時間管
理情報データを下位バイトとして、各バイトの内の下位
7ビットから時間管理情報が生成される。生成された時
間管理情報は、タイマー32aにセットされる。次い
で、ステップS49にて全てのテンポラリレジスタがク
リアされて、再生スタート処理のステップS31にリタ
ーンするようになる。
【0098】さらにまた、ステップS47にてMSBが
“1”と判定された場合は、ステップS46にて読み込
まれた3バイト目の時間管理情報データが最上位のバイ
トとなることから、この3バイト目の時間管理情報デー
タを最上位バイト、時間管理情報2バイト目用テンポラ
リレジスタに書き込まれている2バイト目の時間管理情
報データを中位バイト、時間管理情報1バイト目用テン
ポラリレジスタに書き込まれている1バイト目の時間管
理情報データを下位バイトとして、ステップS48にて
各バイトの内の下位7ビットから時間管理情報が生成さ
れる。生成された時間管理情報は、タイマー32aにセ
ットされる。次いで、ステップS49にて全てのテンポ
ラリレジスタがクリアされて、再生スタート処理のステ
ップS31にリターンするようになる。
【0099】このような時間管理情報部処理を、具体例
を挙げて説明すると、例えば時間管理情報データのデー
タ列が“03h 37h 81h”であったとする。す
ると、FIFO31から最初に読み込まれた1バイトの
データ“03h”のMSBは“0”となるから、ステッ
プS42にて読み込まれたデータ“03h”が時間管理
情報1バイト目用テンポラリレジスタに書き込まれる。
さらに、FIFO31から読み込まれた続く1バイトの
データ“37h”のMSBも“0”となるから、ステッ
プS45にてデータ“37h”が時間管理情報2バイト
目用テンポラリレジスタに書き込まれる。さらにまた、
FIFO31から読み込まれたさらに続く1バイトのデ
ータ“81h”のMSBは“1”となるから、読み込ま
れたデータ“81h”が最上位バイトとされる。そこ
で、ステップS48にてデータ“81h”を最上位バイ
ト、時間管理情報2バイト目用テンポラリレジスタに書
き込まれているデータ“37h”を中位バイト、時間管
理情報1バイト目用テンポラリレジスタに書き込まれて
いるデータ“03h”を最下位バイトとしてそれぞれの
バイトの下位7ビットを結合すると、“00h 5Bh
83h”が生成される。生成された時間管理情報“0
0h 5Bh 83h”は、カウンタ32aにセットさ
れる。
【0100】次に、再生スタート処理におけるステップ
S32のアドレス部処理の詳細を図23に示すフローチ
ャートを参照しながら説明する。図23に示すアドレス
部処理において、処理がスタートされるとステップS5
0にてデータデコード回路32bはFIFO31から1
バイトの音源ハードウェア制御データを読み込むように
する。読み込まれた音源ハードウェア制御データは、時
間管理情報データに後続するデータであるからインデッ
クスデータである。次いで、ステップS51にて読み込
まれた1バイトのインデックスデータにおけるMSBが
“1”か否かが判定される。ここで、MSBが“0”と
判定された場合は続く上位のインデックスデータバイト
があることから、ステップS52に進んで読み込まれた
1バイトのインデックスデータがアドレス1バイト目用
テンポラリレジスタに書き込まれる。そして、ステップ
S53にてデータデコード回路32bはFIFO31か
ら続く2バイト目のインデックスデータを読み込むよう
にする。
【0101】次いで、ステップS54にて読み込まれた
2バイト目のインデックスデータにおけるMSBが
“1”か否かが判定される。ここで、MSBが“0”と
判定された場合はさらに続く上位のインデックスデータ
バイトがあることから、ステップS55に進んで読み込
まれた2バイト目のインデックスデータがインデックス
2バイト目用テンポラリレジスタに書き込まれる。そし
て、ステップS56にてデータデコード回路32bはF
IFO31からさらに続く3バイト目のインデックスデ
ータを読み込むようにする。次いで、ステップS57に
て読み込まれた3バイト目のインデックスデータにおけ
るMSBが“1”か否かが判定される。ここで、MSB
が“0”と判定された場合はさらに続く上位のインデッ
クスデータバイトがあることを意味しているが、変形例
における仕様ではインデックスデータは最大3バイトと
されているため、MSBが“0”と判定された場合はエ
ラーとなる。そこで、MSBが“0”と判定された場合
は、エラー処理後に再生スタート処理のステップS33
にリターンするようになる。
【0102】また、ステップS51にてMSBが“1”
と判定された場合は、読み込まれた1バイト目の時間管
理情報データが最上位のバイトとなることから、ステッ
プS58にて読み込まれた1バイト目のインデックスデ
ータがアドレスコントローラ32dに転送されて、アド
レスコントローラ32dにおいて転送されたインデック
スデータの下位7ビットから音源制御レジスタ33aに
おけるレジスタのアドレスが生成される。このアドレス
は音源制御レジスタ33aに供給され、レジスタライト
コントローラ32cから供給されたデータがそのアドレ
スのレジスタに書き込まれるようになる。次いで、ステ
ップS59にて全てのテンポラリレジスタがクリアされ
て、再生スタート処理のステップS33にリターンする
ようになる。
【0103】さらに、ステップS54にてMSBが
“1”と判定された場合は、ステップS53にて読み込
まれた2バイト目のインデックスデータが最上位のバイ
トとなることから、この2バイト目の上位バイトのイン
デックスデータと、インデックス1バイト目用テンポラ
リレジスタに書き込まれている1バイト目の下位バイト
のインデックスデータとが、ステップS58にてアドレ
スコントローラ32dに転送される。そして、アドレス
コントローラ32dにおいて転送された2バイトのイン
デックスデータの各バイトの下位7ビットから音源制御
レジスタ33aにおけるレジスタのアドレスが生成され
る。このアドレスは音源制御レジスタ33aに供給さ
れ、レジスタライトコントローラ32cから供給された
データがそのアドレスのレジスタに書き込まれるように
なる。次いで、ステップS59にて全てのテンポラリレ
ジスタがクリアされて、再生スタート処理のステップS
33にリターンするようになる。
【0104】さらにまた、ステップS57にてMSBが
“1”と判定された場合は、ステップS56にて読み込
まれた3バイト目のインデックスデータが最上位のバイ
トとなることから、この3バイト目の最上位バイトのイ
ンデックスデータと、インデックス2バイト目用テンポ
ラリレジスタに書き込まれている2バイト目の中位バイ
トのインデックスデータと、インデックス1バイト目用
テンポラリレジスタに書き込まれている1バイト目の最
下位のインデックスデータとが、ステップS58にてア
ドレスコントローラ32dに転送される。そして、アド
レスコントローラ32dにおいて転送された3バイトの
インデックスデータの各バイトの下位7ビットから音源
制御レジスタ33aにおけるレジスタのアドレスが生成
される。このアドレスは音源制御レジスタ33aに供給
され、レジスタライトコントローラ32cから供給され
たデータがそのアドレスのレジスタに書き込まれるよう
になる。次いで、ステップS59にて全てのテンポラリ
レジスタがクリアされて、再生スタート処理のステップ
S33にリターンするようになる。
【0105】次に、再生スタート処理におけるステップ
S33のデータ部処理の詳細を図24に示すフローチャ
ートを参照しながら説明する。図24に示すデータ部処
理において、処理がスタートされるとステップS60に
てデータデコード回路32bはFIFO31から1バイ
トの音源ハードウェア制御データを読み込むようにす
る。読み込まれた音源ハードウェア制御データは、イン
デックスデータに後続する楽音生成用のデータであるか
らステップS61にてレジスタライトコントローラ32
cに供給される。レジスタライトコントローラ32c
は、レジスタライト許可信号dがカウンタ32aから出
力されたタイミングで供給されたデータを音源制御レジ
スタ33aに書き込む。この場合、ステップS32にお
けるアドレス部処理によりアドレスコントローラ32d
は、データを書き込むべきレジスタのアドレスを音源制
御レジスタ33aに供給している。また、レジスタライ
ト許可信号dは、再生スタート処理におけるステップS
31の処理において、既にレジスタライト許可信号dが
カウンタ32aから出力されていることから、直ちにア
ドレスコントローラ32dから出力されているアドレス
のレジスタにそのデータが書き込まれるようになる。
【0106】次いで、ステップS62にて読み込まれた
1バイトのデータにおけるMSBが“1”か否かがデー
タデコード回路32bにおいて判定される。ここで、M
SBが“0”と判定された場合は続くデータバイトがあ
ることから、ステップS63に進んでデータデコード回
路32bはアドレスコントローラ32dに現在のアドレ
スを1だけインクリメントさせる指示を行う。アドレス
コントローラ32dは指示を受けて現在のアドレスを1
だけインクリメントして、インクリメントしたアドレス
を音源制御レジスタ33aに印加する。これは、前述し
たように複数バイトのデータとされている場合は、それ
ぞれのデータの時間管理情報が同値でインデックスすな
わちアドレスが連続しているからである。ステップS6
3の処理が終了すると、ステップS60に戻りデータデ
コード回路32bはFIFO31から続く1バイトのデ
ータを読み込む。読み込まれたデータは、ステップS6
1にてレジスタライトコントローラ32cに供給され、
既にレジスタライト許可信号dがカウンタ32aから出
力されていることから、レジスタライトコントローラ3
2cは供給された続くデータを、音源制御レジスタ33
aにおけるインクリメントされたアドレスのレジスタに
直ちに書き込む。
【0107】次いで、ステップS62にて続いて読み込
まれた1バイトのデータにおけるMSBが“1”か否か
がデータデコード回路32bにおいて判定される。ここ
で、MSBが“0”と判定された場合はさらに続くデー
タバイトがあることから、ステップS63に進んでデー
タデコード回路32bはアドレスコントローラ32dに
現在のアドレスをさらに1だけインクリメントさせる指
示を行う。アドレスコントローラ32dは指示を受けて
現在のアドレスをさらに1だけインクリメントして、イ
ンクリメントしたアドレスを音源制御レジスタ33aに
印加する。ステップS63の処理が終了すると、ステッ
プS60に戻りデータデコード回路32bはFIFO3
1からさらに続く1バイトのデータを読み込む。読み込
まれたデータは、ステップS61にてレジスタライトコ
ントローラ32cに供給され、既にレジスタライト許可
信号dがカウンタ32aから出力されていることから、
レジスタライトコントローラ32cは供給された続くデ
ータを、音源制御レジスタ33aにおけるさらにインク
リメントされたアドレスのレジスタに直ちに書き込む。
次いで、ステップS62にて続いて読み込まれた1バイ
トのデータにおけるMSBが“1”か否かがデータデコ
ード回路32bにおいて判定される。ここで、MSBが
“1”と判定された場合は読み込まれたデータが最終の
データとなることから、再生スタート処理におけるステ
ップS30にリターンする。また、MSBが“0”と判
定された場合はさらに続くデータバイトがあることか
ら、上記したようにステップS63ないしステップS6
2の処理がMSBが“1”と判定されるまで繰り返し実
行されるようになる。これにより、複数イベントに対応
する音源制御レジスタライトデータが1行で表わされて
いる場合でも、それぞれの楽音生成用のデータを対応す
るレジスタに書き込めるようになる。
【0108】ところで、FIFO31から読み出した1
バイトのデータにおけるMSBはフラグとして使用して
いる。そこで、FIFO31から読み出した1バイトの
データが書き込まれたレジスタの値に応じた上述した処
理を行う際に、レジスタにおけるMSBをマスクあるい
は無視して下位7ビットに着目して処理するようにして
もよい。上述したように、図18に示す本発明の楽音生
成装置の変形例においては、音源ハードウェア制御デー
タ変換手段10bがRAM11の領域11aに格納され
ている音楽コンテンツデータを音源ハードウェア制御デ
ータに変換する変換処理を実行するが、この際に、図2
0に例示したように時間管理情報が同値とされてインデ
ックスが連続した値となる場合は、複数イベントに対応
する音源制御レジスタライトデータを1行で表すように
変換処理を行っている。ここで、再生が指示されると、
CPU10は再生指示された楽曲に対応する音源ハード
ウェア制御データをRAM11における領域11bから
読み出し、順次音源ハードウェア15に転送する。音源
部33は転送された音源ハードウェア制御データに基づ
いて楽音を生成するようになる。なお、音楽コンテンツ
データの先頭部分に音色データ、テンポデータやボリュ
ームデータ等のセットアップデータが存在する際には、
セットアップデータも音源ハードウェア制御データに変
換してRAM11における領域11bに格納しておく。
そして、再生が指示された際には、最初にセットアップ
データに対応する音源ハードウェア制御データを領域1
1bから読み出して音源ハードウェア15に転送し、続
いて音源ハードウェア制御データを領域11bから読み
出して順次音源ハードウェア15に転送するようにす
る。
【0109】音源ハードウェア15では、FIFO31
を介して取り込んだ音源ハードウェア制御データをデー
タデコード回路32bによりデコードして分離した時間
管理情報データから時間管理情報を生成してカウンタ3
2aにセットする。この時間管理情報の生成処理は図2
2に示す時間管理情報部処理により実行されるため、時
間管理情報データが複数バイトから構成されていても時
間管理情報を生成することができる。また、データデコ
ード回路32bは時間管理情報データに後続するインデ
ックスデータに基づいて、さらに後続するデータを書き
込む音源制御レジスタ33aにおけるレジスタのアドレ
スを生成するようにアドレスコントローラ32dを制御
している。このアドレスの生成処理は図23に示すアド
レス部処理により実行されるため、インデックスデータ
が複数バイトから構成されていてもアドレスを生成する
ことができる。
【0110】さらに、データデコード回路32bはイン
デックスデータに後続する楽音生成用のデータを、レジ
スタライトコントローラ32cに供給し、レジスタライ
トコントローラはカウンタ32aにセットされた時間管
理情報に対応する時刻で出力されるレジスタライト許可
信号dのタイミングで、音源制御レジスタ33aに供給
されたデータを、アドレスコントローラ32dから指示
されているアドレス位置に書き込む。これにより、音源
部33では書き込まれた楽音生成用のデータに基づいて
楽音を生成するようになる。なお、データを音源制御レ
ジスタ33aに書き込む処理は、図24に示すデータ部
処理により実行されるため、データが複数バイトから構
成されている場合は、書き込むレジスタを示すアドレス
が1ずつインクリメントされながら、それぞれのバイト
のデータが音源制御レジスタ33aの該当するレジスタ
に順次書き込まれるようになる。
【0111】上記説明したように、本発明の楽音生成装
置を本発明にかかる携帯端末装置である携帯電話機に適
用した際には、携帯電話機1に基地局2を介してダウン
ロードセンター等から新たな音楽コンテンツデータをダ
ウンロードした際に、ダウンロードした音楽コンテンツ
データを前記したように音源ハードウェア制御データに
変換して再生することができる。また、携帯電話機1に
着信があった際に、着信メロディとして予め指定されて
いる楽曲に対応する音源ハードウェア制御データをRA
M11から読み出して再生することにより、着信メロデ
ィを放音することができる。この場合、任意の開始位置
からの着信メロディを再生して放音することができるな
お、本発明の楽音生成装置は、携帯端末装置である上記
した携帯電話機のみに適用されるものではなく、楽音を
出力可能な携帯情報機器や、楽音を出力可能な携帯型パ
ーソナルコンピュータ等に適用することができる。この
際に、テキストや画像コンテンツに同期して音楽コンテ
ンツデータを再生するようにしてもよい。
【0112】また、音源ハードウェア15における音源
部33は、周波数変調方式の音源、すなわちFM音源に
より構成することができる。FM音源は、周波数変調に
よって生じる高調波を楽音の合成に利用したものであ
り、比較的簡単な回路で非調和音を含む高調波成分を持
つ波形を発生することができる。FM音源は、自然楽器
の合成音から電子音まで幅広い楽音を発生することがで
きる。FM音源では、正弦波を等価的に発振するオペレ
ータと称される発振器を用いており、例えば第1のオペ
レータと第2のオペレータとを縦続接続することにより
FM音源を構成することができる。また、オペレータに
おける自らの出力をフィードバックして入力するように
してもFM音源を構成することができる。さらにまた、
音源ハードウェア15における音源部33の音源方式と
しては、FM音源方式に限るものではなく、波形メモリ
音源(PCM音源、ADPCM音源)方式、物理モデル
音源方式等とすることができ、音源の構成としてはDS
P等を用いたハードウェア音源とすることができる。
【0113】
【発明の効果】本発明は以上説明したように、音楽コン
テンツデータを音源ハードウェア制御データに変換する
変換処理をソフトウェア処理手段で実行し、時間管理を
音源ハードウェアで行うようにしたので、音源ハードウ
ェアに設けられたシーケンサの回路規模を小さくするこ
とができる。この場合、時間管理はカウンタ手段を用い
て簡易な構成で行うことができる。また、ソフトウェア
処理手段では時間管理のための処理を行う必要がないの
で、ソフトウェア処理手段の負荷を軽くすることがで
き、高速のCPUを不要とすることができる。さらにま
た、時間管理情報が同値とされると共に、楽音生成用の
パラメータを音源制御レジスタに書き込むアドレスを示
すインデックス情報が連続する場合は、時間管理情報に
続くインデックス情報を先頭のインデックス情報とし、
続く楽音生成用のパラメータを複数のパラメータとなる
ように変換することにより、音源ハードウェア制御デー
タ量を低減させることができ、ソフトウェア処理手段お
よび音源ハードウェア手段の負担を軽くすることができ
る。さらに、ソフトウェア処理手段が、処理に余裕があ
る時間を利用して変換処理を実行することにより、ソフ
トウェア処理手段に負荷が集中することを防止すること
ができ、高速のソフトウェア処理手段とする必要性をさ
らに低くすることができる。
【図面の簡単な説明】
【図1】 本発明の楽音生成装置を備える本発明の携帯
端末装置を携帯電話機に適用した場合の実施の形態の構
成例を示す図である。
【図2】 本発明の実施の形態にかかる楽音生成装置の
構成例を示す図である。
【図3】 SMAFフォーマットのデータ構造と、その
データ構造中のスコアトラックチャンクのデータ構造を
示す図である。
【図4】 SMAFフォーマットにおけるスコアトラッ
クチャンク中のシーケンスデータチャンクのデータ構造
を示す図である。
【図5】 SMAFデータの一例におけるシーケンスデ
ータを時間軸上で表した図である。
【図6】 本発明の実施の形態にかかる楽音生成装置に
おける音源ハードウェア制御データの時間管理情報を省
略した音源制御レジスタマップ対応データを、変換前の
SMAFデータに対応させて示す図である。
【図7】 本発明の実施の形態にかかる楽音生成装置に
おける音源制御レジスタマップを示す図である。
【図8】 本発明の実施の形態の楽音生成装置における
時間管理情報を含む音源ハードウェア制御データの第1
のデータ構成を示す図である。
【図9】 本発明の実施の形態の楽音生成装置における
音源ハードウェア制御データの第1のデータ構成による
データ例を示す図である。
【図10】 本発明の実施の形態の楽音生成装置におけ
る音源ハードウェア制御データの第1のデータ構成によ
るデータをデータ組毎に整理して示す図である。
【図11】 本発明の実施の形態の楽音生成装置におけ
る音源ハードウェア制御データの第1のデータ構成によ
るデータが書き込まれるタイミングを示す図である。
【図12】 本発明の実施の形態の楽音生成装置におけ
る音源ハードウェア制御データの第2のデータ構成を示
す図である。
【図13】 本発明の実施の形態の楽音生成装置におけ
る音源ハードウェア制御データの第2のデータ構成によ
るデータ例を示す図である。
【図14】 本発明の実施の形態の楽音生成装置におけ
る音源ハードウェア制御データの第2のデータ構成によ
るデータをデータ組毎に整理して示す図である。
【図15】 本発明の実施の形態にかかる楽音生成装置
における第1の構成の音源制御レジスタデータを再生す
る際に、音源ハードウェアのシーケンサで実行される再
生処理のフローチャートを示す図である。
【図16】 本発明の実施の形態にかかる楽音生成装置
における第2の構成の音源制御レジスタデータを再生す
る際に、音源ハードウェアのシーケンサで実行される再
生処理のフローチャートを示す図である。
【図17】 本発明の他の実施の形態にかかる楽音生成
装置の構成例を示す図である。
【図18】 本発明の他の実施の形態にかかる楽音生成
装置の変形例の構成を示す図である。
【図19】 本発明の実施の形態の楽音生成装置の変形
例における音源ハードウェア制御データの第3のデータ
構成を示す図である。
【図20】 本発明の実施の形態の楽音生成装置の変形
例において、複数イベントに対応する音源制御レジスタ
ライトデータを1行で表す具体例を示す図である。
【図21】 本発明の実施の形態の楽音生成装置の変形
例における再生スタート処理のフローチャートを示す図
である。
【図22】 本発明の実施の形態の楽音生成装置の変形
例における再生スタート処理の時間管理情報部処理のフ
ローチャートを示す図である。
【図23】 本発明の実施の形態の楽音生成装置の変形
例における再生スタート処理のアドレス部処理のフロー
チャートを示す図である。
【図24】 本発明の実施の形態の楽音生成装置の変形
例における再生スタート処理のデータ部処理のフローチ
ャートを示す図である。
【図25】 従来のハードウェアで構成した楽音生成装
置の構成を示す図である。
【図26】 従来のソフトウェアで構成した楽音生成装
置の構成を示す図である。
【符号の説明】
1 携帯電話機、10 CPU、10a メモリコント
ローラ、10b 音源ハードウェア制御データ変換手
段、11 RAM、11a 領域、11b 領域、11
c レジスタ領域、12 ROM、13 通信部、14
音声処理部、15音源ハードウェア、16 インタフ
ェース、17 入力部、18 表示部、19 バイブレ
ータ、20 外部機器、21 マイク、22 受話用ス
ピーカ、23 着信用スピーカ、24 バス、25 ア
ンテナ、32 シーケンサ、32aカウンタ、32b
データデコード回路、32c レジスタライトコントロ
ーラ、32d アドレスコントローラ、33 音源部、
33a 音源制御レジスタ、40 コンテンツ情報チャ
ンク、41 スコアトラックチャンク、42 オーディ
オトラックチャンク、43 セットアップデータチャン
ク、44 シーケンスデータチャンク、110 CP
U、111 音楽コンテンツデータ、115音源ハード
ウェア、132 シーケンサ、132a ハードウェア
固有制御データ変換部、132b 時間管理部、133
音源部、210 CPU、210aハードウェア固有
制御データ変換手段、210b 時間管理手段、211
SMAFデータ、215 音源ハードウェア、232
シーケンサ機能手段、233 音源部

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 音楽コンテンツデータを再生可能な音源
    ハードウェア制御データに変換する変換処理を実行する
    ソフトウェア処理手段と、 前記音源ハードウェア制御データ中に含まれている時間
    管理情報に基づくタイミングに達する毎に、前記音源ハ
    ードウェア制御データ中の楽音生成用のパラメータに基
    づいて楽音を生成する音源ハードウェア手段と、 を備えることを特徴とする楽音生成装置。
  2. 【請求項2】 前記ソフトウェア処理手段は、処理に余
    裕がある時間を利用して記憶手段に記憶されている前記
    音楽コンテンツデータを音源ハードウェア制御データに
    変換する処理を実行し、変換された前記音源ハードウェ
    ア制御データを記憶手段に記憶するようにしたことを特
    徴とする請求項1記載の楽音生成装置。
  3. 【請求項3】 前記音源ハードウェア手段は所定量の前
    記音源ハードウェア制御データを記憶することのできる
    バッファメモリ手段を備え、前記ソフトウェア処理手段
    は前記バッファメモリ手段に記憶可能なデータ量ずつ変
    換して、前記バッファメモリ手段に変換した前記音源ハ
    ードウェア制御データを転送するようにしたことを特徴
    とする請求項1記載の楽音生成装置。
  4. 【請求項4】 前記音源ハードウェア手段は基準時間単
    位毎に発生されるクロック信号をカウントするカウンタ
    手段を備え、前記ソフトウェア処理手段から供給された
    スタート信号に応じてカウントを開始する前記カウンタ
    手段のカウント値が、前記音源ハードウェア制御データ
    中に含まれている時間管理情報が示す値以上になった際
    に、該時間管理情報に続く音源ハードウェア制御データ
    中の楽音生成用のパラメータを音源制御レジスタに書き
    込むようにしたことを特徴とする請求項1記載の楽音生
    成装置。
  5. 【請求項5】 任意の演奏開始位置のデータを記憶する
    ポイントレジスタ手段を備えており、前記音源ハードウ
    ェア手段は、該ポイントレジスタ手段に記憶されている
    演奏開始位置のデータに対応する位置からの音源ハード
    ウェア制御データに基づいて楽音を生成するようにした
    ことを特徴とする請求項1記載の楽音生成装置。
  6. 【請求項6】 前記ソフトウェア処理手段において、前
    記音楽コンテンツデータを前記音源ハードウェア制御デ
    ータに変換する際に、時間管理情報が同値とされると共
    に、楽音生成用のパラメータを音源制御レジスタに書き
    込むアドレスを示すインデックス情報が連続する場合
    は、前記時間管理情報に続くインデックス情報を先頭の
    インデックス情報とし、該インデックス情報に続く楽音
    生成用のパラメータを、連続するインデックス情報に対
    応している複数のパラメータとするように変換すること
    を特徴とする請求項1記載の楽音生成装置。
  7. 【請求項7】 前記音源ハードウェア手段は基準時間単
    位毎に発生されるクロック信号をカウントするカウンタ
    手段を備え、前記ソフトウェア処理手段から供給された
    スタート信号に応じてカウントを開始する前記カウンタ
    手段のカウント値が、前記音源ハードウェア制御データ
    中に含まれている時間管理情報が示す値以上になった際
    に、該時間管理情報に続く音源ハードウェア制御データ
    中の楽音生成用のパラメータを音源制御レジスタに書き
    込む場合に、前記パラメータが複数のパラメータデータ
    から構成されている場合は、前記インデックス情報が示
    すアドレスを1づつインクリメントしながらそれぞれの
    パラメータデータを、前記音源制御レジスタに書き込む
    ようにしたことを特徴とする請求項6記載の楽音生成装
    置。
  8. 【請求項8】 請求項1ないし7のいずれかに記載の楽
    音生成装置を備える携帯端末装置であって、 前記ソフトウェア処理手段は、携帯端末機能処理をメイ
    ン処理として実行するようになされていることを特徴と
    する携帯端末装置。
JP2001158994A 2000-08-18 2001-05-28 楽音生成装置および携帯端末装置 Expired - Fee Related JP3675362B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2001158994A JP3675362B2 (ja) 2000-08-18 2001-05-28 楽音生成装置および携帯端末装置
KR10-2003-7002365A KR100521575B1 (ko) 2000-08-18 2001-08-17 악음 생성 장치, 이동 단말 장치, 악음 생성 방법, 및기억 매체
AU2001278767A AU2001278767A1 (en) 2000-08-18 2001-08-17 Musical sound generator, portable terminal, musical sound generating method, andstorage medium
EP01956949A EP1318501A4 (en) 2000-08-18 2001-08-17 MUSICAL SOUND GENERATOR, PORTABLE TERMINAL, MUSICAL SOUND GENERATION AND STORAGE MEDIUM GENERATOR
US10/344,806 US7247784B2 (en) 2000-08-18 2001-08-17 Musical sound generator, portable terminal, musical sound generating method, and storage medium
CNB018142966A CN1254785C (zh) 2000-08-18 2001-08-17 乐音生成装置、携带终端装置以及乐音生成方法
TW090120340A TW588326B (en) 2000-08-18 2001-08-17 Musical tone-generating apparatus, mobile terminal apparatus, musical tone-generating method, and storage medium
PCT/JP2001/007092 WO2002017294A1 (fr) 2000-08-18 2001-08-17 Generateur de son musical, terminal portatif, procede de generation de son musical et support d'enregistrement
HK03108305A HK1056037A1 (en) 2000-08-18 2003-11-14 Musical sound generator, portable terminal, and musical sound generating method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-248469 2000-08-18
JP2000248469 2000-08-18
JP2001158994A JP3675362B2 (ja) 2000-08-18 2001-05-28 楽音生成装置および携帯端末装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004318370A Division JP3985817B2 (ja) 2000-08-18 2004-11-01 楽音生成装置および携帯端末装置

Publications (3)

Publication Number Publication Date
JP2002132263A true JP2002132263A (ja) 2002-05-09
JP2002132263A5 JP2002132263A5 (ja) 2005-07-07
JP3675362B2 JP3675362B2 (ja) 2005-07-27

Family

ID=26598088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001158994A Expired - Fee Related JP3675362B2 (ja) 2000-08-18 2001-05-28 楽音生成装置および携帯端末装置

Country Status (9)

Country Link
US (1) US7247784B2 (ja)
EP (1) EP1318501A4 (ja)
JP (1) JP3675362B2 (ja)
KR (1) KR100521575B1 (ja)
CN (1) CN1254785C (ja)
AU (1) AU2001278767A1 (ja)
HK (1) HK1056037A1 (ja)
TW (1) TW588326B (ja)
WO (1) WO2002017294A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3642039B2 (ja) * 2001-05-25 2005-04-27 ヤマハ株式会社 楽音再生装置および携帯端末装置
US7223911B2 (en) * 2001-10-29 2007-05-29 Yamaha Corporation Portable telephone set with reproducing and composing capability of music
JP4039158B2 (ja) * 2002-07-22 2008-01-30 ソニー株式会社 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
TWI278829B (en) 2003-10-28 2007-04-11 Yamaha Corp Tone generator device and portable phone using the same, and method for driving light emitting elements
KR100694395B1 (ko) 2004-03-02 2007-03-12 엘지전자 주식회사 웨이브 테이블 기반의 미디 합성 방법
US7179979B2 (en) * 2004-06-02 2007-02-20 Alan Steven Howarth Frequency spectrum conversion to natural harmonic frequencies process
US20060293089A1 (en) * 2005-06-22 2006-12-28 Magix Ag System and method for automatic creation of digitally enhanced ringtones for cellphones
ATE489805T1 (de) * 2005-10-14 2010-12-15 Research In Motion Ltd Audioverwaltung in einer dualprozessorumgebung
US7725125B2 (en) 2005-10-14 2010-05-25 Research In Motion Limited Audio management in a dual processor environment
JP2007163845A (ja) * 2005-12-14 2007-06-28 Oki Electric Ind Co Ltd 音源システム
JP4259533B2 (ja) * 2006-03-16 2009-04-30 ヤマハ株式会社 演奏システム、このシステムに用いるコントローラ、およびプログラム
US20080082624A1 (en) * 2006-09-28 2008-04-03 Phison Electronics Corp. Portable storage device with audio auto-playback function and operation procedure thereof
US20090016306A1 (en) * 2007-07-12 2009-01-15 Qi Wang METHOD AND SYSTEM FOR AN EFFICIENT TIM ELEMENT SUPPORTING MULTIPLE BSSes IN A WIRELESS LAN
JP6070735B2 (ja) * 2015-02-04 2017-02-01 ヤマハ株式会社 鍵盤楽器
JP6904141B2 (ja) * 2017-07-28 2021-07-14 カシオ計算機株式会社 楽音発生装置、方法、プログラム、及び電子楽器

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5094136A (en) * 1989-01-06 1992-03-10 Yamaha Corporation Electronic musical instrument having plural different tone generators employing different tone generation techniques
JPH0748793B2 (ja) 1989-05-31 1995-05-24 株式会社リコー 画像読取装置の位置調整機構
JP2734323B2 (ja) 1992-11-30 1998-03-30 ヤマハ株式会社 電子楽器の音源装置
JP3003559B2 (ja) * 1995-05-19 2000-01-31 ヤマハ株式会社 楽音生成方法
DE69619587T2 (de) * 1995-05-19 2002-10-31 Yamaha Corp Verfahren und Vorrichtung zur Tonerzeugung
JP3267106B2 (ja) * 1995-07-05 2002-03-18 ヤマハ株式会社 楽音波形生成方法
US5847304A (en) * 1995-08-17 1998-12-08 Advanced Micro Devices, Inc. PC audio system with frequency compensated wavetable data
GB2306043A (en) * 1995-10-03 1997-04-23 Ibm Audio synthesizer
JP2970511B2 (ja) * 1995-12-28 1999-11-02 ヤマハ株式会社 電子楽器の制御回路
JP2914265B2 (ja) * 1996-01-17 1999-06-28 ヤマハ株式会社 音源装置
JP3293474B2 (ja) * 1996-06-06 2002-06-17 ヤマハ株式会社 楽音発生方法
JP3508494B2 (ja) 1996-08-29 2004-03-22 ヤマハ株式会社 自動演奏データ変換システム及びプログラムを記録した媒体
US6034314A (en) * 1996-08-29 2000-03-07 Yamaha Corporation Automatic performance data conversion system
JP3799711B2 (ja) * 1997-01-27 2006-07-19 ヤマハ株式会社 楽音発生方法および楽音発生装置
JP3152196B2 (ja) * 1998-01-07 2001-04-03 ヤマハ株式会社 楽音発生回路
JP3409686B2 (ja) * 1998-03-17 2003-05-26 ヤマハ株式会社 複数音源ドライバの制御方法、および、複数音源ドライバの制御用プログラムが記録された記録媒体、ならびに、複数生成プログラムの制御方法
JP2000029462A (ja) * 1998-05-18 2000-01-28 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
JP2000092042A (ja) 1998-09-07 2000-03-31 Victor Co Of Japan Ltd 楽曲データ提供システム及び楽曲データ復号装置
JP2000224269A (ja) 1999-01-28 2000-08-11 Feisu:Kk 電話機および電話システム
TW495735B (en) * 1999-07-28 2002-07-21 Yamaha Corp Audio controller and the portable terminal and system using the same

Also Published As

Publication number Publication date
EP1318501A1 (en) 2003-06-11
TW588326B (en) 2004-05-21
HK1056037A1 (en) 2004-01-30
CN1447962A (zh) 2003-10-08
US7247784B2 (en) 2007-07-24
AU2001278767A1 (en) 2002-03-04
KR20030020991A (ko) 2003-03-10
US20040069124A1 (en) 2004-04-15
KR100521575B1 (ko) 2005-10-17
JP3675362B2 (ja) 2005-07-27
WO2002017294A1 (fr) 2002-02-28
CN1254785C (zh) 2006-05-03
EP1318501A4 (en) 2009-04-22

Similar Documents

Publication Publication Date Title
JP3675362B2 (ja) 楽音生成装置および携帯端末装置
WO2001065534A1 (fr) Terminal telephonique
JP3862061B2 (ja) 楽音再生装置および楽音再生方法ならびに携帯端末装置
KR100578588B1 (ko) 악곡 재생장치
JPH11242490A (ja) 鳴動メロディ用の音楽生成データを供給するカラオケ演奏装置
JP2000224269A (ja) 電話機および電話システム
JP2001112061A (ja) コンテンツデータ配布方法および電話端末装置
JP3722015B2 (ja) 楽音生成装置
JP3575368B2 (ja) 携帯電話機
JP3542942B2 (ja) 携帯電話機のメロディ設定システム及び方法
JP2002006842A (ja) 携帯端末装置の音データ再生方法
JP3775241B2 (ja) 電話端末装置
JP3985817B2 (ja) 楽音生成装置および携帯端末装置
JP2844533B2 (ja) 音楽放送システム
KR100633804B1 (ko) 악음 재생 장치와 그 제어방법 및 휴대 단말 장치
JP3279298B2 (ja) 楽曲再生装置、楽曲再生機能を備える携帯電話装置、および楽曲再生方法
JP3788280B2 (ja) 携帯通信端末
JP3982532B2 (ja) 楽音再生装置および携帯端末装置
JP2001345883A (ja) 電話端末装置
JP2001051678A (ja) 楽曲再生装置および楽曲再生方法
JP2003018248A (ja) 携帯通信端末およびサーバ装置
JP2005055634A (ja) 電子楽器
JP2001345886A (ja) 電話端末装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041029

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20041029

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20041124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees