JP3731477B2 - 波形データ解析方法、波形データ解析装置および記録媒体 - Google Patents

波形データ解析方法、波形データ解析装置および記録媒体 Download PDF

Info

Publication number
JP3731477B2
JP3731477B2 JP2001008814A JP2001008814A JP3731477B2 JP 3731477 B2 JP3731477 B2 JP 3731477B2 JP 2001008814 A JP2001008814 A JP 2001008814A JP 2001008814 A JP2001008814 A JP 2001008814A JP 3731477 B2 JP3731477 B2 JP 3731477B2
Authority
JP
Japan
Prior art keywords
waveform data
rising
waveform
section
original
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
JP2001008814A
Other languages
English (en)
Other versions
JP2002215161A (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 JP2001008814A priority Critical patent/JP3731477B2/ja
Priority to US10/051,973 priority patent/US7094965B2/en
Publication of JP2002215161A publication Critical patent/JP2002215161A/ja
Priority to US11/016,294 priority patent/US7102068B2/en
Application granted granted Critical
Publication of JP3731477B2 publication Critical patent/JP3731477B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パーソナルコンピュータ、電子楽器、アミューズメント機器等における自動演奏、特に自動伴奏に用いて好適な、波形データ解析方法、波形データ解析装置および記録媒体に関する。
【0002】
【従来の技術】
従来より、ある程度の長さの自然楽器音等を録音し、これを設定されたテンポに応じた速度で自動的に繰返し再生する技術が知られている。この技術はリズム音等の自動伴奏等に使用されているが、設定されるテンポに応じて原波形を圧縮あるいは伸張させる必要がある。その処理内容を図2(a),(b)を流用し説明する。
【0003】
同図(a)は、自然楽器音等をステレオ録音した原波形データである。この原波形データを、エンベロープの立上り部分(図上の破線部分、以下「制御ポイント」という)で区切ると、例えば同図(b)に示すように、原波形データを複数の区画(オリジナルセクションという)1r〜12rに区切ることができる。この原波形データを用いて自動リズム伴奏等を行う際、原波形データの録音時のテンポと同一のテンポで再生するのであれば、原波形データを特に加工することなく繰返し再生するとよい。
【0004】
また、再生時のテンポが録音時よりも速くなる場合は、各オリジナルセクション1r〜12rの再生部分を短くする必要がある。このためには、各区画の終端部分を一定の割合でカットすればよい。例えば、録音時のテンポが「100」、再生時のテンポが「125」であったとすると、各オリジナルセクション1r〜12rの終端部分を20%づつカットし、残りの波形データを再生するとよい。
【0005】
一方、再生時のテンポが録音時のテンポよりも遅くなる場合には問題が生じる。すなわち、再生時のテンポに合せて各区画の再生開始タイミングを単に遅らせたのでは、各区画の隙間に無音区間が生じ、耳障りになる。そこで、この各区画の隙間は、直前の区画の波形データを必要な長さだけ継ぎ足して再生することが一般的である。その際、継ぎ足される部分の振幅の初期値は、その直前の部分の振幅と一致するように設定される。
【0006】
【発明が解決しようとする課題】
しかし、上記技術においては、必ずしも適切な位置に制御ポイントが設定されないという問題があった。
まず、上記技術において、制御ポイントはエンベロープが所定の閾値より立ち上がった部分に設定されたが、人間の聴覚上で波形の立ち上がりであると認識できるポイントであっても、ピークがこの閾値に満たないために制御ポイントが自動的に設定されない場合がある。かかる場合は、複数回のビートが1つのオリジナルセクションに含まれることになり、これらビート間ではテンポの圧縮・伸張に対応できなくなる。逆に、エンベロープの変動が大きい箇所では、人間の聴覚上で1つのビートであると認識される場合にも、複数の制御ポイントが設定され、不自然な圧縮・伸張が行われる場合がある。
【0007】
また、録音時のテンポと再生時のテンポとが異なる場合、単に両者の比に応じて各区間の再生開始タイミングを制御すると、特に立ち上がりの遅い波形において「もたれ」が生じるという問題があった。その内容を図3(a)を参照し説明する。同図(a)において再生開始時刻(0)から波形の立ち上がりが開始されるまでの時間をエッジ開始時間Tsと呼び、立ち上がりが開始された後、波形レベルがピークに達するまでの時間を立上り時間Ttと呼ぶ。
【0008】
同図(a)の実線は録音時のテンポで再生した波形データのエンベロープレベルを示している。人間の聴覚では、エンベロープレベルのピーク位置すなわち再生開始後「Ts+Tt」の時間が経過したタイミングで拍が生じるように感じられる。次に、同図(a)の一点鎖線は、録音時のテンポをn倍に伸張して波形データを再生した例を示す。なお、図示の例では「n=2」の場合を想定して描画している。この場合、エッジ開始時間は録音時のn倍「nTs」であるが、実際に人間の聴覚で拍を感じる時間は、録音時のn倍「n(Ts+Tt)」よりも短い「nTs+Tt」になる。
【0009】
この結果、波形を伸張して再生すると、好ましいタイミングよりも速いタイミングに拍が生じるように感じられることになる。逆に、録音時よりもテンポを圧縮した場合は、好ましいタイミングよりも遅いタイミングに拍が生じるように感じられることになる。
この発明は上述した事情に鑑みてなされたものであり、波形データの最適な区切り位置(制御ポイント)を求めることができる波形データ解析方法、波形データ解析装置および記録媒体を提供することを目的としている。
【0010】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の波形データ解析方法にあっては、原波形データに対して推定拍位置(検出窓の基準位置)を決定する過程と、該推定拍位置に対応した所定の範囲内(検出窓)において原波形データの立ち上がり位置(エッジ開始位置)を検出する検出過程(ステップSP102〜SP112)と、検出された立ち上がり位置のうち所定の条件を満たすものを、前記原波形データの区切り位置として抽出する抽出過程とを有し、前記所定の範囲(検出窓)は、第1および第2の所定範囲から構成され、前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が所定の第1の閾値(閾値Th1)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が前記第1の閾値(閾値Th1)よりも低い第2の閾値(閾値Th2)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であることを特徴とする。
また、請求項2記載の波形データ解析方法にあっては、原波形データの立ち上がり位置(エッジ開始位置)を検出する検出過程(ステップSP102〜SP112)と、一の所定の範囲(検出窓)に属する複数の前記立ち上がり位置のうち、一の立ち上がり位置を選択して前記原波形データの区切り位置として抽出する抽出過程とを有し、前記所定の範囲(検出窓)は、第1および第2の所定範囲から構成され、前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が所定の第1の閾値(閾値Th1)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が前記第1の閾値(閾値Th1)よりも低い第2の閾値(閾値Th2)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であることを特徴とする。
さらに、請求項3記載の構成にあっては、請求項1または2記載の波形データ解析方法において、前記第1の所定範囲は、前記原波形データ中の強拍に対応する位置に設けられ、前記第2の所定範囲は前記原波形データ中の弱拍に対応する位置に設けられることを特徴とする。
また、請求項記載の波形データ解析装置にあっては、請求項1ないし3の何れかに記載の方法を実行することを特徴とする。
また、請求項記載のコンピュータ読み取り可能な記録媒体にあっては、請求項1ないしの何れかに記載の方法をコンピュータに実行させるプログラムを記憶したことを特徴とする。
【0011】
【発明の実施の形態】
1.実施形態のハードウエア構成
次に、本発明の一実施形態の波形編集システムのハードウエア構成を図1を参照し説明する。なお、本波形編集システムは、汎用パーソナルコンピュータ上で動作するアプリケーションプログラムおよびドライバ等によって構成されている。
図において2は通信インタフェースであり、インターネット等の外部ネットワークを介して波形データ等のやりとりを行う。4は入力装置であり、キーボード、マウス等から構成されている。6は演奏操作子であり、鍵盤および打楽器を模擬するパッド操作子等によって構成されている。
【0012】
8はディスプレイであり、ユーザに対して各種情報を表示する。10はCPUであり、後述するプログラムに基づいて、バス16を介して他の各部を制御する。12はROMであり、イニシャルプログラムローダ等が格納されている。14はRAMであり、CPU10によって読み書きされる。18はドライブ装置であり、CD−ROM、MO等の記憶媒体20の読み書きを行う。
【0013】
22は波形取込インタフェースであり、外部から入力されたアナログ波形をサンプリングし、デジタル波形データに変換した後、バス16を介して出力する。24はハードディスクであり、汎用パーソナルコンピュータのオペレーティングシステム、後述する波形編集のアプリケーションプログラム、波形データ等が格納される。26は波形出力インタフェースであり、バス16を介して供給された波形データをアナログ波形に変換し、サウンドシステム28を介して発音させる。
【0014】
2.実施形態の動作
次に、本実施形態の動作を説明する。
まず、パーソナルコンピュータの電源が投入されると、ROM12に格納されたイニシャルプログラムローダが実行され、オペレーティングシステムが立上る。このオペレーティングシステムにおいて所定の操作を行うと、本実施形態の波形編集アプリケーションプログラムが起動される。
【0015】
2.1.原波形データの取得
波形編集アプリケーションプログラムにおいてユーザが所定の操作を行うと、波形取込インタフェース22を介して、処理対象の原波形データがRAM14ないしハードディスク24に取り込まれる。なお、原波形データは、通信インタフェース2あるいは記憶媒体20を介して取得してもよい。
【0016】
2.2.再生用波形データ生成処理
2.2.1.トリミング処理(SP2,SP4)
原波形データが取得された後、所定の操作が行われると、波形編集アプリケーションプログラムにおいて図4に示すプログラムが起動される。まず、原波形データには、その開始部分および終了部分に無音区間が存在する場合がある。そこで、処理がステップSP2に進むと、両無音区間が自動的にトリミング(削除)される。但し、その際、録音した原波形データの演奏テンポ等に応じて、小節長の所定数倍(自然数倍)になるようにトリミングするとよい。
【0017】
但し、原波形データに雑音が含まれていた場合等においては、必ずしも適切な位置でトリミングされない場合もある。そこで、処理がステップSP4に進むと、ユーザは、この自動的に決定されたデフォルトのトリミング位置を任意に修正することが可能である。設定するトリミング位置は、両トリミング位置間で波形データをループ再生した時にテンポ感が崩れないような位置(すなわち波形データ長が小節長の自然数倍になる位置)に設定すると好適である。
【0018】
2.2.2.パラメータ設定(SP6)
次に、処理がステップSP6に進むと、ユーザによって、制御ポイント検出のための各種パラメータが指定される。指定されるパラメータには、以下のようなものがある。
(1)波形タイプ:このパラメータは、例えば波形データの種別を指定するものであり、「パーカッション系」、「持続系」等に大別され、さらに様々な楽器の原波形データに適した複数のバリエーションに分類されている。この波形タイプに基づいて、閾値等、後述する他のパラメータのデフォルト値が決定される。
(2)小節数:このパラメータは、波形データ(トリミング後の波形データ、以下同)が何小節の波形データであるかを指定するものであり、例えば「1」〜「8」小節の範囲の自然数で指定される。
【0019】
(3)拍子:このパラメータは、波形データの拍子を指定するものであり、例えば「1〜8/4」、「1〜16/8」、「1〜16/16」の範囲に設定される。なお、波形データの時間長は既知であるから、「小節数」と「拍子」が決定されることにより、「テンポ」も一意に決定される。
(4)分解能:このパラメータは、強拍および弱拍の制御ポイントを検出するために1小節あたりどの程度の分解能で波形データを検索するかを指定するパラメータである。例えば、「拍子」が「4/4」であるとき、「分解能」は「4分」、「4分+3」、「8分」、「8分+3」、「16分」、「16分+3」または「32分」の何れかを指定可能である(但し、「+3」は3連符への分割を示す)。ここで、「4分」は1小節を4分するタイミング(4分音符のタイミング)、「4分+3」は12分するタイミング、「8分」は8分するタイミング(8分音符のタイミング)、「8分+3」は24分するタイミング、「16分」は16分するタイミング、「16分+3」は48分するタイミング、「32分」は32分するタイミングにおいて、波形データが検索されることになる。
【0020】
ところで、上記各パラメータのうち、「波形タイプ」の選択は以下のように行われる。すなわち、ディスプレイ8に図19に示すようなパーカッション系選択ボタン80および持続系選択ボタン82が表示され、ユーザが何れかのボタンをマウスでクリックすると、対応する波形タイプが選択される。上述した「パーカッション系」は単にパーカッション系の波形データに用いて好適なだけではなく、他系統の断続的な波形データに適用しても望ましい。同図に示すように、パーカッション系選択ボタン80には断続的な波形が描画され、持続系選択ボタン82には持続的な波形が描画されているから、ユーザは望ましい波形タイプを一見して判断することができる。
【0021】
2.2.3.不要帯域除去フィルタ処理(SP8)
トリミングされた波形データには様々な周波数成分が含まれているが、この中には制御ポイント検出のために障害になる成分(不要帯域)も含まれている。そこで、次に処理がステップSP8に進むと、これら不要帯域を除去するためにフィルタ処理が施される。このフィルタ処理は、バンドカット処理およびハイパス処理の2種類に大別されるが、不要帯域が分布している態様は楽曲や楽器に応じて異なるため、フィルタ処理の内容は上記「波形タイプ」に応じて決定すると好適である。すなわち、波形タイプに応じて、バンドカット処理およびハイパス処理の双方あるいは何れか一方のみが実行され、フィルタ処理のパラメータも波形タイプに応じて決定される。
【0022】
ここで、フィルタ処理におけるパラメータの設定例を述べておく。
まず、波形データの中、メロディ等の音程を持った成分は、制御ポイントの検出に際して障害になる可能性が高い。各種の楽曲を解析した結果、このような成分すなわちボーカルやベース等の持続部分の成分は「80Hz〜8kHz」の帯域に多く現れ、特に「100Hz〜300Hz」の帯域に多く現れる。そこで、バンドカット処理においては、「80Hz〜8kHz」の帯域を減衰させ、特に「100Hz〜300Hz」の帯域を強く減衰させるようなフィルタ処理が行われる。なお、ボーカルやベース等のアタック部(子音やアタックノイズ等)は、当該帯域以外にも広がっているため、フィルタ処理を行ったとしても、制御ポイントは検出可能である。
【0023】
また、バンド演奏等においては、シンバル等の高域音が規則正しく刻まれている場合が多い。かかる場合には、この規則正しい高域成分のみを抽出するハイパス処理を行うと好適である。なお、バンドカット処理およびハイパス処理の何れにおいても急峻なフィルタ特性は不要であるため、ハイパス処理においては1次のフィルタ、バンドカット処理においては2次のフィルタを用いれば実用上充分である。この不要帯域除去フィルタ処理の結果の一例として、図5(a)にトリミング後の波形データ、同図(b)にフィルタ処理の波形を示す。なお、この波形データの例においては、小節数は「2小節」、拍子は「4/4拍子」、分解能は「8分」である。
【0024】
2.2.4.デフォルトの制御ポイント決定(SP10,SP12)
「制御ポイント」とは、上述したように、波形データの編集処理を行う基準となる位置である。
ステップSP10においては、デフォルトの制御ポイントを設定する手法として、単純決定モードまたは解析モードの何れかの動作モードがユーザによって指定される。次に、処理がステップSP12に進むと、指定された動作モードに応じて、デフォルトの制御ポイントが自動的に決定される。ここで、「単純決定モード」においては、拍単位に制御ポイントが設定される。例えば、1小節で拍子が3拍子であれば、波形データを3等分する位置に制御ポイントが設定され、また2小節であれば6等分する位置に設定される。例えば、1小節、拍子が4/4拍子であれば、波形データを4等分する位置に制御ポイントが設定され、また2小節であれば8等分する位置に設定される。
【0025】
一方、「解析モード」においては、波形データの解析結果に基づいて制御ポイントが決定される。具体的には、音量エンベロープの立上がり開始位置、ピーク位置等が検出され、これらの検出結果に基づいて制御ポイントが設定される。以上のように決定されたデフォルトの制御ポイントは、波形データとともにディスプレイ8に表示される。その表示例を図2(a)に示す。図において波形データはステレオ録音されたものであり、左(上側)および右(下側)の2系統示されている。制御ポイントは同図のウィンドウ上の縦破線によって示されており、両系統に対して共通である。このように複数系統間で共通の制御ポイントを設定することにより、時間軸を制御した場合でも複数系統間で相互の時間位置を容易に同期させることができる。以下、解析モードにおいてデフォルトの制御ポイントを決定する処理の詳細を図6を参照し説明する。
【0026】
(1)ダウンサンプル処理(SP102)
図6において処理がステップSP102に進むと、不要帯域が除去された波形データに対してダウンサンプル処理が施される。これは、制御ポイントを決定するために必要なサンプリング周波数は、鑑賞用のオーディオデータのサンプリング周波数と比較してはるかに低いため、その後の処理を高速化させるためにサンプリング周波数を低下させることが好適だからである。
(2)絶対値化処理(SP104)
次に、処理がステップSP104に進むと、ダウンサンプルされた波形データの絶対値が求められる。なお、図5(b)の波形に対応して得られた絶対値の例を図7(a)に示す。
【0027】
(3)エンベロープフォロア処理(SP106)
次に、処理がステップSP106に進むと、図7(a)の絶対値波形に対して、エンベロープフォロア処理が行われる。これは、絶対値波形のエンベロープ波形を求める処理であるが、絶対値波形の立ち上がりに対してエンベロープ波形を急峻に立ち上げ、絶対値波形の立ち下がりに対してエンベロープ波形を徐々に立ち下げる点に特徴がある。ここで、エンベロープフォロア処理のアルゴリズムを等価な回路ブロックによって表現した例を図8に示す。これは、回路としては入力の上昇時と下降時で異なる係数を使用するようなローパスフィルタである。
【0028】
図8において60は遅延回路であり、1サンプリング周期(ダウンサンプル後の周期、以下同)前のエンベロープレベルを記憶する。62は減算器であり、現サンプリング周期の絶対値波形レベルから1サンプリング周期前のエンベロープレベルを減算し、その結果を差分信号dとして出力する。66,68は乗算器であり、各々差分信号dが供給されると、これに対して係数a1,a2(但し、1>a1>a2>0)を乗算し出力する。ここで、係数a2は係数a1より長いフィルタの時定数に対応している。
【0029】
64はスイッチであり、差分信号dが「0」以上である場合は乗算器66を選択し、また差分信号dが「0」未満である場合は乗算器68を選択し、選択された側の乗算器に当該差分信号dを供給する。70は加算器であり、選択された側の乗算器66,68の出力信号と、1サンプリング周期前のエンベロープレベルとの加算結果を現サンプリング周期におけるエンベロープレベルとして出力する。かかるエンベロープフォロア処理によって得られた波形を図7(b)に示す。この波形に対して細かい変動を取り除くため、ステップSP106においてはさらにローパスフィルタ処理が施される。このローパスフィルタ処理の結果を同図(c)に示す。
【0030】
(4)コンプレッサ処理(SP108)
図6において次に処理がステップSP108に進むと、コンプレッサ処理が実行される。すなわち、エンベロープフォロア処理結果に基づくエンベロープレベルの平均値が算出され、その平均値よりも高いレベルは低く、また平均値よりも低いレベルは高くなるようにエンベロープレベルが修正される。かかる処理の結果を図7(d)に示す。
【0031】
(5)エッジ検出フィルタ処理(SP110)
図6において次に処理がステップSP110に進むと、エッジ検出フィルタ処理が実行される。これは、エンベロープレベルに対する立ち上がりおよび立下がりを強調する処理である。ここで、エッジ検出フィルタ処理のアルゴリズムを等価な回路ブロック(コムフィルタ)によって表現した例を図9(a)に示す。
【0032】
図9(a)において72は遅延回路であり、コンプレッサ処理の施されたエンベロープレベルを入力信号とし、これをnサンプリング周期(nは2以上の自然数)遅延させて出力する。74は減算器であり、現サンプリング周期の入力信号から、nサンプリング周期前の入力信号を減算し、その結果をエッジ検出フィルタ処理結果として出力する。同図(b)に入力信号例、同図(c)にこれをnサンプリング周期遅延させ反転した信号例、同図(c)にフィルタ出力信号例(同図(b),(c)の波形の減算結果)を示す。また、かかる処理を図7(d)の波形に施した結果を図10(a)に示す。
【0033】
(6)エッジ開始位置/ピーク位置検出処理(SP112)
図6において次に処理がステップSP112に進むと、エッジ開始位置/ピーク位置検出処理が実行される。エッジ検出フィルタ処理結果を入力信号として、該入力信号の立ち上がりエッジとピーク位置とを検出する処理である。この処理の概要を図11を参照し説明する。同図(a)は、入力信号の一部を時間軸上で拡大した図を示している。この図において、入力信号は所定の閾値Thと比較され、入力信号が閾値Thを超えた時刻をエッジ開始位置(時刻t1)とする。
【0034】
同図(b)に示す出力信号レベルは時刻t1以前は「0」に設定され、時刻t1において「−M」(Mは所定値)に設定される。さらに、入力信号のピーク位置において、出力信号は1サンプリング周期だけ該ピーク値に設定され、しかる後に再び「0」に立ち下げられる。図10(a)の波形にかかる処理を施した結果を同図(b)に示す。
【0035】
同図(b)の信号において、レベルが「−M」に立下がるタイミングが「エッジ開始位置」であり、「−M」のレベルが継続する時間はエッジ開始位置からピーク位置までの時間(立上り時間Tt)に等しい。さらにピークレベルはエッジ検出フィルタ処理結果(同図(a))のピークレベルに等しい。なお、エッジ開始位置、立上り時間Ttおよびピークレベルを総称して「エッジ情報」と呼ぶ。
【0036】
(7)強拍抽出処理(SP114)
図6において次に処理がステップSP114に進むと、強拍抽出処理が実行される。
まず、上述したパラメータ設定処理(SP6)においては、ユーザによって「拍子」のパラメータが指定された。強拍抽出処理においては、この指定された拍子に応じて、検出窓が決定される。この検出窓は、拍子に応じて分割される1小節内の各区間(以下、推定強拍区間という)の先頭を基準位置とし、これら推定強拍区間の1/8〜1/2の幅を有する。なお、1/8〜1/2の範囲のうち具体的にどの値を採用するかは「波形タイプ」のパラメータに応じて決定される。
【0037】
ここで、波形データの小節数を「2」、拍子を「4/4」ととし、窓幅を推定強拍区間の「1/6」とした場合の検出窓を、図10(b)の波形に重ねて同図(c)に示す。この図において網掛けの施されている部分が検出窓であり、各検出窓の「1/3」(推定強拍区間幅の1/18)の部分が基準位置よりも前に、「2/3」(推定強拍区間幅の2/18)の部分が基準位置よりも後に位置するように設定されている。
【0038】
次に、各検出窓にピーク位置が属するエッジ情報のうち、ピークレベルが所定の閾値Th1を超えるものが抽出される。但し、一つの検出窓において複数のエッジ情報が存在する場合には、最大のピークレベルを有するエッジ情報のみが抽出される。図10(c)の波形に対して、かかる抽出を行った結果を同図(d)に示す。同図(c)においては、最初の(左端の)検出窓には、閾値Th1を超える2つのエッジ情報のピーク位置が存在するが、同図(d)を参照すると、そのうちピークレベルの高いエッジ情報のみが抽出されている。また、同図(c)において左端から6番目の検出窓には一応エッジ情報が存在するが、ピークレベルが閾値Th1を超えていないため、同図(d)においては抽出されていない。
【0039】
(8)弱拍抽出処理(SP116)
図6において次に処理がステップSP116に進むと、弱拍抽出処理が実行される。
この処理においては、上述したパラメータ設定処理(SP6)において指定された「分解能」のパラメータに基づいて、各小節を分割する位置に検出窓の基準位置が設定される。但し、先のステップSP114において既に強拍が検出された検出窓に対応する基準位置は、本ステップにおいては除かれる。
【0040】
従って、上記ステップSP114において各検出窓で強拍が検出されていた場合には、本ステップにおいては各推定強拍区間を2分する位置を各基準位置とする新たな検出窓が設けられることになる。一方、先に強拍が抽出されなかった検出窓(図10(c)において左端から6番目の検出窓)については、本ステップにおいても、改めて弱拍抽出用の検出窓が同一の位置に設定される。その結果、弱拍抽出用の検出窓は、図12(a)の網掛け部分に示すように設定される。ここで、新たに設定される検出窓の位置は、ステップSP114において抽出された強拍の位置に応じて決定してもよい。このようにすれば、波形データの途中でリズムが揺らいでいても、そのリズムに応じた正確な位置に弱拍の検出窓を設定することができる。
【0041】
この処理においても、各検出窓の「1/3」(推定強拍区間幅の1/18)の部分が基準位置よりも前に、「2/3」(推定強拍区間幅の2/18)の部分が基準位置よりも後に位置するように設定されている。次に、各検出窓にピーク位置が属するエッジ情報のうち、所定の閾値Th2を超えるものが抽出される。但し、一つの検出窓において複数のエッジ情報が存在する場合には、最大のピークレベルを有するエッジ情報のみが抽出される。
【0042】
ここで、閾値Th2は閾値Th1の「1/5」程度のレベルになるように設定され、閾値Thは閾値Th2よりもさらに小さい値に設定される。ここまでの処理によって抽出された強拍および弱拍の抽出結果を同図(b)に示す。同図(b)によれば、今回の抽出処理により、先の強拍抽出処理(SP114)においてピークレベルが足りなかったために抽出されなかったエッジ情報も抽出されている。上記ステップSP114,SP116によって抽出されたエッジ情報のうち、エッジ開始位置は図2(a)において説明した制御ポイントに他ならない。
【0043】
(9)制御ポイント強制設定処理(SP118)
次に、処理がステップSP118に進むと、必要な場合には、これまでにエッジ情報が検出されなかった検出窓の基準位置に制御ポイントが強制的に設定される。「必要な場合に」とは、具体的には波形タイプとして「持続系」が指定されていた場合である。このような設定を行う理由は、「持続系」の波形のエンベロープは規則的に減衰している(単純減衰である)訳ではないので、立上がりが検出されなかった位置に関しても強制的に制御ポイントを設定した方が音楽的に適切な時間軸制御を行えるからである。
【0044】
2.2.5.制御ポイント編集処理(SP14)
次に、処理がステップSP14に進むと、このデフォルトの制御ポイントがユーザによって編集される。具体的には、上記ウィンドウ上で、必要に応じて制御ポイントが追加、削除または移動される。
【0045】
2.2.6.挿入セクション1i〜12iの平坦化波形データの決定
上述したように、波形データの始点、終点および制御ポイントによって区切られた区間を、本明細書においては「オリジナルセクション」と呼ぶ。図2(a)のように制御ポイントが決定されたのであれば、同図(b)の上側の長方形列に示されるように、波形データは12個のオリジナルセクション1r〜12rに分割されることになる。
【0046】
次に、同図(b)の下側の長方形列に示されるように、各オリジナルセクションと同一の長さを有する12個のセクション(挿入セクション1i〜12i)が作成され、この挿入セクション1i〜12iに各オリジナルセクション1r〜12rに続くような波形データが記憶される。これにより、各オリジナルセクション1r〜12rと、対応する挿入セクション1i〜12iとを結合して、同図(c)に示すような結合セクション1t〜12tが得られる。そこで、以下、かかる処理の詳細を説明する。
【0047】
図4に戻り、処理がステップSP16に進むと、ユーザにより、挿入セクション1i〜12iに設定される波形データ(エンベロープ調整前)として、
(1)図13(a)に示すように、対応するオリジナルセクションnr(但し、n=1〜12)の次の波形データ(n+1)rをそのままコピーしたもの、あるいは、
(2)同図(b)に示すように対応するオリジナルセクションnrの波形データを時間軸上で反転した波形データ
のうち何れかが選択される。
ここで、デフォルトの状態では、波形タイプが「持続系」である場合は同図(a),パーカッション系である場合は同図(b)の波形データが選択される。その理由について説明しておく。
【0048】
<持続系の音に対して>
まず、持続系の音においては、オリジナルセクションnrと挿入セクションni=(n+1)rとは元々連続したセクションであるため、オリジナルセクションnrから挿入セクション(n+1)rへの滑らかな接続が保証されている。ここで、該挿入セクション(n+1)r以外のセクションを挿入セクションとして用いることも可能であるが、持続系の音ではアタックの無い部分(持続系の波形の途中)に制御ポイントが設定されることもある(ステップSP118を参照)ため、考慮が必要である。すなわち、この場合、オリジナルセクションnrと該挿入セクションとの位相が合っていなかった場合には、耳障りなノイズが発生するため、両者間で位相合わせを行う必要が生じ、処理が煩雑になる。一方、上述した例のように、オリジナルセクションnrの次のセクション(n+1)rを挿入セクションとして用いれば、挿入セクションの波形データは、より安定した波形データに基づいて作成することができる。
【0049】
また、持続系の音において、制御ポイントの直後に次の音のアタックがあった場合を想定してみる。この場合、一般的には、次の音のピッチは前の音のピッチとは異なっている。オリジナルセクションと挿入セクションのピッチが異なることは本来は望ましいことではないが、実験結果によれば、両者のピッチが異なっていたとしても、あまり目立たないことが判明した。これは、挿入セクションのエンベロープレベルが前のオリジナルセクションから継続してなめらかに減衰してゆくように制御されていることに起因すると考えられる。すなわち、新たに始まる音のアタック部で音色やピッチが変化すると目立つが、減衰している波形の途中で音色やピッチが変化した場合には、前のアタック部の印象が強いために比較的目立たないものと考えられる。
【0050】
<パーカッション系の音に対して>
次に、パーカッション系の音においては、元々ノイズ的な成分が多いため、オリジナルセクションnrから挿入セクションniへの接続部で目立ったノイズは発生しないことが多い。しかし、当該オリジナルセクションnrまたは次のオリジナルセクション(n+1)r等をそのまま挿入セクションniとして用いると、波形の先頭部分のアタックノイズが多少耳障りになる場合がある。そこで、オリジナルセクションnrの波形データを時間軸上で反転した波形データを挿入セクションniとして用いることにより、かかる不具合を解消することができる。さらに、オリジナルセクションnrと挿入セクションniの接続部分をクロスフェードすると、さらに両者を滑らかに接続することが可能になる。なお、反転した波形データを最後まで読み出すと、該反転波形データの終端部分にアタックノイズが再生され、多少耳障りになることがある。かかる場合は、反転波形データの途中のポイント(例えば先頭から2/3程度の長さのポイント)において、該反転波形データを折り返して(時間軸上でさらに反転させて)読み出すとよい。
【0051】
挿入セクションは以上説明したデフォルトのものに限定されるわけではなく、各オリジナルセクション毎にユーザは所望の挿入セクションの生成態様を指定することができるため、聴感上で最も好ましいものを選択するとよい。また、ステップSP16においては、挿入セクションの波形データが選択されると、その波形データの各部のレベルが、該波形データのエンベロープレベルで除算される。これにより、挿入セクションの波形データは、エンベロープが平坦な波形データに変換される。
【0052】
2.2.7.挿入セクション1i〜12iに対するエンベロープの付与
次に、処理がステップSP18に進むと、挿入セクション1i〜12iのエンベロープ波形が決定される。その決定方法を図14を参照し説明する。図においてあるオリジナルセクションnrのエンベロープレベルの最大値をL1とし、オリジナルセクションnrの終端のエンベロープレベルをL2とし、この最大値L1が現れてからオリジナルセクションnrの終端までの時間をTとする。この期間内においてエンベロープレベルの減衰率drは、
dr=(L1/L2)1/T
によって求めることができる。
【0053】
次に、オリジナルセクションnrに対応する挿入セクションniのエンベロープレベルの初期値を上記L2とし、減衰率drが維持されるように挿入セクションniのエンベロープが決定される。具体的には、挿入セクションniの開始時刻t=0としたとき、挿入セクションni内の各部のエンベロープレベルは、L2/drtによって求められる。これにより、図14に示すように、挿入セクションniのエンベロープ特性は、オリジナルセクションnrに対して自然につながるように設定される。
【0054】
但し、制御ポイントの決定時に単純決定モードが選択された場合等においては、オリジナルセクションnrの終端部においてエンベロープレベルが最大になることも考えられる。かかる場合には、図15に示すように、挿入セクションniのエンベロープレベルは、オリジナルセクションnrの終端時のレベルに制限される。具体的には、上記計算式により求めた減衰率drが1より小さくなる場合に、挿入セクションのエンベロープ値を求めるための減衰率drを強制的に1に設定し、あるいは、減衰率drに関して1より大きな下限値「dr_min」を決めておき、減衰率drが必ずそれより大きくなるように制御してもよい。
【0055】
以上のように、各挿入セクションのエンベロープが決定されると、各挿入セクション1i〜12iの平坦化波形データの各部に対して、該決定されたエンベロープが乗算される。これにより、各挿入セクションの波形データは、この決定されたエンベロープを有するようになる。
【0056】
次に、処理がステップSP20に進むと、自動演奏時において上記結合セクション1t〜12tの波形データを読出すためのパラメータが決定される。まず、自動演奏時においては、4分音符の「1/64」の間隔でテンポクロックが生成され、このテンポクロックに同期して自動演奏処理が実行される。そこで、ステップSP6,SP8において決定された拍子と小節数とに応じて、波形データ再生時の繰返し周期に対応する、最大クロック数maxcountが決定される。例えば、拍子が「4/4拍子」であって小節数が「2」であれば、最大クロック数maxcountは、4×2×64=512になる。
【0057】
次に、波形データの先頭、および先頭から各制御ポイントまでの時間に相当するクロック数(生成開始クロック数)と、これらクロック数において読み出されるべき波形データと、これら波形データの立上り時間Ttとが、図16に示すようなテーブルに格納される。これにより、本ルーチンの処理が終了する。
【0058】
2.3.再生テンポ設定/変更処理
ところで、上述した処理においては、録音された波形データに対して拍子と小節数とを定め、これによって最大クロック数maxcountが決定された。また、波形データの長さの絶対時間は既知であるから、逆算すれば「録音時のテンポ」を定めることができる。
この録音時のテンポに拘らず、ユーザは、演奏処理の前に、あるいは演奏処理の途中で適宜再生テンポを設定/変更することができる。ここで、設定されたテンポが録音時のテンポに等しければ、先に求めたクロック数(図16参照)をそのまま用いればよい。しかし、再生時のテンポが録音時のテンポとは異なる場合は、先に図3(a)において説明したように、「もたれ」が生じることになる。
【0059】
そこで、本実施形態においては、再生テンポが設定または変更された際に、図16における各生成開始クロック数は、該クロック数に対応する時間(クロック数×クロック周期)が「n(Ts+Tt)−Tt」になるような(あるいは最も近くなるような)値に修正される。この結果、図3(b)に示すように、聴感上の拍すなわちピーク位置は、さらに立上り時間Ttだけ経過したタイミングすなわち「n(Ts+Tt)」となる。なお、テンポに応じて生成開始クロック数を変更することに代えて、立上り時間Ttに応じてクロック周期を増減するようにしてもよい。すなわち、テンポクロックが発生する毎に、次のテンポクロックまでの周期を適宜増減することにより、生成開始クロック数自体は一定に保ちつつ、テンポに応じたタイミング制御を行うことが可能になる。
【0060】
2.4.演奏処理
次に、上記結合セクション1t〜12tの波形データを用いて自動演奏を行う処理を、図17を参照し説明する。上述したように自動演奏時においては、4分音符の「1/64」の間隔でテンポクロックが生成され、該テンポクロックが生成される毎に図17に示すプログラムが実行される。
【0061】
図17において処理がステップSP34に進むと、変数tcountは最大クロック数maxcountを超えたか否かが判定される。なお、変数tcountは、自動演奏の開始時に「0」に初期化されている。ここで「YES」と判定されると、処理はステップSP36に進み、変数tcountが「0」に設定される。一方、ステップSP34において「NO」と判定されると、ステップSP36はスキップされる。
【0062】
次に、処理がステップSP38に進むと、図16のテーブルが参照され、波形データの読出しを開始するタイミングに達したか否か、すなわち変数tcountがいずれかの生成開始クロック数に一致するか否かが判定される。ここで「YES」と判定されると、処理はステップSP40に進み、対応する波形データの読出しが開始される。ここで、この読出し速度は、後述するピッチシフト量の値に応じて制御される。ピッチシフト量が「0」である場合は、読出し速度が録音時の書込み速度と同じ速度とされ、ピッチシフト量が正の場合はそれより速い速度、ピッチシフト量が負の場合はそれより遅い速度とされる。よく知られているように、読み出された波形データのピッチは該読出し速度が速いほど高くなり、遅いほど低くなる。
【0063】
対応する波形データの読出しが開始されることにより、この時点の直前まで別の波形データの読出し処理が行われていたとしても、ステップSP40においては、該別の波形データと交代する形で新たな波形データの読出しが開始されることになる。一方、ステップSP38において「NO」と判定されると、ステップSP40はスキップされ、読出し中の波形データが変更されることなく、処理はステップSP42に進む。そして、ステップSP42においては、変数tcountが「1」だけインクリメントされ、本ルーチンの処理が終了する。
【0064】
上記処理によれば、最初に変数tcountが「0」に初期設定された後に処理がステップSP38に進むと、直ちに結合セクション1tの波形読出しが開始される。その後、変数tcountが「28」に達した後に処理がステップSP38に進むと、結合セクション1tの波形データの読出しが中止され、結合セクション2tの波形データの読出しが開始される。結合セクション1tと結合セクション2tとを滑らかに接続するために、結合セクション1tの読出しを中止する部分の波形データと結合セクション2tの読出しを開始する部分の波形データをクロスフェード接続するようにしてもよい。
【0065】
以下同様に、変数tcountの増加に応じて結合セクション3t〜12tの読出しが順次開始されてゆく。そして、変数tcountが「maxcount+1」になると、ステップSP34,SP36において変数tcountが「0」に戻される。そして、以降は同様の動作が繰り返されることになる。以上の処理により、順次読み出される波形データは、波形出力インタフェース26、サウンドシステム28を順次介して発音される。
【0066】
次に、かかる処理により、実際に生成される楽音波形を図18を参照し説明する。同図(b)は、再生時および録音時のテンポ比を1.00に設定した場合に読み出されるセクションを示す。かかる場合は、各結合セクションの「1/2」すなわちオリジナルセクションの部分が全て読出された時に、次の結合セクションの読出しが開始される。これにより、再生される楽音波形は、原波形データと一致する。
【0067】
また、同図(a)は、再生時および録音時のテンポ比を0.67に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると約「67%」再生された時点で次のセクションの読出しが開始される。なお、実際に次のセクションの読出しが開始されるタイミングは、該次のセクションの立上り時間Ttに応じて異なることは上述した通りである。これにより、各オリジナルセクションの残りの部分(約33%)および挿入セクションは再生されないことになる。
【0068】
また、同図(c)は、再生時および録音時のテンポ比を1.65に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると約「165%」再生された時点で次のセクションの読出しが開始される。これにより、各オリジナルセクションと、各挿入セクションの前半約65%の部分が再生されることになる。
【0069】
そして、再生時のテンポや再生に用いられる波形データは、ユーザが入力装置4を介してリアルタイムに変更することができる。同様に、各セクションを読出す速度すなわちピッチシフト量も入力装置4を介してリアルタイムに変更することが可能である。また、予め定めたシーケンスに基づいて、再生される波形データ、テンポ、あるいはピッチシフト量を自動的に変遷させるようにしてもよい。これにより、ユーザの操作あるいは予め定められたシーケンスに基づいて、多彩な態様で波形データが再生され発音される。
【0070】
3.実施形態の効果
以上のように、本実施形態によれば、波形データに対してフィルタ処理を施して制御ポイントを検出するから、個々の波形データの特徴に応じた最適な制御ポイントを抽出することができる。
さらに、本実施形態においては、オリジナルのエッジ開始時間Tsおよび立上り時間Ttと、再生時のテンポ(テンポの伸縮率n)との関係に応じて、生成開始クロック数を補正することにより、「n(Ts+Tt)−Tt」のタイミングで各オリジナルセクションの再生を開始させることができるから、テンポの伸縮率nと聴感上の拍タイミングとの整合性を確保することができる。
【0071】
4.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記各実施形態はパーソナルコンピュータ上で動作するアプリケーションプログラムによって波形編集システムを実現したが、同様の機能を各種の電子楽器、携帯電話器、アミューズメント機器、その他楽音を発生する装置に使用してもよい。また、上記実施形態に用いられるソフトウエアをCD−ROM、フロッピーディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【0072】
(2)上記実施形態においては、各オリジナルセクションに対応して予め挿入セクションの波形データを生成したが、各挿入セクションの波形データを波形データ再生中に、ないし波形再生の指示を受けて波形データ再生を開始する直前に生成するようにしてもよい。これにより、波形データを格納しておくための記憶容量を削減することができる。
【0073】
(3)上記実施形態においては、「小節数」のパラメータを自然数によって指定することとした。これは波形データを繰り返し再生する用途を考えると、波形データの長さは1小節の自然数倍以外は考えにくいからである。しかし、波形データをワンショットで再生するような用途を想定する場合には、必ずしも小節数を自然数とするようにトリミングしなくてもよい。この場合、小節数が自然数でない可能性があるため、「小節数」の指定を「1.5小節」等の小数によって指定できるようにしてもよく、或いは「小節数」に代えてトリミングされた原波形データ全体に対する「拍数」を指定するようにしてもよい。
【0074】
さらに言えば、トリミングをを必ずしも拍単位で行う必要も無い。本発明の実現のためには、とにかく原波形データ上に拍検出窓の位置(図10(c),図12(a))が特定できれば良いのであって、いかなる方法でトリミングしようとも、またいかなる方法で該拍検出窓位置を指定してもよい。例えば、原波形データ上に拍検出窓の位置を、ユーザが直接指定してもよいし、原波形データの録音時にメトロノームを動作させ、該メトロノームのタイミングに基づいて自動指定してもよい。
【0075】
(4)上記実施形態のステップSP8の不要帯域除去処理においては、ハイパス処理およびバンドカット処理によるフィルタ処理を行ったが、これらに代えて、あるいはこれらに加えて他の処理、例えば低域を減衰させる処理や高域をブーストする処理等を行ってもよい。
【0076】
(5)上記実施形態のステップSP110においては、エッジ部分を検出するためにコムフィルタによるフィルタ処理を行ったが、これに代えて、エンベロープの傾きに対応した値を生成するような如何なるフィルタ処理でエッジ検出してもよい。例えば、単純にエンベロープレベルを微分するフィルタ処理でもよいし、さらに、この微分結果に対してローパスフィルタ処理を行ってもよい。
【0077】
(6)上記実施形態のステップSP116においては、弱拍検出のための検出窓の基準位置は、各推定強拍区間を2分する位置、すなわち強拍検出のための基準位置間を2分する位置に設けられた。しかし、弱拍検出のための検出窓の位置はこれに限定されるものではない。すなわち、ステップSP114において実際に抽出された強拍のエッジ開始位置同士あるいはピーク位置同士の間隔を2分する位置を求め、この求めた位置を弱拍検出のための検出窓の基準位置にしてもよい。
【0078】
(7)上記実施形態のステップSP16においては、エンベロープ調整前の挿入セクションの波形データとして、対応するオリジナルセクションの波形データまたはこれを反転したものがそのまま用いられた。しかし、特に安定した音程成分を有するメロディパート等の波形データの場合には、オリジナルセクションの後半部分のピッチを検出し、このピッチ単位でオリジナルセクションの一部(部分波形)を繰り返えすことによって挿入セクションを生成してもよい。これにより、アタック部分特有の不安定さが挿入セクションに現れることを防止することができる。
【0079】
なお、部分波形のサイズは一定(ループ波形)であってもよく、ランダムな長さに設定してもよい。また、オリジナルセクションの後半部分で安定してピッチが検出された場合にはオリジナルセクションの一部を繰り返し、ピッチが検出されなかった場合にはオリジナルセクション全体(またはこれを反転したもの)をコピーして、挿入セクションのエンベロープ調整前の波形データに設定してもよい。
【0080】
(8)また、上記実施形態においては、各挿入セクションは、その直前のオリジナルセクションの波形データ(またはこれを反転したもの)に基づいて作成されたが、次のオリジナルセクションの波形データに基づいて各挿入セクションを生成してもよい。例えば、挿入セクション1iは、オリジナルセクション2rの波形データに基づいて生成してもよい。
【0081】
(9)また、上記実施形態においては、波形データの種別を「パーカッション系」と「持続系」の2種類に分けていたが、波形データを3種類以上の種別に別けてもよい。
【0082】
(10)また、上記実施形態においては、拍子の設定に応じて強拍抽出用の検出窓を設定し、分解能の設定に応じて弱拍抽出用の検出窓を設定したが、これらを必ずしも拍子や分解能に応じて設定する必要はない。例えば、強拍抽出用の検出窓と弱拍抽出用の検出窓とをそれぞれ独立して指定するようにしてもよい。あるいは、設定された拍子に応じて、強拍抽出用の検出窓と弱拍抽出用の検出窓とをそれぞれ設定するようにしてもよい。さらに、前述したような録音時のメトロノームのタイミングに基づいて両検出窓を設定する方法もある。
【0083】
【発明の効果】
以上のように本発明によれば、第1および第2の所定範囲に対して各々第1および第2の閾値を適用して区切り位置を抽出するから、拍の強弱が生じやすい箇所に応じた最適な閾値を用いて区切り位置を抽出することが可能である。
【0084】
また、第1の閾値を用いた後、第2の閾値に基づいて区切り位置を再抽出する構成によれば、より細かい立ち上がり位置を抽出することが可能になる。さらに、最初から低い閾値を用いた場合と比較すると、誤検出を減少させることができる。
また、第1および第2の所定範囲に対して各々第1および第2の閾値を適用して区切り位置を抽出する構成によれば、拍の強弱が生じやすい箇所に応じた最適な閾値を用いて区切り位置を抽出することが可能である。
【図面の簡単な説明】
【図1】 本発明の一実施形態の波形編集システムのブロック図である。
【図2】 上記実施形態において挿入セクションおよび結合セクションを生成する処理の動作説明図である。
【図3】 従来例および上記実施形態における再生処理の動作説明図である。
【図4】 上記実施形態における再生用波形データ生成処理のフローチャートである。
【図5】 上記実施形態における不要帯域除去処理(SP8)の前後の波形図である。
【図6】 デフォルトの制御ポイント決定処理のフローチャートである。
【図7】 絶対値化処理(SP104)の出力波形図である。
【図8】 エンベロープフォロア処理(SP106)の等価回路図である。
【図9】 エッジ検出フィルタ処理の等価回路図およびその各部の波形図である。
【図10】 エッジ検出フィルタ処理、エッジ開始位置/ピーク位置検出処理、および強拍抽出処理(SP110〜SP114)の出力波形図である。
【図11】 エッジ開始位置/ピーク位置検出処理(SP112)の動作説明図である。
【図12】 弱拍抽出処理(SP116)の動作説明図および出力波形図である。
【図13】 挿入セクションniにおける波形データの設定処理の動作説明図である。
【図14】 挿入セクションniにおけるエンベロープレベルの設定処理の動作説明図である。
【図15】 挿入セクションniにおけるエンベロープレベルの設定処理の動作説明図である。
【図16】 生成開始クロック数と波形データとの対応テーブルの内容を示す図である。
【図17】 演奏処理ルーチンのフローチャートである。
【図18】 再生される波形データの圧縮/伸張処理の説明図である。
【図19】 パーカッション系選択ボタン80および持続系選択ボタン82を示す図である。
【符号の説明】
1i〜12i……挿入セクション、1t〜12t……結合セクション、1r〜12r……オリジナルセクション、2……通信インタフェース、4……入力装置、6……演奏操作子、8……ディスプレイ、10……CPU、12……ROM、14……RAM、16……バス、18……ドライブ装置、20……記憶媒体、22……波形取込インタフェース、24……ハードディスク、26……波形出力インタフェース、28……サウンドシステム、60……遅延回路、62……減算器、64……スイッチ、66,68……乗算器、70……加算器、72……遅延回路、74……減算器。

Claims (5)

  1. 原波形データに対して推定拍位置を決定する過程と、
    該推定拍位置に対応した所定の範囲内において原波形データの立ち上がり位置を検出する検出過程と、
    検出された立ち上がり位置のうち所定の条件を満たすものを、前記原波形データの区切り位置として抽出する抽出過程と
    を有し、
    前記所定の範囲は、第1および第2の所定範囲から構成され、
    前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が所定の第1の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が前記第1の閾値よりも低い第2の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であること
    を特徴とする波形データ解析方法。
  2. 原波形データの立ち上がり位置を検出する検出過程と、
    一の所定の範囲に属する複数の前記立ち上がり位置のうち、一の立ち上がり位置を選択して前記原波形データの区切り位置として抽出する抽出過程と
    を有し、
    前記所定の範囲は、第1および第2の所定範囲から構成され、
    前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が所定の第1の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が前記第1の閾値よりも低い第2の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であること
    を特徴とする波形データ解析方法。
  3. 前記第1の所定範囲は、前記原波形データ中の強拍に対応する位置に設けられ、前記第2の所定範囲は前記原波形データ中の弱拍に対応する位置に設けられることを特徴とする請求項1または2記載の波形データ解析方法。
  4. 請求項1ないし3の何れかに記載の方法を実行することを特徴とする波形データ解析装置。
  5. 請求項1ないしの何れかに記載の方法をコンピュータに実行させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2001008814A 2001-01-17 2001-01-17 波形データ解析方法、波形データ解析装置および記録媒体 Expired - Fee Related JP3731477B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001008814A JP3731477B2 (ja) 2001-01-17 2001-01-17 波形データ解析方法、波形データ解析装置および記録媒体
US10/051,973 US7094965B2 (en) 2001-01-17 2002-01-16 Waveform data analysis method and apparatus suitable for waveform expansion/compression control
US11/016,294 US7102068B2 (en) 2001-01-17 2004-12-17 Waveform data analysis method and apparatus suitable for waveform expansion/compression control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001008814A JP3731477B2 (ja) 2001-01-17 2001-01-17 波形データ解析方法、波形データ解析装置および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005071207A Division JP4016992B2 (ja) 2005-03-14 2005-03-14 波形データ解析方法、波形データ解析装置およびコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2002215161A JP2002215161A (ja) 2002-07-31
JP3731477B2 true JP3731477B2 (ja) 2006-01-05

Family

ID=18876378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001008814A Expired - Fee Related JP3731477B2 (ja) 2001-01-17 2001-01-17 波形データ解析方法、波形データ解析装置および記録媒体

Country Status (1)

Country Link
JP (1) JP3731477B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038459A1 (ja) * 2011-09-16 2013-03-21 パイオニア株式会社 音声処理装置、再生装置、音声処理方法およびプログラム

Also Published As

Publication number Publication date
JP2002215161A (ja) 2002-07-31

Similar Documents

Publication Publication Date Title
JP5113307B2 (ja) 複合波形の倍音内容を変える方法
US5753845A (en) Karaoke apparatus creating vocal effect matching music piece
JP2002529773A5 (ja)
US7094965B2 (en) Waveform data analysis method and apparatus suitable for waveform expansion/compression control
JP4959861B1 (ja) 信号処理方法、信号処理装置、再生装置およびプログラム
JP2002215195A (ja) 音楽信号処理装置
KR100402364B1 (ko) 악음발생장치, 악음발생방법 및 기억매체
JP4089713B2 (ja) 波形データ再生装置および記録媒体
JP3654117B2 (ja) 時間軸方向における楽音波形信号の伸縮方法
JP4016992B2 (ja) 波形データ解析方法、波形データ解析装置およびコンピュータ読み取り可能な記録媒体
JP3731477B2 (ja) 波形データ解析方法、波形データ解析装置および記録媒体
JP3731476B2 (ja) 波形データ解析方法、波形データ解析装置および記録媒体
JP3731478B2 (ja) 波形データ解析方法、波形データ解析装置および記録媒体
JP3731470B2 (ja) 波形データ生成方法、波形データ生成装置および記録媒体
JP3202017B2 (ja) デジタルサンプリングシステムのための減衰楽器音のデータ圧縮
JP3428401B2 (ja) 波形データ処理方法
JP4089712B2 (ja) 波形データ生成方法、楽音合成方法、波形データ生成装置およびコンピュータ読み取り可能な記録媒体
JP2001282246A (ja) 波形データ時間伸張圧縮装置
JP5359203B2 (ja) 楽曲処理装置およびプログラム
JP3788096B2 (ja) 波形圧縮方法及び波形生成方法
JP4037973B2 (ja) 波形再生装置
JP3659121B2 (ja) 楽音信号の分析・合成方法、楽音信号合成方法、楽音信号合成装置および記録媒体
JPH10307581A (ja) 波形データ圧縮装置および方法
JP3879684B2 (ja) 曲データ変換装置および曲データ変換プログラム
JP3620405B2 (ja) 楽音変動情報生成方法、楽音変動情報生成装置および記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051003

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees