JPH0740197B2 - 楽音発生装置 - Google Patents
楽音発生装置Info
- Publication number
- JPH0740197B2 JPH0740197B2 JP61314264A JP31426486A JPH0740197B2 JP H0740197 B2 JPH0740197 B2 JP H0740197B2 JP 61314264 A JP61314264 A JP 61314264A JP 31426486 A JP31426486 A JP 31426486A JP H0740197 B2 JPH0740197 B2 JP H0740197B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- output
- address
- value
- phase
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、電子楽器等に用いる楽音発生装置に関し、
特に発生する各楽音の音色を変更できるものに関する。
特に発生する各楽音の音色を変更できるものに関する。
〈従来技術〉 従来、上記の楽音発生装置には、例えば特公昭59-2038
号公報に開示されているものがある。これは、所望の波
形の各標本値を波形メモリに記憶させ、鍵盤回路の或る
鍵が押鍵されると、波形メモリから各標本値を一定速度
で順に読み出す読み出し回路による読み出しを開始する
と共に、押鍵された鍵に対応する周波数情報を累算器で
累算し、累算値が累算器の最大累算値を超えるごとに読
み出し回路をリセツトするものである。
号公報に開示されているものがある。これは、所望の波
形の各標本値を波形メモリに記憶させ、鍵盤回路の或る
鍵が押鍵されると、波形メモリから各標本値を一定速度
で順に読み出す読み出し回路による読み出しを開始する
と共に、押鍵された鍵に対応する周波数情報を累算器で
累算し、累算値が累算器の最大累算値を超えるごとに読
み出し回路をリセツトするものである。
この楽音発生装置によれば、押鍵された鍵が低い音高の
鍵であると、周波数情報の値が小さいので、累算値が累
算器の最大累算値を超えるまでの時間が長く、すなわち
波形メモリから各標本値が読み出される時間が長くな
り、押鍵された鍵が高い音高の鍵であると、周波数情報
の値が大きいので、累算値が累算器の最大累算値を超え
るまでの時間が短かく、すなわち波形メモリから各標本
値が読み出される時間が短かくなる。従つて、押鍵され
た鍵に対応する高音の楽音を得ることができる。
鍵であると、周波数情報の値が小さいので、累算値が累
算器の最大累算値を超えるまでの時間が長く、すなわち
波形メモリから各標本値が読み出される時間が長くな
り、押鍵された鍵が高い音高の鍵であると、周波数情報
の値が大きいので、累算値が累算器の最大累算値を超え
るまでの時間が短かく、すなわち波形メモリから各標本
値が読み出される時間が短かくなる。従つて、押鍵され
た鍵に対応する高音の楽音を得ることができる。
〈発明が解決しようとする問題点〉 しかし、このような楽音発生装置が発生する楽音のフオ
ルマントは、固定されており、音高が変わつても、フオ
ルマントが単に縮小または拡張するだけであり、不自然
な楽音になるという問題点があつた。また、フオルマン
トが固定であるので、例えば、この楽音発生装置を鍵盤
楽器に実施した場合、押鍵の強弱や押鍵された鍵の音高
や押鍵されてからの時間経過等に応じて、フオルマント
を変化させること、すなわち音色を変化させることがで
きないという問題点もあつた。
ルマントは、固定されており、音高が変わつても、フオ
ルマントが単に縮小または拡張するだけであり、不自然
な楽音になるという問題点があつた。また、フオルマン
トが固定であるので、例えば、この楽音発生装置を鍵盤
楽器に実施した場合、押鍵の強弱や押鍵された鍵の音高
や押鍵されてからの時間経過等に応じて、フオルマント
を変化させること、すなわち音色を変化させることがで
きないという問題点もあつた。
〈問題点を解決するための手段〉 この発明は、上記の各問題点を解決するためになされた
もので、基本的には波形メモリに所望の楽音波形の各標
本値を記憶させ、発生させようとする楽音に対応する周
期で繰返し、楽音波形の各標本値を読み出すが、読み出
す速度を変更制御して、発生する楽音のフオルマントを
変更制御するものである。
もので、基本的には波形メモリに所望の楽音波形の各標
本値を記憶させ、発生させようとする楽音に対応する周
期で繰返し、楽音波形の各標本値を読み出すが、読み出
す速度を変更制御して、発生する楽音のフオルマントを
変更制御するものである。
すなわち、本発明は、所望の楽音波形を記憶している波
形メモリと、発生しようとする楽音信号の音高に対応し
た歩進位相値を累算して位相累算値を発生させる位相累
算手段と、上記波形メモリからの波形の読み出し速度を
制御する走査速度係数と上記位相累算値とを乗算する乗
算手段を備え、その乗算値によって上記波形メモリから
波形を読み出すアドレスを生成するアドレス発生手段
と、第1の楽音信号と第2の楽音信号とを加算する加算
手段と、上記位相累算値が1周期分の変化を終了し、且
つ上記アドレス発生手段から出力されるアドレスが、上
記波形メモリの楽音波形を読み残したことを検出したと
きには、以後の周期で、新しく読み出しを開始した波形
信号である第1の楽音信号と上記読み残した1つ以上の
波形信号である第2の楽音信号とを上記加算手段で加算
し出力波形信号を得るように上記加算手段を制御し、上
記位相累算値が1周期分の変化を終了する前で、且つ上
記アドレス発生手段から出力されるアドレスが、上記波
形メモリの楽音波形の読み出しを終わったことを検出し
たときは、上記位相累算値の1周期分の残りの区間で、
上記加算手段に対して加算処理を無効にする、または上
記波形メモリに対して波形出力を0とするようにして出
力波形信号を得るように上記加算手段または波形メモリ
を制御する制御手段とを、備えるものである。
形メモリと、発生しようとする楽音信号の音高に対応し
た歩進位相値を累算して位相累算値を発生させる位相累
算手段と、上記波形メモリからの波形の読み出し速度を
制御する走査速度係数と上記位相累算値とを乗算する乗
算手段を備え、その乗算値によって上記波形メモリから
波形を読み出すアドレスを生成するアドレス発生手段
と、第1の楽音信号と第2の楽音信号とを加算する加算
手段と、上記位相累算値が1周期分の変化を終了し、且
つ上記アドレス発生手段から出力されるアドレスが、上
記波形メモリの楽音波形を読み残したことを検出したと
きには、以後の周期で、新しく読み出しを開始した波形
信号である第1の楽音信号と上記読み残した1つ以上の
波形信号である第2の楽音信号とを上記加算手段で加算
し出力波形信号を得るように上記加算手段を制御し、上
記位相累算値が1周期分の変化を終了する前で、且つ上
記アドレス発生手段から出力されるアドレスが、上記波
形メモリの楽音波形の読み出しを終わったことを検出し
たときは、上記位相累算値の1周期分の残りの区間で、
上記加算手段に対して加算処理を無効にする、または上
記波形メモリに対して波形出力を0とするようにして出
力波形信号を得るように上記加算手段または波形メモリ
を制御する制御手段とを、備えるものである。
〈作用〉 本発明によれば、位相累算値と走査速度係数との演算値
であるアドレス発生手段からのアドレスによつて波形メ
モリから波形を読み出している。位相累算値は、発生し
ようとする楽音信号の1周期分変化すると、最初の値に
戻つて変化する。従つて、アドレス発生手段のアドレス
も位相累算値が1周期分変化し終ると、最初の値に戻る
ので、これによつて波形メモリから読み出される波形
も、位相累算値が1周期分変化し終わると、最初に読み
出した波形を再び読み出す。よつて、波形メモリから読
み出される波形の周期、すなわち音高は歩進位相値によ
つて制御される。
であるアドレス発生手段からのアドレスによつて波形メ
モリから波形を読み出している。位相累算値は、発生し
ようとする楽音信号の1周期分変化すると、最初の値に
戻つて変化する。従つて、アドレス発生手段のアドレス
も位相累算値が1周期分変化し終ると、最初の値に戻る
ので、これによつて波形メモリから読み出される波形
も、位相累算値が1周期分変化し終わると、最初に読み
出した波形を再び読み出す。よつて、波形メモリから読
み出される波形の周期、すなわち音高は歩進位相値によ
つて制御される。
しかし、アドレスは、走査速度係数によつても制御され
ているので、走査速度係数が1より大きい場合、波形メ
モリからの波形は速く読み出される。よつて、読み出さ
れた波形は、波形メモリの波形を圧縮した形となる。速
く読み出されると、位相累算値が1周期分変化し終わる
前に、波形の読み出しが完了する。このとき、このまま
アドレス発生手段からのアドレスを波形メモリに与えて
おくと、イメージの波形を読み出すことがある。これを
本発明では、上記加算手段に対して加算処理を無効にす
る、または波形メモリに対して波形信号を0とするよう
に制御することによって阻止している。従つて、走査速
度係数が大きい場合、発生する楽音は、波形メモリの波
形を圧縮した形に高速で読み出した後、1周期分位相累
算値が変化し終るまで、0となる波形を有するものとな
る(第11図(a)参照)。
ているので、走査速度係数が1より大きい場合、波形メ
モリからの波形は速く読み出される。よつて、読み出さ
れた波形は、波形メモリの波形を圧縮した形となる。速
く読み出されると、位相累算値が1周期分変化し終わる
前に、波形の読み出しが完了する。このとき、このまま
アドレス発生手段からのアドレスを波形メモリに与えて
おくと、イメージの波形を読み出すことがある。これを
本発明では、上記加算手段に対して加算処理を無効にす
る、または波形メモリに対して波形信号を0とするよう
に制御することによって阻止している。従つて、走査速
度係数が大きい場合、発生する楽音は、波形メモリの波
形を圧縮した形に高速で読み出した後、1周期分位相累
算値が変化し終るまで、0となる波形を有するものとな
る(第11図(a)参照)。
また、本発明では、走査係数が1より小さい場合もあ
り、このとき波形メモリからの波形は遅く読み出され
る。よつて、位相累算値が1周期分変化しても読み出さ
れた波形は、波形メモリに記憶された波形を引き伸ばし
た形となるので、読み残されている。この読み残された
分が、次の1周期に読み出されて、先の1周期に読み出
されたのと同じ波形に加算手段によつて加算される。従
つて、1周期分の波形は、その1周期に読み出された波
形と先の1周期に読み残された波形とを加算したものと
なる(第11図(c)〜(e)参照)。
り、このとき波形メモリからの波形は遅く読み出され
る。よつて、位相累算値が1周期分変化しても読み出さ
れた波形は、波形メモリに記憶された波形を引き伸ばし
た形となるので、読み残されている。この読み残された
分が、次の1周期に読み出されて、先の1周期に読み出
されたのと同じ波形に加算手段によつて加算される。従
つて、1周期分の波形は、その1周期に読み出された波
形と先の1周期に読み残された波形とを加算したものと
なる(第11図(c)〜(e)参照)。
〈効果〉 以上のように、本発明によれば、発生する楽音の周期は
一定であるので、音高は位相累算値に対応したものとな
るが、その波形は、加算手段及び制御手段によって様々
な走査速度係数に応じて様々な形となる。特に、走査速
度係数が1よりも小さい場合には、読み残した波形が、
次の1周期分の波形に加算されている。従って発生した
楽音のフオルマントは、走査速度係数に応じて変化し、
様々な楽色の楽音を得ることができる。よつて、走査速
度係数を適当に設定することによつて自然楽器の音色に
近い音色の楽音を得ることができるし、押鍵の強弱や押
鍵された鍵の音高や押鍵されてからの時間経過に応じて
走査速度係数を制御し、変化に富んだ音色を得ることが
できる。
一定であるので、音高は位相累算値に対応したものとな
るが、その波形は、加算手段及び制御手段によって様々
な走査速度係数に応じて様々な形となる。特に、走査速
度係数が1よりも小さい場合には、読み残した波形が、
次の1周期分の波形に加算されている。従って発生した
楽音のフオルマントは、走査速度係数に応じて変化し、
様々な楽色の楽音を得ることができる。よつて、走査速
度係数を適当に設定することによつて自然楽器の音色に
近い音色の楽音を得ることができるし、押鍵の強弱や押
鍵された鍵の音高や押鍵されてからの時間経過に応じて
走査速度係数を制御し、変化に富んだ音色を得ることが
できる。
〈実施例〉 第1図乃至第11図に第1の実施例を示す。この実施例
は、この発明を鍵盤楽器に実施したものである。
は、この発明を鍵盤楽器に実施したものである。
第1図において、2は波形メモリで、少なくとも10ビツ
トで表わされる「0000000000」から「11 11 11 11 11」
までの計算1024のアドレスを有し、これら各アドレスに
は例えば第2図に示すような所望の波形の1周期分の各
標本値が記憶されている。
トで表わされる「0000000000」から「11 11 11 11 11」
までの計算1024のアドレスを有し、これら各アドレスに
は例えば第2図に示すような所望の波形の1周期分の各
標本値が記憶されている。
この波形メモリ2のアドレスラインには、乗算器4の13
ビツトの出力線のうち下位10ビツトが接続されている。
従つて、乗算器4は読み出し回路として作動する。
ビツトの出力線のうち下位10ビツトが接続されている。
従つて、乗算器4は読み出し回路として作動する。
乗算器4には、累算器6の出力とカウンタ8の出力とが
一方の入力して供給され、累算器6の出力が一方の入力
の下位ビツトを構成し、カウンタ8の出力が一方の入力
の上記ビットを構成する。カウンタ8は、例えば2ビツ
トのカウンタで構成されており、第4図(a)に示すよ
うにクロツク信号CKが立上るごとに同図(d)に示すよ
うに「00」、「01」、「10」、「11」と順にカウントす
るもので、同図(b)に示すようにカウント値が「00」
に戻るごとにオーバーフロー信号を生成するようにも構
成されている。このオーバーフロー信号が発生するごと
に、同図(c)に示すように累算器6はレジスタ10から
供給される歩進位相値PI1を累算する。この歩進位相値P
I1は、発生しようとする楽音のピツチに対応するもの
で、整数部と少数部とからなり、鍵盤回路(図示せず)
の或る鍵が押鍵されたとき、ROM(図示せず)からその
押鍵された鍵に対応する歩進位相値PI1が読み出され
て、レジスタ10に記憶される。そして、オーバーフロー
信号が生成されるごとに、この歩進位相値PI1が累算器
6で累算されるので、累算器6の出力線を波形メモリ2
のアドレスラインに直結していたなら、波形メモリ2か
らは歩進位相値PI1の間隔ごとに標本値が読み出され、
押鍵された鍵に対応するピツチの楽音が発生することに
なる。この累算器6の出力線は、波形メモリ2のアドレ
スに対応して10ビツトからなり、その出力がオーバーフ
ローすると、自動的に初期値PI0から累算を繰返す。第
3図(a)の実線は、歩進位相値PI1を累算している累
算器6の出力変化を示したもので、同図(b)に示すよ
うに累算値はとびとびの値をとる。そして、累算値が2
10以上になると、オーバーフローして、初期値PI0からP
I1づつ累算する。なお同図(a)に点線で示したのは、
歩進位相値がPI1より小さい場合で、この時に発生する
楽音の周期は、歩進位相値がPI1のときの周期T1より長
居T2となる。
一方の入力して供給され、累算器6の出力が一方の入力
の下位ビツトを構成し、カウンタ8の出力が一方の入力
の上記ビットを構成する。カウンタ8は、例えば2ビツ
トのカウンタで構成されており、第4図(a)に示すよ
うにクロツク信号CKが立上るごとに同図(d)に示すよ
うに「00」、「01」、「10」、「11」と順にカウントす
るもので、同図(b)に示すようにカウント値が「00」
に戻るごとにオーバーフロー信号を生成するようにも構
成されている。このオーバーフロー信号が発生するごと
に、同図(c)に示すように累算器6はレジスタ10から
供給される歩進位相値PI1を累算する。この歩進位相値P
I1は、発生しようとする楽音のピツチに対応するもの
で、整数部と少数部とからなり、鍵盤回路(図示せず)
の或る鍵が押鍵されたとき、ROM(図示せず)からその
押鍵された鍵に対応する歩進位相値PI1が読み出され
て、レジスタ10に記憶される。そして、オーバーフロー
信号が生成されるごとに、この歩進位相値PI1が累算器
6で累算されるので、累算器6の出力線を波形メモリ2
のアドレスラインに直結していたなら、波形メモリ2か
らは歩進位相値PI1の間隔ごとに標本値が読み出され、
押鍵された鍵に対応するピツチの楽音が発生することに
なる。この累算器6の出力線は、波形メモリ2のアドレ
スに対応して10ビツトからなり、その出力がオーバーフ
ローすると、自動的に初期値PI0から累算を繰返す。第
3図(a)の実線は、歩進位相値PI1を累算している累
算器6の出力変化を示したもので、同図(b)に示すよ
うに累算値はとびとびの値をとる。そして、累算値が2
10以上になると、オーバーフローして、初期値PI0からP
I1づつ累算する。なお同図(a)に点線で示したのは、
歩進位相値がPI1より小さい場合で、この時に発生する
楽音の周期は、歩進位相値がPI1のときの周期T1より長
居T2となる。
レジスタ10の歩進位相値は整数部と小数部とからなるの
で、累算器6の出力も当然に整数部と小数部とからなる
が、乗算部4には整数部のみが供給されている。これ
は、小数部を切捨てることによつて幾分誤差は生じる
が、この誤差は無視できる大きさであるからである。
で、累算器6の出力も当然に整数部と小数部とからなる
が、乗算部4には整数部のみが供給されている。これ
は、小数部を切捨てることによつて幾分誤差は生じる
が、この誤差は無視できる大きさであるからである。
この累算器6の出力の整数部が、乗算器4の一方の入力
の下位ビツトとして供給され、カウンタ8の出力が乗算
器4の一方の入力の上位ビツトとして供給されているの
で、乗算器4の一方の入力(以下、位相累算値と称す
る。)は、カウンタ8の出力が「00」のとき累算器6の
出力となり、カウンタ8の出力が「01」のとき累算器6
の出力に210を加算した値となり、カウンタ8の出力が
「10」のとき累算器6の出力に2×210を加算した値と
なり、カウンタ8の出力が「11」のとき累算器6の出力
に3×210を加算した値となる。この乗算器6の出力の
変化状態を第5図に示す。
の下位ビツトとして供給され、カウンタ8の出力が乗算
器4の一方の入力の上位ビツトとして供給されているの
で、乗算器4の一方の入力(以下、位相累算値と称す
る。)は、カウンタ8の出力が「00」のとき累算器6の
出力となり、カウンタ8の出力が「01」のとき累算器6
の出力に210を加算した値となり、カウンタ8の出力が
「10」のとき累算器6の出力に2×210を加算した値と
なり、カウンタ8の出力が「11」のとき累算器6の出力
に3×210を加算した値となる。この乗算器6の出力の
変化状態を第5図に示す。
乗算器4の他方の入力には、レジスタ12に記憶されてい
る走査速度係数Fが供給されている。この走査速度係数
Fは、発生しようとする楽音のフオルマントを制御し
て、音色を制御するためのものであるので、押鍵の強弱
や押鍵された鍵の音高や押鍵されてからの時間経過に従
つて設定される。例えば押鍵の強度に応じて音色を設定
する場合、押鍵強度の検出回路(図示せず)からの出力
に対応する走査速度係数Fが上述したROMから読み出さ
れ、レジスタ12に記憶される。この走査速度係数Fの値
としては、例えば1/4〜10程度の値が用いられる。
る走査速度係数Fが供給されている。この走査速度係数
Fは、発生しようとする楽音のフオルマントを制御し
て、音色を制御するためのものであるので、押鍵の強弱
や押鍵された鍵の音高や押鍵されてからの時間経過に従
つて設定される。例えば押鍵の強度に応じて音色を設定
する場合、押鍵強度の検出回路(図示せず)からの出力
に対応する走査速度係数Fが上述したROMから読み出さ
れ、レジスタ12に記憶される。この走査速度係数Fの値
としては、例えば1/4〜10程度の値が用いられる。
このように乗算器4には、位相累算値と走査速度係数F
とが入力されているので、乗算器4の出力は位相累算値
を走査速度係数F倍したものとなる。第6図乃至第10図
に乗算器4の出力の変化状態を示す。第6図は2>F>
1の場合、第7図はF=1の場合、第8図は1>F>1/
2の場合、第9図は1/2≧F>1/3の場合、第10図は1/3≧
F>1/4の場合である。第6図乃至第10図において、実
線は、カウンタ8の出力が「00」のときの乗算器4の出
力、点線はカウンタ8の出力が「01」のときの乗算器4
の出力、一点鎖線はカウンタ8の出力が「10」のときの
乗算器4の出力、二点鎖線はカウンタ8の出力が「11」
のときの乗算器4の出力である。
とが入力されているので、乗算器4の出力は位相累算値
を走査速度係数F倍したものとなる。第6図乃至第10図
に乗算器4の出力の変化状態を示す。第6図は2>F>
1の場合、第7図はF=1の場合、第8図は1>F>1/
2の場合、第9図は1/2≧F>1/3の場合、第10図は1/3≧
F>1/4の場合である。第6図乃至第10図において、実
線は、カウンタ8の出力が「00」のときの乗算器4の出
力、点線はカウンタ8の出力が「01」のときの乗算器4
の出力、一点鎖線はカウンタ8の出力が「10」のときの
乗算器4の出力、二点鎖線はカウンタ8の出力が「11」
のときの乗算器4の出力である。
この乗算器4の出力が波形メモリ2にアドレス信号とし
て供給され、波形メモリ2から標本値が読み出され、累
算器14に供給される。すなわち、上述したように累算器
6の値は、カウンタ8がオーバーフロー信号を発生する
まで変化しないが、第4図(e)に示すように位相累算
値はカウンタ8の出力がクロツク信号が立上るごとに
「00」から「11」まで変化するので、乗算器4の出力も
カウンタ8の出力の変化に従つて変化し、波形メモリ2
から読み出される標本値もカウンタ8の出力変化に従つ
て変化する。
て供給され、波形メモリ2から標本値が読み出され、累
算器14に供給される。すなわち、上述したように累算器
6の値は、カウンタ8がオーバーフロー信号を発生する
まで変化しないが、第4図(e)に示すように位相累算
値はカウンタ8の出力がクロツク信号が立上るごとに
「00」から「11」まで変化するので、乗算器4の出力も
カウンタ8の出力の変化に従つて変化し、波形メモリ2
から読み出される標本値もカウンタ8の出力変化に従つ
て変化する。
累算値14には、アンドゲート16を介してクロツク信号CK
が供給されており、これが立下るごとに、すなわちカウ
ンタ8の出力が変化するごとにそのときの乗算器4の出
力によつて読み出された波形メモリ2の標本値を第4図
(f)に示すように累算する。そして、カウンタ8のオ
ーバーフロー信号が立下つたとき、そのときの累算値を
エンベロープ付加器やD/A変換器等からなるサウンドシ
ステム(図示せず)に送出すると共に、リセツトされ
る。なお、乗算器4の出力は上述したように13ビツトか
らなるのに対し、波形メモリ2のアドレスは10ビツトで
ある。よつて、乗算器4の出力の11ビツトから13ビツト
までの各ビツトのうち少なくとも1つが「1」になつた
とき、すなわち乗算器4の出力が1024以上になつたと
き、このままではイメージの標本値が読み出され、累算
器14によつて累算される。これを防止するため、乗算器
4の出力のうち11ビツトから13ビツトまでの各ビツトが
ノア回路18に入力され、このノア回路18の出力がアンド
ゲート16に入力され、乗算器4の出力が1024以上になつ
たとき読み出された標本値が累算されるのを禁止してい
る。
が供給されており、これが立下るごとに、すなわちカウ
ンタ8の出力が変化するごとにそのときの乗算器4の出
力によつて読み出された波形メモリ2の標本値を第4図
(f)に示すように累算する。そして、カウンタ8のオ
ーバーフロー信号が立下つたとき、そのときの累算値を
エンベロープ付加器やD/A変換器等からなるサウンドシ
ステム(図示せず)に送出すると共に、リセツトされ
る。なお、乗算器4の出力は上述したように13ビツトか
らなるのに対し、波形メモリ2のアドレスは10ビツトで
ある。よつて、乗算器4の出力の11ビツトから13ビツト
までの各ビツトのうち少なくとも1つが「1」になつた
とき、すなわち乗算器4の出力が1024以上になつたと
き、このままではイメージの標本値が読み出され、累算
器14によつて累算される。これを防止するため、乗算器
4の出力のうち11ビツトから13ビツトまでの各ビツトが
ノア回路18に入力され、このノア回路18の出力がアンド
ゲート16に入力され、乗算器4の出力が1024以上になつ
たとき読み出された標本値が累算されるのを禁止してい
る。
この実施例によつて発生させた楽音波形を第11図に示
す。同図においては、位相歩進値は1である。すなわ
ち、発生させた楽音の周期Tは、波形メモリ2に記憶さ
れている波形の周期Tに等しい。同図(a)は走査速度
係数Fを2>F>1にした場合、同図(b)は走査速度
係数Fを1にした場合、同図(c)は走査速度係数Fを
1>F>1/2にした場合、同図(d)は走査速度係数F
を1/2≧F>1/3にした場合、同図(e)は走査速度係数
Fを1/3≧F>1/4にした場合である。
す。同図においては、位相歩進値は1である。すなわ
ち、発生させた楽音の周期Tは、波形メモリ2に記憶さ
れている波形の周期Tに等しい。同図(a)は走査速度
係数Fを2>F>1にした場合、同図(b)は走査速度
係数Fを1にした場合、同図(c)は走査速度係数Fを
1>F>1/2にした場合、同図(d)は走査速度係数F
を1/2≧F>1/3にした場合、同図(e)は走査速度係数
Fを1/3≧F>1/4にした場合である。
次に同図(a)の波形の楽音が発生する状態について説
明する。今、第5図に示すように位相累算値が変化する
と、乗算器4の出力は、これに2>F>1である走査速
度係数Fを乗算した値であるので、第6図に示すように
乗算器4の出力は位相累算値より速い速度で変化する。
従つて、波形メモリ2からの標本値の読み出しは、位相
累算値によつて読み出した場合よりも速くなる。よつ
て、第11図(a)に示すような波形となる。なお、カウ
ンタ8の出力が「01」、「10」、「11」のとき乗算器4
の出力の11ビツトから13ビツトまでのいずれかが常に
「1」となるので、カウンタ8の出力が「01」、「1
0」、「11」のときの乗算器4の出力によつて読み出さ
れた標本値は累算されない。また、カウンタ8の出力が
「00」の場合の乗算器4の出力は、累算器6の出力がオ
ーバーフローする前に、11ビツト目が1となり、すなわ
ち値が1024以上となり、波形メモリ2の標本値を読み終
わつているので、以後、累算器14での累算は行なわず、
累算器14の値は0となる。そして、累算器6の出力がオ
ーバーフローしたとき、すなわち周期Tが経過すると、
再び上述したのと同様にして標本値を読み出す。
明する。今、第5図に示すように位相累算値が変化する
と、乗算器4の出力は、これに2>F>1である走査速
度係数Fを乗算した値であるので、第6図に示すように
乗算器4の出力は位相累算値より速い速度で変化する。
従つて、波形メモリ2からの標本値の読み出しは、位相
累算値によつて読み出した場合よりも速くなる。よつ
て、第11図(a)に示すような波形となる。なお、カウ
ンタ8の出力が「01」、「10」、「11」のとき乗算器4
の出力の11ビツトから13ビツトまでのいずれかが常に
「1」となるので、カウンタ8の出力が「01」、「1
0」、「11」のときの乗算器4の出力によつて読み出さ
れた標本値は累算されない。また、カウンタ8の出力が
「00」の場合の乗算器4の出力は、累算器6の出力がオ
ーバーフローする前に、11ビツト目が1となり、すなわ
ち値が1024以上となり、波形メモリ2の標本値を読み終
わつているので、以後、累算器14での累算は行なわず、
累算器14の値は0となる。そして、累算器6の出力がオ
ーバーフローしたとき、すなわち周期Tが経過すると、
再び上述したのと同様にして標本値を読み出す。
次に第11図(b)の波形の楽音が発生する状態について
説明する。この場合、F=1であるので、乗算器4の出
力は第7図に示すように変化するが、これは第5図に示
す位相累算値の変化と全く同じである。よつて、第11図
(b)に示すように波形メモリ2の波形がそのまま周期
Tで繰返し、読み出される。この場合も、カウンタ8の
出力が「01」、「10」、「11」のとき、乗算器4の出力
の11ビツト乃至13ビツトのうちいずれかが少なくとも
「1」となるので、カウンタ8の出力が「01」、「1
0」、「11」のときに読み出された標本値は累算されな
い。
説明する。この場合、F=1であるので、乗算器4の出
力は第7図に示すように変化するが、これは第5図に示
す位相累算値の変化と全く同じである。よつて、第11図
(b)に示すように波形メモリ2の波形がそのまま周期
Tで繰返し、読み出される。この場合も、カウンタ8の
出力が「01」、「10」、「11」のとき、乗算器4の出力
の11ビツト乃至13ビツトのうちいずれかが少なくとも
「1」となるので、カウンタ8の出力が「01」、「1
0」、「11」のときに読み出された標本値は累算されな
い。
次に第11図(c)の波形の楽音が発生する状態について
説明する。この場合、1>F>1/2であるので、乗算器
4の出力は第8図に示すように位相累算値よりも遅い速
度で変化する。ここで、カウンタ8の出力が「00」であ
るときに読み出した標本値によつて得られる波形がAで
あるが、累算器6がオーバーフローしたとき、すなわち
1周期Tが経過しても波形メモリ2の標本値が読み残さ
れていることが、波形Aより明らかである。これは、ま
た第8図のカウンタ8の出力が「00」のときの乗算器4
の出力の最終値が1024より小さいことからも判る。しか
し、カウンタ8の出力が「01」のときの乗算器4の出力
の初期値は、カウンタ8の出力が「00」のときの乗算器
4の最終値に位相累算値と走査速度係数値とを乗算した
値を加算した値になる。例えば位相累算値が5で、Fが
0.75であるとすると、累算器6の最終値は1020であり、
乗算器4の最終値は765である。そして累算器6の初期
値は1となり、カウンタ8の出力が「01」のとき、乗算
器4の入力は1025と、0.75となり、その出力は768.75と
なり、カウンタ8の出力が「00」のときの乗算器の出力
765に、位相累算値5と走査速度係数0.75を乗算した値
3.75を加算した値となる。そして、カウンタの出力が
「01」のとき乗算器の出力は、3.75づつ増加していく。
従つて、読み残された標本値は、カウンタ8の出力が
「01」のときに第11図(c)に波形Bとして示すように
読み出され、カウンタ8の出力が「00」のときに読み出
された標本値と累算されている。そして、読み残した標
本値を読み終わると、第8図から明らかなように、カウ
ンタ8の出力が「01」のときの乗算器4の出力も11ビツ
ト目が「1」となり、以後読み出した標本値の累算は行
なわれない。これを1周期Tごとに繰返している。これ
は、また見方を変えると、或る1周期で読み残した波形
Bを、次の1周期で読み出される波形Aに加算している
ともいえる。なお、カウンタ8の出力が「10」、「11」
のときは、乗算器の出力の11ビツト乃至13ビツトのうち
少なくとも1つが「1」であるので、カウンタ8の出力
が「10」、「11」のとき、読み出された標本値の累算は
行なわれない。
説明する。この場合、1>F>1/2であるので、乗算器
4の出力は第8図に示すように位相累算値よりも遅い速
度で変化する。ここで、カウンタ8の出力が「00」であ
るときに読み出した標本値によつて得られる波形がAで
あるが、累算器6がオーバーフローしたとき、すなわち
1周期Tが経過しても波形メモリ2の標本値が読み残さ
れていることが、波形Aより明らかである。これは、ま
た第8図のカウンタ8の出力が「00」のときの乗算器4
の出力の最終値が1024より小さいことからも判る。しか
し、カウンタ8の出力が「01」のときの乗算器4の出力
の初期値は、カウンタ8の出力が「00」のときの乗算器
4の最終値に位相累算値と走査速度係数値とを乗算した
値を加算した値になる。例えば位相累算値が5で、Fが
0.75であるとすると、累算器6の最終値は1020であり、
乗算器4の最終値は765である。そして累算器6の初期
値は1となり、カウンタ8の出力が「01」のとき、乗算
器4の入力は1025と、0.75となり、その出力は768.75と
なり、カウンタ8の出力が「00」のときの乗算器の出力
765に、位相累算値5と走査速度係数0.75を乗算した値
3.75を加算した値となる。そして、カウンタの出力が
「01」のとき乗算器の出力は、3.75づつ増加していく。
従つて、読み残された標本値は、カウンタ8の出力が
「01」のときに第11図(c)に波形Bとして示すように
読み出され、カウンタ8の出力が「00」のときに読み出
された標本値と累算されている。そして、読み残した標
本値を読み終わると、第8図から明らかなように、カウ
ンタ8の出力が「01」のときの乗算器4の出力も11ビツ
ト目が「1」となり、以後読み出した標本値の累算は行
なわれない。これを1周期Tごとに繰返している。これ
は、また見方を変えると、或る1周期で読み残した波形
Bを、次の1周期で読み出される波形Aに加算している
ともいえる。なお、カウンタ8の出力が「10」、「11」
のときは、乗算器の出力の11ビツト乃至13ビツトのうち
少なくとも1つが「1」であるので、カウンタ8の出力
が「10」、「11」のとき、読み出された標本値の累算は
行なわれない。
次に第11図(d)の波形の楽音が発生する場合について
説明する。この場合、1/2≧F>1/3であるので、第9図
に示すように乗算器4の出力の変化は、第8図に示した
場合(第11図(c)の波形の楽音を発生した場合)より
もさらに遅く変化する。従つて、第9図から明らかなよ
うに、カウンタ8の出力が「00」のときだけでは1周期
内で標本値を読み終わることが当然できず、さらにカウ
ンタ8の出力が「01」のときを加えても1周期T内で読
み終わることができない。これは第9図に示すカウント
8の入力が「00」のとき及び「01」のときの最終値が10
24以下であることも明らかである。このカウンタ8の出
力が「01」のとき加えても読み残つた分をカウンタ8の
出力が「10」のときに読み出して、加算している。
説明する。この場合、1/2≧F>1/3であるので、第9図
に示すように乗算器4の出力の変化は、第8図に示した
場合(第11図(c)の波形の楽音を発生した場合)より
もさらに遅く変化する。従つて、第9図から明らかなよ
うに、カウンタ8の出力が「00」のときだけでは1周期
内で標本値を読み終わることが当然できず、さらにカウ
ンタ8の出力が「01」のときを加えても1周期T内で読
み終わることができない。これは第9図に示すカウント
8の入力が「00」のとき及び「01」のときの最終値が10
24以下であることも明らかである。このカウンタ8の出
力が「01」のとき加えても読み残つた分をカウンタ8の
出力が「10」のときに読み出して、加算している。
第11図(e)の場合、第10図から明らかなように、カウ
ンタ8の出力が「00」、「01」及び「10」のときの乗算
器4の出力は1024以下であり、波形メモリ2の標本値の
読み残しがあるが、この場合読み残し分をカウンタ8の
出力が「11」のときの乗算器4の出力で読み出し、加算
している。
ンタ8の出力が「00」、「01」及び「10」のときの乗算
器4の出力は1024以下であり、波形メモリ2の標本値の
読み残しがあるが、この場合読み残し分をカウンタ8の
出力が「11」のときの乗算器4の出力で読み出し、加算
している。
このように第11図(a)乃至(e)の波形は、いずれも
周期がTであるので、音高はいずれも等しい。しかし、
各々の波形は、走査速度制御係数Fの値によつて変化し
ている。従つて、それぞれ異なつた音色となる。
周期がTであるので、音高はいずれも等しい。しかし、
各々の波形は、走査速度制御係数Fの値によつて変化し
ている。従つて、それぞれ異なつた音色となる。
第2図の実施例を第12図に示す。第2の実施例は波形メ
モリ2に複数の波形の標本値を記憶し、そのうちの1つ
を選択するようにしたもので、レジスタ20に読み出そう
とする波形の先頭のアドレスを記憶させ、これと乗算器
4の出力とを加算器22で加算し、この加算値を波形メモ
リ2に供給するものである。この場合、乗算器4の出力
が相対アドレスであり、加算器22の出力が実効アドレス
となる。これ以外、第1の実施例と同様に構成されてい
る。
モリ2に複数の波形の標本値を記憶し、そのうちの1つ
を選択するようにしたもので、レジスタ20に読み出そう
とする波形の先頭のアドレスを記憶させ、これと乗算器
4の出力とを加算器22で加算し、この加算値を波形メモ
リ2に供給するものである。この場合、乗算器4の出力
が相対アドレスであり、加算器22の出力が実効アドレス
となる。これ以外、第1の実施例と同様に構成されてい
る。
第13図に第3の実施例を示す。この実施例は、レジスタ
12に記憶される走査速度係数Fが常に1以上の場合のも
ので、乗算器4には、累算値6及びレジスタ12の値のみ
が入力され、カウンタ8の値は入力されていない。さら
に、累算器14が除去され、ノア回路18の出力側を波形メ
モリ2のイネーブル端子に接続している。波形メモリ2
は、ノア回路18の出力がLレベルの場合、波形標本値を
読み出さない。
12に記憶される走査速度係数Fが常に1以上の場合のも
ので、乗算器4には、累算値6及びレジスタ12の値のみ
が入力され、カウンタ8の値は入力されていない。さら
に、累算器14が除去され、ノア回路18の出力側を波形メ
モリ2のイネーブル端子に接続している。波形メモリ2
は、ノア回路18の出力がLレベルの場合、波形標本値を
読み出さない。
この実施例では、走査速度係数Fが1以上であるので、
第1の実施例の走査速度係数Fが1以上のときと同様
に、累算器6の出力がオーバーフローする前に、乗算器
4の出力が1024以上となり、波形メモリ2の標本値を読
み終わるので、それ以後にはノア回路18の出力がLレベ
ルとなり、波形標本値の読み出しを禁止している。従つ
て、この実施例では、第11図(a)または(b)のよう
な波形が得られる。
第1の実施例の走査速度係数Fが1以上のときと同様
に、累算器6の出力がオーバーフローする前に、乗算器
4の出力が1024以上となり、波形メモリ2の標本値を読
み終わるので、それ以後にはノア回路18の出力がLレベ
ルとなり、波形標本値の読み出しを禁止している。従つ
て、この実施例では、第11図(a)または(b)のよう
な波形が得られる。
第1及び第2の実施例では、乗算器4の出力の11ビツト
乃至13ビツトのうち少なくとも1つが「1」のとき、累
算器14での累算を禁止したが、第3の実施例と同様に波
形メモリ2からの読み出しを禁止してもよい。
乃至13ビツトのうち少なくとも1つが「1」のとき、累
算器14での累算を禁止したが、第3の実施例と同様に波
形メモリ2からの読み出しを禁止してもよい。
上記の各実施例では、単音を発生させる場合についての
み記載したが、時分割によつて同時に複数音を発生する
ようにすることは、各実施例から容易に考えられるもの
である。
み記載したが、時分割によつて同時に複数音を発生する
ようにすることは、各実施例から容易に考えられるもの
である。
第1図はこの発明による楽音発生装置の第1の実施例の
ブロツク図、第2図は同実施例の波形メモリに記憶され
ている波形を示す図、第3図(a)、(b)は同実施例
の累算器6の出力変化状態を示す図、第4図は同実施例
の動作を説明するためのタイミングチヤート、第5図は
同実施例の乗算器4の一方の入力の変化状態を示す図、
第6乃至第10図はこの実施例の乗算器4の出力変化状態
を示す図、第11図は同実施例によつて発生する楽音の波
形図、第12図は第2の実施例の一部を示すブロツク図、
第13図は第3の実施例のブロツク図である。 2……波形メモリ、4……乗算器(アドレス発生手
段)、6……累算器(位相累算手段)、14……累算器
(加算手段)、18……ノアゲート(無効化手段)。
ブロツク図、第2図は同実施例の波形メモリに記憶され
ている波形を示す図、第3図(a)、(b)は同実施例
の累算器6の出力変化状態を示す図、第4図は同実施例
の動作を説明するためのタイミングチヤート、第5図は
同実施例の乗算器4の一方の入力の変化状態を示す図、
第6乃至第10図はこの実施例の乗算器4の出力変化状態
を示す図、第11図は同実施例によつて発生する楽音の波
形図、第12図は第2の実施例の一部を示すブロツク図、
第13図は第3の実施例のブロツク図である。 2……波形メモリ、4……乗算器(アドレス発生手
段)、6……累算器(位相累算手段)、14……累算器
(加算手段)、18……ノアゲート(無効化手段)。
Claims (3)
- 【請求項1】所望の楽音波形を記憶している波形メモリ
と、 発生しようとする楽音信号の音高に対応した歩進位相値
を累算して位相累算値を発生させる位相累算手段と、 上記波形メモリからの波形の読み出し速度を制御する走
査速度係数と上記位相累算値とを乗算する乗算手段を備
え、その乗算値によって上記波形メモリから波形を読み
出すアドレスを生成するアドレス発生手段と、 第1の楽音信号と第2の楽音信号とを加算する加算手段
と、 上記位相累算値が1周期分の変化を終了し、且つ上記ア
ドレス発生手段から出力されるアドレスが、上記波形メ
モリの楽音波形を読み残したことを検出したときには、
以後の周期で、新しく読み出しを開始した波形信号であ
る第1の楽音信号と上記読み残した1つ以上の波形信号
である第2の楽音信号とを上記加算手段で加算し出力波
形信号を得るように上記加算手段を制御し、上記位相累
算値が1周期分の変化を終了する前で、且つ上記アドレ
ス発生手段から出力されるアドレスが、上記波形メモリ
の楽音波形の読み出しを終わったことを検出したとき
は、上記位相累算値の1周期分の残りの区間で、上記加
算手段に対して加算処理を無効にする、または上記波形
メモリに対して波形出力を0とするようにして出力波形
信号を得るように上記加算手段または波形メモリを制御
する制御手段とを、 備える楽音発生装置。 - 【請求項2】上記アドレス発生手段が、上記走査速度係
数と上記位相累算値とを乗算して、上記波形メモリの読
み出し実効アドレスを得る実効アドレス演算手段である
ことを特徴とする特許請求の範囲第1項記載の楽音発生
装置。 - 【請求項3】上記アドレス発生手段が、上記走査速度係
数と上記位相累算値とを乗算して、波形メモリの読み出
し相対アドレスを得る相対アドレス乗算手段と、上記相
対アドレスと上記波形メモリの読み出し開始アドレスと
を加算して、波形メモリの読み出し実効アドレスを得る
実効アドレス加算手段とからなることを特徴とする特許
請求の範囲第1項記載の楽音発生装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61314264A JPH0740197B2 (ja) | 1986-12-26 | 1986-12-26 | 楽音発生装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61314264A JPH0740197B2 (ja) | 1986-12-26 | 1986-12-26 | 楽音発生装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8137636A Division JP2727439B2 (ja) | 1996-05-07 | 1996-05-07 | 楽音発生装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63163898A JPS63163898A (ja) | 1988-07-07 |
| JPH0740197B2 true JPH0740197B2 (ja) | 1995-05-01 |
Family
ID=18051262
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61314264A Expired - Fee Related JPH0740197B2 (ja) | 1986-12-26 | 1986-12-26 | 楽音発生装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0740197B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3459760B2 (ja) * | 1997-09-30 | 2003-10-27 | 株式会社河合楽器製作所 | 楽音生成装置及び楽音発生方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56168698A (en) * | 1980-05-29 | 1981-12-24 | Suwa Seikosha Kk | Voice synthesizer |
| JP2586443B2 (ja) * | 1984-07-31 | 1997-02-26 | カシオ計算機株式会社 | 波形発生装置 |
-
1986
- 1986-12-26 JP JP61314264A patent/JPH0740197B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63163898A (ja) | 1988-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4875400A (en) | Electronic musical instrument with touch response function | |
| JPS6353560B2 (ja) | ||
| US4200021A (en) | Electronic musical instruments which form musical tones by repeatedly generating musical tone waveform elements | |
| US4562763A (en) | Waveform information generating system | |
| JPH0740197B2 (ja) | 楽音発生装置 | |
| JPS6410837B2 (ja) | ||
| US4227433A (en) | Electronic musical instruments | |
| JPS6115438B2 (ja) | ||
| JP2727439B2 (ja) | 楽音発生装置 | |
| JPH0331273B2 (ja) | ||
| JPH0231399B2 (ja) | ||
| JPS6022191A (ja) | 音源装置 | |
| JP3221987B2 (ja) | 遅延時間変調効果装置 | |
| JPS6037600Y2 (ja) | 電子楽器 | |
| JP3082881B2 (ja) | 電子楽器 | |
| JP2504196B2 (ja) | 楽音合成装置 | |
| JP2940384B2 (ja) | 電子楽器 | |
| JP2689763B2 (ja) | 波形データの読み出し方法 | |
| JP3116447B2 (ja) | デジタル信号処理プロセッサ | |
| JPS583238B2 (ja) | 電子楽器 | |
| JPS60260999A (ja) | 打楽器音発生装置 | |
| KR940009963B1 (ko) | 전자악기의 음계 주파수 발생장치 | |
| JP3835573B2 (ja) | 電子楽器 | |
| JP2968847B2 (ja) | 雑音発生装置 | |
| JP2939098B2 (ja) | 電子楽器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |