JP2001265351A - 波形データ処理装置及び波形データ処理方法 - Google Patents

波形データ処理装置及び波形データ処理方法

Info

Publication number
JP2001265351A
JP2001265351A JP2000071149A JP2000071149A JP2001265351A JP 2001265351 A JP2001265351 A JP 2001265351A JP 2000071149 A JP2000071149 A JP 2000071149A JP 2000071149 A JP2000071149 A JP 2000071149A JP 2001265351 A JP2001265351 A JP 2001265351A
Authority
JP
Japan
Prior art keywords
waveform data
waveform
attack
pitch
loop
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.)
Granted
Application number
JP2000071149A
Other languages
English (en)
Other versions
JP3714397B2 (ja
Inventor
Masahiro Kakishita
正尋 柿下
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 JP2000071149A priority Critical patent/JP3714397B2/ja
Publication of JP2001265351A publication Critical patent/JP2001265351A/ja
Application granted granted Critical
Publication of JP3714397B2 publication Critical patent/JP3714397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 独立した複数の波形データを同一レートで読
み出した場合のピッチ変動を回避する。 【解決手段】 波形メモリは、連続して読み出されるア
タック波形データ及びループ波形データを記憶してい
る。ステップ206〜222の処理により、アタック波
形データを再生した場合のピッチAPを計算する。ステ
ップ224〜228の処理により、ループ波形データを
前記と同一レートで再生した場合のピッチLWPを計算
する。ステップ230〜236の処理により、アタック
波形データを両ピッチAP,LWPの比AP/LWPに
応じてリサンプリングして、元のアタック波形データを
リサンプリングしたアタック波形データに書き換えてお
く。これにより、アタック波形データ及びループ波形デ
ータを同一レートで連続して読み出しても、ピッチ変動
が生じなくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、波形メモリに記憶
されていて楽音信号を生成するための複数の波形サンプ
ル値からなる波形データを修正処理する波形データ処理
装置及び同方法に関する。
【0002】
【従来の技術】従来から、一つの楽音波形を時間的に異
なる複数の部分に分割して、例えばアタック部とサステ
イン部に分割して、各部分の楽音波形を表す複数の波形
サンプル値からなる波形データを独立して波形メモリに
それぞれ記憶しておき、これらの各部分の波形データを
連続して読み出して一つの楽音波形信号を生成するよう
にした楽音信号生成装置はよく知られている。この場
合、同一レートで読み出した各部分の波形データに基づ
いて生成される楽音信号のピッチが異なってしまうこと
があり、これを回避するために、前記各部分の波形デー
タを読み出す際に、読出しレートを各部分毎に調整でき
るようにした楽音信号生成装置も出現してきている。
【0003】
【発明が解決しようとする課題】しかし、上記読出しレ
ートを各部分毎に調整できるようにした楽音信号生成装
置にあっても、読み出しレートの変更を各部分の波形デ
ータの読出しの切り替えに精度よく同期させるとともに
精度よく読出しレートを変更することは難しく、各部分
の波形データの読出しの切り替え時に生成される楽音信
号のピッチが不連続になるという問題があった。また、
上記読出しレートを各部分毎に調整できる機能を備えて
いない楽音信号生成装置にあっては、各部分の波形デー
タの読出しの切り替えの際に大きなピッチ変動が発生す
る可能性もある。
【0004】
【本発明の概要】本発明は、上記問題に対処するために
なされたもので、その目的は、波形メモリに記憶されて
いる各部分の波形データを予め修正処理しておいて、各
部分の波形データを同一レートで連続して読出して楽音
信号を生成しても、ピッチ変動が生じないようにする波
形データ処理装置及び同方法を提供するものである。
【0005】上記目的を達成するために、本発明の構成
上の特徴は、波形メモリに所定のサンプリングレートで
記憶されていて、連続的に読み出されて連続した楽音波
形信号を生成するためのそれぞれ複数の波形サンプル値
からなる第1及び第2波形データのいずれか一方を修正
処理する波形データ処理装置であって、前記第1及び第
2波形データを同一レートで読み出した際の各ピッチを
計算するピッチ計算手段と、前記第1及び第2波形デー
タのうちの少なくともいずれか一方を前記計算された各
ピッチの比に応じたサンプリングレートに変更して書き
変えるリサンプリング手段とを備えたことにある。ま
た、本発明の他の構成上の特徴は、上記各手段の機能を
実現する方法にもある。
【0006】上記のように構成した本発明においては、
第1及び第2波形データを同一レートで読み出した際の
各ピッチの比に応じてサンプリングレートの変更された
第1又は第2波形データが波形メモリに記憶されること
になる。したがって、楽音信号の生成の際には、第1及
び第2波形データを同一レートで連続して読出しても、
第1波形データから第2波形データの切り替えの際にお
けるピッチ変動を回避することができ、第1及び第2波
形データを用いた楽音信号の生成の際、常に前記切り替
えに伴うピッチ変動を極力抑えた楽音信号を提供できる
ようになる。
【0007】
【発明の実施の形態】以下、本発明の一実施形態につい
て図面を用いて説明すると、図1は、同実施形態に係る
楽音波形処理装置をブロック図により概略的に示してい
る。
【0008】この楽音波形処理装置は、バス10に接続
されて、コンピュータ本体部を構成するCPU11、タ
イマ12、ROM13及びRAM14を備えている。C
PU11は、この楽音波形処理装置全体の制御を行うも
のであって、各種プログラムを実行する。タイマ12
は、CPU11に対し前記プログラムを実行する際に必
要な時間に関する情報を提供する。ROM13は、前記
プログラムの一部と、楽音発生に必要な諸情報とを記憶
している。RAM14は、前記プログラムの一部と、プ
ログラムの実行時において必要な情報等とを一時的に記
憶する。
【0009】また、この楽音波形処理装置は、波形メモ
リ21、アクセス管理回路22、書き込み回路23、バ
ッファ回路24、音源回路25及びサウンドシステム2
6を備えている。書き込み回路23、バッファ回路24
及び音源回路25は、バス10に接続されている。波形
メモリ21は、書き換え可能な不揮発性メモリ(電力供
給を遮断してもデータを保存可能なメモリ)で構成さ
れ、楽音波形を表す波形データ及び同波形データに付随
した付随データを記憶するものである。アクセス管理回
路22は、波形メモリ21に対する波形データ及び付随
データの書き込みと読み出しを管理するものである。
【0010】書き込み回路23は、A/D変換器を含
み、外部音入力端子27に供給されるアナログ形式の外
部音信号を予め決められたサンプリング周波数(標準サ
ンプリング周波数)fsでサンプリングするとともに、
同サンプリングした外部音信号をA/D変換してアクセ
ス管理回路22に供給する。なお、外部音信号として
は、マイクから入力したものでも、テープレコーダに記
録されているものでもよい。また、書き込み回路23
は、予めディジタル信号に変換された外部音信号も入力
可能としており、この場合には前記A/D変換は不要と
なる。バッファ回路24は、バス10とアクセス管理回
路22との間で、波形データを一時的に記憶する。
【0011】音源回路25は、CPU11の指示により
楽音信号を形成して出力するもので、同指示に応答し
て、アクセス管理回路22を介して波形メモリ21に記
憶されている波形データを読み出して、同読み出した波
形データに基づいて楽音信号を形成して出力する。この
場合、波形データは、一つの楽音に対してアタック部及
びループ部の2つの波形データからなり、アタック部の
波形データは先頭から順次読み出され、その後にループ
部の波形データが繰り返し読み出されて、同読み出され
た波形データはD/A変換されて楽音信号として出力さ
れる。サウンドシステム26は、アンプ、スピーカなど
からなり、音源回路25から出力された楽音信号を音響
信号に変換して出力する。
【0012】また、この楽音波形処理装置は、バス10
に接続された表示器31、パネルスイッチ32、インタ
ーフェース33及びドライブ回路34も備えている。表
示器31は、CPU11により制御されて、ユーザに対
する指示、各種データを表す図形、文字などを表示する
ものである。パネルスイッチ32は、ユーザのCPU1
1に対する指示及び各種データを入力するものである。
インターフェース33は、他の楽音発生装置、電子楽
器、シーケンサ、自動演奏装置、パーソナルコンピュー
タ、通信回線などに接続されて、MIDI情報を含む種
々の情報を送受信するためのものである。ドライブ回路
34は、外部メモリとしてのハードディスク、コンパク
トディスク、フレキシブルディスクなどの各種ディスク
に対して、各種データ及びプログラムを書き込み及び読
み出し可能とするものである。
【0013】なお、この楽音波形処理装置においては、
後述する図3のプログラム及び図示しないプログラム
を、予めROM13に記憶させておいて使用するように
してもよいし、ディスク35に記録されているものをR
AM14に書き込んだ後に使用するようにしてもよい。
また、同プログラムをインターフェース33を介して外
部から入力してRAM14又はディスク35に書き込ん
だ後に、使用するようにしてもよい。
【0014】次に、上記のように構成した楽音波形処理
装置の動作について説明する。まず、図2のステップ1
02に示すように、ユーザは、外部から一音分の楽音波
形データを取得するためにパネルスイッチ32を操作す
る。この場合、所望の音高周波数を有する外部音信号
(例えば、自然楽器音信号)を、自然楽器の演奏又はテ
ープレコーダの再生により外部音入力端子27を介して
書き込み回路23に入力する。また、外部記録媒体とし
てのディスク35に記録された一音分の外部音信号(外
部音波形データ)をドライブ回路34で読み出して、バ
ス10を介して書き込み回路23に供給するようにして
もよい。
【0015】書き込み回路23は、入力された外部音信
号がアナログ形式であれば、所定のサンプリング周波数
(標準サンプリング周波数)fsで同入力された外部音
信号をサンプリングするとともにA/D変換し、同A/
D変換した外部音信号を波形メモリ21に書き込む。入
力された外部音信号がディジタル形式であれば、同外部
音信号をそのまま波形メモリ21に書き込む。この場
合、ディジタル形式に変換されている外部音信号が前記
サンプリング周波数fsと同じサンプリング周波数でサ
ンプリングされていれば問題ないが、そうでない場合に
は、前記と同じサンプリング周波数でリサンプリングす
るか、外部音信号と共にサンプリング周波数を表すデー
タを波形メモリ21に書き込んでおく。なお、前記外部
音信号を波形メモリ21に代えて、バッファ回路24、
RAM14などの他の書き込み可能なメモリに記憶させ
ておいてもよい。
【0016】次に、ユーザは、ステップ104にて、前
記入力した外部音信号の音高周波数に対応したノートナ
ンバNNをパネルスイッチ32を用いて入力するととも
に、前記入力した外部音信号の波形図を表示器31に表
示させる。なお、前記外部音信号と共にノートナンバN
Nが入力される場合には、前記パネルスイッチ32を用
いたノートナンバNNの入力は省略される。次に、ユー
ザは、同ステップ104にて、表示器31における外部
音信号の波形図を見ながら、パネルスイッチ32を用い
てアタック部及びループ部の切り出し作業を各サンプル
値を単位として行う。
【0017】この切り出し作業においては、ユーザは、
表示器31上にて、外部音信号のアタックスタートポイ
ントP1、アタックエンドポイントP2、ループスター
トポイントP3及びループエンドポイントP4を指定す
る。アタックスタートポイントP1は、楽音信号の振幅
エンベロープが「0」から立ち上がり始めるタイミング
位置に指定される。アタックエンドポイントP2は、振
幅エンベロープの変化がほぼなくなって安定し始めたタ
イミング位置(サステイン部の開始タイミング位置)に
指定される。ループスタートポイントP3及びループエ
ンドポイントP4は、サステイン部の中で楽音信号波形
が繰り返して変化する区間の開始及び終了タイミング位
置に指定される。なお、この場合、サステイン部の楽音
信号波形の1周期又は複数周期を前記区間として指定す
るとよい。
【0018】この指定により、CPU11は、図示しな
いプログラムの実行により、前記波形メモリ21(又は
バッファ回路24、RAM14などの他の書き込み可能
なメモリ)に書き込まれた外部音信号を表す一連のサン
プル値のうちで、前記指定されたアタックスタートポイ
ントP1からアタックエンドポイントP2までに属する
サンプル値をアタック波形データADTとして波形メモ
リ21に書き込むとともに、ループスタートポイントP
3からループエンドポイントP4までに属するサンプル
値をループ波形データLDTとして波形メモリ21に書
き込む。そして、このときのアタック波形データADT
の先頭及び最終アドレス、ループ波形データLDTの先
頭及び最終アドレス、並びに前記入力したノートナンバ
NNを、前記アタック波形データADT及びループ波形
データLDTに付随させて波形メモリ21に書き込む。
以降において、これらのアタック波形データADTの先
頭及び最終アドレスをアタックスタートアドレス及びア
タックエンドアドレスと呼び、ループ波形データLDT
の先頭及び最終アドレスをループスタートアドレス及び
ループエンドアドレスと呼ぶ。なお、前記外部音信号を
表す一連のサンプル値は、この時点で消去されるが、前
記のように外部音信号のサンプリング周波数が外部音信
号と共に書き込まれている場合には、このサンプリング
周波数を前記各データと共に波形メモリ21に書き込ん
でおく。
【0019】ここで、後述するリサンプリングによるア
タック部とループ部(サステイン部)のピッチ調整の必
要性について説明しておく。楽音信号の形成において
は、アタック波形データADTを順次読み出した後、ひ
きつづいてループ波形データLDTを繰り返し読み出し
て、楽音信号を形成するものである。しかし、この場
合、アタック波形データADT及びループ波形データL
DTの両読み出しレートを同じにすると、発生される楽
音信号のアタック部からサステイン部(ループ部)に切
り替わる時点において大きなピッチ変動が発生するおそ
れがある。
【0020】すなわち、形成される楽音信号のアタック
部においては、外部音信号のサンプリングレートと前記
読み出しレートの比に正確に比例した周波数の楽音信号
が得られる。しかし、前記波形データの切り出しをサン
プル値単位で行ったので、サステイン部(ループ部)に
おいては、図4(B)に示すように、ループスタートポイ
ントP3及びループエンドポイントP4が外部音信号の
サステイン部の繰り返し波形の前端及び後端に正確に一
致しない。例えば、ループスタートポイントをP3に設
定した場合、同ポイントP3に対応する理想的なループ
エンドポイントはP4*になるが、サンプリング周波数f
sが正確に外部音信号の整数倍ではないので、ループス
タートポイントP3〜ループエンドポイントP4*までの
波形データを切り出すことができず、図4(B)に示す誤
差Δtが生じる。このことは、読み出しレートを外部音
信号のサンプリングレートと同じにしてループ波形デー
タLDTを読み出しても、新たに形成された楽音信号が
外部音信号と同じ周波数にならないことを考えれば明ら
かである。したがって、一定の読み出しレート(例え
ば、外部音信号のサンプリングレートと同じ読み出しレ
ート)でアタック波形データADTを読み出した後、ル
ープ波形データLDTを繰り返し読み出せば、発生され
る楽音信号のアタック部からサステイン部(ループ部)
に切り替わる時点において大きなピッチ変動が発生する
おそれがある。
【0021】前記図2のステップ104の処理後、ユー
ザは、ステップ106にて、パネルスイッチ32を用い
て波形メモリ21に記憶した波形データのリサンプリン
グを指示する。この指示に応答して、CPU11は、図
3のリサンプリングプログラムをステップ200にて開
始し、ステップ202にて波形メモリ21に書き込んだ
外部音信号に対してループ設定処理が行われているか否
か、すなわち波形メモリ21にアタック波形データAD
T及びループ波形データLDTが記憶されているか否か
を判定する。なぜならば、減衰系でかつピッチの明確で
ない、すなわちループを指定し難い音色の楽音波形(例
えば、バスドラなどの打楽器音、銃声のような効果音に
関する波形)には上述のループ波形データの設定処理が
行われずに、外部音信号がそのまま記憶されているから
である。ループ設定処理が行われていなければ、ステッ
プ202にて「NO」と判定して、ステップ204にてこ
のリサンプリングプログラムの実行を終了する。
【0022】一方、波形メモリ21に書き込んだ外部音
信号に対してループ設定処理が行われていれば、ステッ
プ202にて「YES」と判定して、プログラムをステッ
プ206〜210に進める。ステップ206において
は、アタック波形データADTを構成する一連のサンプ
ル値のうちでアタックエンドに近い部分の複数周期分の
サンプル値を取り出して、同取り出したサンプル値によ
り表された波形データをアタックエンド波形データAE
DTとする。具体的には、波形メモリ21に記憶されて
いるアタックエンドアドレスから複数周期分遡った複数
のサンプル値を読み出して、同読み出したサンプル値に
より表された波形データをアタックエンド波形データA
EDTとする。そして、このアタックエンド波形データ
AEDTに高速フーリェ変換(FFT)処理を施して、
同波形データAEDTにより表された波形信号を周波数
分析して、同波形信号に含まれる周波数成分を検出す
る。これにより、通常の場合、図5に示すような複数の
特定の周波数にそれぞれ対応してピークを有する解析結
果が得られる。なお、ノイズ成分などが多くて、前記ピ
ークが検出されないこともある。
【0023】次に、ステップ208にて、波形メモリ2
1にアタック及びループ波形データADT,LDTに付
随して記憶されているノートナンバNNを読み出して、
前記周波数解析結果から同ノートナンバNNに対応した
ピッチFnn(外部音信号の音高周波数)近傍の周波数帯
域にあるピークを検出する。そして、該当するピークが
検出されれば、同検出ピークを基本波ピークPK1と
し、同ピークPK1の現れる周波数を基本波周波数PF
1として設定するとともに、同ピークPK1のレベルを
基本波レベルPL1として設定する。なお、前記ノート
ナンバNNに対応したピッチFnnは、各ノートナンバN
Nに対応してROM13又は波形メモリ21に予め記憶
されている。
【0024】次に、ステップ210にて、前記周波数解
析結果から、前記ノートナンバNNに対応したピッチF
nnの2倍近傍の周波数帯域にあるピークを検出する。そ
して、該当するピークが検出されれば、同検出ピークを
2倍音ピークPK2とし、同ピークPK2の現れる周波
数を2倍音周波数PF2として設定するとともに、同ピ
ークPK2のレベルを2倍音レベルPL2として設定す
る。
【0025】前記ステップ210の処理後、ステップ2
12にて、前記ステップ206〜210の検出結果に基
づく次の判定処理を行う。まず、基本波及び2倍音ピー
クPK1,PK2が共に検出されなかった場合、ステッ
プ212の判定処理により、プログラムはステップ21
4に進められる。ステップ214においては、アタック
ピッチAPを前記と同様にして導出されたノートナンバ
NNに対応したピッチFnn(外部音信号の音高周波数)
に設定するとともに、倍音ナンバHNを「1」に設定す
る。
【0026】また、前記ステップ206〜210の処理
により、2倍音ピークPK2が検出されず、基本波ピー
クPK1のみが検出された場合には、ステップ212の
判定処理により、プログラムはステップ216に進めら
れる。ステップ216においては、アタックピッチAP
を基本波周波数PF1に設定するとともに、倍音ナンバ
HNを「1」に設定する。また、前記ステップ206〜
210の処理により、基本波ピークPK1が検出され
ず、2倍音ピークPK2のみが検出された場合には、ス
テップ212の判定処理により、プログラムはステップ
218に進められる。ステップ218においては、アタ
ックピッチAPを2倍音周波数PF2に設定するととも
に、倍音ナンバHNを「2」に設定する。
【0027】また、前記ステップ206〜210の処理
により、基本波及び2倍音ピークPK1,PK2が共に
検出された場合には、ステップ212の判定処理によ
り、プログラムはステップ220に進められる。ステッ
プ220においては、前記いずれのピークが有力である
かが判定される。この場合、基本波レベルPL1と2倍
音レベルPL2の大小関係、基本波及び2倍音ピークP
K1,PK2の周辺のレベルに基づいて判定されるピッ
チの安定度、継続性などが判断されて、各ピークの有効
度の高い方が有力とみなされる。
【0028】基本波ピークPK1が有力であると判定さ
れると、ステップ220における「YES」との判定の
もとに、プログラムはステップ220に進められる。ス
テップ220においては、ステップ216の場合と同様
に、アタックピッチAPを基本波周波数PF1に設定す
るとともに、倍音ナンバHNを「1」に設定する。ま
た、2倍音ピークPK2が有力であると判定されると、
ステップ220における「NO」との判定のもとに、プ
ログラムはステップ222に進められる。ステップ22
2においては、ステップ218の場合と同様に、アタッ
クピッチAPを2倍音周波数PF2に設定するととも
に、倍音ナンバHNを「2」に設定する。
【0029】これらのステップ206〜222の処理に
より、外部音信号のアタック部(正確には、アタックエ
ンド部)のピッチ(周波数)が検出される。言いかえれ
ば、波形メモリ21に記憶されたアタック波形データA
DTを外部音信号のサンプリング周波数fsと同一の読
み出しレートで読み出して楽音信号を形成したとき、同
楽音信号のアタック部(正確には、アタックエンド部)
のピッチ(周波数)が検出される。
【0030】次に、ステップ224〜228の処理によ
り、ループ波形データLDTを前記同一の読み出しレー
トで読み出して楽音信号を形成した場合における楽音信
号のピッチ(周波数)を検出する。
【0031】ステップ224においては、前記ステップ
206,208の場合と同様にして波形メモリ21から
読み出したノートナンバNNに対応したピッチFnnを導
出し、外部音信号をサンプリングしたサンプリング周波
数fsを前記導出したピッチFnnで除算して、外部音信
号の1周期当たりのサンプル数fs/Fnnを計算する。
次に、同ステップ224にて、波形メモリ21に記憶さ
れているループ波形データLDTのループスタートアド
レス及びループエンドアドレスを読み出して、同読み出
した両アドレスからループサイズLS(設定したループ
波形データLDTのサンプル数)を計算する。そして、
このループサイズLSを前記1周期のサンプル数fs/
Fnnで除算して、ループ波形データLDTに含まれる波
数WN(=LS・Fnn/fs)を計算する。具体的に、前
記計算結果(LS・Fnn/fs)の小数部1桁目を四捨五
入して整数値として計算するとよい。
【0032】ステップ226においては、サンプリング
周波数fsを前記計算したループサイズLSで除算する
ことにより、ループ部の1ループ当たりのピッチ(周波
数)を示すループピッチLP(=fs/LS)を計算す
る。ステップ228においては、前記計算した波数WN
とループピッチLPとを乗算することにより、ループ部
内に含まれる波形信号のピッチ(周波数)LWP(=W
N・LP)を計算する。これにより、波形メモリ21に
記憶されたループ波形データLDTを外部音信号のサン
プリング周波数fsと同一の読み出しレートで繰り返し
読み出して楽音信号を形成したとき、同楽音信号のルー
プ部(サステイン部)のピッチ(周波数)が検出され
る。
【0033】このようにして同一の読み出しレートで読
み出した場合における両波形データADT,LDTに基
づく楽音信号のピッチ(周波数)AP,LWPを計算し
た後、CPU11は、ステップ230にて倍音ナンバH
Nが「1」であるか否かを判定する。
【0034】倍音ナンバHNが「1」すなわちアタック
部のピッチ(周波数)として基本波のピッチ(周波数)
が検出されていれば、ステップ230にて「YES」と
判定して、プログラムをステップ232に進める。ステ
ップ232においては、波形メモリ21に記憶されてい
るアタック波形データADTをアタック部のピッチAP
とループ部のピッチLWPに応じてリサンプリング処理
する。すなわち、波形メモリ21に記憶されていてサン
プリング周波数fsでサンプリングされたアタック波形
データADTを、前記両ピッチAP,LWPの比に応じ
たリサンプリング周波数fs・AP/LWPでサンプリン
グし直して(リサンプリングして)、波形メモリ21に
以前から記憶されていたアタック波形データADTを前
記リサンプリングしたアタック波形データADT’に書
き換える。このリサンプリングしたアタック波形データ
ADT’を波形メモリ21に書き込む際には、同データ
ADT’を波形メモリ21のアタックエンドアドレスか
ら前方に向かって書き込む。そして、ステップ236に
て波形メモリ21内のアタックスタートアドレスをアタ
ック波形データADT’の先頭アドレスに書き換えてお
く。
【0035】一方、倍音ナンバHNが「2」すなわちア
タック部のピッチ(周波数)として2倍音のピッチ(周
波数)が検出されていれば、ステップ230にて「N
O」と判定して、プログラムをステップ234に進め
る。ステップ234においては、波形メモリ21に記憶
されているアタック波形データADTを前記リサンプリ
ング周波数fs・AP/LWPの「1/2」に相当するリ
サンプリング周波数fs・AP/2・LWPでリサンプリン
グする。これは、アタック部のピッチ検出において、外
部音信号の2倍音に相当するピッチが検出されているた
めである。そして、波形メモリ21に以前から記憶され
ていたアタック波形データADTを前記のようにしてリ
サンプリングしたアタック波形データADT’に書き換
える。この場合も、ステップ236にて、前記と同様
に、波形メモリ21内のアタックスタートアドレスをア
タック波形データADT’の先頭アドレスに書き換えて
おく。
【0036】このようなリサンプリング処理により、波
形メモリ21に記憶されているアタック波形データAD
T(図6(A))は、図6(B)に示すようなリサンプリン
グされたアタック波形データADT’に書き換えられ
る。図6(B)の例は、アタック部(正確にはアタックエ
ンド部)のピッチがループ部のピッチよりも高い場合の
例を示すものである。この場合、アタック部のピッチA
Pはループ部のピッチLWPよりも大きく、前記リサン
プリング周波数fs・AP/LWPは元のサンプリング周
波数fsよりも大きくなるので、リサンプリング後のア
タック波形データADT’のサンプル数は元のアタック
波形データADTよりも両ピッチの比AP/LWPに応
じた量だけ多くなる。逆に、アタック部のピッチがルー
プ部のピッチよりも低ければ、リサンプリング後のアタ
ック波形データADT’のサンプル数は元のアタック波
形データADTよりも両ピッチの比AP/LWPに応じ
た量だけ少なくなる。
【0037】なお、前記説明では予め決められた標準の
サンプリング周波数fsを用いた場合であるが、上述し
たように外部音信号のサンプリングの際に波形メモリ2
1にサンプリング周波数を書き込んでおいた場合には、
同書き込んだサンプリング周波数を前記サンプリング周
波数fsに代えて用いるとよい。
【0038】そして、前記ステップ236の処理後、ス
テップ238にて、このリサンプリングプログラムの実
行を終了する。そして、新たな外部音信号を楽音波形処
理する場合には、上述した図2の操作にしたがって、波
形メモリ21にアタック波形データADT、ループ波形
データLDT、及びこれらに付随するデータを波形メモ
リ21に記憶させる。
【0039】このようにして波形メモリ21に書き込ん
だ波形データを読み出して楽音信号を形成する場合、C
PU11は音源回路25に対して所望の音高周波数の楽
音の発生を指示する。この指示に応答して、音源回路2
5は、前記音高周波数に対応した読み出しレート(例え
ば、元のサンプリング周波数fsと同じ読み出しレー
ト)で、波形メモリ21からアクセス管理回路22を介
してリサンプリング後のアタック波形データADT’を
読み出し、その後にループ波形データLDTを繰り返し
読み出す。そして、これらの読み出したアタック波形デ
ータADT’及びループ波形データLDTに基づいて楽
音信号を形成して、サウンドシステム26を介して出力
する。なお、この場合、CPU11の指示により、リリ
ース開始が指示されたときには、音源回路25はループ
波形データLDTにより表されたサンプル値の振幅エン
ベロープを徐々に減衰させて出力するようにすればよ
い。
【0040】このようにして楽音信号が発生される結
果、アタック部(正確にはアタックエンド部)のピッチ
がループ部(サステイン部)のピッチよりも高い場合、
前記のように波形メモリ21に記憶されていてリサンプ
リングされたアタック波形データADT’のサンプル数
は元のアタック波形データADTのサンプル数よりもピ
ッチ比AP/LWPに比例して多くなっているので、同
一の読み出しレートでアタック波形データADT’及び
ループ波形データLDTを連続して読み出しても、アタ
ック部とループ部との切り替えタイミングにおけるピッ
チ変動を回避することができる。逆に、アタック部(正
確にはアタックエンド部)のピッチがループ部(サステ
イン部)のピッチよりも低い場合、リサンプリングされ
たアタック波形データADT’のサンプル数は元のアタ
ック波形データADTのサンプル数よりもピッチ比AP
/LWPに比例して少なくなっているので、同一の読み
出しレートでアタック波形データADT’及びループ波
形データLDTを連続して読み出しても、アタック部と
ループ部との切り替えタイミングにおけるピッチ変動を
回避することができる。
【0041】上記作動説明からも理解できるとおり、上
記実施形態によれば、ステップ206〜222の処理及
びステップ224〜228の処理により、外部音信号を
サンプリングして形成したアタック波形データADT及
びループ波形データLDTを同一レートで読み出して形
成した場合の各楽音信号のピッチ(周波数)AP,LW
Pをそれぞれ検出した。そして、ステップ230〜23
6の処理により、前記アタック波形データADTを両ピ
ッチAP,LWPの比AP/LWPに応じてリサンプリ
ングすることによりサンプル数を変更した新たなアタッ
ク波形データADT’を形成して、元のアタック波形デ
ータADTを前記リサンプリングしたアタック波形デー
タADT’に書き換えた。これにより、前記アタック波
形データADT’及びループ波形データLDTを同一読
み出してレートで連続して読み出しても、両波形データ
ADT’,LDTに基づく楽音信号にピッチ差が生じな
いようにしたので、波形データに応じて読み出しレート
を切り替えるなどの方法をとらなくても、アタック部と
ループ部との切り替え時におけるピッチ変動を避けるこ
とができる。
【0042】また、上記ステップ206〜222の処理
のように、FFT処理による複数のピークを用いて楽音
信号のピッチを検出するようにしたので、いずれかのピ
ークしか検出されない場合でも、楽音信号のピッチを計
算できる。また、複数のピークを検出できた場合には、
同複数の検出ピークを用いて楽音信号のピッチとしてよ
り適切な値を計算できる。その結果、楽音信号のピッチ
が広く検出できるようになるとともに、同ピッチを精度
よく検出できるようになる。
【0043】なお、上記実施形態においては、アタック
波形データADTに対してリサンプリング処理を施すよ
うにしたが、ループ波形データLDTにリサンプリング
処理を施すようにしてもよい。この場合、上記実施形態
のステップ232,234にて両ピッチAP,LWPを
逆にして、ループ波形データLDTをfs・LWP/A
P,fs・2・LWP/APでそれぞれリサンプリング処理
するようにすればよい。図6(C)はその例を示してお
り、アタック部(正確にはアタックエンド部)のピッチ
がループ部(サステイン部)のピッチよりも低い場合、
リサンプリングされたループ波形データLDT’のサン
プル数は元のループ波形データLDTのサンプル数より
も前記ピッチ比LWP/APに比例して少なくなる。ま
た、逆にアタック部のピッチがループ部のピッチよりも
高い場合、リサンプリングされたループ波形データLD
T’のサンプル数は元のループ波形データLDTのサン
プル数よりも前記ピッチ比LWP/APに比例して多く
なる。
【0044】また、上記実施形態では、ステップ206
〜222の処理により、波形データをFFT処理して基
本波ピークPK1及び2倍音ピークPK2のみを検出す
るようにしたが、3倍音、4倍音・・などのさらに多く
の倍音に関するピークPK3,PK4・・などをFFT
処理により検出するようにして、これらの検出された多
数のピークを選択的かつ効果的に用いて楽音信号のピッ
チを検出するようにしてもよい。これによれば、基本波
ピークPK1及び2倍音ピークPK2が検出されなくて
も、3倍音、4倍音・・などに関するピークPK3,P
K4・・などに基づいて楽音信号のピッチを検出できる
ようになる。また、より多くのピークを組み合わせて用
いることにより、楽音信号のピッチの検出精度を良好に
できる。
【0045】また、上記実施形態では、アタック部のピ
ッチ(周波数)を高速フーリェ変換(FFT)処理を用
いたステップ206〜222からなる処理により計算
し、ループ部のピッチ(周波数)をサンプリング周波数
fs、ループサイズLS、波数WN等を用いたステップ
224〜228からなる処理により計算した。しかし、
ループ読み出しが設定された波形データ同士を接続する
場合には、両方の波形データについて後者の処理により
両波形データに関するピッチを計算すればよい。また、
ループ読み出しが設定されない波形データ同士を接続す
る場合には、両方の波形データについて前者の処理によ
り両波形データに関するピッチを計算すればよい。この
場合、上記実施形態のアタックエンド波形データAED
TをFFT処理するのに代えて、各波形データについて
接続するポイントから所定周期又は所定サンプル数分の
波形データをそれぞれ取り出して、同取り出した波形デ
ータをそれぞれFFT処理するようにすればよい。ま
た、ループ読み出しが設定された波形データの後にルー
プ読み出しが行われない波形データを接続しようとする
場合には、ループ読み出しが設定された波形データに関
するピッチを後者の処理によって計算し、ループ読み出
しが行われない波形データのピッチを前者の処理によっ
て計算するようにすればよい。さらに、前記アタック
部、ループ部、及び後述する複数に区分した各波形デー
タのピッチを、再生ピッチが計算されるものであればど
のような方法で計算してもよい。
【0046】特に、前記ループ読み出しが設定されない
波形データ同士を接続する場合には、上述のように、両
方の波形データについてFFT処理による両波形データ
に関するピッチを計算するとよい。すなわち、上述した
ように、基本波ピークPK1及び2倍音ピークPK2、
又はこれらのピークに応じて3倍音ピークPK3及び4
倍音ピークPK4などの複数のピークを検出して、同検
出した複数のピークを用いて両波形データに関するピッ
チを計算するとよい。これによれば、両波形データは、
ピッチとして認識される可能性の高い倍音に基づいて接
続されることになり、両波形データの適切な接続が実現
される。
【0047】また、上記実施形態は、ループ部の切り出
しをサンプル値単位で行ったために生じる問題を解決す
るものであるが、この波形データのリサンプリング処理
は広く応用されるものである。すなわち、波形メモリ2
1に所定のサンプリングレートで記憶されていてそれぞ
れ複数の波形サンプル値からなる複数の波形データを連
続して読み出して、同読み出した波形データに基づいて
楽音信号を形成する場合には広く応用できる。波形デー
タの切り出しに問題がなく、かつ楽音信号のピッチ(周
波数)が同一であるべきにもかかわらず、異なる条件の
もとで複数の波形データを採取したために、同楽音信号
のピッチ(周波数)が若干ずれることがある。例えば、
異なる気温、チューニングの若干変化した状態などの異
なる環境下でアタック波形データADTとループ波形デ
ータLDTを自然楽器音からそれぞれ独立して採取した
場合、タッチの異なる波形データに対してループ波形デ
ータLDTを共通に利用しようとする場合などである。
このような場合であっても、前記のように連続して読み
出される2つ波形データの一方を上記のようなピッチ比
に応じてリサンプリングしておけば、前記2つの波形デ
ータに基づく楽音信号の再生ピッチ(周波数)を合わせ
ることができる。
【0048】また、上記実施形態においては、波形デー
タの区分をアタック部とループ部(サステイン部)に分
けるようにしたが、アタック部及びループ部(サステイ
ン部)に加え、リリース部も一つの区分として扱って複
数のサンプル値からなるリリース波形データを用意する
ようにしてもよい。また、アタック部、サステイン部及
びリリース部をさらに小区分化するようにしてもよい。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る楽音波形処理装置
の全体ブロック図である。
【図2】 ユーザによる音源用波形データの作成手順を
示すフローチャートである。
【図3】 図2のリサンプリング指示により実行される
プログラムのフローチャートである。
【図4】 (A)は外部音信号を示す波形図であり、(B)
は同外部音信号のループ部の前端及び後端部を拡大して
示す波形図である。
【図5】 図3のFFT処理によるスペクトル図であ
る。
【図6】 リサンプリングを説明するための楽音波形の
振幅エンベロープ波形図である。
【符号の説明】
10…バス、11…CPU、13…ROM、14…RA
M、21…波形メモリ、23…書き込み回路、25…音
源回路、31…表示器、32…パネルスイッチ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】波形メモリに所定のサンプリングレートで
    記憶されていて、連続的に読み出されて連続した楽音波
    形信号を生成するためのそれぞれ複数の波形サンプル値
    からなる第1及び第2波形データのいずれか一方を修正
    処理する波形データ処理装置であって、 前記第1及び第2波形データを同一レートで読み出した
    際の各ピッチをそれぞれ計算するピッチ計算手段と、 前記第1及び第2波形データのうちの少なくともいずれ
    か一方を前記計算された各ピッチの比に応じたサンプリ
    ングレートに変更して書き変えるリサンプリング手段と
    を備えたことを特徴とする波形データ処理装置。
  2. 【請求項2】波形メモリに所定のサンプリングレートで
    記憶されていて、連続的に読み出されて連続した楽音波
    形信号を生成するためのそれぞれ複数の波形サンプル値
    からなる第1及び第2波形データのいずれか一方を修正
    処理する波形データ処理方法であって、 前記第1及び第2波形データを同一レートで読み出した
    際の各ピッチをそれぞれ計算し、 前記第1及び第2波形データのうちの少なくともいずれ
    か一方を前記計算された各ピッチの比に応じたサンプリ
    ングレートに変更して書き変えるようにしたことを特徴
    とする波形データ処理方法。
JP2000071149A 2000-03-14 2000-03-14 波形データ処理装置及び波形データ処理方法 Expired - Fee Related JP3714397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000071149A JP3714397B2 (ja) 2000-03-14 2000-03-14 波形データ処理装置及び波形データ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000071149A JP3714397B2 (ja) 2000-03-14 2000-03-14 波形データ処理装置及び波形データ処理方法

Publications (2)

Publication Number Publication Date
JP2001265351A true JP2001265351A (ja) 2001-09-28
JP3714397B2 JP3714397B2 (ja) 2005-11-09

Family

ID=18589773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000071149A Expired - Fee Related JP3714397B2 (ja) 2000-03-14 2000-03-14 波形データ処理装置及び波形データ処理方法

Country Status (1)

Country Link
JP (1) JP3714397B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050596A (ja) * 2011-08-31 2013-03-14 Jvc Kenwood Corp 音声再生装置、音声再生方法、プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4010896A1 (en) * 2019-08-08 2022-06-15 Harmonix Music Systems, Inc. Authoring and rendering digital audio waveforms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013050596A (ja) * 2011-08-31 2013-03-14 Jvc Kenwood Corp 音声再生装置、音声再生方法、プログラム

Also Published As

Publication number Publication date
JP3714397B2 (ja) 2005-11-09

Similar Documents

Publication Publication Date Title
JP3399297B2 (ja) 電子楽器
JP5533892B2 (ja) 演奏装置
JP3008922B2 (ja) 楽音発生装置および楽音発生方法
JP2010113278A (ja) 楽曲処理装置およびプログラム
JPH0798586A (ja) 電子楽器の音源装置
JP4736046B2 (ja) 波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法
JP3714397B2 (ja) 波形データ処理装置及び波形データ処理方法
JPH07121181A (ja) 音声情報処理装置
JP3658826B2 (ja) 楽音生成方法
JP2000010565A (ja) 波形デ―タ生成方法、波形デ―タ生成プログラムを記録した記録媒体、波形デ―タ生成装置および波形デ―タを記録した記録媒体
JP3740717B2 (ja) 音源装置及び楽音生成方法
JP4049465B2 (ja) 波形再生装置のピッチ制御装置
JP3731476B2 (ja) 波形データ解析方法、波形データ解析装置および記録媒体
JP5359203B2 (ja) 楽曲処理装置およびプログラム
JP3095018B2 (ja) 楽音発生装置
JP4037973B2 (ja) 波形再生装置
JP2000214852A (ja) 波形再生装置および波形記憶媒体
JP3659002B2 (ja) 楽音データ処理装置およびコンピュータシステム
JP2546202B2 (ja) 波形発生装置
JPH10307581A (ja) 波形データ圧縮装置および方法
JP2001272978A (ja) 情報修正装置及び情報修正プログラムを記録した媒体
JP3730559B2 (ja) 電子楽器
JP3636056B2 (ja) 波形データ処理方法
JPH05297866A (ja) 電子楽器および電子楽器における楽音発音方法
JP4345010B2 (ja) ピッチ変更量決定方法、ピッチ変更量決定装置およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

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: 20050803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050816

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: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees