JPH0560118B2 - - Google Patents

Info

Publication number
JPH0560118B2
JPH0560118B2 JP59212382A JP21238284A JPH0560118B2 JP H0560118 B2 JPH0560118 B2 JP H0560118B2 JP 59212382 A JP59212382 A JP 59212382A JP 21238284 A JP21238284 A JP 21238284A JP H0560118 B2 JPH0560118 B2 JP H0560118B2
Authority
JP
Japan
Prior art keywords
data
residual
sampling
musical tone
output
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 - Lifetime
Application number
JP59212382A
Other languages
Japanese (ja)
Other versions
JPS6190198A (en
Inventor
Hideo Suzuki
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 JP59212382A priority Critical patent/JPS6190198A/en
Priority to US06/784,842 priority patent/US4781096A/en
Priority to EP85112743A priority patent/EP0177934B1/en
Priority to DE8585112743T priority patent/DE3585125D1/en
Publication of JPS6190198A publication Critical patent/JPS6190198A/en
Publication of JPH0560118B2 publication Critical patent/JPH0560118B2/ja
Priority to SG1895A priority patent/SG1895G/en
Priority to HK134595A priority patent/HK134595A/en
Granted legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/30Hydrogen technology
    • Y02E60/50Fuel cells

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 この発明は、電子楽器等電気的に楽音を発生す
る装置において用いられる楽音信号発生装置に関
する。 〔従来技術〕 電子楽器においては、いかに自然楽器の楽音に
近い楽音を発生するかが大きな課題である。電子
楽器における楽音形形成方法としては種々の方法
が知られているが、それらの中でも、自然楽器の
楽音波形の各瞬時値を逐次サンプリングしてメモ
リに記憶させておき、この記憶させたサンプリン
グデータを読出して楽音信号を発生する方法
{PCM(Pulse Code Modulation)方式と呼ばれ
る)が、最も自然楽音に近い楽音を発生すること
ができて優れている。なお、この方法は、特開昭
52−121313号公報(発明の名称:電子楽器)に開
示されている。 〔発明が解決しようとする問題点〕 自然楽器の楽音波形は、同一の楽器でも音高ま
たは音域等によつて微妙に異なつている。例えば
ピアノの場合、わずかではあるが各鍵毎に楽音波
形が異なつている。なお、各鍵毎に周期が異なつ
ているのは勿論であるが、周期以外の波形そのも
のの形も異なつている。したがつて、PCM方式
によつて真に自然楽器に近い楽音を発生しようと
した場合、各楽器毎に、また必要に応じて各音高
毎に楽器波形をメモリしなければならず、この結
果メモリ容量が極めて膨大になる。すなわち、
PCM方式は自然楽器に近い楽音を発生できる点
で極めて優れているが、上述したメモリ容量の問
題がネツクとなつて、実用化が妨げられていた。 なお、メモリに記憶させるデータ量を減らす方
法として、DPCM(Differntical Pulse Code
Modulation)、ADPCM(Adaptive Differntical
Pulse Code Modulation)等の方法と知られて
いるが、これらの方法によつても未だデータ量の
削減が充分でなく、さらにこれらの方法には、忠
実に元の波形を再生し得ない欠点がある。 この発明は上記事情に鑑みてなされたもので、
その目的は自然楽器の楽音波形の各瞬時値をメモ
リする方式の楽音信号発生装置であつて、しか
も、従来に比較しメモリ容量を大幅に削減するこ
とができ、かつ、元の波形を忠実に再生すること
ができる楽音信号発生装置を提供することにあ
る。 〔問題点を解決するための手段〕 この発明は、楽音波形をサンプリングして得た
サンプリングデータと、複数のサンプリングデー
タから算出した予測データとの差として残差デー
タを求め、この残差データそのもの、またはこの
残差データに対応するデータをメモリに記憶させ
ておく。そして、楽音信号発生時には上記メモリ
内のデータを読出し、この読出したデータにもど
づいてサンプリングデータを再生して楽音信号を
得る。ここで、楽音信号発生時の当初において
は、複数の初期サンプリングデータが再生手段に
セツトされる。 〔作用〕 この発明によれば、サンプリングデータそのも
のではなく、サンプリングデータと予測データと
の差である残差データ、あるいはこの残差データ
に対応するデータをメモリに記憶させる。この場
合、残差データあるいは残差データに対応するデ
ータはサンプリングデータに比較しはるかに小さ
い値のデータであり、したがつて、ビツト数もサ
ンプリングデータに比較しはるかに少くなる。さ
らに、本願発明にあつては、初期サンプリングデ
ータが再生手段にセツトされるから、楽音信号発
生当初においても、正確な楽音信号が再生され
る。 〔第1実施例〕 第1図はこの発明に関する第1の実施例の構成
を示すブロツク図であり、同図イはメモリMにデ
ータを書込むデータ書込み回路を示し、同図ロは
メモリM内のデータを読出して楽音信号を発生す
る楽音信号発生装置を示す。 第1図イにおいて、符号1はADC(アナログ/
デイジタル変換器)であり、自然楽器の楽音信号
F(t)をクロツクパルスφのタイミングで順次サン
プリングし、このサンプリングしたデータ(アナ
ログデータ)をデイジタルサンプリングデータF
(n)に変換して順次主力する。予測データ発生回路
2はサンプリングデータF(n)に基づいて予測デー
タFY(n)を発生し、減算回路3へ出力する。ここ
で、予測データFY(n)は一例として、 FY(n)={F(n−1)+F(n+1)}/2 …(1) なる式に基づいて作成される。すなわち、いま第
2図に示す曲線を楽音信号F(t)とすれば、図に示
す時刻t(n−1)、t(n)、t(n+1)、t(n+
2)において各々、ADC1からサンプリングデ
ータF(n−1)、F(n)、F(n+1)、F(n+2

が各々出力される。予測データ発生回路2は、時
刻t(n+1)において、サンプリングデータF
(n−1)とその時点で供給されたサンプリング
データF(n+1)とを加算し、この加算結果を
「2」で割ることにより予測データFY(n)を作成
し、出力する。同様に、時刻t(n+2)におい
ては、サンプリングデータF(n)と、F(n+2)
から予測データFY(n+1)を作成し、出力す
る。減算回路3は、サンプリングデータF(n)をク
ロツクパルスφの1ビツトタイム遅延させ、この
遅延させたデータから予測データFY(n)を減算し
て残差データD(n)を作成する。すなわち、この減
算回路3は時刻t(n+1)において、 D(n)=F(n)−FY(n) …(2) なる演算により残差データD(n)を作成し、出力す
る。ここで、残差データD(n)は、第2図からも明
らかなようにサンプリングデータF(n)に比較しは
るかに小さい値であり、したがつて、そのビツト
数もサンプリングデータF(n)のビツト数より少な
いビツト数で済む。 しかして、上述した残差データD(n)がメモリM
内に順次書込まれる。 次に、第1図ロにおいて、符号5はメモリMか
ら残差データD(n)を読出し、この読出したデータ
D(n)に基づいてサンプリングデータF(n)を再生す
るサンプリングデータ再生回路である。以下、こ
の回路5について説明する。前述した第(1)式を第
(2)式に代入すれば、 D(n)=F(n)−{F(n−1) +F(n+1)}/2 …(3) なる式が得られる。この第(3)式を変形すれば、 F(n+1)=2{F(n)−D(n)} −F(n−1) …(4) なる式が得られる。サンプリングデータ再生回路
5は、この第(4)式に基づいてサンプリングデータ
F(n)の再生を行う。すなわち、いま、サンプリン
グデータ再生回路5内にサンプリングデータF(n)
の初期値F(0)およびF(1)が予め記憶されてい
るとする。再生回路5は、まず、初期値F(0)
およびF(1)をクロツクパルスφに従つて順次出力
し、そしてメモリMから読出された残差データD
(1)に基づき第(4)式の演算を行う。すなわちデータ
F(1)からデータD(1)を減算し、この減算結果に
「2」を乗算し、この乗算結果からデータF(0)
を減算する。以上の演算により、サンプリングデ
ータF(2)が得られる。再生回路5は、このように
して得られたサンプリングデータF(2)を初期値F
(0)およびF(1)に続いてDAC(デイジタル/ア
ナログ変換器)6へ出力する。次いで、再生回路
5は、クロツクパルスφの1ビツトタイムが経過
した時点で、メモリMから読出された残差データ
D(2)に基づき第(4)式の演算を行い、これにより得
られたサンプリングデータF(3)をDAC6へ出力
する。以下同様に過程が繰返えされ、これにより
サンプリングデータF(n)が順次DAC6へ供給さ
れる。DAC6は、順次供給されるサンプリング
データF(n)をアナログ信号に変換し、出力する。
このようにして、楽音信号F(t)と同一の信号(但
し、量子化誤差は存在する)がDAC6から出力
される。なお、予測データ発生回路2およびサン
プリングデータ再生回路5の具体的構成は以下に
説明する第2実施例の構成から容易に理解し得る
であろう。 以上が第1図に示す実施例の詳細である。この
実施例によれば、メモリMの記憶容量を従来に比
較して大幅に削減することができ、しかも、サン
プリングデータ再生回路5においてサンプリング
データF(n)をそのまま再生することができる。 〔第2実施例〕 第3図はこの発明に関する第2の実施例の構成
を示すブロツク図であり、第3図イはメモリMに
データを書込むデータ書込み回路の構成を示し、
また第3図ロはメモリM内のデータを読出して楽
音信号を発生する楽音信号発生回路の構成を示
す。 第2実施例は前述した第1実施例をさらに改良
したもので、その改良点は次の2点である。 第1点: 自然楽器の楽音波形は周期性を有している。第
1の改良点はこの周期性に着目してなされたもの
で、前記第1の実施例においては、メモリMに残
差データD(n)をそのまま記憶させたが、この第2
の実施例においては、メモリMに、その残差デー
タD(n)と1周期前の残差データD(n)との差(以
下、残差差データE(n)と称す)を記憶させてい
る。以下、詳細に説明する。いま、第4図に示す
波形を自然楽器の楽音信号F(t)の波形とし、ま
た、時刻t(00)を楽音発生開始時刻とする。こ
の場合、第1周期T1のあるサンプル点時刻t(K)1
における残差データD(K)1と、第2周期T2の、時
刻t(K)1に対応する(同一位相の)サンプル点時
刻t(K)2における残差データD(n)2との差は極めて
わずかである。同様に時刻t(K)2における残差デ
ータD(K)2と時刻t(K)3における残差データD(K)3
との差も極めてわずかである。そこで、第3図に
示す第2実施例においては、算出した残差データ
D(n)から、1周期前の対応するサンプ点における
残差データD(n)を減算し、この減算結果、すなわ
ち、残差差データE(n)をメモリMに書込むように
なつている(第4図参照)。なお、第1周期T1に
おいては、1周期前の残差データD(n)が存在しな
いので、残差差データE(n)1は残差データD(n)1
同一のデータとなる。 しかして、残差差データE(n)の値は残差データ
D(n)の値よりはるかに小さく、したがつてメモリ
Mに記憶させるデータ量を第1実施例よりさらに
少なくすることができる。なお、残差差データE
(n)からサンプリングデータF(n)を再生するのは、
後述するように簡単な回路によつて実現できる。 第2点: 第2の改良点は、予測データFY(n)の算出方法
である。すなわち、前記第1の実施例において
は、予測データFY(n)を2個のサンプリングデー
タF(n−1)およびF(n+1)から算出した
が、(第(1)式参照)、この第2実施例においては、
予測データンFYa(n)を4個のサンプリングデー
タF(n−2)、F(n−1)、F(n+1)、(n+
2)から算出している。以下、第5図を用いてこ
の算出方法を説明する。 まず、サンプリングデータF(n−2)、F(n
−1)から予測データP(n−1)を、サンプリ
ングデータF(n−1)、F(n+1)から予測デ
ータP(n)を、また、サンプリングデータF(n+
1)、F(n+2)から予測データP(n+1)を
各々算出する。この算出は次式による。 P(n−1)=F(n−1) +{F(n−1)−F(n−2)} …(5) P(n)={F(n−1) +F(n+1)}/2 …(6) P(n+1)=F(n+1) +{F(n+2)−F(n+1)} …(7) 次に、これらの予測データP(n−1)、P(n)、
P(n+1)に各々「1」、「2」、「1」の重み付
け係数を掛けた後加算し、この加算結果を「4」
で割ることにより予測データFYa(n)を求める。 FYa(n)={P(n−1)+2P(n) +P(n+1)}/4 …(8) 以上が予測データFYa(n)の算出方法の基本的
考え方である。上記第(8)式に前記第(5)〜第(7)式を
代入し、整理すると、 FYa(n)={−F(n−2)+3F(n−1)+3F(n
+1)−F(n+2)}/4…(9) な式が得られる。すなわち、第2の実施例におい
ては、この第(9)式に基づいて予測データFYa(n)
が算出される。 しかして、上記算出方法によれば、前述した第
1実施例における予測データFY(n)の算出方法に
比較し、実際のサンプリングデータF(n)により近
い予測データFYa(n)を算出することができ、し
たがつて、残差データD(n)の値がより小さな値と
なり、ビツト数も少くて済むことになる。なお、
前述した重み付け係数は、サンプリングデータF
(n)と予測データFY(n)との差が最小になるように、
例えば最小二乗予測等を用いて決定してもよい。 以上が第2実施例における改良点である。次
に、この第2実施例の具体的構成を第3図イ,ロ
を参照して説明する。まず、第3図イにおいて、
自然楽器の楽音信号F(t)はADC1によつてサン
プリングデータF(n)に変換され、残差データ発生
回路11へ供給される。残差データ発生回路1
1、前述した第1図イの予測データ発生回路2お
よび減算回路3に相当するもので、サンプリング
データF(n)から前述した予測データFYa(n)を減
算した残差データD(n)、すなわち、 D(n)=F(n)−FYa(n) …(10) を算出し、出力する。この第(10)式に前記第(9)式を
代入し、整理すると、 D(n)={F(n−2)−3F(n−1) +4F(n)−3F(n+1)+F(n+2)}/4 …(11) なる式が得られる。残差データ発生回路11は、
この第(11)式の演算を行つて残差データD(n)を求
め、出力する。 すなわち、残差データ発生回路11において、
符号12〜16は各々クロツクパルスφによつて
トリガされるDFF(デイレイフリツプフロツプ)
であり、これらのDFF12〜16にはクロツク
パルスφに従つてサンプリングデータF(n)が順次
読込まれる。各DFF12〜16の出力は各々、
乗算器17〜21に供給されて「1/4」、「−
3/4」、「1」、「−3/4」「1/4」が乗算さ
れ、各乗算結果が加算器22において加算され、
残差データD(n)として出力される。なお、乗算器
17〜21はデータシフト回路、加算器等により
簡単に構成することができる。しかして、サンプ
リング時刻t(n+2)において、DFF12〜1
6には各々サンプリングデータF(n+2)、F
(n+1)、F(n)、F(n−1)、F(n−2)が読
込まれ、したがつて、加算器22から第(11)式の残
差データD(n)が出力される。なお、この残差デー
タ発生回路11の構成は、デイジタルフイルタの
一種である直線位相FIRフイルタの構成と同一で
ある。 次に、加算器22から出力された残差データD
(n)は減算器23の入力端へ供給される。減算器
23は、その入力端へ供給されるデータから
入力端へ供給されるデータを減算し、この減算結
果を残差差データE(n)として出力する。すなわ
ち、この減算器23は加算器22から出力される
残差データD(n)から1周期(楽音信号F(t)の1周
期)前の残差データD(n)を減算する回路であり、
その入力端へはシフトレジスタ24の出力デー
タがアンドゲート25を介して供給される。シフ
トレジスタ24は残差データD(n)を1周期保持す
るためのレジスタで、1周期内のサンプル点数に
等しいステージを有し、入力端INで供給される
残差データD(n)をクロツクパルスφに基づいて順
次読込む。読込まれたデータD(n)は、シフトレジ
スタ24内において順次シフトされ、1周期経過
後に出力端Qから出力される。 しかして、楽音信号F(t)の第1周期T1(第4図
参照)においては、信号ICが“1”信号となる。
これにより、インバータ27から“0”信号が出
力され、アンドゲート25からデータ「0」が出
力される。この結果、加算器22から出力された
残差データD(n)1はそのまま減算器23から残差
差データE(n)1として出力される。そして、この
残差差データE(n)1は順次メモリMに書込まれる
と共に、加算器28へ供給される。加算器28
は、残差差データE(n)1(=D(n)1)とアンドゲー
ト25の出力データ「0」とを加算し、この加算
結果、すなわち残差データD(n)1を順次シフトレ
ジスタ24の入力端INへ供給する。この残差デ
ータD(n)1は順次シフトレジスタ24内に読込ま
れる。 次に、第2周期T2においては、信号ICが“0”
信号に立下る。なお、信号ICは、以後連続的に
“0”信号状態を保つ。信号ICが“0”信号にな
ると、アンドゲート25が開状態となり、シフト
レジスタ24内の残差データD(n)1が同アンドゲ
ート25を介して減算器23の入力端および加
算器28の入力端へ供給される。この結果、第2
周期T2においては、減算器23から、 E(n)2=D(n)2−D(n)1 …(12) なる残差差データE(n)2が出力され、このデータ
E(n)2がメモリMに書込まれ、また、加算器28
から、 E(n)2+D(n)1=D(n)2−D(n)1+D(n)1=D(n)2…(1
3) なるデータ、すなわち残差データD(n)2が出力さ
れ、この残差データD(n)2がシフトレジスタ24
内に順次読込まれる。 以下、同様の過程が繰返えされ、これにより、
メモリM内に残差差データE(n)1、E(n)2、…が順
次書込まれる。 なお、第3図イの下半部の回路は第6図のよう
に構成することも可能である。この第6図の構成
によれば第3図イにおける加算器28を省略する
ことができる。 次に、第3図ロにおいて、メモリMから読出さ
れた残差差をデータE(n)は加算器31の一方の入
力端へ供給される。なお、メモリMの読出しは勿
論クロツクパルスφのタイミングで行われる。加
算器31およびシフトレジスタ32は残差差デー
タE(n)を残差差データD(n)に戻すためのものであ
る。すなわち、まずメモリMから第1周期T1の
各残差差をデータE(n)1(=D(n)1)が読出される
タイミングにおいては、信号ICが“1”信号と
なり、したがつてインバータ33から“0”信号
が出力され、アンドゲート34からデータ「0」
が出力される。そして、このデータ「0」が加算
器31の他方の入力端へ供給される。これによ
り、加算器31から残差データD(n)1が出力され
サンプリングデータ再生回路35およびシフトレ
ジスタ32へ供給される。シフトレジスタ32は
前述したシフトレジスタ24(第3図イ)と同一
構成であり、供給された各種差データD(n)1を順
次読込み、シフトし、1周期後に出力端Qから出
力する。次に、メモリMから第2周期T2の各残
差差データE(n)2が出力されるタイミングにおい
て信号ICが“0”信号となる。以後、この信号
ICは“0”信号の状態を続ける。上記タイミン
グにおいて信号ICが“0”信号になると、アン
ドゲート34が開放状態となり、シフトレジスタ
32内の残差データD(n)1がアンドゲート34を
介して加算器31の他方の入力端へ順次供給され
る。これにより、加算器31から、 E(n)2+D(n)1=D(n)2−D(D1)+D(n)1=D(n)2
…(14) なるデータ、すなわち残差データD(n)2が出力さ
れ、この残差データD(n)2がサンプリングデータ
再生回路35へ供給されると共に、シフトレジス
タ32に順次読込まれる。以下、同様の動作が繰
返され、これによりサンプリングデータ再生回路
35へ残差データD(n)1、D(n)2、…が順次供給さ
れる。 サンプリングデータ再生回路35は、残差デー
タD(n)からサンプリングデータF(n)を再生する回
路である。残差データD(n)は、前述した第(11)式に
基づいて作成されている。この第(11)式を変形する
と、 F(n+2)=−F(n−2)+3F(n−1)
−4F(n)+3F(n+1)+4D(n)…(15) なる式が得られる。サンプリングデータ再生回路
35はこの第(15)式に基づいてサンプリングデータ
F(n)を再生する。 以下詳述すると、サンプリングデータ再生回路
35において、符号36〜39はDFF、40〜
44は乗算器、45は加算器である。いま、加算
器31から残差データD(2)が出力された時点を考
える。また、この時点でDFF39〜36に各々
サンプリングデータF(n)の初期値F(0)、F(1)、
F(2)、F(3)が各々記憶されているとする。この場
合、上述した初期値F(0)〜F(3)に各々、乗算
器44〜41において係数「−1」、「3」、「−
4」、「3」が乗算され、この乗算結果が加算器4
5へ供給される。また、残差データD(2)には、乗
算器40において係数「4」が乗算され、この乗
算結果が加算器45へ供給される。この結果、残
差データD(2)が加算器31から出力された時点に
おいて、加算器45の出力データが、 −F(0)+3F(1)−4F(2)+3F(3)+4D(2)…(16) となる。このデータは第(15)式から明らかなよう
に、サンプリングデータF(4)である。すなわち残
差データD(2)が加算器31から出力されると、加
算器45からサンプリングデータF(4)が出力さ
れ、DAC46およびDFF36の入力端へ供給さ
れる。次に、クロツクパルスφの1ビツトタイム
後に加算器31から残差データD(3)が出力される
と、この時点でDFF36〜39に各々データF
(4)〜F(1)が読込まれることから、加算器45か
ら、 −F(1)+3F(2)−4F(3)+3F(4)+4D(3) …(17) なるデータ、すなわちサンプリングデータF(5)が
出力される。以下、加算器31から残差データD
(4)、D(5)…が順次出力される、上述した場合と同
様にして加算器45からサンプリングデータF
(6)、F(7)…が順次出力され、DAC46へ供給さ
れる。これにより、DAC46の出力として、自
然楽器の楽音信号F(t)と同一の信号が得られる。
尚、上述したサンプリングデータ再生回路35は
デイジタルフイルタの一種であるIIRフイルタと
同一構成である。 以上が第2実施例の詳細である。なお、前述し
た第1の実施例においては予測データFY(n)を過
去のデータF(n−1)および未来のデータ(n
+1)から求め、また、上記第2の実施例におい
ては予測データFYa(n)を過去のデータF(n−
2)、F(n−1)および未来のデータF(n+
1)、下(n+2)から求めたが、この予測デー
タを例えば過去のデータのみから求めてもよい。 また、第3図ロの説明においては、楽音再生開
始時においてDFF39〜36に各々サンプリン
グデータF(n)の初期値F(0)〜F(3)が記憶され
ているものとしたが、楽音再生時においてDFF
39〜36を各々リセツトしてもよい。この場
合、立上りの数データについてはサンプリングデ
ータF(n)を正しく再生することができないが、そ
れ以後については正しく再生することができる。 また、上記実施例においては、残差差データE
(n)を、各周期の残差データD(n)と1周期前の残差
データD(n)との差を求めることにより得ている
が、これに限らず、任意の周期前(例えば、2周
期や1/2周期前)の残差データD(n)との差から求
めるようにしてもよい。このためには、第3図イ
およびロのシフトレジスタ24および32のステ
ージ数を所定周期内のサンプル点数に対応して設
定すればよい。この場合、シフトレジスタ24,
32の代わりに、RAM等のメモリを用いて残差
データD(n)を遅延するようにしてもよい。 ところで、上述した第1、第2の実施例におい
て、特別の回路を付加すればメモリMに記憶させ
るべきデータ量をさらに減らすことが可能とな
る。すなわち、メモリMに記憶させるべき残差デ
ータD(n)または残差差データE(n)を更にShannon
−FanoコードまたはHuffmanコードに変換して
メモリMに記憶させればよい。 以下に、Huffmanコードについて簡単に説明
する。例えば第1実施例において、残差データD
(n)の各種(0、±1、±2…)の発生確立は各々異
なつている。Huffmanコードはこの発生確立に
着目したコードであり、発生確立が大きいデータ
に対して少いビツト数のコードを割当てるように
したものである。なお、Shannon−Fanoコード
も同様の考え方による。第1表は、残差データD
(n)の値と、HuffmanコードHCとの関係の一例を
示す表である。
[Industrial Application Field] The present invention relates to a musical tone signal generating device used in a device that electrically generates musical tones, such as an electronic musical instrument. [Prior Art] A major challenge in electronic musical instruments is how to generate musical tones that are close to the musical tones of natural musical instruments. Various methods are known for forming musical sound shapes in electronic musical instruments, but among them, one method involves sequentially sampling each instantaneous value of a musical sound waveform of a natural musical instrument and storing it in a memory, and then using the stored sampling data. The method of reading out and generating musical tone signals (called the PCM (Pulse Code Modulation) method) is excellent because it can generate musical tones that are closest to natural musical tones. Note that this method is
It is disclosed in Publication No. 52-121313 (title of invention: electronic musical instrument). [Problems to be Solved by the Invention] The sound waveforms of natural musical instruments vary slightly depending on the pitch, range, etc. of the same instrument. For example, in the case of a piano, the musical sound waveform differs for each key, albeit slightly. Note that, of course, the period differs for each key, but the shape of the waveform itself other than the period also differs. Therefore, in order to generate musical sounds that are truly close to those of natural instruments using the PCM method, it is necessary to memorize instrument waveforms for each instrument and, if necessary, for each pitch. Memory capacity becomes extremely large. That is,
The PCM method is extremely superior in that it can generate musical tones close to those of natural instruments, but the memory capacity problem mentioned above has been a hindrance, preventing its practical application. Note that DPCM (Differential Pulse Code) is a method to reduce the amount of data stored in memory.
Modulation), ADPCM (Adaptive Differential
However, these methods still do not reduce the amount of data sufficiently, and furthermore, these methods have the disadvantage that they cannot faithfully reproduce the original waveform. be. This invention was made in view of the above circumstances,
The purpose of this device is to create a musical tone signal generator that memorizes each instantaneous value of the musical sound waveform of a natural musical instrument.Moreover, it can significantly reduce the memory capacity compared to conventional methods, and can faithfully reproduce the original waveform. An object of the present invention is to provide a musical tone signal generating device that can reproduce musical tone signals. [Means for Solving the Problems] This invention obtains residual data as the difference between sampling data obtained by sampling a musical sound waveform and predicted data calculated from a plurality of sampling data, and calculates residual data itself. , or data corresponding to this residual data is stored in memory. Then, when a musical tone signal is generated, data in the memory is read out, and sampling data is reproduced based on the read data to obtain a musical tone signal. Here, at the beginning when a musical tone signal is generated, a plurality of initial sampling data are set in the reproduction means. [Operation] According to the present invention, not the sampling data itself, but the residual data that is the difference between the sampling data and the predicted data, or the data corresponding to this residual data, is stored in the memory. In this case, the residual data or data corresponding to the residual data has a much smaller value than the sampling data, and therefore the number of bits is also much smaller than the sampling data. Furthermore, in the present invention, since the initial sampling data is set in the reproducing means, accurate musical tone signals can be reproduced even at the beginning of musical tone signal generation. [First Embodiment] FIG. 1 is a block diagram showing the configuration of a first embodiment of the present invention. 1 shows a musical tone signal generating device that reads out data from the internal memory and generates a musical tone signal. In Figure 1A, code 1 is an ADC (analog/
It is a digital converter) that sequentially samples the musical tone signal F(t) of a natural musical instrument at the timing of the clock pulse φ, and converts this sampled data (analog data) into digital sampling data F.
(n) and gradually become the mainstay. The predicted data generation circuit 2 generates predicted data FY(n) based on the sampling data F(n) and outputs it to the subtraction circuit 3. Here, the prediction data FY(n) is created based on the formula, for example, FY(n)={F(n-1)+F(n+1)}/2 (1). That is, if the curve shown in FIG. 2 is the musical tone signal F(t), the times t(n-1), t(n), t(n+1), t(n+
2), sampling data F(n-1), F(n), F(n+1), F(n+2) from ADC1, respectively.
)
are output respectively. The predicted data generation circuit 2 generates sampling data F at time t(n+1).
(n-1) and the sampling data F(n+1) supplied at that point are added, and the addition result is divided by "2" to create predicted data FY(n) and output. Similarly, at time t(n+2), sampling data F(n) and F(n+2)
Predicted data FY(n+1) is created from this and output. The subtraction circuit 3 delays the sampling data F(n) by one bit time of the clock pulse φ, and subtracts the predicted data FY(n) from the delayed data to create residual data D(n). That is, at time t(n+1), this subtraction circuit 3 creates and outputs residual data D(n) by the calculation D(n)=F(n)-FY(n) (2). Here, the residual data D(n) has a much smaller value than the sampling data F(n), as is clear from FIG. ) requires fewer bits than that of ). Therefore, the residual data D(n) mentioned above is stored in the memory M
are sequentially written within. Next, in FIG. 1B, reference numeral 5 denotes a sampling data reproducing circuit that reads residual data D(n) from the memory M and reproduces sampling data F(n) based on the read data D(n). be. This circuit 5 will be explained below. The above equation (1) can be transformed into
By substituting into equation (2), the following equation is obtained: D(n)=F(n)-{F(n-1) +F(n+1)}/2...(3). By transforming this equation (3), the following equation can be obtained: F(n+1)=2{F(n)−D(n)} −F(n−1) (4). The sampling data reproducing circuit 5 reproduces the sampling data F(n) based on this equation (4). That is, the sampling data F(n) is now stored in the sampling data reproducing circuit 5.
It is assumed that initial values F(0) and F(1) of are stored in advance. The reproduction circuit 5 first sets the initial value F(0)
and F(1) are sequentially output according to the clock pulse φ, and the residual data D read out from the memory M.
Calculate equation (4) based on (1). In other words, subtract data D(1) from data F(1), multiply this subtraction result by 2, and use this multiplication result to obtain data F(0).
Subtract. Through the above calculation, sampling data F(2) is obtained. The reproducing circuit 5 sets the sampling data F(2) obtained in this way to an initial value F.
(0) and F(1), and then output to a DAC (digital/analog converter) 6. Next, when one bit time of the clock pulse φ has elapsed, the reproducing circuit 5 performs the calculation of equation (4) based on the residual data D(2) read from the memory M, and uses the sampling data obtained thereby. Output F(3) to DAC6. Thereafter, the process is repeated in the same manner, whereby the sampling data F(n) is sequentially supplied to the DAC 6. The DAC 6 converts the sequentially supplied sampling data F(n) into an analog signal and outputs it.
In this way, a signal identical to the musical tone signal F(t) (however, a quantization error exists) is output from the DAC 6. The specific configurations of the predicted data generation circuit 2 and the sampling data reproduction circuit 5 will be easily understood from the configuration of the second embodiment described below. The details of the embodiment shown in FIG. 1 have been described above. According to this embodiment, the storage capacity of the memory M can be significantly reduced compared to the conventional one, and moreover, the sampling data F(n) can be reproduced as is in the sampling data reproduction circuit 5. [Second Embodiment] FIG. 3 is a block diagram showing the configuration of a second embodiment of the present invention, and FIG. 3A shows the configuration of a data write circuit for writing data into the memory M.
FIG. 3(b) shows the configuration of a musical tone signal generation circuit which reads data in the memory M and generates musical tone signals. The second embodiment is a further improvement of the first embodiment described above, and the improvements include the following two points. First point: The sound waveforms of natural musical instruments have periodicity. The first improvement was made by focusing on this periodicity. In the first embodiment, the residual data D(n) was stored as is in the memory M, but this second improvement was made by focusing on this periodicity.
In the embodiment, the memory M stores the difference between the residual data D(n) and the residual data D(n) from one cycle before (hereinafter referred to as residual data E(n)). ing. This will be explained in detail below. Let us now assume that the waveform shown in FIG. 4 is the waveform of the musical tone signal F(t) of a natural musical instrument, and let time t(00) be the musical tone generation start time. In this case, the sample point time t(K) 1 with the first period T1
and the residual data D(n) 2 at a sample point time t(K) 2 (of the same phase) corresponding to time t(K) 1 in the second period T2. The difference is extremely small. Similarly, residual data D(K) 2 at time t(K) 2 and residual data D(K) 3 at time t(K) 3
The difference is also extremely small. Therefore, in the second embodiment shown in FIG. 3, the residual data D(n) at the corresponding sampling point one cycle before is subtracted from the calculated residual data D(n), and the result of this subtraction, i.e. , residual difference data E(n) are written into the memory M (see FIG. 4). Note that in the first period T1, the residual data D(n) from one period before does not exist, so the residual data E(n) 1 is the same data as the residual data D(n) 1 . Therefore, the value of the residual difference data E(n) is much smaller than the value of the residual data D(n), and therefore the amount of data stored in the memory M can be further reduced than in the first embodiment. . In addition, the residual difference data E
To reproduce sampling data F(n) from (n),
This can be realized by a simple circuit as described later. Second point: The second point of improvement is the method of calculating the predicted data FY(n). That is, in the first embodiment, the predicted data FY(n) was calculated from the two sampling data F(n-1) and F(n+1), but (see equation (1)), this In the second embodiment,
The predicted data FYa(n) is divided into four sampling data F(n-2), F(n-1), F(n+1), (n+
It is calculated from 2). This calculation method will be explained below using FIG. 5. First, sampling data F(n-2), F(n
-1), predicted data P(n-1) from sampling data F(n-1) and F(n+1), and sampled data F(n+
1) Calculate predicted data P(n+1) from F(n+2). This calculation is based on the following formula. P(n-1)=F(n-1) +{F(n-1)-F(n-2)} ...(5) P(n)={F(n-1) +F(n+1)} /2...(6) P(n+1)=F(n+1) +{F(n+2)-F(n+1)}...(7) Next, these predicted data P(n-1), P(n),
P(n+1) is multiplied by weighting coefficients of "1", "2", and "1" and then added, and the result of this addition is "4".
Find the predicted data FYa(n) by dividing by FYa(n)={P(n-1)+2P(n)+P(n+1)}/4...(8) The above is the basic idea of the method for calculating the prediction data FYa(n). Substituting Equations (5) to (7) above into Equation (8) above and rearranging, we get FYa(n)={-F(n-2)+3F(n-1)+3F(n
+1)-F(n+2)}/4...(9) The formula is obtained. That is, in the second embodiment, the predicted data FYa(n) is calculated based on this equation (9).
is calculated. Therefore, according to the calculation method described above, it is possible to calculate prediction data FYa(n) that is closer to the actual sampling data F(n) compared to the calculation method of prediction data FY(n) in the first embodiment described above. Therefore, the value of the residual data D(n) becomes smaller, and the number of bits can be reduced. In addition,
The above-mentioned weighting coefficient is based on the sampling data F
(n) and the predicted data FY(n) is minimized,
For example, it may be determined using least squares prediction. The above are the improvements in the second embodiment. Next, the specific structure of this second embodiment will be explained with reference to FIGS. 3A and 3B. First, in Figure 3 A,
The musical tone signal F(t) of a natural musical instrument is converted into sampling data F(n) by the ADC 1 and supplied to the residual data generation circuit 11. Residual data generation circuit 1
1. This corresponds to the predicted data generation circuit 2 and the subtraction circuit 3 in FIG. That is, D(n)=F(n)−FYa(n) (10) is calculated and output. Substituting the above equation (9) into this equation (10) and rearranging, we get D(n)={F(n-2)-3F(n-1) +4F(n)-3F(n+1)+F( n+2)}/4...(11) The following equation is obtained. The residual data generation circuit 11 is
The residual data D(n) is calculated by calculating this equation (11) and output. That is, in the residual data generation circuit 11,
Reference numerals 12 to 16 are DFFs (delay flip-flops) each triggered by a clock pulse φ.
The sampling data F(n) is sequentially read into these DFFs 12 to 16 in accordance with the clock pulse φ. The output of each DFF12 to 16 is
It is supplied to multipliers 17 to 21, and the output signals are "1/4" and "-".
3/4'', ``1'', ``-3/4'', and ``1/4'' are multiplied, and each multiplication result is added in the adder 22,
It is output as residual data D(n). Note that the multipliers 17 to 21 can be easily constructed using data shift circuits, adders, and the like. Therefore, at sampling time t(n+2), DFF12 to 1
6 contains sampling data F(n+2) and F
(n+1), F(n), F(n-1), and F(n-2) are read, and therefore, the residual data D(n) of equation (11) is output from the adder 22. Ru. The configuration of this residual data generation circuit 11 is the same as that of a linear phase FIR filter, which is a type of digital filter. Next, the residual data D output from the adder 22
(n) is supplied to the input terminal of the subtracter 23. The subtracter 23 subtracts the data supplied to its input terminal from the data supplied to its input terminal, and outputs the result of this subtraction as residual difference data E(n). In other words, the subtracter 23 is a circuit that subtracts the residual data D(n) from one cycle (one cycle of the musical tone signal F(t)) from the residual data D(n) output from the adder 22. ,
The output data of the shift register 24 is supplied to its input terminal via an AND gate 25. The shift register 24 is a register for holding the residual data D(n) for one period, and has stages equal to the number of sample points in one period, and the residual data D(n) supplied at the input terminal IN is clocked. Read sequentially based on φ. The read data D(n) is sequentially shifted within the shift register 24 and output from the output terminal Q after one cycle has elapsed. Thus, in the first period T1 (see FIG. 4) of the musical tone signal F(t), the signal IC becomes a "1" signal.
As a result, the inverter 27 outputs a “0” signal, and the AND gate 25 outputs data “0”. As a result, the residual data D(n) 1 output from the adder 22 is directly output from the subtracter 23 as residual difference data E(n) 1 . This residual difference data E(n) 1 is sequentially written into the memory M and is also supplied to the adder 28. Adder 28
adds the residual difference data E(n) 1 (=D(n) 1 ) and the output data "0" of the AND gate 25, and sequentially shifts this addition result, that is, the residual data D(n) 1 It is supplied to the input terminal IN of the register 24. This residual data D(n) 1 is sequentially read into the shift register 24. Next, in the second period T2, the signal IC is “0”
Fall at the signal. Note that the signal IC continuously maintains the "0" signal state from then on. When the signal IC becomes a “0” signal, the AND gate 25 becomes open, and the residual data D(n) 1 in the shift register 24 is sent to the input terminal of the subtracter 23 and the adder 28 via the AND gate 25. Supplied to the input end. As a result, the second
In period T2, the subtracter 23 outputs residual difference data E(n) 2 as follows: E(n) 2 = D(n) 2 −D(n) 1 ...(12), and this data E(n ) 2 is written into memory M, and adder 28
From, E(n) 2 +D(n) 1 = D(n) 2 −D(n) 1 +D(n) 1 = D(n) 2 …(1
3) Data, that is, residual data D(n) 2 is output, and this residual data D(n) 2 is sent to the shift register 24.
are read sequentially within. The same process is repeated, and as a result,
Residual difference data E(n) 1 , E(n) 2 , . . . are sequentially written into the memory M. Note that the circuit in the lower half of FIG. 3A can also be configured as shown in FIG. 6. According to the configuration shown in FIG. 6, the adder 28 in FIG. 3A can be omitted. Next, in FIG. 3B, the residual difference data E(n) read from the memory M is supplied to one input terminal of the adder 31. Note that reading from the memory M is of course performed at the timing of the clock pulse φ. The adder 31 and the shift register 32 are for returning residual difference data E(n) to residual difference data D(n). That is, first, at the timing when data E(n) 1 (=D(n) 1 ) is read out from the memory M for each residual difference of the first period T1, the signal IC becomes a "1" signal, and therefore A “0” signal is output from the inverter 33, and data “0” is output from the AND gate 34.
is output. This data “0” is then supplied to the other input terminal of the adder 31. As a result, residual data D(n) 1 is output from the adder 31 and supplied to the sampling data reproducing circuit 35 and the shift register 32. The shift register 32 has the same structure as the shift register 24 described above (FIG. 3A), and sequentially reads and shifts the supplied various difference data D(n) 1 , and outputs it from the output terminal Q after one cycle. Next, at the timing when each residual difference data E(n) 2 of the second period T2 is output from the memory M, the signal IC becomes a "0" signal. From now on, this signal
The IC continues to have a “0” signal state. When the signal IC becomes a "0" signal at the above timing, the AND gate 34 becomes open, and the residual data D(n) 1 in the shift register 32 passes through the AND gate 34 to the other input terminal of the adder 31. Supplied sequentially. As a result, from the adder 31, E(n) 2 +D(n) 1 =D(n) 2 -D(D 1 )+D(n) 1 =D(n) 2
...(14), that is, residual data D(n) 2 is output, and this residual data D(n) 2 is supplied to the sampling data reproducing circuit 35 and sequentially read into the shift register 32. Thereafter, similar operations are repeated, whereby residual data D(n) 1 , D(n) 2 , . . . are sequentially supplied to the sampling data reproducing circuit 35. The sampling data reproducing circuit 35 is a circuit that reproduces sampling data F(n) from residual data D(n). The residual data D(n) is created based on the above-mentioned equation (11). Transforming this equation (11), F(n+2)=-F(n-2)+3F(n-1)
The following formula is obtained: -4F(n)+3F(n+1)+4D(n)...(15). The sampling data reproducing circuit 35 reproduces the sampling data F(n) based on this equation (15). To explain in detail below, in the sampling data reproducing circuit 35, numerals 36 to 39 are DFFs, and 40 to 39 are DFFs.
44 is a multiplier, and 45 is an adder. Now, consider the point in time when the adder 31 outputs the residual data D(2). Also, at this point, the initial values F(0), F(1), and
Assume that F(2) and F(3) are each stored. In this case, the coefficients "-1", "3", "-" are applied to the above-mentioned initial values F(0) to F(3) in multipliers 44 to 41, respectively.
4" and "3" are multiplied, and this multiplication result is sent to adder 4.
5. Further, the residual data D(2) is multiplied by a coefficient “4” in the multiplier 40, and the result of this multiplication is supplied to the adder 45. As a result, at the time when the residual data D(2) is output from the adder 31, the output data of the adder 45 is -F(0)+3F(1)-4F(2)+3F(3)+4D(2 )…(16) becomes. As is clear from equation (15), this data is sampling data F(4). That is, when the residual data D(2) is output from the adder 31, the sampling data F(4) is output from the adder 45 and supplied to the input ends of the DAC 46 and the DFF 36. Next, when the residual data D(3) is output from the adder 31 after one bit time of the clock pulse φ, at this point, each of the data F
Since (4) to F(1) are read, from the adder 45, the data becomes -F(1)+3F(2)-4F(3)+3F(4)+4D(3)...(17), i.e. Sampling data F(5) is output. Below, the residual data D from the adder 31
(4), D(5)... are sequentially output from the adder 45 in the same manner as in the above case.
(6), F(7)... are sequentially output and supplied to the DAC 46. As a result, a signal identical to the musical tone signal F(t) of a natural musical instrument is obtained as the output of the DAC 46.
The sampling data reproducing circuit 35 described above has the same configuration as an IIR filter, which is a type of digital filter. The above are the details of the second embodiment. Note that in the first embodiment described above, the prediction data FY(n) is divided into past data F(n-1) and future data (n
+1), and in the second embodiment, the predicted data FYa(n) is calculated from the past data F(n-
2), F(n-1) and future data F(n+
1), the prediction data is obtained from the bottom (n+2), but this prediction data may be obtained only from past data, for example. In addition, in the explanation of FIG. DFF during playback
39 to 36 may be reset respectively. In this case, the sampling data F(n) cannot be correctly reproduced for the rising edge data, but the subsequent data can be correctly reproduced. In addition, in the above embodiment, the residual data E
(n) is obtained by calculating the difference between the residual data D(n) of each period and the residual data D(n) of one period before, but the method is not limited to this. , 2 cycles or 1/2 cycle ago). For this purpose, the number of stages of the shift registers 24 and 32 in FIGS. 3A and 3B may be set in accordance with the number of sample points within a predetermined period. In this case, the shift register 24,
32, a memory such as a RAM may be used to delay the residual data D(n). By the way, in the first and second embodiments described above, the amount of data to be stored in the memory M can be further reduced by adding a special circuit. That is, the residual data D(n) or the residual difference data E(n) to be stored in the memory M is further stored in Shannon.
- It is sufficient to convert it into a Fano code or a Huffman code and store it in the memory M. Below is a brief explanation of Huffman codes. For example, in the first embodiment, the residual data D
The probability of occurrence of each type of (n) (0, ±1, ±2...) is different. The Huffman code is a code that focuses on the probability of occurrence, and assigns a code with a small number of bits to data with a high probability of occurrence. Note that the Shannon-Fano code is based on the same idea. Table 1 shows the residual data D
3 is a table showing an example of the relationship between the value of (n) and the Huffman code HC.

〔応用例〕[Application example]

次に、前述した第1実施例による楽音信号発生
装置の応用例を説明する。第7図は同楽音信号発
生装置を適用した電子楽器の構成例を示すブロツ
ク図である。この図において、残差メモリMに
は、例えば各音色(ピアノ音、フルート等)毎
に、かつ各音高型に、楽音信号F(t)の立上りから
終了に至るまでの全波形についての残差データD
(n)が記憶されている。そして、音色選択部50に
よつていずれかの音色が選択されると、音色選択
部50の出力データTCによつて、その音色に対
応する残差データD(n)が記憶されているメモリM
の記憶エリアが指定される。次に、鍵盤51のい
ずれかの鍵が押下されると、押鍵検出部52がこ
れを検知し、押下された鍵のキーコードKCを出
力すると共に、キーオン信号KONを出力する。
このキーオン信号KONは同鍵が押下されている
間“1”信号を続ける。アドレス発生器53は、
押鍵検出部52から出力されたキーコードKCを
対応するアドレスデータAD1に変換して残差メ
モリMへ出力し、また、キーオン信号KONが
“1”信号に立上つた時点以降、0、1、2…と
逐次変化するアドレスデータADDを残差メモリ
Mへ出力する。アドレスデータAD1が残差メモ
リMへ供給されると、前述したデータTCによつ
て指定されている記憶エリア内のアドレスデータ
AD1に対応する領域が指定される。この領域は、
音色選択部50によつて選択された音色を有し、
押鍵検出部52から出力されたキーコードKCの
音高を有する楽音信号F(t)の残差データD(n)が記
憶されている領域である。そして、アドレスデー
タADDが残差メモリMへ供給されると、該領域
の相対アドレス0番地内の残差データD(n)から順
次読出され、サンプリングデータ再生回路5へ順
次供給される。これにより、サンプリングデータ
再生回路5からサンプリングデータF(n)が順次出
力され、出力されたデータF(n)がDAC6によつて
楽音信号(アナログ信号)に変換され、サウンド
システム54へ供給される。サウンドシステム5
4は、供給された楽音信号を増幅し、スピーカか
ら楽音として発音する。 なお、ビブラート等のピツチ変化を発生楽音に
付ける場合は、アドレスデータADDの出力タイ
ミングを変化させればよい。この場合、サンプリ
ングデータ再生回路5内のデータ処理もアドレス
データADDの出力タイミングに同期させる。ま
た、残差データD(n)を各音高毎に記憶させるので
はなく、全音高共通に1組の残差データD(n)を記
憶させ、あるいは複数の音高毎に各1組の残差デ
ータD(n)を記憶させる場合は、アドレスデータ
ADDの出力タイミングを、キーコードKCに対応
する速度とすればよい。 〔発明の効果〕 以上説明したように、この発明によれば残差デ
ータまたは残差データに対応するデータを予めメ
モリに記憶させておき、初期値を再生手段にセツ
トしつつこのメモリ内のデータを読出して楽音信
号を発生(形成)するようにしたので電子楽器に
要求されるリアルタイム性を保持しつつ従来に比
較しメモリ容量を大幅に削減することができ、し
かも元の波形を忠実に再現することができる効果
がある。
Next, an application example of the musical tone signal generating device according to the first embodiment described above will be explained. FIG. 7 is a block diagram showing an example of the configuration of an electronic musical instrument to which the musical tone signal generating device is applied. In this figure, the residual memory M stores the residuals of the entire waveform of the musical tone signal F(t) from the rise to the end, for example, for each tone (piano tone, flute, etc.) and for each pitch type. Difference data D
(n) is memorized. When one of the timbres is selected by the timbre selection section 50, the output data TC of the timbre selection section 50 causes the memory M in which the residual data D(n) corresponding to that timbre is stored.
storage area is specified. Next, when any key on the keyboard 51 is pressed, the key press detection section 52 detects this and outputs the key code KC of the pressed key and a key-on signal KON.
This key-on signal KON continues to be a "1" signal while the key is pressed. The address generator 53 is
The key code KC output from the key press detection unit 52 is converted into the corresponding address data AD1 and output to the residual memory M, and after the key-on signal KON rises to the “1” signal, the key code KC is changed to 0, 1. , 2 . . . address data ADD which changes sequentially is output to the residual memory M. When the address data AD1 is supplied to the residual memory M, the address data in the storage area specified by the data TC mentioned above is
The area corresponding to AD1 is specified. This area is
It has a tone selected by the tone selection section 50,
This is an area where the residual data D(n) of the musical tone signal F(t) having the pitch of the key code KC output from the key press detection section 52 is stored. Then, when the address data ADD is supplied to the residual memory M, the residual data D(n) in the relative address 0 of the area is sequentially read out and sequentially supplied to the sampling data reproducing circuit 5. As a result, sampling data F(n) is sequentially output from the sampling data reproduction circuit 5, and the output data F(n) is converted into a musical tone signal (analog signal) by the DAC 6 and supplied to the sound system 54. . sound system 5
4 amplifies the supplied musical tone signal and produces a musical tone from a speaker. Note that if pitch changes such as vibrato are to be added to the generated musical tone, the output timing of the address data ADD may be changed. In this case, data processing within the sampling data reproducing circuit 5 is also synchronized with the output timing of the address data ADD. Also, instead of storing residual data D(n) for each pitch, one set of residual data D(n) is stored for all pitches, or one set for each pitch is stored. When storing residual data D(n), address data
The output timing of ADD may be set to a speed corresponding to the key code KC. [Effects of the Invention] As explained above, according to the present invention, residual data or data corresponding to the residual data is stored in a memory in advance, and while an initial value is set in the reproduction means, the data in the memory is Since the musical tone signal is generated (formed) by reading out the data, it is possible to significantly reduce the memory capacity compared to conventional methods while maintaining the real-time performance required of electronic musical instruments, and moreover, it faithfully reproduces the original waveform. There is an effect that can be done.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明に関する第1の実施例の構成
を示すブロツク図、第2図は同実施例における予
測データFY(n)および残差データD(n)を説明する
ための図、第3図はこの発明に関する第2の実施
例の構成を示すブロツク図、第4図は同実施例に
おける残差差データE(n)を説明するための図、第
5図は同実施例における予測データFYa(n)を説
明するための図、第6図は第3図イに示す回路の
他の構成例を示すブロツク図、第7図、第8図は
各々第3図イに示す回路の実験結果の一例を示す
図、第9図は第1図に示す第1実施例を適用した
電子楽器の構成を示すブロツク図である。 5,35……サンプリングデータ再生回路、M
……メモリ。
FIG. 1 is a block diagram showing the configuration of a first embodiment of the present invention, FIG. 2 is a diagram for explaining predicted data FY(n) and residual data D(n) in the same embodiment, and FIG. The figure is a block diagram showing the configuration of a second embodiment of the present invention, FIG. 4 is a diagram for explaining the residual difference data E(n) in the same embodiment, and FIG. 5 is the predicted data in the same embodiment. A diagram for explaining FYa(n), Figure 6 is a block diagram showing other configuration examples of the circuit shown in Figure 3 A, and Figures 7 and 8 are experiments of the circuit shown in Figure 3 A. FIG. 9, a diagram showing an example of the results, is a block diagram showing the configuration of an electronic musical instrument to which the first embodiment shown in FIG. 1 is applied. 5, 35...Sampling data reproduction circuit, M
……memory.

Claims (1)

【特許請求の範囲】 1 (a) 楽音波形をサンプリングして得たサンプ
リングデータと複数の前記サンプリングデータ
から算出した予測データとの差である残差デー
タ、またはこの残差データに対応するデータが
記憶されたメモリと、 (b) 前記メモリ内のデータを読出し、この読出し
たデータと過去に読出されたデータに基づき算
出された予測データとを加算することにより前
記サンプリングデータを再生する再生手段と を具備し、 前記再生手段によつて再生された前記サンプリ
ングデータに基づき楽音信号を発生するようにし
てなる楽音信号発生装置において、 楽音再生開始時、複数の初期サンプリングデー
タを前記再生手段にセツトし、この再生手段はこ
の複数の初期サンプリングデータから前記予測デ
ータを算出するようにしたことを特徴とする楽音
信号発生装置。 2 前記残差データに対応するデータは、そのサ
ンプリング点における残差データと、所定周期前
のサンプリング点における残差データとの差であ
る特許請求の範囲第1項記載の楽音信号発生装
置。
[Claims] 1 (a) Residual data that is the difference between sampling data obtained by sampling a musical sound waveform and predicted data calculated from a plurality of said sampling data, or data corresponding to this residual data (b) reproducing means for reproducing the sampling data by reading data in the memory and adding the read data to predicted data calculated based on previously read data; In the musical tone signal generation device, the musical tone signal generation device is configured to generate a musical tone signal based on the sampling data reproduced by the reproduction means, wherein a plurality of initial sampling data are set in the reproduction means when starting musical tone reproduction. . A musical tone signal generating device, wherein the reproduction means calculates the predicted data from the plurality of initial sampling data. 2. The musical tone signal generating device according to claim 1, wherein the data corresponding to the residual data is a difference between the residual data at the sampling point and the residual data at the sampling point a predetermined period before.
JP59212382A 1984-10-09 1984-10-09 Musical sound signal generator Granted JPS6190198A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP59212382A JPS6190198A (en) 1984-10-09 1984-10-09 Musical sound signal generator
US06/784,842 US4781096A (en) 1984-10-09 1985-10-04 Musical tone generating apparatus
EP85112743A EP0177934B1 (en) 1984-10-09 1985-10-08 Musical tone generating apparatus
DE8585112743T DE3585125D1 (en) 1984-10-09 1985-10-08 MUSIC TONE GENERATION DEVICE.
SG1895A SG1895G (en) 1984-10-09 1995-01-07 Musical tone generating apparatus
HK134595A HK134595A (en) 1984-10-09 1995-08-24 Musical tone generating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59212382A JPS6190198A (en) 1984-10-09 1984-10-09 Musical sound signal generator

Publications (2)

Publication Number Publication Date
JPS6190198A JPS6190198A (en) 1986-05-08
JPH0560118B2 true JPH0560118B2 (en) 1993-09-01

Family

ID=16621647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59212382A Granted JPS6190198A (en) 1984-10-09 1984-10-09 Musical sound signal generator

Country Status (1)

Country Link
JP (1) JPS6190198A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2759752B2 (en) * 1994-04-14 1998-05-28 中部電力株式会社 Installation equipment for distribution equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0820872B2 (en) * 1990-03-20 1996-03-04 ヤマハ株式会社 Waveform generator
JP2728032B2 (en) * 1995-06-12 1998-03-18 ヤマハ株式会社 Tone generator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093560A (en) * 1973-12-19 1975-07-25
JPS5543552A (en) * 1978-09-25 1980-03-27 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5942320A (en) * 1974-06-10 1984-03-08 イ−ライ・リリ−・アンド・カンパニ− Animal growth promotor
JPS59131994A (en) * 1983-01-19 1984-07-28 カシオ計算機株式会社 Frequency controller for electronic musical instrument

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093560A (en) * 1973-12-19 1975-07-25
JPS5942320A (en) * 1974-06-10 1984-03-08 イ−ライ・リリ−・アンド・カンパニ− Animal growth promotor
JPS5543552A (en) * 1978-09-25 1980-03-27 Nippon Musical Instruments Mfg Electronic musical instrument
JPS59131994A (en) * 1983-01-19 1984-07-28 カシオ計算機株式会社 Frequency controller for electronic musical instrument

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2759752B2 (en) * 1994-04-14 1998-05-28 中部電力株式会社 Installation equipment for distribution equipment

Also Published As

Publication number Publication date
JPS6190198A (en) 1986-05-08

Similar Documents

Publication Publication Date Title
KR0164590B1 (en) Apparatus for generating recording or reproducing sound source data
JPH0631968B2 (en) Music signal generator
JPH06124091A (en) Waveform data reader
JP2004527005A (en) Method for eliminating aliasing in a waveform table synthesizer
US4108036A (en) Method of and apparatus for electronically generating musical tones and the like
US4781096A (en) Musical tone generating apparatus
JPH0560118B2 (en)
JPH0664466B2 (en) Electronic musical instrument
US5814751A (en) Musical tone generating apparatus
US5559298A (en) Waveform read-out system for an electronic musical instrument
JPS5840199B2 (en) Denshigatsuki
JPH039474B2 (en)
JP2736550B2 (en) Electronic musical instrument interpolation circuit
JPH039475B2 (en)
JPH0549132B2 (en)
JP2784399B2 (en) Tone generator
JPS6037600Y2 (en) electronic musical instruments
JP2993344B2 (en) Waveform generation device, waveform storage device, waveform generation bubble, and waveform storage method
JPS5921038B2 (en) electronic musical instruments
JPS5926790A (en) Combination musical tone generator for musical instrument
JP2594782B2 (en) Electronic musical instrument
JP3433764B2 (en) Waveform changing device
JPH039478B2 (en)
JPH0743597B2 (en) Musical sound generator
JPS61100796A (en) Musical sound signal generator

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term