JP3283163B2 - Dspによるメロディ発生装置 - Google Patents

Dspによるメロディ発生装置

Info

Publication number
JP3283163B2
JP3283163B2 JP25801995A JP25801995A JP3283163B2 JP 3283163 B2 JP3283163 B2 JP 3283163B2 JP 25801995 A JP25801995 A JP 25801995A JP 25801995 A JP25801995 A JP 25801995A JP 3283163 B2 JP3283163 B2 JP 3283163B2
Authority
JP
Japan
Prior art keywords
note
envelope
melody
data table
waveform
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
JP25801995A
Other languages
English (en)
Other versions
JPH09101786A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP25801995A priority Critical patent/JP3283163B2/ja
Publication of JPH09101786A publication Critical patent/JPH09101786A/ja
Application granted granted Critical
Publication of JP3283163B2 publication Critical patent/JP3283163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、DSPを使用した留守
番電話、携帯電話等において、保留音等のメロディを発
生するためのDSPによるメロディ発生装置に関するも
のである。
【0002】
【従来の技術】近年、留守番電話等にDSPが搭載さ
れ、従来アナログ信号処理で行なわれていた機能が、D
SPによるディジタル信号処理で行なわれるようになっ
てきた。そこで、保留音等のメロディもまた、SPを使
用して発生させる装置が開発されている。
【0003】以下、従来のDSPによるメロディ発生装
置について説明する。図30は従来のDSPによるメロ
ディ発生装置の全体構成を示すものである。図30にお
いて、101は発振器であり、DSP動作のためのクロ
ック信号をDSP102に供給する。102は高速演算
装置であるDSPであり、ROM103に記憶された命
令に従いデータの演算処理を行なう。103はROMで
あり、DSP102の命令およびメロディを符号化器で
符号化した符号化データ等を記憶している。104はR
AMであり、演算処理の途中結果等を記憶する。105
は発振器であり、サンプリング周波数fsを発生する。
106はDA変換器であり、サンプリング周波数fsの
周期毎に入力のディジタル数値をアナログ信号に変換す
る。107はLPFであり、fs/2以上の周波数成分
の信号を減衰させる。
【0004】図31は従来のメロディ発振装置における
DSP102の演算処理により実現されるメロディ発生
のための構成である。図31(a)において、108は
入力メロディ信号の符号化を行なう符号化器であり、1
09は符号化器108が作成した符号化データであり、
ROM103に書き込んでおく。例えば、ここで符号化
方式として32kbpsのADPCM方式を使用した場
合、1秒のメロディは32kbitの符号化データにな
る。図31(b)において、110はROM103に記
憶された符号化データであり、111はROM103か
ら読み出された符号化データを復号化するDSPの命令
により実行される復号化器である。
【0005】以上のように構成されたメロディ発振装置
について、以下そのメロディ発生動作について説明す
る。メロディ発生のためには、事前に発生したいメロデ
ィを符号化器108で符号化し、その符号化データ10
9を作成し、ROMに書き込んでおく。メロディ演奏時
には、復号化器111が、ROM103に記憶された復
号化データ110を順番に読み出し、復号化を行ない、
PCMのディジタル信号を出力し、DA変換器106に
渡す。これにより、メロディが発生する。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来のDSPによるメロディ発生装置では、メロディを音
声符号化機等で符号化した符号化データをメモリに記憶
しておき、メロディ演奏時はその符号化データを復号化
するので、符号化データ記憶のための多くのメモリ容量
と復号化のための多くの演算量を必要とするという問題
を有していた。
【0007】本発明は、上記従来の問題を解決するもの
で、少ないメモリ容量と少ない演算量で、多彩な音色の
メロディをDSPにより発生することのできる優れたメ
ロディ発生装置を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明は、上記目的を達
成するために、楽譜を音符データとして記憶する楽譜デ
ータテーブルと、前記楽譜データテーブルから読み出し
た音符データを順番に演奏するための制御を行う制御手
段と、前記読み出された音符データが示す音符の音源信
号として音符のピッチ周期の繰り返し信号を発生する音
源発生手段と、前記音源信号にエンベロープを付けるた
めのエンベロープ発生手段と、前記音源発生手段とエン
ベロープ発生手段の出力を乗算してメロディ信号を出力
する乗算器とを備えたメロディ発生装置において、前記
音源発生手段が音源信号を発生する際に使用する波形デ
ータテーブルを音符の音階により決められた一定間隔毎
に初めから終わりまで順次読み出し、その波形をその音
符のピッチ周期毎にずらして加算することによって、そ
の音符のピッチ周期で繰り返す波形を発生するようにし
ものである。
【0009】
【作用】本発明は、上記構成により、楽譜データに従っ
て各音符の信号を発生することにより、メロディの楽譜
データをメモリに記憶させておけばよいので、少ないメ
モリ容量でメロディを発生することができる。また、従
来の符号、復号化方式を使わないため、少ない演算量で
メロディを発生することができる。
【0010】
【実施例】以下、本発明の実施例について、図面を参照
しながら説明する。本発明におけるメロディ発生装置全
体のハードウェア構成は、図22に示した従来のハード
ウェア構成と同様であるが、本発明では、ROM103
にメロディ発生を実行するための命令および楽譜データ
テーブル等のデータテーブルを記憶させることと、DS
P102における演算のためのアルゴリズムが従来とは
異なる。
【0011】(実施例1)図1は本発明の第1の実施例
におけるDSPによるメロディ発生装置の構成を示すも
のである。図1において、1はメロディ発生制御器であ
り、楽譜データテーブル5に記憶されている音符を順次
演奏する制御を行なう。2は小節カウンタであり、その
値mcはサンプリング周期毎にインクリメントされ、音
符長に使用される。3は音符カウンタであり、その値n
cは楽譜データテーブル5の演奏中の音符を示す。4は
楽譜データテーブル読み出し器であり、音符カウンタ3
の値ncが示す音符の音符データnno、leng、g
ain、sno、enoを楽譜データテーブル5から読
み出す。楽譜データテーブル5については後述する。6
は音符データテーブル読み出し器であり、音符No.が
nnoの音符を音符データテーブル7から捜し、その音
符のパラメータであるTp、Twを音符データテーブル
7から読み出す。8、9は波形データテーブルであり、
音源発生に使用する各種波形データを格納している。1
0は波形データ選択器であり、音源発生器11が音源発
生に使用する波形データを、波形データテーブル8、9
から波形データNo.snoにより選択する。11は音
源発生器(SG)であり、波形データテーブル8、9の
データを使い、Tp、Twで示されるピッチ周期の繰り
返し信号xを発生する。12はエンベロープパラメータ
テーブルであり、各種のエンベロープパラメータを格納
している。13はエンベロープパターン選択器であり、
エンベロープ発生器14がエンベロープ波形を発生する
際に使用するエンベロープパラメータAR、D1R、D
2R、RR、D1L、LIMをエンベロープパラメータ
テーブル12から選択して出力する。14はエンベロー
プ発生器(EG)であり、エンベロープパラメータA
R、D1R、D2R、RR、D1L、L1Mによりエン
ベロープ波形eを発生する。15、16は乗算器であ
り、x、e、gainの乗算を行ないメロディ信号yを
出力する。
【0012】図2は楽譜データテーブル5の形式を示
す。楽譜データテーブル5は、発生するメロディの楽譜
を記憶しており、1行のデータが1つの音符を表し、上
から順番にその音符が演奏される。データテーブルの各
項目は以下のようである。 通し番号 音符に順番につけられた番号 音符名 音符の名前 音符No. nno 音符名に付けられた音符を表す音符番号 長さ leng 音符の長さ ゲイン gain 音符の音量 波形データNo. sno 音源発生器11が音源信号を発生する際に使 用する波形データテーブルの番号 エンベロープNo.eno エンベロープ発生器13がエンベロープ波形 を発生する際に使用するエンベロープパラメ ータの番号 波形データNo.snoとエンベロープNo.enoに
より、その音符の音色が決定される。
【0013】図3は図4に示す楽譜のための楽譜データ
テーブル5の具体例を示している。例えば、通し番号=
1、音符名=G5、音符No.=32、長さ=24は、
5オクターブ目のG音で二分音符を示し、通し番号=3
1、音符名=**、音符No.=38、長さ=12は、
四分休符を示し、通し番号=63、音符名=ED、音符
No.=39、長さ=0は、曲の終わりを示す終止符を
示す。楽譜データテーブル5の最終行は、音符名=E
D、音符No.=39でなくてはいけない。またここで
は、長さlengの値は、1小節の長さを48としてい
るので、全音符が48、2分音符が24、四分音符が1
2になる。なお、ここでは楽譜データテーブル5に音符
名を記憶しているが、これは説明用であり、音符No.
だけで足りるので、実際には必要はない。
【0014】図5は音符データテーブル7の形式を示
す。1行が1つの音符を表し、音符No.毎に、音符
名、Tp、Twが記憶されている。Tp、Twの値はそ
の音符のピッチ情報を表し、音源発生器11が音源信号
を発生するときのパラメータとして使用される。
【0015】図6は音符データテーブル7の具体例を示
す。例えば、音符No.32は、音符名がG5で、ピッ
チ情報Tpが653、Twが1606を示し、音符N
o.=38、音符名=**は四分休符を示し、音符N
o.=39、音符名=EDは曲の終わりを示す。なお、
ここでは音符データテーブル7に音符名を記憶している
が、これは説明用であり、実際には必要はない。
【0016】図7は波形データテーブル8、9を示す。
この波形データは、音源発生器11が音源信号xとして
繰り返し波形を発生するときに使用される。図7では、
波形データテーブルはSn個存在している。
【0017】図8はエンベロープパラメータテーブル1
2の例を示す。このテーブルは、1行で1つのエンベロ
ープパラメータAR、D1R、D2R、RR、D1L、
L1Mを記憶している。これらのパラメータは、エンベ
ロープ発生器13がエンベロープ波形eを発生するとき
のパラメータとして使用される。図8では、エンベロー
プパラメータ数は3組である。
【0018】図9は本実施例におけるメロディ発生方法
のためのメロディ発生制御器1におけるアルゴリズムを
示す。以下、このアルゴリズムの動作を図1のブロック
図に対応させて説明する。 ST1)初期化を行なう。 以下のように初期化を行なう。ここで、終了フラグは、
楽譜データテーブル5の最後まで演奏が終わった時に1
になるフラグである。 小節カウンタmc=0、音符カウンタnc=1、終了グ
ラフ=0 ST2)終了フラグを調べる。 終了フラグ≠0のときST8へ分岐する。 ST3)音源発生器(SG)13とエンベロープ発生器
(EG)14に動作コマンドCMDを設定する。 mcの値により、SG、EGに与える動作コマンドCM
Dおよびパラメータを設定する。まずmcの値を調べ
る。 mc==0 の時ST3.1へ分岐する。 mc==leng*Temp−1 の時ST3.2へ分岐する。 mc<mc<leng*Temp−1 の時ST3.3へ分岐する。 ここで、Tempは曲のテンポを示す定数である。四部
音符の長さをTとすると、 Temp=(fs×4)/T×L である。ここで、 fs サンプリング周波数[Hz] L 1小節の長さを表すleng(図2の楽譜デ
ータテーブルではL=48)
【0019】ST3.1) mc==0の時 新しい音符の信号を発生する。 ST3.1.1)楽譜データを読み出す。 楽譜データテーブル読み出し器4が、楽譜データテーブ
ル5から音符カウンタ3の値ncで示される以下の音符
データを読み出す。 nno 音符No. leng 長さ gein ゲイン sno 波形データNo. eno エンベロープNo. ST3.1.2)音符データテーブルを読み出す。 音符データテーブル読み出し器6が、音符データテーブ
ル7から音符Noがnnoである音符の以下のパラメー
タを読み出す。 Tp、Tw 音符のピッチ情報 ST3.1.3)波形データテーブルを選択する。 波形データ選択器10が、波形データNo.snoによ
り、音源発生器11が使用する波形データテーブルを選
択する。 ST3.1.4)エンベロープパラメータテーブルを読
み出す。 エンベロープパラメータ選択器13が、エンベロープパ
ラメータテーブル12からエンベロープNo.がeno
の以下のパラメータを選択し出力する。 AR、D1R、D2R、RR、D1L、L1M エンベ
ロープ波形を決めるパラメータ ST3.1.5)音符の種類を調べる。 音符No.nnoの値を調べ新しく演奏する音符の種類
を調べ、音源発生器(SG)11、エンベロープ発生器
(EG)14に動作コマンドCMDを設定する。 発生音有り(1≦nno≦37)の時 3.1.5.1
へ分岐する。 休符 (nno==38) の時 3.1.5.2
へ分岐する。 終了 (nno==39) の時 3.1.5.3
へ分岐する。 動作コマンドCMDは以下のようである。 “ON” 新しい音符の信号を発生 “OFF” 現在の音符の信号を発生を終了 “HOLD” 現在の音符の信号を発生を継続
【0020】 ST3.1.5.1)発生音あり(1≦nno≦37) SG11、EG14に“ON”コマンドを設定する。S
T4へ分岐する。 ST3.1.5.2)休符(nno==38) SG11、EG14に“OFF”コマンドを設定する。
ST4へ分岐する。 ST3.1.5.3)終了(nno==39) SG11、EG14に“OFF”コマンドを設定する。 終了フラグ=1 ST4へ分岐する。
【0021】 ST3.2)mc==leng*Temp−1の時 現在演奏している音符の最終のサンプル値を発生する。
SG11、EG14に“HOLD”コマンドを設定す
る。 小節カウンタmc=0 音符カウンタnc=nc+1 ST4へ分岐する。 ST3.3)0<mc<leng*Temp−1の時 現在演奏している音符を継続して発生する。SG11、
EG14に“HOLD”コマンドを設定する。 小節カウンタmc=mc+1 ST4へ分岐する。
【0022】ST4)音源発生器(SG)11が音源デ
ータを発生しxを出力する。 動作コマンドCMDとパラメータTp、Tw波形データ
テーブルにより、サンプリングタイミング毎に繰り返し
波形である音源信号xを発生する。 ST5)エンベロープ発生器(EG)14がエンベロー
プ波形を発生しeを出力する。 動作コマンドCMDとエンベロープパラメータAR、D
1R、D2R、RR、D1L、L1Mにより、サンプリ
ングタイミング毎にエンベロープ波形eを出力する。 ST6)出力値yを計算する。 y=x*e*gain ST7)次のサンプリングタイミングまで待つ。 ST2〜7の処理がサンプリング周期毎に実行されるよ
うにする。 ST8)メロディ発生終了
【0023】図10は上記図9のアルゴリズムの動作の
様子を示す。各音符の最初のサンプリングタイミング
で、図1のメロディ発生制御器1は、動作コマンドCD
Mとして“ON”コマンドまたは、“OFF”コマンド
を出力する。その他のサンプリングタイミングでは、
“HOLD”コマンドを出力する。図1の音源発生器
(SG)11は、その音符の音程に対応する繰り返し信
号を音源信号xとして出力する。繰り返し信号のピッチ
周期は、パラメータTp、Twにより決定される。図1
のエンベロープ発生器(EG)14は、エンベロープ波
形eを発生する。エンベロープ発生器14は、“ON”
コマンドを受け取ると、決まった波形の出力を開始す
る。エンベロープ波形の形は、AR、D1R、D2R、
RR、D1L、L1Mにより決定される。図1の乗算器
15、16は、x、e、gainを掛け、メロディ信号
yを出力する。
【0024】このように、上記第1の実施例によれば、
楽譜データテーブル5、音符データテーブル7、波形デ
ータテーブル8、9、エンベロープパラメータテーブル
12をROMに記憶し、これらをメロディ発生制御器1
が制御することにより、DSPによるメロディを発生す
ることができる。また、これらのデータテーブルが使用
するROM容量は、従来の装置で使用するROM容量よ
り少ない。さらに、図9で示されるDSPの処理の演算
量は、従来の音声符号、復号化方式より少ない。その他
以下の特徴がある。 1)楽譜データテーブル5を書き換えることにより、簡
単にメロディの変更ができる。 2)波形データテーブル8、9およびエンベロープパラ
メータテーブル12を書き換えることにより、簡単に音
色の変更ができる。
【0025】なお、上記第1の実施例では、波形データ
テーブル8、9は複数個の波形を記憶しているが、最低
1つあればよい。このとき、波形データ選択器10は必
要ない。またエンベロープパラメータテーブル12はエ
ンベロープパラメータを複数組記憶しているが、最低1
組あればよい。このとき、エンベロープパラメータ選択
器13は必要ない。さらに、エンベロープ発生器(E
G)14を使用せず、e=1.0としても、音階の発生
はできる。さらに、楽譜データテーブル5にTp、Tw
のパラメータを記憶させるようにすれば、音符データテ
ーブル読み出し器6および音符データテーブル7は必要
なくなる。
【0026】(実施例2)次に、本発明の第2の実施例
について、図面を参照しながら説明する。本実施例にお
けるメロディ発生装置の全体構成は図1に示した第1の
実施例と同じであるが、本実施例ではその中の波形デー
タテーブル8、9と波形データ選択器10と音源発生器
11とからなる音源発生部を別の構成としたものであ
る。まず本実施例における動作原理について説明する。
【0027】図11は繰り返し波形発生の原理を示す。
図11のh(t)はインパルス応答波形を表し、sp
(t)はピッチ周期がTpのインパルス列を表す。一番
下の繰り返し波形x(t)は、h(t)とsp(t)の
畳み込み演算により求められる。 x(t)=h(t)*sp(t) ここで、*は畳み込み演算を表す。つまり、h(t)を
Tpずつずらした信号を加算することでピッチ周期がT
pの繰り返し波形x(t)を得る。図11においては、
s1(t)〜s6(t)がh(t)をTpずつずらした
信号であり、これらを加算することで繰り返し信号x
(t)を得ている。
【0028】図12はピッチ周期がTp′の繰り返し波
形発生の様子を示している。ここで、インパルス応答波
形h′(t)はインパルス応答波形h(t)を時間軸方
向にTp/Tp′でスケーリングしたものである。 h′(t)=h(t・Tp/Tp′)
【0029】図13は図11の様子を周波数軸上で表し
たものである。時間領域の信号h(t)、sp(t)、
x(t)を周波数領域に変換したスペクトルがH
(ω)、SP(ω)、×(ω)である。×(ω)は、基
本周波数がωpで、その倍の高周波成分を持つスペクト
ルとなる。
【0030】また、図14は図12の様子を周波数軸上
で表したものである。図13のx(ω)と図14のx′
(ω)は基本周波数は異なるが同じ倍音構成を持つ。こ
のように、インパルス応答h(t)を上記のようにスケ
ーリングすることにより、同じ倍音構成でピッチ周期が
異なる繰り返し信号を得ることができる。これにより、
同様の音色で異なるピッチ周期の信号を発生することが
でき、同様の音色の音階を発生することができる。
【0031】図15は本実施例における音源発生部の構
成を示す。図15において、17は音源制御器、18は
CH1波形データ読み出し器、19はCH2波形データ
読み出し器、20はこれら2つの波形データ読み出し器
の出力x1、x2を加算してxを出力する加算器、21
は2つの波形データ読み出し器18、19が読み出す波
形データを格納した図7と同じ波形データテーブルであ
る。
【0032】音源制御器17は、動作コマンドCMDと
ピッチ周期Tpにより2つの動作CHの制御を行ない、
以下の制御変数を持つ。 posp ピッチ周期の制御用の変数。サンプリ
ング周期毎に64ずつ加算される。posp≧Tpとな
ると、posp=posp−Tpとし、“停止状態”の
CHを捜しそのCHを“動作状態”にする。 SG.stt 音源の動作状態で“停止状態”、“動
作状態”を示す。
【0033】2つの波形データ読み出し器18、19
は、それぞれ独立に波形データテーブル21を初めから
終わりまでTw間隔で順番に読み出す。CHn(n=
1,2)には以下の制御変数がある。 CHn.pos 波形データテーブル21の読み出し位
置を示す。Twずつ加算されることにより、波形データ
テーブル21をスケーリングして読み出す。波形データ
テーブル21の最終まで読み出すとCH動作状態SH
n.stt“停止状態”にする。 SG.stt CHの動作状態を表し“動作状態”、
“停止状態”を表す。
【0034】図16は2つの波形データ読み出し器1
8、19が波形データテーブル21を読み出す様子を示
し、それぞれパラメータTwにより、波形データテーブ
ル21をスケーリングして読み出す動作を行なう。ここ
では、CHを2つ使用し、それぞれの出力を、x1、x
2としている。
【0035】以下、本実施例における音源発生部の動作
を図17〜図20を用いて説明する。図17の処理は、
図9のST4の[SGEN]の処理である。
【0036】ST11)音源CHの制御を行なう。 図17の[SGCHCNT]の処理を図18に示してお
り、これは図15の音源制御器17の動作に対応してい
る。 ST11.1)動作コマンドCMDを調べる。 動作コマンドCMD==“OFF” の時 ST11.
1.1へ分岐する。 動作コマンドCMD==“ON” の時 ST11.
1.2へ分岐する。 動作コマンドCMD==“HOLD”の時 ST11.
1.3へ分岐する。 ST11.1.1)動作コマンドCMD==“OFF”
の時 CH1動作状態CH1.stt=“停止状態” CH2動作状態CH2.stt=“停止状態” 音源状態SG.stt=“停止状態” ST12へ分岐する。 ST11.1.2)動作コマンドCMD==“ON”の
時 CH1、CH2を初期化する。 CH1動作状態CH1.stt=“停止状態” CH2動作状態CH2.stt=“停止状態” 音源状態SG.stt=“動作状態” ST12へ分岐する。 ST11.1.2)動作コマンドCMD==“HOL
D”の時 音源状態SG.sttを調べる。 音源状態SG.stt=“動作状態”の時 ST11.
1.3.1へ分岐する。 音源状態SG.stt=“停止状態”の時 ST2へ分
岐する。 ST11.1.2)“動作状態”の時 posp=posp+64 posp≧Tpの時、以下の動作をする。 posp=posp−Tp 停止状態のCHを捜し、そのCHの番号をnとする。C
Hn.posに初期値を設定し、そのCHを“動作状
態”にする。 CHn.pos=(int)(posp*Tp/64) CHn.sttを“動作状態”にする。
【0037】ST12)音源CH1の動作を行なう。 図17の[SGH10OR]の処理を図19に示してお
り、これは図15のCH1波形データ読み出し器18の
動作に対応している。 ST12.1)CH1の動作状態CH1sttを調べ
る。 CH1.stt=“動作状態”の時 ST12.1.1
へ分岐する。 CH1.stt=“停止状態”の時 ST12.1.2
へ分岐する。 ST12.1.1)CH1.stt=“動作状態”の時 CH1.posの値を調べる。ここで、TLは波形デー
タテーブルの大きさを表す。 CH1.pos≧TLの時 ST12.1.1.1へ分
岐する。 CH1.pos<TLの時 ST12.1.1.2へ分
岐する。 ST12.1.1.1)CH1.pos≧TLの時 データテーブル21の読み出しを終了する。 x1=0 CH1の動作状態CH1.stt=“停止状態” ST13へ分岐する。 ST12.1.1.2)CH1.pos<TLの時 波形データテーブルのCH1.posの位置のデータを
読み出し、結果をx1に出力する。 CH1.pos=CH1.pos+Tw ST13へ分岐する。 ST12.1.2)CH1.STT==“停止状態”の
時 x1=0 ST13へ分岐する。
【0038】ST13)CH2の動作を実行する。 図17のST13の[SGH2OPR]の処理を図20
に示しており、これは図15の2波形データ読み出し器
19の動作に対応しており、CH1波形データ読み出し
器18と同様の動作を行ない、結果をx2に出力する。
【0039】ST14)CH1、CH2の出力x1、x
2を加算器20で加算する。 x=X1+X2
【0040】図21は図15の2つの波形データ読み出
し器18、19が周期がTpの繰り返し波形x(t)を
作成する動作を示す。
【0041】図22はTp=100、Tw=10のとき
の音源発生部の動作例を示す。ここで、h[i]は波形
データテーブルを示している。CH1波形データ読み出
し器18では、波形データテーブルh[i]の読み出し
位置の初期値は0であり、読み出し間隔はTw=10で
ある。つまり、i=0、10、20、・・・の位置のデ
ータをサンプリングタイミングに順次x1として出力す
る。CH2波形データ読み出し器19は、以下の値がデ
ータテーブル読み出しの位置の初期値である。 (int)((128−Tp)/64*Tw)=4 したがって、CH2は波形データテーブルh[i]のi
=4、14、24、・・・の位置のデータをサンプリン
グタイミングに順次x2として出力する。
【0042】上記のような処理を行なうことにより、音
源発生部の出力信号のピッチ周期Tpをサンプリング周
期の1/64の精度で設定できる。サンプリング周波数
fs=8kHzの場合、この程度の精度でピッチ周期T
pを設定できないと、正確な音階のピッチを発生できな
い。各音符のTpの値は以下のように計算される。 Tp=fs×64/f ここで、 fs サンプリング周波数[Hz] f 音符のピッチ周波数[Hz] 例えば、A4の音符の場合、f=440[Hz]であ
り、fs=8000[Hz]とするとTp=1164と
なる。また、図6の音符データテーブルのTwの値は以
下の始期で計算されている。 Tw=f×16384/fs ここで、16384は任意の定数である。ここでは、波
形データテーブルの大きさを16384とし、ピッチ周
期で波形データテーブルの読み出しが終了するように定
数を決めた。ここでは、波形データテーブルの大きさを
16384としたが、1次近似による内挿を行なうこと
で実際の波形データテーブルの大きさを256にするこ
とができる。
【0043】以上のように、上記第2の実施例によれ
ば、波形データテーブル21の内容は任意であり、どう
な内容であってもパラメータとして与えられたピッチ周
期Tpを持つ繰り返し信号を発生することができるた
め、波形データテーブル21の内容により、多用な倍音
構成の繰り返し信号を発生することができる。これによ
り多様な音色を発生することができる。また、図17〜
図20で示されるDSP演算の処理量は少なくてよい。
【0044】(実施例3)次に、本発明の第3の実施例
について、図面を参照しながら説明する。本実施例は、
図1に示したエンベロープ発生器(EG)14の別の動
作例を示すものである。
【0045】図23は本実施例におけるエンベロープ発
生器(EG)の動作のアルゴリズムを示す。図23の処
理は、図9のST5の[EGEN]の処理である。エン
ベロープ発生器(EG)は、“ON”コマンドによりエ
ンベロープ波形の発生を開始する。波形の形状はパラメ
ータAR、D1R、D2R、D1L、RR、LIMによ
り決定される。
【0046】図24(a)は“ON”コマンドにより発
生されるエンベロープ波形eを示す。また、図24
(b)はエンベロープ波形発生の途中で“OFF”コマ
ンドを受けた時のエンベロープ波形eを示す。
【0047】図25はエンベロープ波形発生の状態遷移
図を示す。図25の各状態では、エンベロープ発生器
(EG)は以下の動作を行なう。 1)“AR状態” エンベロープ波形eの立ち上がり部分を発生する。立ち
上がりの速さはARにより決定される。e≧1.0とな
るとe=1.0として、“D1R状態”に遷移する。図
26に動作アルゴリズムを示す。“AR状態”では、e
はサンプリングタイミング毎に以下のように変化する。 e=e+(2.0−e)*AR 2)“D1R状態” エンベロープ波形eの第1の立ち上がり部分を発生す
る。立ち上がりの速さはD1Rにより決定される。e≦
D1Lとなるとe=D1Lとして、“D2R状態”に遷
移する。また途中でe≦LIMとなるとe=0として、
“OFF状態”に遷移する。図27に動作アルゴリズム
を示す。“D1R状態”では、eはサンプリングタイミ
ング毎に以下のように変化する。 e=e*D1R 3)“D2R状態” エンベロープ波形eの第2の立ち上がり部分を発生す
る。立ち上がりの速さはD2Rにより決定される。e≦
LIMとなるとe=0として、“OFF状態”に遷移す
る。図28に動作アルゴリズムを示す。“D2R状態”
では、eはサンプリングタイミング毎に以下のように変
化する。 e=e*D2R 4)“RR状態” “AR状態”“D1R状態”“D2R状態”のいずれか
の状態において、“OFF”コマンドを受け取ると“R
R状態”になる。この状態はエンベロープ波形eの立ち
下がりを発生し、立ち下がりの速さはRRにより決定さ
れる。また、e≦LIMとなるとe=0として、“OF
F状態”に遷移する。図29に動作アルゴリズムを示
す。“RR状態”では、eはサンプリングタイミング毎
に以下のように変化する。 e=e*RR 5)“OFF状態” e=0とする。
【0048】図8のエンベロープパラメータテーブルに
おいて、エンベロープNo.=0のパラメータは持続音
を発生し、エンベロープNo.=1、2は減衰音を発生
する。
【0049】以上のように、上記第3の実施例によれ
ば、AR、D1R、D2R、RR、D1L、LIMのパ
ラメータにより簡単なアルゴリズムで、エンベロープ波
形を発生することができる優れたエンベロープ発生器を
実現できるものである。
【0050】
【発明の効果】本発明は、上記第1の実施例から明らか
なように、以下に示す効果を有する。 1)楽譜の形でメロディを記憶しているため、必要とす
るROM容量が少ない。 2)従来の符号、復号化方法を使用しないため、必要と
するDSPの演算量が少ない。 3)楽譜データテーブルを書き換えることにより、簡単
にメロディを変えることができる。 4)波形データテーブル、エンベロープパラメータテー
ブルを書き換えることにより、簡単に音色を変えること
ができる。
【0051】本発明はまた、上記第2の実施例から明ら
かなように、以下に示す効果を有する。 1)波形データテーブルの内容により、多くの音色の音
を発生することができる。 2)サンプリング周期より細かくピッチ周期を設定する
ことができる。 3)簡単なアルゴリズムでDSPにより実現することが
できる。
【0052】本発明はまた、上記第3の実施例から明ら
かなように、以下に示す効果を有する。 1)簡単なアルゴリズムでDSPによりエンベロープ波
形を発生することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例におけるDSPによるメロ
ディ発生装置のブロック図
【図2】本発明の第1実施例における楽譜データテーブ
ルを示す一覧図
【図3】本発明の第1実施例における楽譜データテーブ
ルの具体例を示す一覧図
【図4】本発明の第1実施例における楽譜データテーブ
ルの具体例の基になる譜面図
【図5】本発明の第1実施例における音符データテーブ
ルの一覧図
【図6】本発明の第1実施例における音符データテーブ
ルの具体例を示す一覧図
【図7】本発明の第1実施例における波形データテーブ
ルの例を示す波形図
【図8】本発明の第1実施例におけるエンベロープパラ
メータテーブルの例を示す一覧図
【図9】本発明の第1実施例におけるアルゴリズムを示
すフロー図
【図10】本発明の第1実施例における動作を示す波形
【図11】本発明の第2実施例における音源発生器の時
間領域における原理説明のためのタイミング図
【図12】本発明の第2実施例における音源発生器の時
間領域における原理説明のためのタイミング図
【図13】本発明の第2実施例における音源発生器の周
波数領域における原理説明のためのタイミング図および
スペクトル図
【図14】本発明の第2実施例における音源発生器の周
波数領域における原理説明のためのタイミング図および
スペクトル図
【図15】本発明の第2実施例における音源発生手段の
ブロック図
【図16】本発明の第2実施例における波形データテー
ブル読み出しタイミング図
【図17】本発明の第2実施例における音源発生手段の
アルゴリズムを示すフロー図
【図18】本発明の第2実施例における音源発生手段の
アルゴリズムを示すフロー図
【図19】本発明の第2実施例における音源発生手段の
アルゴリズムを示すフロー図
【図20】本発明の第2実施例における音源発生手段の
アルゴリズムを示すフロー図
【図21】本発明の第2実施例における音源発生手段の
動作説明のためのタイミング図
【図22】本発明の第2実施例における音源発生手段の
動作説明のためのタイミング図
【図23】本発明の第3実施例におけるエンベロープ発
生手段のアルゴリズムを示すフロー図
【図24】本発明の第3実施例におけるエンベロープ波
形図
【図25】本発明の第3実施例におけるエンベロープ発
生手段の状態遷移図
【図26】本発明の第3実施例におけるエンベロープ発
生手段のアルゴリズムを示すフロー図
【図27】本発明の第3実施例におけるエンベロープ発
生手段のアルゴリズムを示すフロー図
【図28】本発明の第3実施例におけるエンベロープ発
生手段のアルゴリズムを示すフロー図
【図29】本発明の第3実施例におけるエンベロープ発
生手段のアルゴリズムを示すフロー図
【図30】従来のメロディ発生装置の全体構成を示すブ
ロック図
【図31】従来のDSPによるメロディ発生装置のブロ
ック図
【符号の説明】
1 メロディ発生制御器 2 小節カウンタ 3 音符カウンタ 4 楽譜データテーブル読み出し器 5 楽譜データテーブル 6 音符データテーブル読み出し器 7 音符データテーブル 8 波形データテーブル 9 波形データテーブル 10 波形データ選択器 11 音源発生器(SG) 12 エンベロープパラメータテーブル 13 エンベロープパラメータ選択器 14 エンベロープ発生器(EG) 15 乗算器 16 乗算器 17 音源制御器 18 CH1波形データ読み出し器 19 CH2波形データ読み出し器 20 加算器 21 波形データテーブル
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10H 1/00 102 G10H 1/02 G10H 1/057

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 楽譜を音符データとして記憶する楽譜デ
    ータテーブルと、前記楽譜データテーブルから読み出し
    た音符データを順番に演奏するための制御を行う制御手
    段と、前記読み出された音符データが示す音符の音源信
    号として音符のピッチ周期の繰り返し信号を発生する音
    源発生手段と、前記音源信号にエンベロープを付けるた
    めのエンベロープ発生手段と、前記音源発生手段とエン
    ベロープ発生手段の出力を乗算してメロディ信号を出力
    する乗算器とを備えたメロディ発生装置において、 前記音源発生手段が音源信号を発生する際に使用する波
    形データテーブルを音符の音階により決められた一定間
    隔毎に初めから終わりまで順次読み出し、その波形をそ
    の音符のピッチ周期毎にずらして加算することによっ
    て、その音符のピッチ周期で繰り返す波形を発生するこ
    とを特徴とする DSPによるメロディ発生装置。
  2. 【請求項2】 前記乗算器から出力されたメロディ信号
    に音量信号を乗算する乗算器を備えた請求項1記載のD
    SPによるメロディ発生装置。
  3. 【請求項3】 前記音源発生手段が1以上の波形データ
    テーブルを備えた請求項1記載のDSPによるメロディ
    発生装置。
  4. 【請求項4】 前記エンベロープ発生手段がエンベロー
    プ波形を発生する際に使用する1以上のエンベロープパ
    ラメータテーブルを備えた請求項1記載のDSPによる
    メロディ発生装置。
  5. 【請求項5】 各音符番号毎にピッチ周期を示す音符デ
    ータテーブルを備えた請求項1記載のDSPによるメロ
    ディ発生装置。
  6. 【請求項6】 前記楽譜データテーブルの演奏中の音符
    を示す音符カウンタを備えた請求項1記載のDSPによ
    るメロディ発生装置。
  7. 【請求項7】 サンプリング周期毎にインクリメントさ
    れて音符長の制御に使用する小節カウンタを備えた請求
    項1記載のDSPによるメロディ発生装置。
  8. 【請求項8】 前記楽譜データテーブルが、音符に順番
    に付けられた通し番号と、音符名を表す音符番号と、音
    符の長さと、音符の音量と、前記波形データテーブルの
    番号と、前記エンベロープ発生手段がエンベロープ波形
    を発生する際に使用するエンベロープパラメータの番号
    とを備えた請求項1から7のいずれかに記載のDSPに
    よるメロディ発生装置。
  9. 【請求項9】 前記 エンベロープ発生手段が、エンベロ
    ープ波形の立ち上がり時間と立ち下がり時間を決めるパ
    ラメータを使用してエンベロープ波形を発生することを
    特徴とする請求項1から8のいずれかに記載のDSPに
    よるメロディ発生装置。
JP25801995A 1995-10-04 1995-10-04 Dspによるメロディ発生装置 Expired - Fee Related JP3283163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25801995A JP3283163B2 (ja) 1995-10-04 1995-10-04 Dspによるメロディ発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25801995A JP3283163B2 (ja) 1995-10-04 1995-10-04 Dspによるメロディ発生装置

Publications (2)

Publication Number Publication Date
JPH09101786A JPH09101786A (ja) 1997-04-15
JP3283163B2 true JP3283163B2 (ja) 2002-05-20

Family

ID=17314406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25801995A Expired - Fee Related JP3283163B2 (ja) 1995-10-04 1995-10-04 Dspによるメロディ発生装置

Country Status (1)

Country Link
JP (1) JP3283163B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3459760B2 (ja) * 1997-09-30 2003-10-27 株式会社河合楽器製作所 楽音生成装置及び楽音発生方法
TW495735B (en) 1999-07-28 2002-07-21 Yamaha Corp Audio controller and the portable terminal and system using the same
JP3575368B2 (ja) * 2000-01-26 2004-10-13 ヤマハ株式会社 携帯電話機
FR2807255A1 (fr) * 2000-04-04 2001-10-05 Koninkl Philips Electronics Nv Radiotelephone portatif a sonnerie amelioree
GB2378306B (en) * 2001-07-31 2005-05-25 Sendo Int Ltd Tone generation
KR100499222B1 (ko) * 2002-10-05 2005-07-05 주식회사 코맥스 전화기의 호출음 발생 장치
JP4179268B2 (ja) 2004-11-25 2008-11-12 カシオ計算機株式会社 データ合成装置およびデータ合成処理のプログラム
JPWO2021224975A1 (ja) * 2020-05-08 2021-11-11

Also Published As

Publication number Publication date
JPH09101786A (ja) 1997-04-15

Similar Documents

Publication Publication Date Title
US5641926A (en) Method and apparatus for changing the timbre and/or pitch of audio signals
KR100484240B1 (ko) 악음발생장치및방법
US5744742A (en) Parametric signal modeling musical synthesizer
US6298322B1 (en) Encoding and synthesis of tonal audio signals using dominant sinusoids and a vector-quantized residual tonal signal
WO1997017692A9 (en) Parametric signal modeling musical synthesizer
US6255576B1 (en) Device and method for forming waveform based on a combination of unit waveforms including loop waveform segments
US6687674B2 (en) Waveform forming device and method
JPH08500452A (ja) 音声和音発生方法及び装置
JP2004527005A (ja) 波形テーブル型シンセサイザにおいてエリアシングを除去するための方法
EP1742200A1 (en) Tone synthesis apparatus and method
US6046395A (en) Method and apparatus for changing the timbre and/or pitch of audio signals
EP1729283A1 (en) Tone synthesis apparatus and method
Massie Wavetable sampling synthesis
JP3283163B2 (ja) Dspによるメロディ発生装置
JP2006146095A (ja) データ合成装置およびデータ合成処理のプログラム
Vercoe Extended Csound
US4205577A (en) Implementation of multiple voices in an electronic musical instrument
JPH0363078B2 (ja)
JP2003345400A (ja) ピッチ変換装置、ピッチ変換方法及びプログラム
Dutilleux et al. Time‐segment Processing
JPH10307586A (ja) 楽音発生装置および方法
JPH08160961A (ja) 音源装置
US5665931A (en) Apparatus for and method of generating musical tones
JP4565846B2 (ja) ピッチ変換装置
JP2003036082A (ja) ピッチ変換装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees