JP3862839B2 - 波形圧縮伸長装置 - Google Patents
波形圧縮伸長装置 Download PDFInfo
- Publication number
- JP3862839B2 JP3862839B2 JP32632797A JP32632797A JP3862839B2 JP 3862839 B2 JP3862839 B2 JP 3862839B2 JP 32632797 A JP32632797 A JP 32632797A JP 32632797 A JP32632797 A JP 32632797A JP 3862839 B2 JP3862839 B2 JP 3862839B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- tempo
- read
- address
- expansion
- 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
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、テンポを持った楽音波形を圧縮ないし伸長する波形圧縮伸長装置に関する。
【0002】
【従来の技術】
従来より、テンポを持った楽音波形をあらわす波形データをメモリに記憶しておき、あらかじめ設定された圧縮量ないし伸長量に対応するアドレス幅だけ読み飛ばしないし二度読みし、これにより圧縮ないし伸長された楽音波形を生成する波形圧縮伸長装置が知られている。
【0003】
図5は、従来の波形圧縮伸長装置における、楽音波形の伸長方法の説明図である。
図示しないメモリに楽音波形が格納されており、ここでは、そのメモリから楽音波形を読み出すための読出アドレスとして、図5(a)に示すような、順次に変化するとともに、所定時間間隔で、伸長量に応じたアドレス幅だけ不連続に変化した読出アドレスが設定される。このように設定された読出アドレスから楽音波形を読み出すと、その読み出した楽音波形は、読出アドレスが周期的に不連続に変化した各時点a(不連続変化点aと称する)で不連続となり、従ってその楽音波形をそのまま再生すると、その再生された楽音は、不連続でノイズが発生したり不自然な音が発生することになる。そこで、この不自然な音の発生を防止するために、ここでは、以下に示す(1),(2)のステップにより楽音波形の伸長が行なわれる。
【0004】
(1)先ず、図5(b)に示すように、 順次に変化する2つの読出アドレスであって、周期的な不連続変化点aを持つ一方の読出アドレスと、その周期的な不連続変化点aとは位相がずれた周期的な不連続変化点bを持つもう一方の読出アドレスとの2つの読出アドレスを設定し、それら2つの読出アドレスそれぞれから楽音波形を読み出す。これにより、不連続変化点aで不連続となる楽音波形と、その不連続変化点aとは異なる時間軸位置における不連続変化点bで不連続となる楽音波形とが得られる。
【0005】
(2)このようにして読み出した2つの楽音波形について、図5(c)に示すように、それぞれの不連続変化点a,bの時間軸位置でそれぞれの楽音波形のレベルが交互に0になるようにレベル制御を行ない、レベル制御された楽音波形どうしを加算して出力する。このようにして、いわゆるクロスフェード処理することにより、再生された楽音の不連続性に起因する不自然な音が防止される。
【0006】
楽音波形の圧縮を行なう場合も同様であり、所定の時間間隔毎に、あらかじめ設定された圧縮量に応じたアドレス幅だけ読出アドレスを先のアドレスにジャンプすればよい。
【0007】
【発明が解決しようとする課題】
しかし、図5(b)に示す、繰り返し生じる区間cでは、読出アドレスがずれた異なる楽音が同時に再生されるため、エコーがかかったような状態(以下、ディレイ効果と称する)になったり、あるいはクロスフェード処理による振幅変調感が感じられたり聴感上異音となって聴こえる場合がある。この異音から聴感上感じるリズムは楽音波形のもつリズムとは異なるリズムであり、あるいはこの異音は、楽音波形の持つリズムを乱す音であり、再生された楽音に対して目立ち、聴感上不自然であるという問題がある。
【0008】
本発明は、上記事情に鑑み、聴感上自然な楽音を再生することができる波形圧縮伸長装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成する本発明の波形圧縮伸長装置は、
(1)テンポを持った楽音波形をあらわす波形データを記憶する記憶手段
(2)上記記憶手段に記憶された読出対象の波形データを読み出すための順次に変化する2つの読出アドレスであって、読出対象の波形データのテンポに同期した周期で、圧縮量ないし伸長量に応じたアドレス幅だけ交互に不連続に変化する2つの読出アドレスを生成するアドレス生成手段
(3)上記記憶手段の、順次に変化する上記2つの読出アドレスそれぞれから波形データを読み出す波形読出手段
(4)上記波形読出手段により読み出された2つの波形データを1つに合成することにより出力波形データを生成する波形生成手段
を備えたことを特徴とする。
【0010】
従来の波形圧縮伸長装置では、楽音波形を圧縮したりあるいは伸長したりするために必要な読出アドレスの不連続変化点の周期は、楽音波形の持つテンポとは無関係に設定されている。このため、発生する異音から聴感上印象づけられるテンポは、楽音波形の持つテンポに無関係なものとなり、従ってその異音は再生された楽音に対して違和感のある音として目立つこととなり、聴感上不自然である。
【0011】
異音が聴感上異音として目立つのはリズムを乱す音であることが大きな要因の1つであり、リズムに合った音であれば、その音が楽音波形に本来含まれていた音でなかったとしても違和感はほとんど感じない。また、リズムパターンのような楽音波形の場合、楽音の空白部分(音の小さな部分)がテンポに応じた周期で存在し、異音の発生するタイミングがこの空白部分に一致すると異音が発生したとしてもほとんど聞こえないことにもなる。本発明は、この観点に着目してなされたものである。すなわち、テンポに応じた周期で不連続変化点を設定したため、もともとの楽音波形とは異なる音が聴こえたとしても、テンポに合った音であり、聴感上自然な楽音が再生される。
【0012】
ここで、上記記憶手段が、波形データとともにその波形データのテンポを記憶するものであって、上記アドレス生成手段が、上記記憶手段に記憶されたその読出対象の波形データのテンポに基づいて、読出アドレスの不連続変化点を求めるものであることが好ましい。
このようにすると、記憶手段をアクセスするだけで波形データとその波形データのテンポが得られる。
【0013】
また、テンポを入力するテンポ入力手段を備え、上記アドレス生成手段が、上記テンポ入力手段から入力されたテンポに基づいて、読出アドレスの不連続変化点を求めるものであってもよい。
このようにすると、例えば鍵盤を備え、その鍵盤を自分で演奏して楽音波形を得、その楽音波形を記憶手段に格納した場合等に、テンポ入力手段でテンポを入力することができる。
【0014】
さらに、楽音波形の圧縮量ないし伸長量を入力する伸縮情報入力手段を備え、上記アドレス生成手段が、上記伸縮情報入力手段から入力された圧縮量ないし伸長量に基づいて、アドレス発生手段における読出アドレスの不連続変化幅を求めるものであることも好ましい形態である。
このような伸縮情報入力手段を備えると、圧縮あるいは伸長の処理中であってもリアルタイムに圧縮量ないし伸長量を自由に設定することができる。
【0015】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図1は、本発明の第1実施形態の波形圧縮伸長装置のブロック構成図である。
図1に示す波形圧縮伸長装置10には、伸縮情報入力手段11と、記憶手段12と、アドレス生成手段13と、波形読出手段14と、波形生成手段15とが備えられている。
【0016】
伸縮情報入力手段11には、操作子としてロータリボリューム(図示せず)が備えられており、このロータリボリュームを操作して楽音波形の圧縮量ないし伸長量を設定する。また、伸縮情報入力手段11には、図示しないA/D変換器も備えられており、このA/D変換器により、設定された圧縮量ないし伸長量がA/D変換され圧伸量情報としてアドレス生成手段13に入力される。
【0017】
記憶手段12には、楽音波形をあらわす波形データおよびその波形データのテンポが記憶される。
アドレス生成手段13は、記憶手段12に記憶された読出対象の波形データのテンポと、伸縮情報入力手段11からの圧伸量情報との双方を入力し、入力されたテンポに応じた周期でかつ圧伸量情報に応じたアドレス幅だけ交互に不連続に変化する2つの読出アドレスを生成する。
【0018】
波形読出手段14は、アドレス生成手段13から出力された2つの読出アドレスそれぞれから、記憶手段12に記憶された波形データを読み出す。
波形生成手段15は、波形読出手段14により読み出された2つの波形データを1つに合成して出力する。
図2は、図1に示す波形圧縮伸長装置における、楽音波形の伸長方法の説明図、図3は、図1に示す波形圧縮伸長装置における、楽音波形の伸長処理ルーチンを示すフローチャートである。
【0019】
図2には、図5(b)と同様に、実線で示した読出アドレスと破線で示した読出アドレスとの2つの読出アドレスが示されているが、ここでは、読出対象の楽音波形のテンポに応じた周期で不連続変化点を発生させている。具体的には、ここでは、一拍を8等分し、1/8拍分の時間が経過するごとに、それら2つの読出アドレスのうちの一方の読出アドレスが交互に不連続変化点を持つように、楽音波形のテンポに応じて、その不連続変化点の発生時刻を定めている。
【0020】
ここでは、スネアドラムやバスドラムの演奏によるリズムパターンの楽音波形を取り挙げており、図2には、8分音符が示されており、この8分音符は、単に、その8分音符が示されているタイミングで、スネアドラムあるいはバスドラムが演奏されることを意味している。
この図2に示す例は、2つの読出アドレスが1/8拍分の時間が経過するごとに交互に不連続変化点が生じるものであり、すなわちテンポに応じた周期で不連続変化点が生じるものである点を除き、図5(b)に示す従来例と同様であり、前述したディレイ効果(エコーがかかったような状態)が生じ得る区間cは、2つの読出アドレスが互いに異なる区間と一致し、繰り返し生じている。ただし、この図2に示す例では、区間cでは、スネアドラムもバスドラムも演奏されていない、’小さな’音量の区間であり、ディレイ効果が生じたとしても聴感上ほとんど聞こえない区間である。
【0021】
ここでは、図3のフローチャートを説明するにあたり、現在図2に示す時刻tの時点にいるものとし、ある1つの時刻(ここでは時刻t)における、実線で示す読出アドレスを‘A’、破線で示す読出アドレスを‘B’とする。
以下、図3とともに図1、図2を参照しながら、図3のフローチャートについて説明する。
【0022】
先ず、ステップS1において、波形読出手段14は、アドレス生成手段13で生成された2つの読出アドレスのうちの一方の読出アドレス‘A’で、記憶手段12に記憶された波形データを読み出す。
次に、ステップS2において、波形読出手段14は、アドレス生成手段13で生成された他方の読出アドレス‘B’で、記憶手段12に記憶された波形データを読み出す。さらに、ステップS3において、読出アドレス‘A’,‘B’をインクリメントして(すなわち図2に示す再生時間軸上の時刻tを1ステップだけ進めて)ステップS4に進む。
【0023】
ステップS4では、読出アドレス‘A’が、読出アドレス‘B’が前回ジャンプしたときの読出アドレス‘A’のアドレス(すなわちここでは、図2に示す時刻tにいることを想定しており、したがって読出アドレス‘B’が前回ジャンプした時点における読出アドレス‘A’のアドレスは図2に示すアドレスa1である)から1/8拍分進んだ位置になったか否かが判定される。1/8拍分のアドレス幅は、以下に説明する計算式(1)により算出される。
【0024】
テンポは、1分間あたりの拍数(BPM:Beat Per Minute)なので、1拍分のサンプル数は、サンプリング周波数をfs(Hz)とすると、次のように表わすことができる。
1拍分のサンプル数=(60(sec)/BPM)×fs(Hz)
よって、1/8拍分のサンプル数=
(60(sec)/BPM)×fs(Hz)×1/8
となる。1サンプルあたりのビット数を16ビット(2バイト)とすると、1/8拍分のアドレス幅は次の計算式(1)で求めることができる。
【0025】
1/8拍分のアドレス幅=
(60(sec)/BPM)×fs(Hz)×1/8×2 …(1)
再び図3に示すフローチャートについて説明を続ける。ステップS4において、読出アドレス‘A’が、計算式(1)により算出された1/8拍分のアドレス位置に至っていないと判定された場合は、ステップS6に進む。一方、読出アドレス‘A’が1/8拍分のアドレス位置に達した(現在時刻tが時刻t1まで進んだ)と判定された場合は、ステップS5に進む。ステップS5では、読出アドレス‘A’に読出アドレス‘B’をセット(設定)して読出アドレス‘A’を読出アドレス‘B’にまで戻す。これにより、伸長量に応じたアドレス幅が確保される。
【0026】
ステップS6では、今度は読出アドレス‘B’が、読出アドレス‘A’が前回ジャンプした時点(時刻t1)における読出アドレス‘B’のアドレス位置b1から1/8拍分進んだアドレス位置b2に達したか否かが、前述した計算式(1)に基づいて判定される。読出アドレス‘B’が1/8拍分進んだアドレス位置b2に達していないと判定された場合はステップS9に進む。一方、読出アドレス‘B’が1/8拍分進んだアドレス位置b2に達した(すなわち現在時刻tが時刻t2に達した)と判定された場合はステップS7に進む。ステップS7では、以下に説明する計算式(2)により、読出アドレス‘B’を所定の伸長量に応じたアドレス幅(前述したステップS5のアドレス幅と同じアドレス幅)だけ戻すためのアドレスを算出する。
【0027】
ここで、計算式(2)について説明する。本実施形態の波形圧縮伸長装置10では、前述したように、伸縮情報入力手段11により伸長量(ストレッチ量)や圧縮量(コンプレッション量)、即ちテンポ変化量が設定され、さらにA/D変換(A/D値は00h〜FFhの範囲内)される。また記憶手段12には、表1に示すような、A/D値に対応するデータを有するデータテーブルが備えられている。
【0028】
【表1】
【0029】
表1に示すデータテーブルから得たデータと1/8拍分のアドレス幅により、ジャンプする(戻る)アドレスを、次の計算式(2)で求める。
ジャンプするアドレス=1/8拍分のアドレス×データ …(2)
例えばテンポ変化量を−25%に設定した場合、ジャンプするアドレスは−1/32拍分のアドレス(1/8×(−1/4))となる。即ち、1/8拍再生する毎に1/32拍分戻る(余分に再生する)ことになるので、一拍あたりでは1/4拍分だけ余分に再生される。
【0030】
ステップS8では、読出アドレス‘B’に、ステップS7で算出したジャンプ分(マイナス分)を加算し、読出アドレス‘B’を前のアドレスに戻すことによりストレッチ量を定めてステップS9に進む。
ステップS9では、各読出波形について、それぞれの不連続変化点でそれぞれの読出波形のレベルが交互に0になるようにレベル制御を行なう。次に、ステップS10に進み、レベル制御された2つの波形を加算する。さらに、ステップS11において、加算された波形を出力してこのルーチンを終了する。
【0031】
このように、本実施形態では、1/8拍分のテンポに応じた周期で不連続変化点を設定するものであるため、聴感上自然な楽音が再生される。
尚、本実施形態では、楽音波形の伸長処理について説明したが、楽音波形の圧縮処理を行なう場合は、図3に示すフローチャートのうちの、ステップS7におけるストレッチ量をコンプレッション量に代えればよい。
【0032】
また、本実施形態では、1拍を1/8ずつに分割したが、これに限られるものではなく、1拍を整数分の1に分割するものであればよい。
図4は、本発明の第2実施形態の波形圧縮伸長装置のブロック構成図である。
図4に示す波形圧縮伸長装置20の構成は、図1に示す波形圧縮伸長装置10の構成と比較すると、鍵盤21とテンポ入力手段22とが追加されている点が異なっている。
【0033】
本実施形態では、鍵盤21を自分で演奏して楽音波形を得、その楽音波形を記憶手段12に格納し、またテンポ入力手段22でその楽音波形が持つテンポをアドレス生成手段13に入力する。以下、前述した波形圧縮伸長装置10と同様にして、そのテンポに応じた周期で不連続変化点を設定して、聴感上自然な楽音を再生してもよい。
【0034】
【発明の効果】
以上説明したように、本発明によれば、聴感上自然な楽音を再生することができ、入力された圧縮量ないし伸長量にリアルタイムで追従して圧縮伸長処理を行うことができる波形圧縮伸長装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態の波形圧縮伸長装置のブロック構成図である。
【図2】図1に示す波形圧縮伸長装置における、楽音波形の伸長方法の説明図である。
【図3】図1に示す波形圧縮伸長装置における、楽音波形の伸長処理ルーチンを示すフローチャートである。
【図4】本発明の第2実施形態の波形圧縮伸長装置のブロック構成図である。
【図5】従来の波形圧縮伸長装置における、楽音波形の伸長方法の説明図である。
【符号の説明】
10,20 波形圧縮伸長装置
11 伸縮情報入力手段
12 記憶手段
13 アドレス生成手段
14 波形読出手段
15 波形生成手段
21 鍵盤
22 テンポ入力手段
Claims (4)
- テンポを持った楽音波形をあらわす波形データを記憶する記憶手段と、
前記記憶手段に記憶された読出対象の波形データを読み出すための順次に変化する2つの読出アドレスであって、読出対象の波形データのテンポに同期した周期で、圧縮量ないし伸長量に応じたアドレス幅だけ交互に不連続に変化する2つの読出アドレスを生成するアドレス生成手段と、
前記記憶手段の、順次に変化する前記2つの読出アドレスそれぞれから波形データを読み出す波形読出手段と、
前記波形読出手段により読み出された2つの波形データを1つに合成することにより出力波形データを生成する波形生成手段とを備えたことを特徴とする波形圧縮伸長装置。 - 前記記憶手段が、波形データとともに該波形データのテンポを記憶するものであって、前記アドレス生成手段が、前記記憶手段に記憶された読出対象の波形データのテンポに基づいて、読出アドレスの不連続変化点を求めるものであることを特徴とする請求項1記載の波形圧縮伸長装置。
- テンポを入力するテンポ入力手段を備え、
前記アドレス生成手段が、前記テンポ入力手段から入力されたテンポに基づいて、読出アドレスの不連続変化点を求めるものであることを特徴とする請求項1記載の波形圧縮伸長装置。 - 楽音波形の圧縮量ないし伸長量を入力する伸縮情報入力手段を備え、
前記アドレス生成手段が、前記伸縮情報入力手段から入力された圧縮量ないし伸長量に基づいて、読出アドレスの不連続変化幅を求めるものであることを特徴とする請求項1〜3記載の波形圧縮伸長装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32632797A JP3862839B2 (ja) | 1997-11-27 | 1997-11-27 | 波形圧縮伸長装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32632797A JP3862839B2 (ja) | 1997-11-27 | 1997-11-27 | 波形圧縮伸長装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11161272A JPH11161272A (ja) | 1999-06-18 |
JP3862839B2 true JP3862839B2 (ja) | 2006-12-27 |
Family
ID=18186541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32632797A Expired - Fee Related JP3862839B2 (ja) | 1997-11-27 | 1997-11-27 | 波形圧縮伸長装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3862839B2 (ja) |
-
1997
- 1997-11-27 JP JP32632797A patent/JP3862839B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11161272A (ja) | 1999-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6687674B2 (en) | Waveform forming device and method | |
JP6011064B2 (ja) | 自動演奏装置及びプログラム | |
JPH10319964A (ja) | 電子楽器 | |
JP6019803B2 (ja) | 自動演奏装置及びプログラム | |
US7557288B2 (en) | Tone synthesis apparatus and method | |
TWI228705B (en) | Musical tone generating apparatus, musical tone generating method, and computer-readable recording medium for recording a program for implementing the method | |
JP4012682B2 (ja) | 音源システム | |
JP3654117B2 (ja) | 時間軸方向における楽音波形信号の伸縮方法 | |
JP3862839B2 (ja) | 波形圧縮伸長装置 | |
JP2970396B2 (ja) | 波形処理装置 | |
US6300552B1 (en) | Waveform data time expanding and compressing device | |
JP5699558B2 (ja) | 楽音生成装置及びプログラム | |
JP5359203B2 (ja) | 楽曲処理装置およびプログラム | |
JP3324409B2 (ja) | 楽音処理方法及び装置 | |
JP3613191B2 (ja) | 波形生成方法及び装置 | |
JP3552265B2 (ja) | 音源装置および音声信号形成方法 | |
JP4267114B2 (ja) | 波形処理装置 | |
JP4172366B2 (ja) | 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 | |
JP4037973B2 (ja) | 波形再生装置 | |
JP3599981B2 (ja) | 楽音信号処理装置 | |
JP2833485B2 (ja) | 楽音発生装置 | |
JP2023067673A (ja) | 楽音発生装置 | |
JP2001075571A (ja) | 波形生成装置 | |
JP3651675B2 (ja) | 電子楽器 | |
JP2000214852A (ja) | 波形再生装置および波形記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060921 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060927 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091006 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |