JP3298382B2 - 波形発生装置 - Google Patents

波形発生装置

Info

Publication number
JP3298382B2
JP3298382B2 JP26496195A JP26496195A JP3298382B2 JP 3298382 B2 JP3298382 B2 JP 3298382B2 JP 26496195 A JP26496195 A JP 26496195A JP 26496195 A JP26496195 A JP 26496195A JP 3298382 B2 JP3298382 B2 JP 3298382B2
Authority
JP
Japan
Prior art keywords
zero
waveform
reading
cross
read
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
JP26496195A
Other languages
English (en)
Other versions
JPH0990940A (ja
Inventor
正尋 柿下
利文 国本
千史 竹内
徹 北山
資之 渋谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP26496195A priority Critical patent/JP3298382B2/ja
Publication of JPH0990940A publication Critical patent/JPH0990940A/ja
Application granted granted Critical
Publication of JP3298382B2 publication Critical patent/JP3298382B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気的振動信号
に基づいて波形を発生する装置に関し、特に、振動に即
応した波形を発生させるようにするとともに、装置の小
型化を図ったものに関する。
【0002】
【従来の技術】ギターシンセサイザーは、周知のとお
り、専用のギターコントローラ(または、一般のエレク
トリックギターに、弦の振動を取り出すための専用のピ
ックアップを取り付けたもの)の弦の振動を電気的振動
信号に変換し、その電気的振動信号を演奏情報として、
所定の楽音波形発生方式(例えばPCM(パルス符号変
調)方式またはFM(周波数変調)方式など)で楽音波
形を発生するようにしたものである。
【0003】従来のギターシンセサイザーでは、一般
に、変換した電気的振動信号に基づいて弦の振動のピッ
チを検出するピッチ検出回路を設け、この検出回路によ
って検出したピッチで楽音波形を発生するようにしてい
た。すなわち、エンベロープ検出回路により弦の振動の
エンベロープを検出するとともに、このピッチ検出回路
により弦の振動のピッチを検出し、検出したエンベロー
プの立上りのタイミングで、検出したピッチを示す情報
を音源回路に供給することにより、そのピッチでの楽音
波形の発生を開始していた。そして、楽音波形の発生後
にも、ピッチ検出回路の出力を音源回路に逐次供給する
ことにより、弦の振動のピッチの変化に対応して楽音波
形のピッチを変化させていた。
【0004】
【発明が解決しようとする課題】しかし、弦の振動のピ
ッチは、演奏の開始時や、演奏中に弦を押さえる位置を
変えた時などには、何周期かに亘って不規則な状態が続
く。したがって、弦の振動に即応して正確にそのピッチ
を検出することは困難である。そのため、従来のギター
シンセサイザーでは、弦の振動のタイミングよりも遅れ
て楽音波形が発生したり、あるいは弦の振動の実際のピ
ッチとは異なるピッチで楽音波形が発生したりするな
ど、演奏者の表現力を忠実に反映しない楽音波形が発生
してしまうことがあった。また、ピッチ検出回路は回路
構成が比較的大きなものになってしまうので、従来のギ
ターシンセサイザーでは、装置が大型化してしまうとい
う問題もあった。
【0005】この発明は上述の点に鑑みてなされたもの
で、ギターシンセサイザーのように弦の振動に基づく電
気的振動信号を演奏情報として楽音波形を発生する装
置、あるいは更に一般に、音声に基づく電気的振動信号
やその他の任意の電気的振動信号を演奏情報として楽音
波形を発生する装置であって、振動に即応した楽音波形
を発生させることができ、しかも小型な装置を提供しよ
うとするものである。
【0006】
【課題を解決するための手段】この発明に係る第1の波
形発生装置は、任意の電気的振動信号を入力し、該信号
の振動値のゼロクロスを検出するゼロクロス検出手段
と、波形データを記憶した記憶手段と、前記記憶手段か
ら前記波形データを読み出す読出し手段と、前記ゼロク
ロス検出手段によるゼロクロスの検出に基づき、前記波
形データを所定の初期位相から読み出すように前記読出
し手段をリセットするリセット手段とを具えたことを特
徴としている。
【0007】第1の波形発生装置によれば、読出し手段
が記憶手段から波形データを読み出している最中に、ゼ
ロクロス検出手段が電気的振動信号の値のゼロクロスを
検出すると、リセット手段が、波形データを所定の初期
位相から読み出すように読出し手段をリセットする。す
なわち、ゼロクロスが検出される毎に、所定の初期位相
に戻って波形データが読み出される。
【0008】ゼロクロスが検出されてからその次にゼロ
クロスが検出されるまでの間隔は、その瞬間における電
気的振動信号の振動のピッチにほぼ反比例している。し
たがって、各瞬間毎に、その瞬間での振動のピッチに対
応した間隔で、読出し波形が初期位相に戻ることにな
る。これにより、弦の振動等に即応した波形を発生させ
ることができるようになる。また、ゼロクロス検出手段
やリセット手段は、ピッチ検出回路と比較して回路構成
が小さくてすむので、装置を小型化することができる。
【0009】この発明に係る第2の波形発生装置は、任
意の電気的振動信号を入力し、該信号の振動値のゼロク
ロスを検出するゼロクロス検出手段と、波形データを記
憶した記憶手段と、前記ゼロクロス検出手段によるゼロ
クロスの検出に基づき、前記波形データを読み出す際の
ピッチに関するピッチ情報を算出するピッチ情報算出手
段と、前記ピッチ情報算出手段により算出された前記ピ
ッチ情報に応じたピッチで前記記憶手段から前記波形デ
ータを読み出す読出し手段と、前記ゼロクロス検出手段
によるゼロクロスの検出に基づき、前記波形データを所
定の初期位相から読み出すように前記読出し手段をリセ
ットするリセット手段とを具えたことを特徴としてい
る。
【0010】第2の波形発生装置によれば、ゼロクロス
検出手段が電気的振動信号の値のゼロクロスを検出する
ことに基づいてピッチ情報算出手段がピッチ情報を算出
し、このピッチ情報に基づいて読出し手段が記憶手段か
ら波形データを読み出す。これにより、各瞬間毎に、そ
の瞬間での振動のピッチに対応した間隔で波形が初期位
相に戻るのみならず、その瞬間での振動のピッチに対応
したピッチで波形が読み出されるようになるので、弦の
振動等に一層忠実に対応した波形を発生させることがで
きるようになる。
【0011】この発明に係る第3の波形発生装置は、任
意の電気的振動信号を入力し、該信号の振動値のゼロク
ロスを検出するゼロクロス検出手段と、波形データを記
憶した記憶手段と、前記記憶手段から前記波形データを
読み出す第1の読出し手段と、前記ゼロクロス検出手段
によるゼロクロスの検出に基づき、前記波形データを所
定の初期位相から読み出すように前記第1の読出し手段
をリセットするリセット手段と、前記リセット手段によ
るリセットの直前に前記第1の読出し手段により読み出
されていた前記波形の位相を初期位相として、前記記憶
手段から前記波形データを読み出す第2の読出し手段
と、前記ゼロクロス検出手段によるゼロクロスの検出に
基づき、前記第1の読出し手段により読み出される波形
の振幅を徐々に増大させるとともに前記第2の読出し手
段により読み出される波形の振幅を徐々に減少させるク
ロスフェード手段とを具えたことを特徴としている。
【0012】第3の波形発生装置によれば、ゼロクロス
検出手段が電気的振動信号の値のゼロクロスを検出する
ことに基づいてリセット手段が第1の読出し手段をリセ
ットすると、第2の読出し手段が、リセットの直前に前
記第1の読出し手段により読み出されていた波形の位相
を初期位相として、記憶手段から波形データを読み出し
始める。すなわち、リセットの直前まで第1の読出し手
段により読み出されていた波形データが、リセット後に
第2の読出し手段により引き継いで読み出されるように
なる。そして、クロスフェード手段が、第1の読出し手
段により読み出される波形の振幅を徐々に増大させると
ともに、第2の読出し手段により読み出される波形の振
幅を徐々に減少させていく。
【0013】したがって、リセット後には、リセットの
直前まで読み出されていた波形データが、いきなり途切
れるのではなく、徐々に振幅を減少させていき、同時
に、所定の初期位相に戻って読み出される波形データ
が、徐々に振幅を増大させていく。これにより、ゼロク
ロスの検出の前後で、波形の位相やピッチの変化を原因
とするノイズの発生を防止することができるようにな
る。
【0014】この発明に係る第4の波形発生装置は、波
形データを記憶した記憶手段と、前記記憶手段から前記
波形データを読み出す第1の読出し手段と、前記波形デ
ータを所定の初期位相から読み出すように前記第1の読
出し手段をリセットするリセット手段と、前記リセット
手段によるリセットの直前に前記第1の読出し手段によ
り読み出されていた前記波形の位相を初期位相として、
前記記憶手段から前記波形データを読み出す第2の読出
し手段と、前記リセット手段によるリセットに応じて、
前記第1の読出し手段により読み出される前記波形の振
幅を徐々に増大させるとともに前記第2の読出し手段に
より読み出される前記波形の振幅を徐々に減少させるク
ロスフェード手段とを具えたことを特徴としている。
【0015】第4の波形発生装置によれば、ゼロクロス
の検出以外の理由に基づいてリセット手段が第1の読出
し手段をリセットした場合でも、リセットの直前まで第
1の読出し手段により読み出されていた波形データが、
リセット後に第2の読出し手段により引き継いで読み出
されるようになる。したがって、ゼロクロスの検出以外
の理由に基づいて読出し波形が初期位相に戻る場合で
も、波形の位相やピッチの変化を原因とするノイズの発
生を防止することができるようになる。
【0016】
【実施の形態】以下、添付図面を参照してこの発明の実
施の形態を詳細に説明する。 〔実施の形態1〕図1は、この発明に係る波形発生装置
の実施の一形態を示すブロック図である。この波形発生
装置は、ギターシンセサイザーに採用されたものであ
り、その概要を示すと、エレクトリックギターGUの6
本の弦の振動が、ギターGUに取り付けたピックアップ
マイク(図示せず)によってそれぞれ取り出されてアナ
ログ信号に変換された後、A/D(アナログ/ディジタ
ル)変換器ADCによってディジタル信号に変換され
る。これらの6系統のディジタル信号は、A/D変換器
ADCから時分割に出力されて、ゼロクロス検出器1及
びエンベロープ検出器2に供給される。
【0017】ゼロクロス検出器1は、与えられたディジ
タル信号のゼロクロスを検出するものである。尚、ゼロ
クロス検出器1からクロスフェード&エンベロープ回路
7までの回路では、6系統のディジタル信号のそれぞれ
に基づき、同一内容の処理が時分割に行なわれるので、
以下では、そのうちの1系統のディジタル信号に対する
処理のみを説明することにする。
【0018】図2は、ゼロクロス検出器1の構成の一例
を示すブロック図である。A/D変換器ADCから供給
されたディジタル信号は、ローパスフィルタ係数テーブ
ル11,ハイパスフィルタ係数テーブル12からのフィ
ルタ係数データに基づきローパスフィルタ13,ハイパ
スフィルタ14により基本周波数以外の周波数成分を除
去された後、検出回路15の入力端子Aに入力されると
ともに、遅延回路16に入力される。遅延回路16から
は、A/D変換器ADCにおける1サンプリング周期で
ある時間△Tだけ遅延されたディジタル信号が出力され
て検出回路15のもう一方の入力端子Bに入力される。
したがって検出回路15には、現在のサンプル点におけ
るディジタル信号が入力端子Aに入力されると同時に、
直前のサンプル点におけるディジタル信号が入力端子B
に入力されることになる。
【0019】検出回路15は、入力端子Bに入力したデ
ィジタル信号の値がゼロ以下であり且つ入力端子Aに入
力したディジタル信号の値が正であるとき(すなわち、
直前のサンプル点から現在のサンプル点の間にゼロクロ
スがあったとき)値‘1’のパルス信号を出力し、それ
以外のときの出力値が‘0’であるものである。このパ
ルス信号は、アンド回路17の一方の入力端子に入力す
る。アンド回路17のもう一方の入力端子には、後述す
る比較回路18の出力信号が入力する。両入力端子への
入力信号の値が共に‘1’であるときのアンド回路17
の出力信号は、ゼロクロストリガーzcとしてカウンタ
ー回路3及びクロスフェードデータ発生器6(図1)に
与えられる。
【0020】図1に戻り、カウンター回路3は、波形メ
モリ4から楽音波形データを読み出すためのプログレシ
ブアドレス信号を作成するものである。図3は、カウン
ター回路3の構成の一例を示すブロック図である。カウ
ンターC1は、加算器21,セレクタ22及び上記時間
△T分の遅延回路23から成る循環回路により、時間△
T毎に値‘1’を累算するものであり、ゼロクロストリ
ガーzcが与えられる毎に、セレクタ22が値‘0’を
選択することによって初期値‘0’にリセットされる。
したがって、ゼロクロストリガーzcが与えられたとき
のカウンターC1のカウント値は、当該ゼロクロストリ
ガーzcが出力されたサンプル点とその直前にゼロクロ
ストリガーzcが出力されたサンプル点との間隔に比例
する。このようにカウンターC1は、ゼロクロス検出器
1により相前後してゼロクロスが検出されたサンプル点
同士の間隔を計測する間隔計測手段としての役割を果た
す。カウンターC1のカウント値cを示す信号は、周波
数ナンバ算出回路24に与えられるとともに、ゼロクロ
ス検出器1(図1)に与えられる。
【0021】周波数ナンバ算出回路24には、上記カウ
ント値cのほかに、演奏者がギターシンセサイザーの操
作スイッチ(図示せず)を用いて任意に選択した音色の
楽音波形データの波形メモリ4内でのメモリサイズsを
表す信号が、音色選択回路5(図1)から与えられる。
音色選択回路5は、波形メモリ4に記憶されているすべ
ての音色の楽音波形データについて、波形メモリ4内で
のメモリサイズsと、波形メモリ4内での記憶位置のス
タートアドレス信号sadとを記憶しており、演奏者が
選択した音色の楽音波形データについてのメモリサイズ
sを表す信号をこのように周波数ナンバ算出回路24に
供給するとともに、後述するように、演奏者が選択した
音色の楽音波形データについてのスタートアドレス信号
sadを波形メモリ4に供給するものである。
【0022】周波数ナンバ算出回路24は、ゼロクロス
トリガーzcが与えられる毎に(すなわちカウンターC
1がリセットされる直前に)、カウント値cに対するメ
モリサイズsの値の比s/cの整数部を周波数ナンバf
として算出するテーブルまたは演算器である。例えば、
メモリサイズが256アドレスであるとすれば、或るゼ
ロクロストリガーzcが与えられたときのカウント値c
が10であればそのときの周波数ナンバfは256/1
0の整数部である25となり、その次のゼロクロストリ
ガーzcが与えられたときのカウント値cが11であれ
ばそのときの周波数ナンバfは256/11の整数部で
ある23となる。ゼロクロストリガーzcが与えられた
ときのカウント値cは、上述のように相前後してゼロク
ロストリガーzcが出力されたサンプル点同士の間隔に
比例しており、しかもこの間隔は、その瞬間における弦
の基本振動周波数にほぼ反比例する。したがって、この
周波数ナンバ算出回路24において、ゼロクロストリガ
ーzcが与えられる毎に、その瞬間での弦の基本振動周
波数に対応した周波数ナンバfが算出されることにな
る。
【0023】この周波数ナンバfを表す信号は、その次
のゼロクロストリガーzcが与えられるまでラッチ回路
25でラッチされる。ラッチ回路25の出力は、カウン
ターC2に与えられるとともに、前記次のゼロクロスト
リガーzcが与えられてから更にその次のゼロクロスト
リガーzcが与えられるまでラッチ回路26でラッチさ
れる。ラッチ回路26の出力は、カウンターC3に与え
られる。
【0024】カウンターC2は、加算器27,オーバー
フローコントローラ28,セレクタ29及び上記時間△
T分の遅延回路30から成る循環回路により、ラッチ回
路25でラッチされた周波数ナンバfを、メモリサイズ
sをモジュロとして時間△T毎に累算する。カウンター
C2は、ゼロクロストリガーzcが与えられる毎に、セ
レクタ29が値‘0’を選択することによって初期値ゼ
ロにリセットされる。ゼロクロストリガーzcが与えら
れてからその次にゼロクロストリガーzcが与えられる
までの間隔は、その瞬間における振動のピッチにほぼ反
比例している。したがって、各瞬間毎に、その瞬間での
弦の基本振動周波数に対応した間隔で、カウンターC2
が初期値ゼロに戻ることになる。カウンターC2のカウ
ント値を表す信号は、プログレシブアドレス信号ad1
として波形メモリ4(図1)に与えられる。
【0025】尚、波形メモリ4に記憶されているすべて
の音色の楽音波形データについてのメモリサイズsがそ
れぞれ2のn乗(nは自然数)の値である場合には、メ
モリサイズsは(n−1)ビットの2進数で表現される
ので、オーバーフローコントローラ28は、一例とし
て、図4に示すようにして構成すればよい。すなわち、
加算器27からのmビット(mはn以上の大きさの自然
数)のアドレス信号ad1の各ビットを別々のアンド回
路AND1…ANDmの一方の入力端子に入力させると
ともに、アドレス信号ad1の1ビット目から(n−
1)ビット目までに対応するアンド回路AND1…AN
D(n−1)の他方の入力端子に値‘1’の信号を入力
させ、アドレス信号ad1のnビット以降に対応するア
ンド回路ANDn…ANDmの他方の入力端子には値
‘0’の信号を入力させるようにすればよい。
【0026】カウンターC3も、カウンターC2と同様
に、加算器31,オーバーフローコントローラ32,セ
レクタ33及び上記時間△T分の遅延回路34から成る
循環回路により、メモリサイズsをモジュロとして周波
数ナンバfを時間△T毎に累算する。但し、カウンター
C3には、ラッチ回路26にラッチされた周波数ナンバ
fが与えられるので、各ゼロクロストリガーzcが与え
られるまでカウンターC2が累算していた周波数ナンバ
fと同じ周波数ナンバfが、当該ゼロクロストリガーz
cが与えられた以後カウンターC3で累算される。また
カウンターC3は、ゼロクロストリガーzcが与えられ
る毎に、そのときのカウンターC2のカウント値をセレ
クタ33が選択することによって該カウント値にリセッ
トされる。したがって、カウンターC3は、ゼロクロス
トリガーzcが与えられるまでのカウンターC2のカウ
ント値を初期値として、それまでカウンターC2が累算
していた周波数ナンバfをそれ以後累算することによ
り、それまでのプログレシブアドレス信号ad1を引き
継いだ信号を出力することになる。このカウンターC3
のカウント値を表す信号は、プログレシブアドレス信号
ad2として波形メモリ4(図1)に与えられる。
【0027】図5は、プログレシブアドレス信号ad1
とad2との関係の一例を示す図である。カウンターC
1でカウントが開始され、最初のゼロクロストリガーz
cが与えられると(時間T1)、実線で示すプログレシ
ブアドレス信号ad1の値が、カウントの開始時から時
間T1までの間隔に反比例した(すなわちその瞬間での
弦の基本振動周波数に対応した)周波数ナンバで初期値
ゼロから増加していく。
【0028】そして、アドレス信号ad1の値がA1に
達したとき次のゼロクロストリガーzcが与えられると
(時間T2)、アドレス信号ad1は初期値ゼロに戻
る。このように、時間T1から時間T2までの間隔(す
なわち、その瞬間での弦の振動周波数に対応した間隔)
で初期値ゼロに戻った後、次にアドレス信号ad1は、
時間T1からT2までの間隔に反比例した(すなわち、
その瞬間での弦の基本振動周波数に対応した)周波数ナ
ンバで増加していく。また時間T2からは、破線で示す
プログレシブアドレス信号ad2が、値A1を初期値と
して、カウンターC1でのカウントの開始時から時間T
1までの間隔に反比例した周波数ナンバfで増加してい
く。これにより、時間T1からT2までのアドレス信号
ad1が、時間T2以後アドレス信号ad2に引き継が
れる。
【0029】そしてその次のゼロクロストリガーzcが
与えられると(時間T3)、アドレス信号ad1が、初
期値ゼロに戻った後、時間T2からT3までの間隔に反
比例した周波数ナンバで増加していく。(時間T2から
T3までの間隔は時間T1からT2までの間隔よりも長
かったため、時間T3からのアドレス信号ad1の増加
率は、時間T2からのアドレス信号ad1の増加率より
も小さくなっている。)また時間T3からは、アドレス
信号ad2が、そのときのアドレス信号ad1の値A2
を初期値として、時間T1からT2までの間隔に反比例
した周波数ナンバで増加していく。こうして、時間T2
からT3までのアドレス信号ad1も、時間T3以後ア
ドレス信号ad2に引き継がれる。その次以降ゼロクロ
ストリガーzcが与えられたときも、同様にして、アド
レス信号ad1が、各瞬間での弦の振動周波数に対応し
た間隔で初期値ゼロに戻った後、各瞬間での弦の基本振
動周波数に対応した周波数ナンバで増加するとともに、
それまでのアドレス信号ad1が、アドレス信号ad2
に引き継がれる。
【0030】尚、プログレシブアドレス信号ad1,a
d2を用いて波形メモリ4から読み出す楽音波形のピッ
チを一層高い精度で弦の振動周波数に対応させたい場合
には、上述のようにカウント値cに対するメモリサイズ
sの値の比s/cの整数部をカウンターC2,C3で累
算させることによりプログレシブアドレス信号ad1,
ad2を作成する代わりに、この比s/cを所定数ビッ
トシフトアップさせた値の整数部をカウンターC2,C
3で累算させた後、そのカウント値を該所定数ビットシ
フトダウンした値のうちの整数部をプログレシブアドレ
ス信号ad1,ad2として用いるようにすればよい。
すなわち、メモリサイズが256アドレスでありカウン
ト値cが10であるとすれば、256/10の整数部で
ある25をカウンターC2,C3で累算させることによ
りプログレシブアドレス信号ad1,ad2として2
5,50,75…を作成する(但しアドレス信号ad2
の初期値はここでは便宜上無視している)代わりに、例
えば256/10を4ビットシフトアップさせた値の1
6×256/10の整数部である409をカウンターC
2,C3において累算させ、そのカウント値409,8
18,1227…を4ビットシフトダウンした値409
/16,818/16,1227/16…の整数部であ
る25,51,76…をプログレシブアドレス信号ad
1,ad2として用いるようにすればよい。
【0031】図2に戻り、カウンター回路3のカウンタ
ーC1(図3)からゼロクロス検出器1に与えられたカ
ウント値cを表す信号は、比較回路18の一方の入力端
子Mに逐次入力されるとともに、ゼロクロストリガーz
cが与えられる毎にラッチ回路19にラッチされる。ラ
ッチ回路19の出力は、前述の係数テーブル11,12
に与えられるとともに、ピリオドゲートテーブル20に
与えられる。
【0032】係数テーブル11,12は、ラッチ回路1
9にラッチされたカウント値c(前述のように、この値
は、ゼロクロストリガーzcが出力された瞬間での弦の
基本振動周波数にほぼ反比例する)に基づき、各ゼロク
ロストリガーzcが出力された瞬間での弦の基本振動周
波数の付近の周波数のみを、当該ゼロクロストリガーz
cが出力されてからその次にゼロクロストリガーzcが
出力されるまでの間通過させるようなフィルタ係数デー
タを出力するテーブルである。尚、最初のゼロクロスト
リガーzcが与えられる前は、弦の基本振動周波数が全
くわからないので、広い範囲の周波数を通過させるよう
なフィルタ係数データを係数テーブル11,12から出
力させるものとする。
【0033】ピリオドゲートテーブル20は、ラッチ回
路19にラッチされたカウント値cよりも幾分小さなピ
リオドゲート値pgを算出するテーブルまたは演算器で
ある。このピリオドゲートテーブル20は、各ゼロクロ
ストリガーzcが出力されたときのカウント値cに基づ
き、その次に検出回路15によりゼロクロスが検出され
た際のカウント値cに対する基準の値を決定する(すな
わち、相前後してゼロクロストリガーzcが出力された
サンプル点同士の間隔に基づき、その次に検出回路15
によりゼロクロスが検出されるまでの間隔に対する基準
の長さを決定する)役割を果たす。このピリオドゲート
値pgを表す信号は、比較回路18のもう一方の入力端
子Nに入力される。
【0034】比較回路18は、入力端子Mに逐次入力さ
れる現在のカウント値cと、入力端子Nに入力されたピ
リオドゲート値pgとの大きさを比較し、カウント値c
がピリオドゲート値pgよりも小さいときは値‘0’を
表す信号を出力し、カウント値cがピリオドゲート値p
g以上になると値‘1’を表す信号を出力するものであ
る。また、入力端子M,Nにカウント値c,ピリオドゲ
ート値pgが入力され始めるまでの間も、比較回路18
は値‘1’を表す信号を出力する。比較回路18から出
力された信号は、アンド回路17のもう一方の入力端子
に与えられる。
【0035】これにより、検出回路15により最初にゼ
ロクロスが検出されたサンプル点では、無条件にゼロク
ロストリガーzcが出力されるが、検出回路15により
2度目以降にゼロクロスが検出されたサンプル点では、
そのサンプル点とその直前にゼロクロストリガーzcが
出力されたサンプル点との間隔が上記基準の長さに達し
ない場合には、ゼロクロストリガーzcが出力されな
い。これは、或るゼロクロスが検出された瞬間での弦の
基本振動周波数と比較して、その次にゼロクロスが検出
された瞬間での弦の基本振動周波数はそれほど異なった
大きさにはならない(したがって、相前後してゼロクロ
ストリガーzcが出力されたサンプル点同士の間隔と比
較して、その次に検出回路15によりゼロクロスが検出
されるまでの間隔はそれほど異なった長さにはならな
い)のが一般であると考えられるので、上記基準の長さ
未満の間隔でゼロクロスが検出された場合には、カウン
ターC1,C2及びC3をリセットさせないことによ
り、発生する楽音波形のピッチの急激な変動を防止する
ようにしたものである。
【0036】図1に戻り、波形メモリ4には、PCM方
式によってサンプリングした複数種類の音色についての
楽音波形データが、それぞれ1または複数周期分記憶さ
れている。波形メモリ4には、カウンター回路3からプ
ログレシブアドレス信号ad1,ad2が与えられるほ
かに、前述のとおり、演奏者が任意に選択した音色の楽
音波形データについてのスタートアドレス信号sad
が、音色選択回路5から与えられる。ギターシンセサイ
ザーのCPU(図示せず)は、波形メモリ4から、プロ
グレシブアドレス信号ad1及びスタートアドレス信号
sadを用いた楽音波形wd1の読出しと、プログレシ
ブアドレス信号ad2及びスタートアドレス信号sad
を用いた楽音波形データwd2の読出しとを並行的に行
なう。
【0037】図6は、波形メモリ4に記憶された或る種
類の音色についての1周期分の楽音波形の一例を示す図
であり、図7は、図5のアドレス信号ad1を用いて波
形メモリ4から読み出した図6と同じ種類の楽音波形w
d1(実線)と、図5のアドレス信号ad2を用いて波
形メモリ4から読み出した図6と同じ種類の楽音波形w
d2(破線)との関係の一例を示す図である。
【0038】図7において、最初のゼロクロストリガー
zcが与えられた時間T1からは、該時間T1からのプ
ログレシブアドレス信号ad1に応じた(すなわちその
瞬間での弦の基本振動周波数に対応した)ピッチで、楽
音波形wd1が初期位相ゼロから読み出されている。そ
して、次のゼロクロストリガーzcが与えられた時間T
2で、楽音波形wd1は初期位相ゼロに戻っている。こ
のように、時間T1から時間T2までの間隔(すなわち
その瞬間での弦の振動周波数に対応した間隔)で初期位
相に戻った後、続いて楽音波形wd1は、時間T2から
のプログレシブアドレス信号ad1に応じた(すなわち
その瞬間での弦の基本振動周波数に対応した)ピッチで
読み出されている。また、時間T2からは、時間T1か
ら時間T2までのアドレス信号ad1を引き継いだプロ
グレシブアドレス信号ad2により、時間T1からT2
までの楽音波形wd1の位相とピッチとを引き継いだ楽
音波形wd2が読み出されている。
【0039】そして、次のゼロクロストリガーzcが与
えられた時間T3で、楽音波形wd1は、初期位相ゼロ
に戻った後、時間T3からのプログレシブアドレス信号
ad1に応じたピッチで読み出されている。また、時間
T3からは、時間T2から時間T3までのアドレス信号
ad1を引き継いだプログレシブアドレス信号ad2に
より、時間T2からT3までの楽音波形wd1の位相と
ピッチとを引き継いだ楽音波形wd2が読み出されてい
る。その次以降ゼロクロストリガーzcが与えられたと
きも、同様にして、楽音波形wd1が、各瞬間での弦の
振動周波数に対応した間隔で初期位相ゼロに戻った後、
当該瞬間での弦の基本振動周波数に対応したピッチで読
み出されていくとともに、それまでの楽音波形wd1を
引き継いだ楽音波形wd2が読み出されていく。
【0040】この楽音波形wd1,wd2は、カウント
値cに対するメモリサイズsの値の比s/cの小数部の
値に応じた重みで(但し、前述のように、この比s/c
を所定数ビットシフトアップさせた値の整数部をカウン
ターC2,C3で累算させた後、そのカウント値を該所
定数ビットシフトダウンした値のうちの整数部をプログ
レシブアドレス信号ad1,ad2として用いるように
する場合には、カウンターC2,C3のカウント値を該
所定数ビットシフトダウンした値のうちの小数部の上位
所定桁までの値に応じた重みで)図示しない補間手段に
より補間演算を施された後、クロスフェード&エンベロ
ープ回路7(図1)に与えられる。
【0041】図1に戻り、クロスフェード&エンベロー
プ回路7は、楽音波形wd1,wd2に対し、クロスフ
ェードデータ発生器6からのクロスフェードデータとエ
ンベロープ検出器2からのエンベロープデータとを乗算
するものである。図8は、クロスフェードデータ発生器
6とクロスフェード&エンベロープ回路7との構成の一
例を示すブロック図である。クロスフェードデータ発生
器6では、減算器41,0.01倍の乗算器42,加算
器43,セレクタ44及び上記時間△T分の遅延回路4
5から成る循環回路において、時間△T毎に減算器41
で値‘1’から遅延回路45の出力を減算し且つ加算器
43で乗算器42の出力と遅延回路45の出力とを加算
することにより、図9に示すように値‘0’から値
‘1’に向けて徐々に増加するフェードデータfd1を
発生するとともに、時間△T毎に減算器46で値‘1’
からフェードデータfd1を減算することにより、同図
に示すように値‘1’から値‘0’に向けて徐々に減少
するフェードデータfd2を発生する。フェードデータ
fd1,fa2は、ゼロクロス検出器1からゼロクロス
トリガーzcが与えられる毎に、セレクタ44が値
‘0’を選択することによってそれぞれ‘0’,‘1’
にリセットされる。これにより、ゼロクロストリガーz
cが出力される毎に、フェードデータfd1,fa2か
ら成るクロスフェードデータが発生することになる。
【0042】クロスフェード&エンベロープ回路7で
は、楽音波形wd1とフェードデータfd1とを乗算器
47で乗算するとともに、楽音波形wd2とフェードデ
ータfd2とを乗算器48で乗算し、これらの乗算器4
7,48の出力を加算器49で加算する。これにより、
ゼロクロストリガーzcが出力される毎に、それまでの
楽音波形wd1を引き継いだ楽音波形wd2が徐々に振
幅を減少させていくと同時に、それ以後の楽音波形wd
1が徐々に振幅を増大させていくので、ゼロクロストリ
ガーzcの出力の前後での楽音波形の位相やピッチの変
化を原因とするノイズの発生を防止することができるよ
うになる。
【0043】尚、前述のゼロクロス検出器1のピリオド
ゲートテーブル20が算出するピリオドゲート値pgと
しては、フェードデータfd1,fa2がそれぞれ十分
に値‘1’,‘0’に近い値に達するのに必要な時間に
対応した値以上の値を算出するものとする。そうするこ
とにより、クロスフェードの途中で次のゼロクロストリ
ガーzcの出力に基づき楽音波形のクロスフェードが開
始される事態が回避されるので、こうした事態を原因と
するノイズの発生を防止することができる。
【0044】加算器49から出力された楽音波形は、乗
算器50でエンベロープ検出器2(図1)からのエンベ
ロープデータedと乗算されることにより、音の立上り
や持続や減衰をコントロールされる。これにより、各弦
についての最終的な楽音波形が得られる。クロスフェー
ド&エンベロープ回路7において得られた各弦について
の楽音波形wdは、ミキシング回路8(図1)により他
の弦についての楽音波形wdとミキシングされた後、D
/A(ディジタル/アナログ)変換器(図示せず)を経
てサウンドシステム(図示せず)に供給され、該サウン
ドシステムにより音響的に発音される。
【0045】このように、この実施の形態では、弦の振
動に基づく信号のゼロクロスを検出することに基づき、
各瞬間での弦の振動周波数に対応した間隔で位相を初期
位相に戻しつつ、且つ、当該瞬間での弦の振動周波数に
対応したピッチで、楽音波形を発生させている。したが
って、弦の振動に即応した楽音波形、換言すれば演奏者
の表現力を忠実に反映した楽音波形が発生するようにな
る。
【0046】〔実施の形態2〕次に、別の実施の一形態
として、ゼロクロス検出器及びカウンター回路の構成が
上記〔実施の形態1〕と異なっているが、その他の部分
は上記〔実施の形態1〕と同じであるものを説明する。
図10は、この別の実施の一形態に係るゼロクロス検出
器1’の構成を示すブロック図である。このゼロクロス
検出器1’では、〔実施の形態1〕のゼロクロス検出器
1(図2)に、ゼロ時点情報算出回路61を付加した構
成になっている。ゼロ時点情報算出回路61は、マイナ
ス1倍の乗算器62,減算器63及び割算器64から成
っており、ハイパスフィルタ14からのディジタル信号
の値から遅延回路16からのディジタル信号の値を減じ
た減算器63の出力信号が割算器64の入力端子Bに入
力されるとともに、遅延回路16からのディジタル信号
の値の正負の符号を反転した乗算器62の出力信号が割
算器64の入力端子Aに入力される。すなわち、割算器
64には、現在のサンプル点におけるディジタル信号の
値D1から直前のサンプル点におけるディジタル信号の
値D0を減じた値(D1−D0)の信号が入力端子Bに
入力されると同時に、直前のサンプル点におけるディジ
タル信号の値D0の正負の符号を反転した値(−D0)
の信号が入力端子Aに入力される。
【0047】割算器64は、ゼロクロストリガーzcが
与えられたとき、入力端子Aへの入力信号の値(−D
0)と入力端子Bへの入力信号の値(D1−D0)との
商{−D0/(D1−D0)}を表す信号を出力する。
したがって、ゼロ時点情報算出回路61では、ゼロクロ
ストリガーzcが出力されたサンプル点におけるディジ
タル信号の値D1とその直前のサンプル点におけるディ
ジタル信号の値D0に関して、商{−D0/(D1−D
0)}が算出されることになる。
【0048】図11は、ゼロクロストリガーzcが出力
されたサンプル点T1におけるディジタル信号の値D1
とその直前のサンプル点T1’におけるディジタル信号
の値D0との一例を示す図である。同図からもわかると
おり、商{−D0/(D1−D0)}は、サンプル点T
1’とT1との間でディジタル信号の値が直線的に変化
したと仮定した場合にその値がゼロとなる時点(これ
は、サンプル点と比較して、実際に弦の振幅がゼロにな
った時点に非常に近い時点である)をゼロ時点Tz1と
して、(T1−T1’)(=1サンプリング周期分の時
間△T)に対する(Tz1−T1’)の比(Tz1−T
1’)/(T1−T1’)=(Tz1−T1’)/△T
と一致した値である。このように、ゼロ時点情報算出回
路61は、ゼロクロストリガーzcが出力されたサンプ
ル点でのディジタル信号の値とその直前のサンプル点で
のディジタル信号の値との差に基づき、両サンプル点の
間でディジタル信号の値がゼロになるゼロ時点に関する
情報を算出する手段としての役割を果たす。
【0049】この商{−D0/(D1−D0)}を表す
信号ziは、ゼロクロス検出器1’から、図12に示す
カウンター回路3’に与えられる。このカウンター回路
3’は、〔実施の形態1〕におけるカウンター回路3
(図3)とほぼ同じ構成であるが、カウンターC1と周
波数ナンバ算出回路24との間に、減算器72,ラッチ
回路73及び加算器74から成るゼロ時点間隔情報算出
回路71が設けられている。商{−D0/(D1−D
0)}を表す信号ziは、この減算器72のプラス入力
端子に入力されるとともに、ゼロクロストリガーzcが
出力される毎にラッチ回路73にラッチされ、ラッチ回
路73の出力が、減算器72のマイナス入力端子に入力
される。したがって減算器72では、ゼロクロストリガ
ーzcが出力されたときの商{−D0/(D1−D
0)}から、その直前にゼロクロストリガーzcが出力
されたときの商{−D0/(D1−D0)}が減算され
る。減算器72の減算値は、加算器74でカウンターC
1のカウント値cと加算される。
【0050】図13は、ゼロ時点間隔情報算出回路71
でこのようにして算出される値の持つ意味を説明するた
めに、相前後するゼロ時点Tz2,Tz1の一例を示す
図である。ゼロクロストリガーzcが出力されたサンプ
ル点T2での商{−D0/(D1−D0)}は、T2の
直前のサンプル点をT2’とすると、(Tz2−T
2’)/△Tと一致しており、その直前にゼロクロスト
リガーzcが出力されたサンプル点T1での商{−D0
/(D1−D0)}は、(Tz1−T1’)/△Tと一
致している。したがって、サンプル点T2における減算
器72による減算値は、 (Tz2−T2’)/△T−(Tz1−T1’)/△T =(Tz2−Tz1+T1’−T2’)/△T =(Tz2−Tz1−n△T)/△T =(Tz2−Tz1)/△T−n となる。但しnは、T1’とT2’との間の(したがっ
てT1とT2との間の)サンプル点の数を示す値であ
る。
【0051】また、サンプル点T2におけるカウンター
C1のカウント値cもこのnに等しいので、サンプル点
T2における加算器74の加算値は、 n+(Tz2−Tz1)/△T−n =(Tz2−Tz1)/△T となる。
【0052】したがって、ゼロ時点間隔情報算出回路7
1では、相前後するゼロ時点Tz2とTz1との間隔に
比例する値(Tz2−Tz1)/△Tが算出されること
になる。このように、ゼロ時点間隔情報算出回路71
は、ゼロ時点情報算出回路61により算出された商{−
D0/(D1−D0)}に基づき、相前後するゼロ時点
の間隔に関する情報を算出する手段としての役割を果た
す。
【0053】この〔実施の形態2〕では、周波数ナンバ
算出回路24には、カウンターC1のカウント値cを表
す信号ではなく、このような相前後するゼロ時点同士の
間隔に比例する値を表す信号がゼロ時点間隔情報算出回
路71から与えられる。したがって、周波数ナンバ算出
回路24では、ゼロ時点同士の間隔に比例する値に対す
るメモリサイズsの値の比の整数部が、周波数ナンバf
として算出されることになる。これにより、波形メモリ
から読み出される楽音波形のピッチが、各瞬間での弦の
振動周波数に一層高い精度で対応するようになる。
【0054】また、カウンター回路3’に与えられた商
{−D0/(D1−D0)}を表す信号ziは、減算器
75で‘1’から減算され、減算器75の減算値{D1
/(D1−D0)}を表す信号は、乗算器76により、
周波数ナンバ算出回路24で算出された周波数ナンバf
と乗算される。そしてこの実施の形態では、カウンター
C2のセレクタ29には、値‘0’ではなく、乗算器7
6の乗算値{f×D1/(D1−D0)}を表す信号が
入力される。したがって、カウンターC2は、ゼロクロ
ストリガーzcが与えられる毎に、初期値{f×D1/
(D1−D0)}にリセットされる。
【0055】図13を例にとってこの初期値{f×D1
/(D1−D0)}を説明すると、サンプル点T2での
値{f×D1/(D1−D0)}は、 f×{1−(Tz2−T2’)/△T} =f×(T2−Tz2)/△T なので、ゼロ時点Tz2を起点として初期値ゼロから周
波数ナンバfを累算すると仮定した場合の、サンプル点
T2でのプログレシブアドレス信号ad1の値に相当す
る。このように、減算器75及び乗算器76(及びゼロ
クロス検出器1’のゼロ時点情報算出回路61)は、ゼ
ロ時点を起点として波形を立上り部の位相から周波数ナ
ンバfに応じたピッチで発生すると仮定した場合の、ゼ
ロクロストリガーzcの出力時における波形の位相を算
出する手段としての役割を果たす。
【0056】図14は、こうしてサンプル点T2からカ
ウンターC2で作成されるプログレシブアドレス信号a
d1の一例(実線の部分)を示す図であり、図15は、
図14のプログレシブアドレス信号ad1を用いて波形
メモリ4から読み出される楽音波形wd1の一例(実線
の部分)を示す図である。図15からも明らかなとお
り、ゼロ時点Tz2を起点として立上り部の位相から周
波数ナンバfに応じたピッチで読出しを行なうと仮定し
た場合のサンプル点T2での位相を初期位相として、サ
ンプル点T2から楽音波形wd1が読み出され始める。
これにより、ゼロクロストリガーzcが出力される毎
に、ゼロ時点を起点として読出しを行なうのと同じ楽音
波形が読み出されるようになる。
【0057】このように、この実施の形態では、ゼロク
ロストリガーzcが出力されるサンプル点と、実際に弦
の振幅がゼロになる時点と時間的なずれ(ジッタ)が大
幅に解消される。したがって、〔実施の形態1〕よりも
一層高い精度で弦の振動に対応した楽音波形を発生させ
ることができる。
【0058】〔実施の形態3〕次に、更に別の実施の一
形態として、カウンター回路の構成が上記〔実施の形態
1〕と異なっているが、その他の部分は〔実施の形態
1〕と同じであるものについて説明する。図16は、こ
の実施の一形態に係るカウンター回路3’’の構成を示
すブロック図である。このカウンター回路3’’は、
〔実施の形態1〕のカウンター回路3(図3)のカウン
ターC1及び周波数ナンバ算出回路24に相当する部分
が存在せず、カウンターC2,C3では一定値‘1’を
累算するようになっている。したがって、各ゼロクロス
トリガーzcが出力された瞬間の弦の振動周波数とは無
関係に、常に一定の周波数ナンバを累算することによっ
てプログレシブアドレス信号ad1,ad2が作成され
る。したがって、〔実施の形態1〕,〔実施の形態2〕
と比較して回路構成が簡単である。
【0059】図17は、カウンター回路3’’で作成さ
れたプログレシブアドレス信号ad1とad2との関係
の一例を、〔実施の形態1〕の図5と対比して示す図で
あり、図18は、図17のプログレシブアドレス信号a
d1,ad2を用いて波形メモリ4から読み出した図6
と同じ種類の楽音波形wd1(実線),wd2(破線)
の一例を、〔実施の形態1〕の図7と対比して示す図で
ある。図18からも明らかなとおり、この実施の形態で
は、ゼロクロストリガーzcが出力される毎にその瞬間
での弦の振動周波数に対応した間隔で初期位相に戻りつ
つ、しかも各瞬間での弦の振動周波数とは無関係に常に
一定のフォルマントを保持した楽音波形が読み出される
ようになる。
【0060】このように、この実施の形態では、〔実施
の形態1〕,〔実施の形態2〕よりも一層装置の小型化
が図られ、しかも、常に一定のフォルマントを保持した
楽音波形を発生させることができる。
【0061】尚、以上の実施の形態では、ゼロクロス検
出器1からのゼロクロストリガーzcの出力に基づき、
カウンターC2をリセットするとともに、それまでカウ
ンターC2で作成していたプログレシブアドレス信号a
d1を引き継いだプログレシブアドレス信号ad2をカ
ウンターC3で作成し、これらのアドレス信号ad1,
ad2を用いて読み出した楽音波形wd1,wd2を、
クロスフェード&エンベロープ回路7でクロスフェード
させることにより、ノイズの発生を防止するようにして
いる。ところで、ギターシンセサイザーにおいては、演
奏中に、現在選択している音色とは異なる種類の音色を
演奏者が操作スイッチを用いて新たに選択することもあ
る。そこで、このように音色が選択し直されたタイミン
グでは、ゼロクロストリガーzcが出力していなくても
(すなわちそれまで選択されていた音色についての楽音
波形が周期の途中であっても)、カウンターC2をリセ
ットして新たな種類の音色のためのプログレシブアドレ
ス信号ad1を作成するとともに、それまでのアドレス
信号ad1を引き継いだプログレシブアドレス信号ad
2をカウンターC3で作成するようにし、且つ、これら
のアドレス信号ad1,ad2を用いて読み出した楽音
波形wd1,wd2を、クロスフェード&エンベロープ
回路7でクロスフェードさせるようにすることが好まし
い。そうすることにより、音色の切り替えの前後での楽
音波形の位相やピッチの変化を原因とするノイズの発生
をも防止することができるようになる。
【0062】また、以上の実施の形態では、ゼロクロス
検出器において、ディジタル信号の値の負から正への変
化をゼロクロスとして検出しているが、逆に、ディジタ
ル信号の値の正から負への変化をゼロクロスとして検出
するようにしてもよい。また、以上の実施の形態では、
ギターシンセサイザーにこの発明を適用しているが、こ
れに限らず、ギター以外の弦楽器の弦の振動に基づく電
気的振動信号を演奏情報として楽音波形を発生するシン
セサイザーその他の電子楽器にこの発明を適用してもよ
く、更に、弦の振動以外に基づく任意の電気的振動信号
(例えば、音声をマイクで電気信号に変換したもの)を
演奏情報として楽音波形を発生する電子楽器にこの発明
を適用してもよい。また、以上の実施の形態では、この
発明をハードウェア回路によって構成しているが、これ
に限らず、DSP(ディジタルシグナルプロセッサ)ま
たCPU(セントラルプロセッシングユニット)の実行
するソフトウェアプログラムによって構成するようにし
てもよい。
【0063】最後にこの発明の実施態様をいくつか列挙
する。 (a) 任意の電気的振動信号を入力し、該信号の振動
値のゼロクロスを検出するゼロクロス検出手段と、波形
データを記憶した記憶手段と、前記ゼロクロス検出手段
により相前後してゼロクロスが検出されたサンプル点同
士の間隔を計測する間隔計測手段と、前記間隔計測手段
により計測された間隔に基づき、前記波形データを読み
出す際のピッチに関するピッチ情報を算出するピッチ情
報算出手段と、前記ピッチ情報算出手段により算出され
た前記ピッチ情報に応じたピッチで前記記憶手段から前
記波形データを読み出す読出し手段と、前記ゼロクロス
検出手段によるゼロクロスの検出に基づき、前記波形デ
ータを所定の初期位相から読み出すように前記読出し手
段をリセットするリセット手段とを具えた波形発生装
置。 (b) 任意の電気的振動信号を入力し、該信号の振動
値のゼロクロスを検出するゼロクロス検出手段と、波形
データを記憶した記憶手段と、前記ゼロクロス検出手段
により相前後してゼロクロスが検出されたサンプル点同
士の間隔を計測する間隔計測手段と、前記ゼロクロス検
出手段によりゼロクロスが検出されたサンプル点での前
記信号の値とその直前のサンプル点での前記信号の値と
に基づき、両サンプル点の間で前記信号の値がゼロにな
る時点として扱うゼロ時点に関するゼロ時点情報を算出
するゼロ時点情報算出手段と、前記間隔計測手段により
計測された間隔及び前記ゼロ時点情報算出手段により算
出された前記ゼロ時点情報に基づき、相前後する前記ゼ
ロ時点の間隔に関する間隔情報を算出する間隔情報算出
手段と前記間隔情報算出手段により算出された間隔に基
づき、前記波形データを読み出す際のピッチに関するピ
ッチ情報を算出するピッチ情報算出手段と、前記ピッチ
情報算出手段により算出された前記ピッチ情報に応じた
ピッチで前記記憶手段から前記波形データを読み出す読
出し手段と、前記ゼロクロス検出手段によるゼロクロス
の検出に基づき、前記波形データを所定の初期位相から
読み出すように前記読出し手段をリセットするリセット
手段とを具えた波形発生装置。 (c) 前記ゼロ時点を起点として前記波形データを立
上り部の位相から前記ピッチで発生すると仮定した場合
の、前記ゼロクロス検出手段によるゼロクロスの検出時
における前記波形の位相を算出する位相算出手段を更に
具え、前記リセット手段は、前記位相算出手段により算
出された位相から前記波形データを読み出すように前記
読出し手段をリセットするものであるbに記載の波形発
生装置。 (d) 任意の電気的振動信号を入力し、該信号の振動
値のゼロクロスを検出するゼロクロス検出手段と、波形
データを記憶した記憶手段と、前記記憶手段から前記波
形データを読み出す第1の読出し手段と、前記ゼロクロ
ス検出手段によるゼロクロスの検出に基づき、前記波形
データを所定の初期位相から読み出すように前記第1の
読出し手段をリセットするリセット手段と、前記リセッ
ト手段によるリセットの直前に前記第1の読出し手段が
読み出していた前記波形の位相を初期位相として、且
つ、該リセットの直前に前記第1の読出し手段が読出し
を行なっていたピッチと同じピッチで、前記記憶手段か
ら前記波形データを読み出す第2の読出し手段と、前記
ゼロクロス検出手段によるゼロクロスの検出に基づき、
前記第1の読出し手段により読み出される波形の振幅を
徐々に増大させるとともに前記第2の読出し手段により
読み出される波形の振幅を徐々に減少させるクロスフェ
ード手段とを具えた波形発生装置。 (e) 前記ゼロクロス検出手段により相前後してゼロ
クロスが検出されたサンプル点同士の間隔が所定の基準
の長さに達しないとき、該後のゼロクロスの検出に基づ
いて前記リセット手段がリセットを行なうことを制限す
る制限手段を更に具えた請求項1乃至3のいずれかまた
はa乃至dのいずれかに記載の波形発生装置。 (f) 前記ゼロクロス検出手段により相前後してゼロ
クロスが検出されたサンプル点同士の間隔が所定の基準
の長さに達しないとき、該後のゼロクロスの検出に基づ
いて前記リセット手段がリセットを行なうことと該後の
ゼロクロスの検出に基づいて前記ピッチ情報算出手段が
前記ピッチ情報を算出することとを制限する制限手段を
更に具えた請求項2またはa乃至dのいずれかに記載の
波形発生装置。 (g) 前記制限手段は、相前後してゼロクロスが検出
されたサンプル点同士の間隔の長さに基づき、その次に
相前後してゼロクロスが検出されるサンプル点同士の間
隔に対する基準の長さを決定する手段を含むものである
eまたはfに記載の波形発生装置。 (h) 波形データを記憶した記憶手段と、前記記憶
手段から前記波形データを読み出す第1の読出し手段
と、前記波形データを所定の初期位相から読み出すよう
に前記第1の読出し手段をリセットするリセット手段
と、前記リセット手段によるリセットの直前に前記第1
の読出し手段が読み出していた前記波形の位相を初期位
相として、且つ、該リセットの直前に前記第1の読出し
手段が読出しを行なっていたピッチと同じピッチで、前
記記憶手段から前記波形データを読み出す第2の読出し
手段と、前記リセット手段によるリセットに応じて、前
記第1の読出し手段により読み出される前記波形の振幅
を徐々に増大させるとともに前記第2の読出し手段によ
り読み出される前記波形の振幅を徐々に減少させるクロ
スフェード手段とを具えた波形発生装置。 (i) 複数種類の波形データを記憶した記憶手段
と、前記記憶手段から読み出すべき波形データの種類を
指定する指定手段と、前記記憶手段から、前記指定手段
により指定された種類の波形データを読み出す第1の読
出し手段と、前記第1の読出し手段が現在読出し中の波
形データとは異なる種類の波形データが前記指定手段に
より指定されたことに基づき、該異なる種類の波形デー
タを所定の初期位相から読み出すように前記第1の読出
し手段をリセットするリセット手段と、前記リセット手
段によるリセットの直前に前記第1の読出し手段が読み
出していた波形データと同じ種類の波形データを、該リ
セットの直前に前記第1の読出し手段が読み出していた
該波形の位相を初期位相として前記記憶手段から読み出
す第2の読出し手段と、前記リセット手段によるリセッ
トに応じて、前記第1の読出し手段により読み出される
前記波形の振幅を徐々に増大させるとともに前記第2の
読出し手段により読み出される前記波形の振幅を徐々に
減少させるクロスフェード手段とを具えた波形発生装
置。
【0064】
【発明の効果】以上のように、この発明に係る第1の波
形発生装置によれば、各瞬間毎に、その瞬間での電気的
振動信号の振動のピッチに対応した間隔で、波形が初期
位相に戻って発生する。すなわち、振動に即応した波形
が発生するようになる。しかも、装置を小型化すること
ができる。したがって、例えば弦楽器の弦の振動に基づ
く電気的振動信号を演奏情報として楽音波形を発生する
電子楽器(ギターシンセサイザー等)にこの発明を適用
した場合には、演奏者の表現力を忠実に反映した楽音波
形を、小型の装置で発生させることができるようになる
という優れた効果を奏する。
【0065】また、この発明に係る第2の波形発生装置
によれば、第1の波形発生装置におけるように、電気的
振動信号の振動のピッチに対応した間隔で波形が初期位
相に戻って発生することに加え、各瞬間毎に、その瞬間
での振動のピッチに対応したピッチで波形が発生するよ
うになる。したがって、振動に一層高い精度で対応した
波形を発生させることができるので、ギターシンセサイ
ザー等において、演奏者の表現力を一層忠実に反映した
楽音波形を発生させることができるようになる。
【0066】また、この発明に係る第3の波形発生装置
によれば、第1の波形発生装置における効果に加えて、
波形が初期位相に戻った際の波形の位相やピッチの変化
を原因とするノイズの発生を防止することができるよう
になるという優れた効果を奏する。
【0067】また、この発明に係る第4の波形発生装置
によれば、ゼロクロスの検出以外のなんらかの理由に基
づいて波形が初期位相に戻った場合(例えば、複数種類
の音色の楽音波形を選択的に発生する電子楽器におい
て、現在発生中の楽音波形とは異なる種類の楽音波形が
新たに選択されたことにより、その新たな種類の楽音波
形が初期位相から発生され始めた場合)にも、波形の位
相やピッチの変化を原因とするノイズの発生を防止する
ことができるようになるという優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係る波形発生装置の一実施の形態
を示すブロック図。
【図2】 図1のゼロクロス検出器の構成の一例を示す
ブロック図。
【図3】 図1のカウンター回路の構成の一例を示すブ
ロック図。
【図4】 図3のオーバーフローコントローラの構成の
一例を示すブロック図。
【図5】 プログレシブアドレス信号ad1とad2と
の一例を示す図。
【図6】 波形メモリから読み出された1周期分の楽音
波形の一例を示す図。
【図7】 楽音波形wd1とwd2との一例を示す図。
【図8】 図1のクロスフェードデータ発生器とクロス
フェード&エンベロープ回路との構成の一例を示すブロ
ック図。
【図9】 クロスフェードデータ発生器6の発生するク
ロスフェードデータの一例を示す図。
【図10】 図1のゼロクロス検出器の構成の別の一例
を示すブロック図。
【図11】 隣合うサンプル点におけるディジタル信号
の値の一例を示す図。
【図12】 図1のカウンター回路の構成の別の一例を
示すブロック図。
【図13】 相前後するゼロ時点の一例を示す図。
【図14】 プログレシブアドレス信号ad1の別の一
例を示す図。
【図15】 楽音波形wd1の別の一例を示す図。
【図16】 図1のカウンター回路の構成の更に別の一
例を示すブロック図。
【図17】 プログレシブアドレス信号ad1とad2
との別の一例を示す図。
【図18】 楽音波形wd1とwd2との別の一例を示
す図。
【符号の説明】
1 ゼロクロス検出器 2 エンベロープ検出器 3 カウンター回路 4 波形メモリ 5 音色選択回路 6 クロスフェードデータ発生器 7 クロスフェード&エンベロープ回路 8 ミキシング回路 11 ローパスフィルタ係数テーブル 12 ハイパスフィルタ係数テーブル 13 ローパスフィルタ 14 ハイパスフィルタ 15 検出回路 16,23,30,34,45 遅延回路 17 アンド回路 18 比較回路 19,25,26,73 ラッチ回路 20 ピリオドゲートテーブル 21,27,31,43,49,74 加算器 22,29,33,44 セレクタ 24 周波数ナンバ算出回路 28,32 オーバーフローコントローラ 41,46,63,72,75 減算器 42,47,48,50,62,76 乗算器 61 ゼロ時点情報算出回路 64 割算器 71 ゼロ時点間隔情報算出回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北山 徹 静岡県浜松市中沢町10番1号 ヤマハ株 式会社内 (72)発明者 渋谷 資之 静岡県浜松市中沢町10番1号 ヤマハ株 式会社内 (56)参考文献 特開 平5−216468(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 G10H 7/02

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 任意の電気的振動信号を入力し、該信号
    の振動値のゼロクロスを検出するゼロクロス検出手段
    と、 波形データを記憶した記憶手段と、 前記記憶手段から前記波形データを読み出す読出し手段
    と、 前記ゼロクロス検出手段によるゼロクロスの検出に基づ
    き、前記波形データを所定の初期位相から読み出すよう
    に前記読出し手段をリセットするリセット手段とを具え
    た波形発生装置。
  2. 【請求項2】 任意の電気的振動信号を入力し、該信号
    の振動値のゼロクロスを検出するゼロクロス検出手段
    と、 波形データを記憶した記憶手段と、 前記ゼロクロス検出手段によるゼロクロスの検出に基づ
    き、前記波形データを読み出す際のピッチに関するピッ
    チ情報を算出するピッチ情報算出手段と、 前記ピッチ情報算出手段により算出された前記ピッチ情
    報に応じたピッチで前記記憶手段から前記波形データを
    読み出す読出し手段と、 前記ゼロクロス検出手段によるゼロクロスの検出に基づ
    き、前記波形データを所定の初期位相から読み出すよう
    に前記読出し手段をリセットするリセット手段とを具え
    た波形発生装置。
  3. 【請求項3】 任意の電気的振動信号を入力し、該信号
    の振動値のゼロクロスを検出するゼロクロス検出手段
    と、 波形データを記憶した記憶手段と、 前記記憶手段から前記波形データを読み出す第1の読出
    し手段と、 前記ゼロクロス検出手段によるゼロクロスの検出に基づ
    き、前記波形データを所定の初期位相から読み出すよう
    に前記第1の読出し手段をリセットするリセット手段
    と、 前記リセット手段によるリセットの直前に前記第1の読
    出し手段により読み出されていた前記波形の位相を初期
    位相として、前記記憶手段から前記波形データを読み出
    す第2の読出し手段と、 前記ゼロクロス検出手段によるゼロクロスの検出に基づ
    き、前記第1の読出し手段により読み出される波形の振
    幅を徐々に増大させるとともに前記第2の読出し手段に
    より読み出される波形の振幅を徐々に減少させるクロス
    フェード手段とを具えた波形発生装置。
  4. 【請求項4】 波形データを記憶した記憶手段と、 前記記憶手段から前記波形データを読み出す第1の読出
    し手段と、 前記波形データを所定の初期位相から読み出すように前
    記第1の読出し手段をリセットするリセット手段と、 前記リセット手段によるリセットの直前に前記第1の読
    出し手段により読み出されていた前記波形の位相を初期
    位相として、前記記憶手段から前記波形データを読み出
    す第2の読出し手段と、 前記リセット手段によるリセットに応じて、前記第1の
    読出し手段により読み出される前記波形の振幅を徐々に
    増大させるとともに前記第2の読出し手段により読み出
    される前記波形の振幅を徐々に減少させるクロスフェー
    ド手段とを具えた波形発生装置。
JP26496195A 1995-09-19 1995-09-19 波形発生装置 Expired - Fee Related JP3298382B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26496195A JP3298382B2 (ja) 1995-09-19 1995-09-19 波形発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26496195A JP3298382B2 (ja) 1995-09-19 1995-09-19 波形発生装置

Publications (2)

Publication Number Publication Date
JPH0990940A JPH0990940A (ja) 1997-04-04
JP3298382B2 true JP3298382B2 (ja) 2002-07-02

Family

ID=17410620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26496195A Expired - Fee Related JP3298382B2 (ja) 1995-09-19 1995-09-19 波形発生装置

Country Status (1)

Country Link
JP (1) JP3298382B2 (ja)

Also Published As

Publication number Publication date
JPH0990940A (ja) 1997-04-04

Similar Documents

Publication Publication Date Title
US4649783A (en) Wavetable-modification instrument and method for generating musical sound
US5321350A (en) Fundamental frequency and period detector
KR0164590B1 (ko) 음원 데이타 발생, 기록 또는 재생장치
US5512704A (en) Electronic sound signal generator achieving scratch sound effect using scratch readout from waveform memory
US4200021A (en) Electronic musical instruments which form musical tones by repeatedly generating musical tone waveform elements
JPS6140118B2 (ja)
JP3298382B2 (ja) 波形発生装置
JP2619242B2 (ja) 時変スペクトルを有する楽音を発生する電子楽器
JPH0664466B2 (ja) 電子楽器
JPH0812557B2 (ja) 電子楽器用アコースティック楽音シンセサイザ
US5324882A (en) Tone generating apparatus producing smoothly linked waveforms
JP2606918B2 (ja) 楽音情報演算方式
GB2294799A (en) Sound generating apparatus having small capacity wave form memories
JPH0231399B2 (ja)
JP3419175B2 (ja) エンベロープ検出方法
JPH0583917B2 (ja)
JP2537340B2 (ja) 楽音発生装置
JP2699886B2 (ja) 楽音制御情報発生装置
JP3280794B2 (ja) 残響音生成装置及び残響音生成方法
JPS581800B2 (ja) デンシガツキ
JP3288500B2 (ja) 電子楽器の楽音発生装置
JP3082881B2 (ja) 電子楽器
JP2991436B2 (ja) 楽音信号発生装置
JPH0560118B2 (ja)
JPH02179693A (ja) 処理装置

Legal Events

Date Code Title Description
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: 20090419

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110419

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees