JP2008299005A - Resonance adding apparatus and resonance adding program - Google Patents

Resonance adding apparatus and resonance adding program Download PDF

Info

Publication number
JP2008299005A
JP2008299005A JP2007143978A JP2007143978A JP2008299005A JP 2008299005 A JP2008299005 A JP 2008299005A JP 2007143978 A JP2007143978 A JP 2007143978A JP 2007143978 A JP2007143978 A JP 2007143978A JP 2008299005 A JP2008299005 A JP 2008299005A
Authority
JP
Japan
Prior art keywords
impulse response
value
data
response data
resonance
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
JP2007143978A
Other languages
Japanese (ja)
Other versions
JP4877076B2 (en
Inventor
Junichi Minamitaka
純一 南高
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007143978A priority Critical patent/JP4877076B2/en
Publication of JP2008299005A publication Critical patent/JP2008299005A/en
Application granted granted Critical
Publication of JP4877076B2 publication Critical patent/JP4877076B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To generate resonance having the reproducibility simillar to measured impulse response data by small amount of calculation, and reduce a data amount of the impulse response data. <P>SOLUTION: A resonance adding apparatus comprises: an input data buffer 22 in which a sequence of musical sound signal data on a time axis is stored as a delay memory value; a storage section 16 for storing the impulse response data 14, indicating an impulse response characteristic on the time axis; a resonance generating section 20 for generating a resonance data by convoluting a value of the impulse response data 14 and the delay memory value; and an impulse response generating section 18 in which an original impulse data 12 stored in the storage section 16 is taken out, and a maximum value and a minimum value which are larger or smaller than the former and latter values by a predetermined amount, are found, and in which the maximum value and the minimum value are stored as the value of the impulse response in the storage section 16, while for the value other than the maximum value and the minimum value, the value for indicating "0" as the value of the impulse response data is stored in the storage section 16. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、楽音に共鳴音を付加する共鳴音付加装置および共鳴音付加プログラムに関する。   The present invention relates to a resonance addition apparatus and a resonance addition program for adding a resonance to a musical sound.

電子楽器やオーディオ機器からの楽音信号に共鳴音を付加する種々の装置が知られている。ここに、共鳴音には、ホールなど楽音が発生される場所における残響音や、楽器自体の共鳴音などが含まれる。   Various devices for adding resonance to musical tone signals from electronic musical instruments and audio equipment are known. Here, the resonance sound includes a reverberation sound in a place where a musical sound is generated such as a hall, a resonance sound of the musical instrument itself, and the like.

共鳴音を発生するためには、共鳴音付加装置は、ディジタルの楽音信号を受け入れて、楽音信号データにディジタルフィルタによるフィルタ処理を施すのが一般的である。フィルタ処理においては、FIR(有限インパルス応答:Finite Impulse Response)フィルタ或いはIIR(無限インパルス応答:Infinite Impulse
Response)フィルタが利用される。
In order to generate a resonance sound, the resonance sound adding device generally accepts a digital musical tone signal and performs a filtering process using a digital filter on the musical tone signal data. In the filter processing, FIR (Finite Impulse Response) filter or IIR (Infinite Impulse Response: Infinite Impulse)
Response) filter is used.

FIRフィルタを利用する場合には、入力された楽音信号データx(n−k)と、音楽ホールの残響特性などから得たインパルス応答h(k)を畳み込み演算することで、共鳴音yout=Σx(n−k)×h(k)のデータを得ることができる。しかしながら、FIRフィルタにおいては、インパルス応答データの数、つまり、フィルタの次数を高くすることにしたがって、より理想的なフィルタ特性に近づけることができる。その一方、フィルタの次数を上げるにしたがって、演算量も多量となるという問題点がある。   When the FIR filter is used, the input tone signal data x (nk) and the impulse response h (k) obtained from the reverberation characteristics of the music hall are subjected to a convolution operation, so that the resonance sound yout = Σx Data of (n−k) × h (k) can be obtained. However, in the FIR filter, the ideal filter characteristic can be brought closer to the higher the number of impulse response data, that is, the order of the filter. On the other hand, there is a problem that the amount of calculation increases as the order of the filter increases.

FFT(高速フーリエ変換)を利用してインパルス応答を計算することにより、高次にわたるインパルス応答を演算できる方法が提案されている。特許文献1には、有限長のインパルス応答の特性が標本値列{h(n)}で表現される特性をもつシステムに、標本値列{x(n)}で表現される信号が入力された場合の出力{y(n)}を、FFTハードウェアを用いた畳み込み演算を用いて計算する方法において、標本値列{x(n)}を所定の条件の下で小区間に分割するとともに、標本値列{h(n)}も所定の条件で小区間に分割し、それぞれの小区間ずつ、重畳加算法もしくは重畳保留法によって分割処理するようにした方法が開示されている。
特開2005−215058号公報 特開平6−259087号公報
There has been proposed a method capable of calculating a high-order impulse response by calculating an impulse response using FFT (Fast Fourier Transform). In Patent Document 1, a signal represented by a sample value sequence {x (n)} is input to a system having a characteristic in which a finite-length impulse response characteristic is represented by a sample value sequence {h (n)}. In this method, the sample value sequence {x (n)} is divided into small sections under a predetermined condition in a method of calculating the output {y (n)} using the convolution operation using the FFT hardware. The sample value sequence {h (n)} is also divided into small sections under a predetermined condition, and each small section is divided by the superposition addition method or the superposition hold method.
Japanese Patent Laying-Open No. 2005-215058 Japanese Patent Laid-Open No. 6-259087

また、IIRフィルタを利用することで演算量を抑えるような種々の技術も提案されている(たとえば、特許文献2)。特許文献2においては、くし形フィルタのループ回路中に、入力信号を時間軸方向に散乱させるための全帯域帯域フィルタを設け、また、くし形フィルタ内のローパスフィルタのカットオフ周波数を、ループ回路内の遅延回路の遅延時間に基づいて決定し、さらに、共鳴音・残響音の出力レベルを検出し、その出力レベルに基づいて共鳴音・残響音のレベルを制御する。また、特許文献2において、共鳴音・残響音のレベル制御は、くし形フィルタのループ回路を循環するループ信号のレベルを制御することにより行われている。   Various techniques have also been proposed that use an IIR filter to reduce the amount of computation (for example, Patent Document 2). In Patent Document 2, an all-band filter for scattering an input signal in the time axis direction is provided in a loop circuit of a comb filter, and a cutoff frequency of a low-pass filter in the comb filter is set as a loop circuit. It is determined based on the delay time of the internal delay circuit, and the output level of the resonance sound / reverberation sound is detected, and the level of the resonance sound / reverberation sound is controlled based on the output level. In Patent Document 2, the level control of resonance and reverberation is performed by controlling the level of a loop signal circulating in the loop circuit of the comb filter.

しかしながら、FFTを利用する場合には、所定の範囲の入力ごとにインパルス応答を演算する必要があるため、基本的にリアルタイムでの処理が困難であるという問題点がある。   However, when FFT is used, it is necessary to calculate an impulse response for each input in a predetermined range, so that there is a problem that processing in real time is basically difficult.

また、IIRフィルタを利用する場合には、演算量は小さくすることができるが、測定されたインパルス応答の特性を再現することが難しいという問題点がある。   Further, when the IIR filter is used, the calculation amount can be reduced, but there is a problem that it is difficult to reproduce the characteristic of the measured impulse response.

本発明は、少ない演算量で、測定されたインパルス応答データと同質の再現性を有する共鳴音を生成することができ、かつ、フィルタ演算に利用するインパルス応答データのデータ量を減らすことが可能な共鳴音付加装置、および、共鳴音付加プログラムを提供することを目的とする。   The present invention can generate a resonance sound having the same reproducibility as the measured impulse response data with a small calculation amount, and can reduce the data amount of the impulse response data used for the filter calculation. An object of the present invention is to provide a resonance sound adding apparatus and a resonance sound adding program.

本発明の目的は、時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、
インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成手段と、を備えた共鳴音付加装置であって、
前記記憶部が、元のインパルス応答データを記憶し、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「0」を示す値を前記記憶部に記憶するインパルス応答生成手段を備えたことを特徴とする共鳴音付加装置により達成される。
An object of the present invention is to provide an input data buffer that stores a series of musical tone signal data on a time axis as a delay memory value;
A storage unit storing impulse response data which is a value on the time axis representing the impulse response characteristics;
Resonance sound adding means comprising: a resonance sound generating means for generating a resonance sound data by convolving a value of the impulse response data and a delay memory value stored in an input data buffer,
The storage unit stores original impulse response data,
The original impulse data stored in the storage unit is taken out, and a local maximum value and a local minimum value that vary by a predetermined amount from the previous and subsequent values are found. Impulse response generation means for storing in the storage unit a value indicating “0” as a value of the impulse response data other than the found local maximum value and local minimum value as a value. This is achieved by a resonance sound adding device characterized in that it is provided.

好ましい実施態様においては、前記共鳴音生成手段が、前記インパルス応答データの値が「0」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するように構成されている。   In a preferred embodiment, the resonance generating unit multiplies the value of the impulse response data by the value of the delay memory only when the value of the impulse response data is other than “0”. Configured to accumulate the values.

別の好ましい実施態様においては、前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されている。   In another preferred embodiment, the impulse response generating means has a linearly decreasing value along the time axis corresponding to the position of the impulse response characteristic on the time axis of the original impulse response data. The threshold value is calculated so that the maximum value and the minimum value having a larger fluctuation than the threshold value are found from the previous and next values.

さらに別の好ましい実施態様においては、前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されている。   In still another preferred embodiment, the impulse response generating means is on an exponential curve that monotonously decreases along the time axis corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data. The threshold value is set to be a value, and the local maximum value and the local minimum value having a larger fluctuation than the threshold value are found from the previous and subsequent values.

また、本発明の目的は、時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、を備えたコンピュータにおいて、前記コンピュータに、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成ステップを実行させる共鳴音付加プログラムであって、
前記記憶部が、元のインパルス応答データを記憶し、
前記コンピュータに、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「0」を示す値を前記記憶部に記憶するインパルス応答生成ステップを実行させることを特徴とする共鳴音付加プログラムにより達成される。
Another object of the present invention is to provide an input data buffer that stores a series of musical tone signal data on the time axis as a delay memory value, and a storage unit that stores impulse response data that is a value on the time axis that represents impulse response characteristics. A computer comprising:
A resonance addition program for executing a resonance generation step for generating resonance data by convolving a value of the impulse response data and a delay memory value stored in an input data buffer,
The storage unit stores original impulse response data,
In the computer,
The original impulse data stored in the storage unit is taken out, and a maximum value and a minimum value having a predetermined fluctuation larger than the previous and subsequent values are found, and the found maximum value and minimum value are found in the impulse response data. An impulse response generating step of storing in the storage unit as a value and storing a value indicating “0” in the storage unit as a value of the impulse response data other than the found local maximum value and local minimum value This is achieved by a resonance addition program characterized by being executed.

好ましい実施態様においては、前記共鳴音生成ステップにおいて、
前記インパルス応答データの値が「0」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するステップを実行させる。
In a preferred embodiment, in the resonance sound generation step,
Only when the value of the impulse response data is other than “0”, the step of multiplying the value of the impulse response data by the delay memory value and accumulating the multiplied values is executed.

別の好ましい実施態様においては、前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させる。
In another preferred embodiment, in the impulse response generating step, the computer includes:
Calculating a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on a straight line that decreases monotonously along the time axis;
A step of finding a maximum value and a minimum value having a fluctuation larger than the threshold value from previous and next values.

さらに別の好ましい実施態様においては、前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させる。
In still another preferred embodiment, in the impulse response generation step, the computer includes:
Calculating a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on an exponential curve that monotonously decreases along the time axis;
A step of finding a local maximum value and a local minimum value that vary more than the threshold value from the previous and subsequent values.

本発明によれば、少ない演算量で、測定されたインパルス応答データと同質の再現性を有する共鳴音を生成することができ、かつ、フィルタ演算に利用するインパルス応答データのデータ量を減らすことが可能な共鳴音付加装置、および、共鳴音付加プログラムを提供することが可能となる。   According to the present invention, it is possible to generate a resonance sound having the same reproducibility as the measured impulse response data with a small calculation amount, and to reduce the data amount of the impulse response data used for the filter calculation. It is possible to provide a possible resonance addition device and a resonance addition program.

以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる共鳴音付加装置の構成を示すブロックダイヤグラムである。   Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram showing a configuration of a resonance adding apparatus according to an embodiment of the present invention.

図1に示すように、本実施の形態にかかる共鳴音付加装置は、元のインパルス応答データ12および後述する演算により算出された新たなインパルス応答データ14を記憶する記憶部16と、元のインパルス応答データ12から新たなインパルス応答データ14を生成して、新たなインパルス応答データ14を記憶部16に格納するインパルス応答生成部18と、一連の楽音信号データを格納した入力データバッファ22から楽音信号データを受け入れて、楽音信号データおよび新たなインパルス応答データを畳み込み演算することにより共鳴音データを生成する共鳴音生成部20と、一連の楽音信号データを受け入れて、これらデータを一時的に記憶する入力データバッファ22と、出力された共鳴音データを一時的に記憶する共鳴音データバッファ24と、を備えている。   As shown in FIG. 1, the resonant sound adding apparatus according to the present embodiment includes a storage unit 16 that stores original impulse response data 12 and new impulse response data 14 that is calculated by a calculation that will be described later, and an original impulse. A musical tone signal is generated from an impulse response generation unit 18 that generates new impulse response data 14 from the response data 12 and stores the new impulse response data 14 in the storage unit 16, and an input data buffer 22 that stores a series of musical tone signal data. Receiving data, and convolution of musical tone signal data and new impulse response data to generate resonant tone data, and a series of musical tone signal data are received and these data are temporarily stored. An input data buffer 22 and resonance sound data for temporarily storing the output resonance sound data It includes a buffer 24, a.

図2は、本実施の形態にかかる共鳴音付加装置のハードウェア構成を示すブロックダイヤグラムである。図2に示すように、共鳴音付加装置のハードウェアは、CPU30、ROM32、RAM34、入力装置36、表示装置38およびサウンドシステム40を含む。CPU30、ROM32、RAM34、入力装置36、表示装置38およびサウンドシステム40は、バス42で接続されている。   FIG. 2 is a block diagram showing a hardware configuration of the resonance adding apparatus according to the present embodiment. As shown in FIG. 2, the hardware of the resonance sound adding device includes a CPU 30, a ROM 32, a RAM 34, an input device 36, a display device 38, and a sound system 40. The CPU 30, ROM 32, RAM 34, input device 36, display device 38 and sound system 40 are connected by a bus 42.

図2にから理解できるように、共鳴音付加装置は、通常のパーソナルコンピュータによって実現され得る。CPU30は、システム制御、新たなインパルス応答データ14の生成、表示装置の画面上に表示すべき画像データの生成などの処理を実行する。ROM32は、プログラムや、プログラムの実行の際に使用される定数などを記憶する。RAM34は、プログラムの実行の過程で必要な変数、パラメータ、入力データ、出力データなどを一時的に記憶する。   As can be understood from FIG. 2, the resonance sound adding device can be realized by an ordinary personal computer. The CPU 30 executes processing such as system control, generation of new impulse response data 14, and generation of image data to be displayed on the screen of the display device. The ROM 32 stores programs, constants used when the programs are executed, and the like. The RAM 34 temporarily stores variables, parameters, input data, output data, and the like necessary in the course of program execution.

入力装置36は、たとえば、キーボードやマウスを有し、操作者が所望の指示を入力することができるようになっている。表示装置38の画面上には、操作者が入力した指示や処理結果が表示可能である。   The input device 36 includes, for example, a keyboard and a mouse so that an operator can input a desired instruction. On the screen of the display device 38, instructions input by the operator and processing results can be displayed.

サウンドシステム40は、楽音生成回路44、共鳴音生成部20、増幅器(図示せず)、スピーカ(図示せず)などを含み、CPU30からの指示にしたがって、所定の楽音信号のデータを生成し、かつ、楽音信号データに共鳴音が付加された共鳴音データを生成し、生成された共鳴音データに基づく音響信号を出力する。   The sound system 40 includes a tone generation circuit 44, a resonance tone generation unit 20, an amplifier (not shown), a speaker (not shown), etc., and generates predetermined tone signal data in accordance with instructions from the CPU 30, In addition, resonance sound data in which resonance sound is added to the musical sound signal data is generated, and an acoustic signal based on the generated resonance sound data is output.

楽音生成回路44は、ROM32から楽音波形を読み出して、指定された音高の楽音信号データを生成する。楽音信号データは、図1に示すように入力データバッファ22に一時的に記憶される。共鳴音生成部20は、FIRフィルタであり、入力データバッファ22から、楽音信号データを入力データとして読み出し、楽音信号データと、記憶部14から読み出した新たなインパルス応答データとを畳み込み演算することにより、共鳴音データを生成し、共鳴音データバッファ24に格納する。   The tone generation circuit 44 reads out the tone waveform from the ROM 32 and generates tone signal data of a designated pitch. The musical tone signal data is temporarily stored in the input data buffer 22 as shown in FIG. The resonance generating unit 20 is an FIR filter, which reads out musical tone signal data as input data from the input data buffer 22 and performs a convolution operation on the musical tone signal data and new impulse response data read out from the storage unit 14. The resonance sound data is generated and stored in the resonance sound data buffer 24.

図1に示すインパルス応答生成部18の機能は、CPU30により実現される。なお、図2において、共鳴音生成部20を、サウンドシステム40における要素として図示しているが、共鳴音生成部20が、ディジタルフィルタ回路のようなハードウェアにより実現されることに限定されず、共鳴音生成部20の機能をCPU30により実現することも可能である。   The function of the impulse response generator 18 shown in FIG. 1 is realized by the CPU 30. In FIG. 2, the resonance generator 20 is illustrated as an element in the sound system 40, but the resonance generator 20 is not limited to being realized by hardware such as a digital filter circuit, The function of the resonance generator 20 can be realized by the CPU 30.

また、図1の記憶部16、入力データバッファ22および共鳴音データバッファ24は、たとえば、RAM34により実現される。   Moreover, the memory | storage part 16, the input data buffer 22, and the resonance sound data buffer 24 of FIG. 1 are implement | achieved by RAM34, for example.

本実施の形態にかかる共鳴音付加装置においては、たとえばROM32に記憶されたプログラムが、コンピュータを、インパルス応答生成部18として機能させる。また、ROM32に記憶されたプログラムが、コンピュータを、共鳴音生成部20として機能させることもできる。   In the resonance sound adding apparatus according to the present embodiment, for example, a program stored in the ROM 32 causes the computer to function as the impulse response generation unit 18. Further, the program stored in the ROM 32 can cause the computer to function as the resonance generator 20.

元のインパルス応答データ12は、音楽ホールの残響特性などを測定し、測定された残響特性に基づいて得られたデータである。本実施の形態において、共鳴音付加装置の記憶部16に元のインパルス応答データ12が記憶され、インパルス応答生成部18によって、元のインパルス応答データ12に基づいて新たなインパルス応答データ14が生成され、新たなインパルス応答データ14が記憶部16に記憶される。いったん新たなインパルス応答データ14が生成されると、それ以降、新たなインパルス応答データ14のみが共鳴音生成のために利用され、元のインパルス応答データ12は利用されない。したがって、元のインパルス応答データ12は、新たなインパルス応答データ14を生成するときのみ、記憶部16に記憶されていれば良い。   The original impulse response data 12 is data obtained by measuring the reverberation characteristics of a music hall and the like and based on the measured reverberation characteristics. In the present embodiment, the original impulse response data 12 is stored in the storage unit 16 of the resonant sound adding device, and new impulse response data 14 is generated based on the original impulse response data 12 by the impulse response generation unit 18. The new impulse response data 14 is stored in the storage unit 16. Once the new impulse response data 14 is generated, only the new impulse response data 14 is used for the resonance sound generation thereafter, and the original impulse response data 12 is not used. Accordingly, the original impulse response data 12 only needs to be stored in the storage unit 16 only when new impulse response data 14 is generated.

したがって、本実施の形態にかかる共鳴音付加装置は、共鳴音データを生成する共鳴音生成処理の前処理として、新たなインパルス応答データを生成するインパルス応答データの生成処理を実行する。   Therefore, the resonant sound adding apparatus according to the present embodiment executes an impulse response data generation process for generating new impulse response data as a pre-process for the resonant sound generation process for generating the resonant sound data.

図3は、本実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。記憶部16には、フィルタの次数にしたがった、元のインパルス応答データIro[n](n=0〜nTap−1)が格納されている。本実施の形態においては、元のインパルス応答データにおいて、前後の値より所定なだけ変動が大きいような極大値および極小値を見出して、見出された極大値および極小値については、元のインパルス応答データの値を、新たなインパルス応答データの値として保持する。その一方、それ以外の場合には、新たなインパルス応答データの値として「0」を保持する。これにより、後述する共鳴音生成処理における演算量を削減することが可能となる。   FIG. 3 is a flowchart showing an example of impulse response data generation processing according to the present embodiment. The storage unit 16 stores original impulse response data Iro [n] (n = 0 to nTap−1) according to the order of the filter. In the present embodiment, in the original impulse response data, a local maximum value and a local minimum value that have a predetermined variation larger than the previous and subsequent values are found, and the found local maximum value and local minimum value are determined with respect to the original impulse response data. The value of the response data is held as a new impulse response data value. On the other hand, in other cases, “0” is held as the value of the new impulse response data. As a result, it is possible to reduce the amount of calculation in a resonance generation process described later.

図3に示すように、インパルス応答生成部18は、演算用のパラメータを、「n=0」に初期化する(ステップ301)。パラメータ「n」は処理対象となる元のインパルス応答データIpo[n]および新たなインパルス応答データIpg[n]を特定する。なお、「n」は、インパルス応答の時間軸上の値に相当する。   As shown in FIG. 3, the impulse response generator 18 initializes a calculation parameter to “n = 0” (step 301). The parameter “n” specifies the original impulse response data Ipo [n] and new impulse response data Ipg [n] to be processed. “N” corresponds to a value on the time axis of the impulse response.

インパルス応答生成部18は、n≧nTapとなるまで(ステップ302でYes)、ステップ303以下の処理を実行する。   The impulse response generation unit 18 executes the processing from step 303 onward until n ≧ nTap (Yes in step 302).

インパルス応答生成部18は、第n番の新たなインパルス応答データIrg[n]に「0」をセットする(ステップ303)。パラメータ「n」が「0」であれば(ステップ304でYes)、インパルス応答生成部18は、パラメータ「n」をインクリメントして(ステップ310)、ステップ302に戻る。   The impulse response generator 18 sets “0” to the n-th new impulse response data Irg [n] (step 303). If the parameter “n” is “0” (Yes in Step 304), the impulse response generator 18 increments the parameter “n” (Step 310) and returns to Step 302.

その一方、パラメータ「n」が「0」でなければ(ステップ304でNo)、インパルス応答生成部18は、記憶部16から元のインパルス応答データIro[n−1]、Iro[n]、Iro[n+1]を読み出し、dp=Iro[n]−Iro[n−1]およびdn=Iro[n]−Iro[n+1]を算出する(ステップ305、306)。「dp」は、処理対象となっている元のインパルス応答データIro[n]と、その1つ前の元のインパルス応答データIro[n−1]との差であり、「dn」は、処理対象となっている元のインパルス応答データIro[n]と、その1つ後の元のインパルス応答データIro[n+1]との差である。   On the other hand, if the parameter “n” is not “0” (No in step 304), the impulse response generator 18 stores the original impulse response data Iro [n−1], Iro [n], Iro from the storage unit 16. [N + 1] is read and dp = Iro [n] −Iro [n−1] and dn = Iro [n] −Iro [n + 1] are calculated (steps 305 and 306). “Dp” is the difference between the original impulse response data Iro [n] to be processed and the previous original impulse response data Iro [n−1], and “dn” This is the difference between the target original impulse response data Iro [n] and the next original impulse response data Iro [n + 1].

「dp」および「dn」の双方が「+(マイナス)」であれば、元のインパルス応答データIro[n]は極大であることになる。その一方、「dp」および「dn」の双方が「−(マイナス)」であれば、元のインパルス応答データIro[n]は極小であることになる。   If both “dp” and “dn” are “+ (minus)”, the original impulse response data Iro [n] is maximal. On the other hand, if both “dp” and “dn” are “− (minus)”, the original impulse response data Iro [n] is minimal.

本実施の形態においては、元のインパルス応答データIpo[n]が、前後の値より、所定の閾値Thより大きいような極大値である場合、つまり、dp≧Thかつdn≧Thである場合(ステップ307でYes)、或いは、元のインパルス応答データIpo[n]が、前後の値より、所定の負の閾値−Thより小さいような極小値である場合、つまり、dp≦−Thかつdn≦−Thである場合(ステップ308でYes)には、インパルス応答生成部18は、元のインパルス応答データIpo[n]を、新たなインパルス応答データIpg[p]として、記憶部16に記憶する(ステップ309)。   In the present embodiment, when the original impulse response data Ipo [n] is a local maximum value that is larger than a predetermined threshold Th than the previous and subsequent values, that is, when dp ≧ Th and dn ≧ Th ( Yes in step 307) Or, if the original impulse response data Ipo [n] is a minimum value that is smaller than a predetermined negative threshold value -Th from the previous and subsequent values, that is, dp≤-Th and dn≤ When it is -Th (Yes in Step 308), the impulse response generation unit 18 stores the original impulse response data Ipo [n] as new impulse response data Ipg [p] in the storage unit 16 ( Step 309).

したがって、ステップ307或いはステップ308でYesと判断された場合には、インパルス応答生成部18は、新たなインパルス応答データIrg[n]=Iro[n]を記憶部16に格納し、それ以外の場合には、Irg[n]=0を記憶部16に格納する。   Accordingly, when it is determined Yes in step 307 or step 308, the impulse response generation unit 18 stores new impulse response data Irg [n] = Iro [n] in the storage unit 16, otherwise. , Irg [n] = 0 is stored in the storage unit 16.

次いで、インパルス応答生成部18は、パラメータ「n」をインクリメントして(ステップ310)、ステップ302に戻る。   Next, the impulse response generator 18 increments the parameter “n” (step 310) and returns to step 302.

図3に示す処理によって、元のインパルス応答データIpo[n]が、前後の値より、所定の閾値Thより大きいような極大値である場合、或いは、元のインパルス応答データIpo[n]が、前後の値より、一定の閾値−Thよりも小さいような極小値である場合には、元のインパルス応答データの値と一致する新たなインパルス応答データが生成され、記憶部18に格納される。それ以外の場合には、値「0」であるような新たなインパルス応答データが生成され、記憶部18に格納される。本実施の形態において、元のインパルス応答データIro[n]および新たなインパルス応答データIrg[n]のデータ数自体は同一であるが、後述するように演算量は削減することが可能となる。   3, when the original impulse response data Ipo [n] is a local maximum value that is larger than a predetermined threshold value Th than the previous and subsequent values, or the original impulse response data Ipo [n] When the value is a minimum value smaller than a predetermined threshold value -Th from the previous and subsequent values, new impulse response data that matches the value of the original impulse response data is generated and stored in the storage unit 18. In other cases, new impulse response data having a value “0” is generated and stored in the storage unit 18. In the present embodiment, the number of data of the original impulse response data Iro [n] and the new impulse response data Irg [n] itself is the same, but the amount of calculation can be reduced as will be described later.

図4は、本実施の形態にかかる新たなインパルス応答データの生成を説明するための図である。たとえば、元のインパルス応答データIro[s+1](符号401)を処理対象Iro[n]としたときに、dp=Iro[s+1]−Iro[s]≧Th、かつ、dn=Iro[s+1]−Iro[s+2]≧Thであったとする。この場合には、対応する新たなインパルス応答データIrg[s+1](符号411)には、Iro[s+1]が格納される。   FIG. 4 is a diagram for explaining generation of new impulse response data according to the present embodiment. For example, when the original impulse response data Iro [s + 1] (reference numeral 401) is the processing target Iro [n], dp = Iro [s + 1] −Iro [s] ≧ Th and dn = Iro [s + 1] − It is assumed that Iro [s + 2] ≧ Th. In this case, Iro [s + 1] is stored in the corresponding new impulse response data Irg [s + 1] (reference numeral 411).

Iro[s+2]〜Iro[s+t]を、それぞれ処理対象Iro[n]としたときに、図3の処理において、dp≧Thかつdn≧Th、或いは、dp≦−Thかつdp≦−Thが成立しない場合には、対応するIrg[s+2]〜Irg[s+t]は、それぞれ「0」となる。   When Iro [s + 2] to Iro [s + t] are set as processing target Iro [n], dp ≧ Th and dn ≧ Th, or dp ≦ −Th and dp ≦ −Th are established in the processing of FIG. If not, the corresponding Irg [s + 2] to Irg [s + t] are each “0”.

また、元のインパルス応答データIro[s+t+1](符号402)を処理対象Iro[n]としたときに、dp=Iro[s+t+1]−Iro[s+t]≦−Th、かつ、dn=Iro[s+t+1]−Iro[s+t+2]≦−Thであったとする。この場合には、対応する新たなインパルス応答データIrg[s+t+1](符号412)には、Iro[s+t+1]が格納される。   Further, when the original impulse response data Iro [s + t + 1] (reference numeral 402) is the processing target Iro [n], dp = Iro [s + t + 1] −Iro [s + t] ≦ −Th and dn = Iro [s + t + 1] It is assumed that −Iro [s + t + 2] ≦ −Th. In this case, Iro [s + t + 1] is stored in the corresponding new impulse response data Irg [s + t + 1] (reference numeral 412).

このようにして生成され、記憶部18に格納された新たなインパルス応答データIrg(以下、単に、「インパルス応答データ」と称する。)を利用して、共鳴音生成部20によって、畳み込み演算が実行されて、共鳴音データが生成される。   Using the new impulse response data Irg (hereinafter simply referred to as “impulse response data”) generated in this manner and stored in the storage unit 18, a convolution operation is executed by the resonance generating unit 20. Thus, resonance data is generated.

図5および図6は、本実施の形態にかかる共鳴音生成部20によって実行される処理の例を示すフローチャートである。図5の処理では、楽音信号データと、インパルス応答データとが畳み込み演算される。また、図6の処理では、入力データバッファ22の値(ディレイメモリ値DM)がシフトされる。   5 and 6 are flowcharts showing examples of processing executed by the resonance generator 20 according to the present embodiment. In the process of FIG. 5, the tone signal data and the impulse response data are convolutionally calculated. In the processing of FIG. 6, the value of the input data buffer 22 (delay memory value DM) is shifted.

図5に示すように、共鳴音生成部20は、演算用のパラメータを「k=0」に初期化する(ステップ501)。パラメータ「k」は入力バッファ22中のディレイメモリ値DM[k]および記憶部16中のインパルス応答データIrg[k]を特定する。   As shown in FIG. 5, the resonance generator 20 initializes a parameter for calculation to “k = 0” (step 501). The parameter “k” specifies the delay memory value DM [k] in the input buffer 22 and the impulse response data Irg [k] in the storage unit 16.

また、共鳴音生成部20は、累算値「acc=0」とする(ステップ502)とともに、先頭のディレイメモリ値DM[0]=xinにセットする(ステップ503)。xinは、最新の楽音信号のデータである。後述するように、本実施の形態の入力データバッファ22は、最新の楽音信号データDM[0]から、時間軸方向にnTapだけ前のサンプルである楽音信号データDM[nTap−1]までの楽音信号データのデータ列を格納することができる。すなわち、入力データバッファは、nTap段のディレイメモリとして利用される。入力データバッファ22に格納されたディレイメモリ値DM[k]については、後にさらに詳述する。   The resonance generation unit 20 sets the accumulated value “acc = 0” (step 502) and sets the leading delay memory value DM [0] = xin (step 503). xin is the latest musical tone signal data. As will be described later, the input data buffer 22 according to the present embodiment stores musical sounds from the latest musical tone signal data DM [0] to musical tone signal data DM [nTap-1] which is a sample nTap before in the time axis direction. A data string of signal data can be stored. That is, the input data buffer is used as an nTap stage delay memory. The delay memory value DM [k] stored in the input data buffer 22 will be described in detail later.

次いで、共鳴音生成部20は、k≧nTapになるまで(ステップ504でYes)、以下の処理を実行する。共鳴音生成部20は、インパルス応答データIrg[k]が「0」であるかを判断する(ステップ505)。ステップ505でNoと判断された場合には、共鳴音生成部20は、累算値acc=acc+Irg[k]×DM[k]を算出する(ステップ506)。つまり、共鳴音生成部20は、第k番のインパルス応答データIrg[k]と第k番のディレイメモリ値DM[k]との積を累算値accに加算する。その後、共鳴音生成部20は、パラメータ「k」をインクリメントする(ステップ507)。   Next, the resonance generator 20 performs the following processing until k ≧ nTap (Yes in step 504). The resonance generator 20 determines whether the impulse response data Irg [k] is “0” (step 505). When it is determined No in step 505, the resonance generating unit 20 calculates an accumulated value acc = acc + Irg [k] × DM [k] (step 506). That is, the resonance generator 20 adds the product of the kth impulse response data Irg [k] and the kth delay memory value DM [k] to the accumulated value acc. Thereafter, the resonance generator 20 increments the parameter “k” (step 507).

その一方、Irg[k]=0である場合(ステップ505でYes)には、共鳴音生成部20は、累算値の更新は行わず、パラメータ「k」をインクリメントする(ステップ507)。すなわち、本実施の形態においては、Irg[k]=0の場合には、累算値の演算を省略することができる。これにより共鳴音データ生成の際の演算量を削減することが可能となる。   On the other hand, when Irg [k] = 0 (Yes in Step 505), the resonance generating unit 20 does not update the accumulated value and increments the parameter “k” (Step 507). That is, in the present embodiment, when Irg [k] = 0, the calculation of the accumulated value can be omitted. As a result, it is possible to reduce the amount of calculation when generating the resonance sound data.

畳み込み演算が終了すると(ステップ504でYes)、共鳴音生成部20は、入力データバッファ22に格納されたディレイメモリ値をシフトする。図6に示すように、共鳴音生成部20は、パラメータkを「nTap−1」に初期化して(ステップ601)、k=0となるまで(ステップ602でYes)、以下の処理を実行する。   When the convolution calculation is completed (Yes in step 504), the resonance generator 20 shifts the delay memory value stored in the input data buffer 22. As shown in FIG. 6, the resonance generator 20 initializes the parameter k to “nTap−1” (step 601), and executes the following processing until k = 0 (Yes in step 602). .

共鳴音生成部20は、入力データバッファ22中のディレイメモリ値DM[k]として、ディレイメモリ値DM[k−1]とするように、入力データバッファ22の値を更新する(ステップ603)。その後、共鳴音生成部20は、パラメータkをディクリメントする(ステップ604)。   The resonance generator 20 updates the value of the input data buffer 22 so that the delay memory value DM [k−1] is set as the delay memory value DM [k] in the input data buffer 22 (step 603). Thereafter, the resonance generating unit 20 decrements the parameter k (step 604).

図7に示すように、入力データバッファ22においては、DM「0」にある時刻tにおける最新の楽音信号データx(t)が格納され、DM[1]、DM「2」、・・・、DM[nTap−1]の順で、それぞれ、過去の楽音信号x(t−1)、x(t−2)、・・・、x(t−(nTap−1))が格納されている(符号700参照)。図6のステップ603においては、符号701で示すように、DM[k]=DM[k−1]となるように、入力データバッファ22を更新する。これにより、先頭のディレイメモリ値DM[0]に新たな値が入力可能な状態となる。図5のステップ503では、このDM[0]として最新の楽音信号のデータxinが格納される。   As shown in FIG. 7, the input data buffer 22 stores the latest tone signal data x (t) at time “t” in DM “0”, DM [1], DM “2”,. In the order of DM [nTap-1], past musical sound signals x (t-1), x (t-2), ..., x (t- (nTap-1)) are stored ( Reference numeral 700). In step 603 of FIG. 6, as indicated by reference numeral 701, the input data buffer 22 is updated so that DM [k] = DM [k−1]. As a result, a new value can be input to the first delay memory value DM [0]. In step 503 in FIG. 5, the latest musical tone signal data xin is stored as DM [0].

ステップ602でYesと判断された場合には、共鳴音生成部20は、累算値accに所定の補正値constAを乗算して、共鳴音データyoutを生成する(ステップ605)。生成された共鳴音データyoutは、共鳴音データバッファ24に格納される。共鳴音データバッファ24に格納された共鳴音データは、所定のタイミングで読み出され、DA変換された後、音響信号として増幅されスピーカなどから放音される。   If it is determined Yes in step 602, the resonance generation unit 20 multiplies the accumulated value acc by a predetermined correction value constA to generate resonance sound data yout (step 605). The generated resonance sound data yout is stored in the resonance sound data buffer 24. The resonance data stored in the resonance data buffer 24 is read out at a predetermined timing, DA-converted, amplified as an acoustic signal, and emitted from a speaker or the like.

図14(a)は、元のインパルス応答データに基づくインパルス応答特性の例を示すグラフ、図14(b)、(c)は、第1の実施の形態により生成されたインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図14(b)は、Th=0.00001として演算した結果であり、図14(c)は、Th=0.002として演算した結果である。グラフにおいて、横軸はインパルス応答の時間軸、縦軸はインパルス応答データの値である。   FIG. 14A is a graph showing an example of impulse response characteristics based on the original impulse response data, and FIGS. 14B and 14C are impulses based on the impulse response data generated according to the first embodiment. It is a graph which shows the example of a response characteristic. FIG. 14B shows the result of calculation with Th = 0.0001, and FIG. 14C shows the result of calculation with Th = 0.002. In the graph, the horizontal axis is the time axis of impulse response, and the vertical axis is the value of impulse response data.

図14(a)と比較して、図14(b)、図14(c)ではインパルス応答データの値「0」が出現しており、データ量が減少されることがわかる。   Compared with FIG. 14A, the impulse response data value “0” appears in FIG. 14B and FIG. 14C, indicating that the data amount is reduced.

本実施の形態によれば、インパルス応答波形の中で、共鳴音の中でも特に反射音の特性をよく再現するポイントに対応する極大点および極小点の値をインパルス応答データとして保持しておき、保持されたインパルス応答データを用いた畳み込み演算を実行する。これにより、演算量を減少させつつ、共鳴音の残響をより忠実に再現することが可能となる。   According to the present embodiment, in the impulse response waveform, the values of the maximum point and the minimum point corresponding to the point that particularly reproduces the characteristic of the reflected sound among resonance sounds are held as impulse response data. A convolution operation using the impulse response data thus performed is executed. Thereby, it is possible to more faithfully reproduce the reverberation of the resonance sound while reducing the amount of calculation.

また、本実施の形態においては、前後の値より、その変動が、閾値より大きいような極小値および極小値以外の元のインパルス応答データについては「0」として、データ量を削減している。極小値および極大値は、共鳴音の中でも、壁などを反射して伝わる反射音の特徴を現しているものと考えられる。前後の値より、その変動が所定より大きいような極大値および極小値のみをインパルス応答データとして保持し、他のものは「0」とすることで、データ量を削減しつつ、再現性の良好な共鳴音を実現することが可能となる。   Further, in the present embodiment, the amount of data is reduced by setting “0” for the minimum value and the original impulse response data other than the minimum value whose fluctuations are larger than the threshold value compared to the previous and next values. The minimum value and the maximum value are considered to represent the characteristics of the reflected sound transmitted by reflecting off the wall or the like among the resonance sounds. Only the maximum and minimum values whose fluctuations are larger than the predetermined value are stored as impulse response data, and the others are set to “0”, thereby reducing the amount of data and improving reproducibility. It becomes possible to realize a resonant sound.

また、本実施の形態によれば、新たなインパルス応答データ中、実際に値が存在するもの(つまり値が「0」でないもの)についてのみ畳み込み演算が行われるため、共鳴音生成のための畳み込み演算の演算量を削減することができる。   Further, according to the present embodiment, the convolution calculation is performed only for the new impulse response data that actually has a value (that is, the value that is not “0”), so that the convolution for generating the resonance sound is performed. The amount of calculation can be reduced.

次に、本発明の第2の実施の形態について説明する。第1の実施の形態において、インパルス応答データとして保持する極大値および極小値を判別するための閾値Thは固定値であった。第2の実施の形態においては、当該閾値を、インパルス応答特性の時間軸にしたがって変化させている。   Next, a second embodiment of the present invention will be described. In the first embodiment, the threshold value Th for determining the maximum value and the minimum value held as impulse response data is a fixed value. In the second embodiment, the threshold value is changed according to the time axis of the impulse response characteristic.

図8は、本発明の第2の実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。第2の実施の形態においても、第1の実施の形態と同様に、インパルス応答生成部18が、記憶部16に記憶された元のインパルス応答データ12を読み出して、元のインパルス応答データ12において、前後の値より、所定の閾値より大きいような極大値および前後の値より所定の負の閾値より小さいような極小値を見出して、極大値および極小値については、元のインパルス応答データの値を、新たなインパルス応答データ14の値として保持する。その一方、それ以外の場合には、新たなインパルス応答データの値として「0」を保持する。   FIG. 8 is a flowchart illustrating an example of impulse response data generation processing according to the second embodiment of the present invention. Also in the second embodiment, as in the first embodiment, the impulse response generation unit 18 reads the original impulse response data 12 stored in the storage unit 16, and in the original impulse response data 12, Find a local maximum value that is larger than a predetermined threshold value and a local minimum value that is smaller than a predetermined negative threshold value before and after the previous and next values, and for the local maximum value and local minimum value, the value of the original impulse response data Is held as the value of the new impulse response data 14. On the other hand, in other cases, “0” is held as the value of the new impulse response data.

第2の実施の形態においては、極小値および極大値を見出す際の閾値Thnewを、後述するように、インパルス応答特性の時間軸に沿って単調減少する一次直線となるように算出している。   In the second embodiment, the threshold value Thnew when finding the minimum value and the maximum value is calculated so as to be a linear line that monotonously decreases along the time axis of the impulse response characteristic, as will be described later.

図8に示すように、インパルス応答生成部18は、演算用のパラメータを、「n=0」に初期化する(ステップ801)。パラメータ「n」は処理対象となる元のインパルス応答データIpo[n]および新たなインパルス応答データIpg[n]を特定する。また、パラメータ「n」はインパルス応答特性の時間軸上の値に相当する。   As shown in FIG. 8, the impulse response generator 18 initializes a calculation parameter to “n = 0” (step 801). The parameter “n” specifies the original impulse response data Ipo [n] and new impulse response data Ipg [n] to be processed. The parameter “n” corresponds to a value on the time axis of the impulse response characteristic.

インパルス応答生成部18は、n≧nTapとなるまで(ステップ802でYes)、ステップ803以下の処理を実行する
インパルス応答生成部18は、第n番の新たなインパルス応答データIrg[n]に「0」をセットする(ステップ803)。パラメータ「n」が「0」であれば(ステップ804でYes)、インパルス応答生成部18は、パラメータ「n」をインクリメントして(ステップ811)、ステップ802に戻る。
The impulse response generation unit 18 executes the processing from step 803 onward until n ≧ nTap (Yes in step 802).
The impulse response generator 18 sets “0” to the nth new impulse response data Irg [n] (step 803). If the parameter “n” is “0” (Yes in Step 804), the impulse response generator 18 increments the parameter “n” (Step 811) and returns to Step 802.

その一方、パラメータ「n」が「0」でなければ(ステップ804でNo)、インパルス応答生成部18は、閾値Thnew=Th−Th×n/nTapであるような新たな閾値Thnewを算出する(ステップ805)。ここに、元の閾値Thは、あらかじめ定められた定数である。パラメータ「n」が「0」であれば閾値Thnew=Thとなる。また、パラメータ「n」が「nTap」であれば閾値Thnew=0となる。すなわち、閾値Thnewは、インパルス応答特性の時間軸に相当するパラメータ「n」が「0」のときにThnew=Th、パラメータ「n」が「nTap」のときにThnew=0、パラメータ「n」が、「0<n<nTap」のときには、2点((0,Th)および(nTap,0))を結ぶ直線上の一点となる。   On the other hand, if the parameter “n” is not “0” (No in Step 804), the impulse response generator 18 calculates a new threshold value Thnew such that the threshold value Thnew = Th−Th × n / nTap ( Step 805). Here, the original threshold value Th is a predetermined constant. If the parameter “n” is “0”, the threshold value Thnew = Th. If the parameter “n” is “nTap”, the threshold value Thnew = 0. That is, the threshold value Thnew is Thnew = Th when the parameter “n” corresponding to the time axis of the impulse response characteristic is “0”, Thnew = 0 when the parameter “n” is “nTap”, and the parameter “n” is When “0 <n <nTap”, it is one point on a straight line connecting two points ((0, Th) and (nTap, 0)).

第2の実施の形態においては、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、直線状に閾値Thnewを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を再現することが可能となる。   In the second embodiment, as the value of the impulse response characteristic on the time axis increases, the impulse response data at the point where the change is smaller can be ignored by linearly decreasing the threshold value Thnew. It can be taken in without being. Thereby, it is possible to reproduce a resonance sound having a longer reverberation.

次いで、インパルス応答生成部18は、記憶部16から元のインパルス応答データIro[n−1]、Iro[n]、Iro[n+1]を読み出し、dp=Iro[n]−Iro[n−1]およびdn=Iro[n]−Iro[n+1]を算出する(ステップ806、807)。「dp」および「dp」は、第1の実施の形態と同様であり、「dp」および「dn」の双方が「+(マイナス)」であれば、元のインパルス応答データIro[n]は極大であることになる。その一方、「dp」および「dn」の双方が「−(マイナス)」であれば、元のインパルス応答データIro[n]は極小であることになる。   Next, the impulse response generation unit 18 reads the original impulse response data Iro [n−1], Iro [n], Iro [n + 1] from the storage unit 16, and dp = Iro [n] −Iro [n−1]. And dn = Iro [n] −Iro [n + 1] is calculated (steps 806 and 807). “Dp” and “dp” are the same as in the first embodiment. If both “dp” and “dn” are “+ (minus)”, the original impulse response data Iro [n] is It will be maximal. On the other hand, if both “dp” and “dn” are “− (minus)”, the original impulse response data Iro [n] is minimal.

元のインパルス応答データIpo[n]が、前後の値より、閾値Thnewより大きいような極大値である場合、つまり、dp≧Thnewかつdn≧Thnewである場合(ステップ808でYes)、或いは、元のインパルス応答データIpo[n]が、前後の値より、負の閾値−Thnewより小さいような極小値である場合、つまり、dp≦−Thnewかつdn≦−Thnewである場合(ステップ809でYes)には、インパルス応答生成部18は、元のインパルス応答データIpo[n]を、新たなインパルス応答データIpg[p]として、記憶部16に記憶する(ステップ810)。   When the original impulse response data Ipo [n] is a local maximum value that is larger than the threshold value Thnew than the previous and subsequent values, that is, when dp ≧ Thnew and dn ≧ Thnew (Yes in step 808), If the impulse response data Ipo [n] is a local minimum value that is smaller than the negative threshold value −Thnew, that is, dp ≦ −Thnew and dn ≦ −Thnew (Yes in step 809). The impulse response generator 18 stores the original impulse response data Ipo [n] as new impulse response data Ipg [p] in the storage unit 16 (step 810).

したがって、ステップ808或いはステップ809でYesと判断された場合には、インパルス応答生成部18は、新たなインパルス応答データIrg[n]=Iro[n]を記憶部16に格納し、それ以外の場合には、Irg[n]=0を記憶部16に格納する。   Therefore, if it is determined Yes in step 808 or step 809, the impulse response generation unit 18 stores new impulse response data Irg [n] = Iro [n] in the storage unit 16, otherwise. , Irg [n] = 0 is stored in the storage unit 16.

次いで、インパルス応答生成部18は、パラメータ「n」をインクリメントして(ステップ811)、ステップ802に戻る。   Next, the impulse response generator 18 increments the parameter “n” (step 811) and returns to step 802.

第2の実施の形態においても、共鳴音データの生成は、図5および図6に示す第1の実施の形態と同様である。すなわち、共鳴音生成部20が、新たなインパルス応答データ14を記憶部16から読み出して、入力データバッファ22に格納されたディレイメモリ値とインパルス応答データとを畳み込み演算することで共鳴音データを生成している。また、共鳴音生成部20は、1つの共鳴音データが生成されるごとに、入力データバッファ22のディレイメモリ値をシフトする(図6参照)。   Also in the second embodiment, the generation of resonance data is the same as that in the first embodiment shown in FIGS. That is, the resonance generation unit 20 reads out the new impulse response data 14 from the storage unit 16 and generates the resonance data by performing a convolution operation on the delay memory value stored in the input data buffer 22 and the impulse response data. is doing. Further, the resonance generation unit 20 shifts the delay memory value of the input data buffer 22 every time one piece of resonance data is generated (see FIG. 6).

このようにして、第2の実施の形態においても、共鳴音生成部20は、共鳴音データyoutが生成され、共鳴音バッファ24に格納される。共鳴音データバッファ24に格納された共鳴音データは、所定のタイミングで読み出され、DA変換された後、音響信号として増幅されスピーカなどから放音される。   In this way, also in the second embodiment, the resonance generator 20 generates the resonance data yout and stores it in the resonance buffer 24. The resonance data stored in the resonance data buffer 24 is read out at a predetermined timing, DA-converted, amplified as an acoustic signal, and emitted from a speaker or the like.

図15(a)〜(c)は、それぞれ、元のインパルス応答データ、第1の実施の形態により生成された新たなインパルス応答データ、および、第2の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図15(b)および図15(c)に示すグラフにおいては、ともにTh=0.002としている。   FIGS. 15A to 15C show original impulse response data, new impulse response data generated by the first embodiment, and new impulse generated by the second embodiment, respectively. It is a graph which shows the example of the impulse response characteristic based on the impulse response data based on response data. In the graphs shown in FIGS. 15B and 15C, Th = 0.002.

図15(b)と図15(c)とを比較すると、第2の実施の形態(図15(c))の方が、よりインパルス応答特性の時間軸上の大きな値に対しても、「0」以外のインパルス応答データの値が存在することが理解できる。つまり、より残響の長い共鳴音を再現可能であることが示される。   Comparing FIG. 15 (b) and FIG. 15 (c), the second embodiment (FIG. 15 (c)) also shows a larger value on the time axis of the impulse response characteristic than “ It can be seen that there are impulse response data values other than "0". That is, it is shown that a resonance sound having a longer reverberation can be reproduced.

第2の実施の形態によれば、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Thnewを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を適切に再現することが可能となる。   According to the second embodiment, as the value of the impulse response characteristic on the time axis increases, the threshold value Thnew is decreased, so that the impulse response data at a smaller change point is not ignored. It can be imported. Thereby, it is possible to appropriately reproduce a resonance sound having a longer reverberation.

次に、本発明の第3の実施の形態について説明する。第2の実施の形態においてはインパルス応答特性の時間軸上の値が大きくなるのにしたがって、直線的に閾値Thnewを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。第3の実施の形態においては、直線ではなく指数関数にしたがって閾値Thnewを小さくするようにしている。   Next, a third embodiment of the present invention will be described. In the second embodiment, as the value of the impulse response characteristic on the time axis increases, the threshold value Thnew is linearly reduced, so that the impulse response data at the point where the change is smaller is not ignored. To be able to capture. In the third embodiment, the threshold value Thnew is reduced according to an exponential function instead of a straight line.

図9および図10は、本発明の第3の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。   FIG. 9 and FIG. 10 are flowcharts showing impulse response data generation processing according to the third embodiment of the present invention.

第3の実施の形態においても、第1の実施の形態および第2の実施の形態と同様に、インパルス応答生成部18が、記憶部16に記憶された元のインパルス応答データ12を読み出して、元のインパルス応答データ12において、前後の値より、閾値Thnewより大きいような極大値、および、前後の値より、負の閾値−Thnewより小さいような極小値を見出して、極大値および極小値については、元のインパルス応答データ12の値を、新たなインパルス応答データ14の値として保持する。その一方、それ以外の場合には、新たなインパルス応答データ12の値として「0」を保持する。   Also in the third embodiment, as in the first and second embodiments, the impulse response generation unit 18 reads the original impulse response data 12 stored in the storage unit 16, In the original impulse response data 12, find a local maximum value that is larger than the threshold value Thnew from the previous and subsequent values, and a local minimum value that is smaller than the negative threshold value -Thnew from the previous and subsequent values. Holds the value of the original impulse response data 12 as the value of the new impulse response data 14. On the other hand, in other cases, “0” is held as the value of the new impulse response data 12.

第3の実施の形態においては、極小値および極大値を判断する際の閾値Thnewを、後述するように、インパルス応答の時間軸に沿って減少する指数曲線となるように算出している。   In the third embodiment, the threshold value Thnew when determining the minimum value and the maximum value is calculated so as to be an exponential curve that decreases along the time axis of the impulse response, as will be described later.

図9に示すように、インパルス応答生成部18は、n=nTapであるときの値、および、曲線の形状、特にくびれの程度を決定するパラメータであるRpow=指定値として(ステップ901)、Rrange=10^(−Rpow)を算出する(ステップ902)。Rpowは、オペレータが予め入力装置36を利用して入力し、RAM34に記憶しておき、ステップ901においてRAM34からインパルス応答生成部18が読み出せばよい。   As shown in FIG. 9, the impulse response generator 18 sets the value when n = nTap, and Rpow = specified value which is a parameter for determining the shape of the curve, particularly the degree of constriction (step 901), and Rrange = 10 ^ (-Rpow) is calculated (step 902). Rpow is input by the operator in advance using the input device 36, stored in the RAM 34, and the impulse response generator 18 may read it from the RAM 34 in step 901.

次いで、インパルス応答生成部18は、基数Base=2として、指数関数のべき数A=log(Rrange)/(nTap×log(Base))を算出する(ステップ903、904)。   Next, the impulse response generation unit 18 calculates an exponential exponent A = log (Rrange) / (nTap × log (Base)) with a radix Base = 2 (steps 903 and 904).

また、インパルス応答生成部18は、演算用のパラメータを、「n=0」に初期化する(ステップ905)。パラメータ「n」は処理対象となる元のインパルス応答データIpo[n]および新たなインパルス応答データIpg[n]を特定する。また、パラメータ「n」はインパルス応答特性の時間軸上の値に相当する。   In addition, the impulse response generator 18 initializes the calculation parameter to “n = 0” (step 905). The parameter “n” specifies the original impulse response data Ipo [n] and new impulse response data Ipg [n] to be processed. The parameter “n” corresponds to a value on the time axis of the impulse response characteristic.

インパルス応答生成部18は、n≧nTapとなるまで(ステップ1001でYes)、ステップ1002以下の処理を実行する
インパルス応答生成部18は、第n番の新たなインパルス応答データIrg[n]に「0」をセットする(ステップ1002)。パラメータ「n」が「0」であれば(ステップ1003でYes)、インパルス応答生成部18は、パラメータ「n」をインクリメントして(ステップ1010)、ステップ1001に戻る。
The impulse response generation unit 18 executes the processing from step 1002 onward until n ≧ nTap (Yes in step 1001).
The impulse response generator 18 sets “0” to the n-th new impulse response data Irg [n] (step 1002). If the parameter “n” is “0” (Yes in Step 1003), the impulse response generator 18 increments the parameter “n” (Step 1010) and returns to Step 1001.

その一方、パラメータ「n」が「0」でなければ(ステップ1003でNo)、インパルス応答生成部18は、閾値Thnew=Th×Base^(A×n)であるような新たな閾値Thnewを算出する(ステップ1004)。   On the other hand, if the parameter “n” is not “0” (No in step 1003), the impulse response generator 18 calculates a new threshold value Thnew such that the threshold value Thnew = Th × Base ^ (A × n). (Step 1004).

元の閾値Thは、あらかじめ定められた定数であり、パラメータ「n」が「0」であれば閾値Thnew=Th×Base^0=Thとなり、パラメータ「n」が「nTap」であれば閾値Thnew=Th×Base^(A×nTap)=Th×2^(logRrange/log2)=Th×Rrangeとなる。
つまり、閾値Thnewは、インパルス応答の時間軸に相当するパラメータ「n」が「0」のときにThnew=Th、パラメータ「n」が「nTap」のときにThnew=Th×Rrange、パラメータ「n」が、「0<n<nTap」のときには、2点((0,Th)および(nTap,Th×Rrange)を結ぶ単調減少する指数関数上の一点となる。
The original threshold Th is a predetermined constant. If the parameter “n” is “0”, the threshold Thnew = Th × Base ^ 0 = Th, and if the parameter “n” is “nTap”, the threshold Thnew. = Th * Base ^ (A * nTap) = Th * 2 ^ (logRrange / log2) = Th * Rrange.
That is, the threshold value Thnew is Thnew = Th when the parameter “n” corresponding to the time axis of the impulse response is “0”, Thnew = Th × Rrange when the parameter “n” is “nTap”, and the parameter “n”. However, when “0 <n <nTap”, it is a point on the exponentially decreasing exponential function connecting two points ((0, Th) and (nTap, Th × Range).

図11〜図13は、閾値Thnewの変化を示すグラフである。図11は、Rpow=1(Rrange=0.1)、図12は、Rpow=2(Rrange=0.01)、図12は、Rpow=3(Rrange=0.001)とした場合のグラフである。それぞれのグラフにおいて、Th=1としている。また、グラフにおいて、縦軸がThnewの値、横軸がインパルス応答特性の時間軸である。図11〜図13のように、第3の実施の形態では、Rpowが増大するにしたがって、くびれの度合いが強くなり(初期的な減少が著しくなり)、かつ、n=nTapの時の値が小さくなっている。このように、Rpowを変更することにより、極大値および極小値を判断するとき際の閾値の変更の度合いを、所望のように変更することが可能となる。   11 to 13 are graphs showing changes in the threshold value Thnew. 11 is a graph when Rpow = 1 (Rrange = 0.1), FIG. 12 is a graph when Rpow = 2 (Rrange = 0.01), and FIG. 12 is a graph when Rpow = 3 (Rrange = 0.001). is there. In each graph, Th = 1. In the graph, the vertical axis represents the Thnew value, and the horizontal axis represents the time axis of the impulse response characteristics. As shown in FIGS. 11 to 13, in the third embodiment, as Rpow increases, the degree of constriction increases (the initial decrease becomes significant), and the value when n = nTap is as follows. It is getting smaller. In this way, by changing Rpow, it is possible to change the degree of change of the threshold when determining the maximum value and the minimum value as desired.

図16(a)〜(c)は、第3の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答特性の例を示すグラフである。図16(a)〜(c)は、それぞれ、Rpow=1、Rpow=2、Rpow=5として新たなインパルス応答データを算出している。   FIGS. 16A to 16C are graphs showing examples of impulse response characteristics based on new impulse response data generated by the third embodiment. 16A to 16C calculate new impulse response data with Rpow = 1, Rpow = 2, and Rpow = 5, respectively.

第3の実施の形態によれば、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Thnewを小さくすることで、より小さな変化のあった点のインパルス応答データを無視せずに取り込むことができるようにしている。これにより、より残響の長い共鳴音を適切に再現することが可能となる。特に、指数関数的に、時間軸上の値が比較的小さいときには比較的急峻に閾値を減少させ、時間軸上の値が比較的大きいときには、閾値の減少の程度を少なくさせている。これにより、よりきめ細かく適切な極大値および極小値を取得することが可能となる。   According to the third embodiment, as the value of the impulse response characteristic on the time axis increases, the threshold value Thnew is decreased, so that the impulse response data at a smaller change point is not ignored. It can be imported. Thereby, it is possible to appropriately reproduce a resonance sound having a longer reverberation. In particular, exponentially, when the value on the time axis is relatively small, the threshold is decreased relatively steeply, and when the value on the time axis is relatively large, the degree of decrease in the threshold is reduced. As a result, it is possible to obtain more appropriate local maximum and minimum values.

本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。   The present invention is not limited to the above embodiments, and various modifications can be made within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.

たとえば、第2の実施の形態においては、インパルス応答特性の時間軸において、n=0のときに所定の閾値Th、n=nTapのときに0であるような、単調減少する一次直線上の値となるように、インパルス応答生成部18が、nの値に応じて閾値Thnewを算出している。しかしながら、一次直線は上述したものに限定されず、n=nTapのときに、Thより小さい値として、nの値に応じて閾値Thnewが算出されても良い。   For example, in the second embodiment, on the time axis of the impulse response characteristic, a value on a linear line that monotonously decreases, such as a predetermined threshold Th when n = 0 and 0 when n = nTap. The impulse response generator 18 calculates the threshold value Thnew according to the value of n. However, the linear line is not limited to that described above, and the threshold value Thnew may be calculated according to the value of n as a value smaller than Th when n = nTap.

また、第3の実施の形態においては、n=0のときに所定の閾値Th、n=nTapのときに、設定された値Th×Rrangeとなるような、単調減少する指数関数上の値となるように、インパルス応答生成部18が、nの値に応じて閾値Thnewを算出している。しかしながら、上述した値をとるような指数関数に限定されるものではない。さらに、インパルス応答特性の時間軸上の値が大きくなるのにしたがって、閾値Thnewを小さくするような、単調減少する他の関数を閾値Thnewを算出するために利用することも可能である。   Further, in the third embodiment, a predetermined threshold value Th when n = 0, and a monotonically decreasing value on the exponential function that becomes a set value Th × Range when n = nTap Thus, the impulse response generator 18 calculates the threshold value Thnew according to the value of n. However, it is not limited to an exponential function that takes the above-described values. Furthermore, another function that decreases monotonously as the value of the impulse response characteristic on the time axis increases, such as decreasing the threshold Thnew, can be used to calculate the threshold Thnew.

図1は、本発明の実施の形態にかかる共鳴音付加装置の構成を示すブロックダイヤグラムである。FIG. 1 is a block diagram showing a configuration of a resonance adding apparatus according to an embodiment of the present invention. 図2は、本実施の形態にかかる共鳴音付加装置のハードウェア構成を示すブロックダイヤグラムである。FIG. 2 is a block diagram showing a hardware configuration of the resonance adding apparatus according to the present embodiment. 図3は、本実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。FIG. 3 is a flowchart showing an example of impulse response data generation processing according to the present embodiment. 図4は、本実施の形態にかかる新たなインパルス応答データの生成を説明するための図である。FIG. 4 is a diagram for explaining generation of new impulse response data according to the present embodiment. 図5は、本実施の形態にかかる共鳴音生成部によって実行される処理の例を示すフローチャートである。FIG. 5 is a flowchart showing an example of processing executed by the resonance generating unit according to the present embodiment. 図6は、本実施の形態にかかる共鳴音生成部によって実行される処理の例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of processing executed by the resonance generating unit according to the present embodiment. 図7は、本実施の形態にかかる入力データバッファの構成の例を示す図である。FIG. 7 is a diagram illustrating an example of the configuration of the input data buffer according to the present embodiment. 図8は、本発明の第2の実施の形態にかかるインパルス応答データの生成処理の例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of impulse response data generation processing according to the second embodiment of the present invention. 図9は、本発明の第3の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。FIG. 9 is a flowchart showing an impulse response data generation process according to the third embodiment of the present invention. 図10は、本発明の第3の実施の形態にかかるインパルス応答データの生成処理を示すフローチャートである。FIG. 10 is a flowchart showing a process of generating impulse response data according to the third embodiment of the present invention. 図11は、本発明の第3の実施の形態にかかる共鳴音付加装置における閾値Thnewの例を示すグラフである。FIG. 11 is a graph showing an example of the threshold value Thnew in the resonance adding apparatus according to the third embodiment of the present invention. 図12は、本発明の第3の実施の形態にかかる共鳴音付加装置における閾値Thnewの例を示すグラフである。FIG. 12 is a graph showing an example of the threshold value Thnew in the resonance adding apparatus according to the third embodiment of the present invention. 図13は、本発明の第3の実施の形態にかかる共鳴音付加装置における閾値Thnewの例を示すグラフである。FIG. 13 is a graph showing an example of the threshold value Thnew in the resonance adding apparatus according to the third embodiment of the present invention. 図14(a)は、元のインパルス応答データに基づくインパルス応答特性の例を示すグラフ、図14(b)、(c)は、第1の実施の形態により生成されたインパルス応答データに基づくインパルス応答特性の例を示すグラフである。FIG. 14A is a graph showing an example of impulse response characteristics based on the original impulse response data, and FIGS. 14B and 14C are impulses based on the impulse response data generated by the first embodiment. It is a graph which shows the example of a response characteristic. 図15(a)〜(c)は、それぞれ、元のインパルス応答データ、第1の実施の形態により生成された新たなインパルス応答データ、および、第2の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答データに基づくインパルス応答特性の例を示すグラフである。FIGS. 15A to 15C show original impulse response data, new impulse response data generated by the first embodiment, and new impulse generated by the second embodiment, respectively. It is a graph which shows the example of the impulse response characteristic based on the impulse response data based on response data. 図16(a)〜(c)は、第3の実施の形態により生成された新たなインパルス応答データに基づくインパルス応答特性の例を示すグラフである。FIGS. 16A to 16C are graphs showing examples of impulse response characteristics based on new impulse response data generated by the third embodiment.

符号の説明Explanation of symbols

12 元のインパルス応答データ
14 新たなインパルス応答データ
16 記憶部
18 インパルス応答生成部
20 共鳴音生成部
22 入力データバッファ
24 共鳴音データバッファ
30 CPU
32 ROM
34 RAM
36 入力装置
38 表示装置
40 サウンドシステム
44 楽音生成回路
12 Original impulse response data 14 New impulse response data 16 Storage unit 18 Impulse response generation unit 20 Resonance sound generation unit 22 Input data buffer 24 Resonance sound data buffer 30 CPU
32 ROM
34 RAM
36 Input device 38 Display device 40 Sound system 44 Music generation circuit

Claims (8)

時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、
インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成手段と、を備えた共鳴音付加装置であって、
前記記憶部が、元のインパルス応答データを記憶し、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「0」を示す値を前記記憶部に記憶するインパルス応答生成手段を備えたことを特徴とする共鳴音付加装置。
An input data buffer storing a series of musical tone signal data on the time axis as a delay memory value;
A storage unit storing impulse response data which is a value on the time axis representing the impulse response characteristics;
Resonance sound adding means comprising: a resonance sound generating means for generating a resonance sound data by convolving a value of the impulse response data and a delay memory value stored in an input data buffer,
The storage unit stores original impulse response data,
The original impulse data stored in the storage unit is taken out, and a local maximum value and a local minimum value that vary by a predetermined amount from the previous and subsequent values are found, and the found local maximum value and local minimum value are found in the impulse response data. Impulse response generation means for storing in the storage unit a value indicating “0” as a value of the impulse response data other than the found local maximum value and local minimum value as a value. A resonance sound adding device comprising:
前記共鳴音生成手段が、前記インパルス応答データの値が「0」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するように構成されたことを特徴とする請求項1に記載の共鳴音付加装置。   The resonance generating means multiplies the value of the impulse response data by the delay memory value and accumulates the multiplied value only when the value of the impulse response data is other than “0”. The resonant sound adding apparatus according to claim 1, wherein the resonant sound adding apparatus is configured as described above. 前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されたことを特徴とする請求項1または2に記載の共鳴音付加装置。   The impulse response generation means calculates a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on a straight line that decreases monotonously along the time axis. The resonance addition apparatus according to claim 1 or 2, wherein a maximum value and a minimum value having a fluctuation larger than the threshold value are found from values before and after. 前記インパルス応答生成手段が、前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出し、前後の値より、前記閾値より変動が大きい極大値および極小値を見出すように構成されたことを特徴とする請求項1または2に記載の共鳴音付加装置。   The impulse response generating means calculates a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on an exponential curve that monotonously decreases along the time axis. The resonance addition apparatus according to claim 1, wherein the resonance value adding device is configured to find a local maximum value and a local minimum value that are larger than the threshold value from previous and subsequent values. 時間軸上の一連の楽音信号データをディレイメモリ値として記憶した入力データバッファと、インパルス応答特性を表す時間軸上の値であるインパルス応答データを記憶した記憶部と、を備えたコンピュータにおいて、前記コンピュータに、
前記インパルス応答データの値と、入力データバッファに記憶されたディレイメモリ値とを畳み込み演算して共鳴音データを生成する共鳴音生成ステップを実行させる共鳴音付加プログラムであって、
前記記憶部が、元のインパルス応答データを記憶し、
前記コンピュータに、
前記記憶部に記憶された元のインパルスデータを取り出して、前後の値より所定なだけ変動が大きい極大値および極小値を見出し、前記見出された極大値および極小値を、前記インパルス応答データの値として、前記記憶部に記憶するとともに、前記見出された極大値および極小値以外は、前記インパルス応答データの値として、「0」を示す値を前記記憶部に記憶するインパルス応答生成ステップを実行させることを特徴とする共鳴音付加プログラム。
In a computer comprising: an input data buffer that stores a series of musical sound signal data on a time axis as a delay memory value; and a storage unit that stores impulse response data that is a value on the time axis representing an impulse response characteristic. On the computer,
A resonance addition program for executing a resonance generation step for generating resonance data by convolving a value of the impulse response data and a delay memory value stored in an input data buffer,
The storage unit stores original impulse response data,
In the computer,
The original impulse data stored in the storage unit is taken out, and a local maximum value and a local minimum value that vary by a predetermined amount from the previous and subsequent values are found, and the found local maximum value and local minimum value are found in the impulse response data. An impulse response generating step of storing in the storage unit as a value and storing a value indicating “0” in the storage unit as a value of the impulse response data other than the found local maximum value and local minimum value A resonance addition program characterized by being executed.
前記共鳴音生成ステップにおいて、
前記インパルス応答データの値が「0」以外であるときのみ、前記インパルス応答データの値と、前記ディレイメモリ値とを乗算し、かつ、乗算された値を累算するステップを実行させることを特徴とする請求項5に記載の共鳴音付加プログラム。
In the resonance sound generation step,
Only when the value of the impulse response data is other than “0”, the step of multiplying the value of the impulse response data by the delay memory value and accumulating the multiplied values is executed. The resonance sound adding program according to claim 5.
前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する直線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させることを特徴とする請求項5または6に記載の共鳴音付加プログラム。
In the impulse response generation step, the computer
Calculating a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on a straight line that decreases monotonously along the time axis;
The resonance sound adding program according to claim 5 or 6, wherein a step of finding a local maximum value and a local minimum value having a fluctuation larger than the threshold value from previous and subsequent values is executed.
前記インパルス応答生成ステップにおいて、前記コンピュータに、
前記元のインパルス応答データの、前記インパルス応答特性の時間軸上の位置に対応する、当該時間軸に沿って単調減少する指数曲線上の値となるような閾値を算出するステップと、
前後の値より、前記閾値より変動が大きい極大値および極小値を見出すステップと、を実行させることを特徴とする請求項5または6に記載の共鳴音付加プログラム。
In the impulse response generation step, the computer
Calculating a threshold value corresponding to a position on the time axis of the impulse response characteristic of the original impulse response data so as to be a value on an exponential curve that monotonously decreases along the time axis;
The resonance sound adding program according to claim 5 or 6, wherein a step of finding a local maximum value and a local minimum value having a fluctuation larger than the threshold value from previous and subsequent values is executed.
JP2007143978A 2007-05-30 2007-05-30 Resonance sound adding device and resonance sound adding program Expired - Fee Related JP4877076B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007143978A JP4877076B2 (en) 2007-05-30 2007-05-30 Resonance sound adding device and resonance sound adding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007143978A JP4877076B2 (en) 2007-05-30 2007-05-30 Resonance sound adding device and resonance sound adding program

Publications (2)

Publication Number Publication Date
JP2008299005A true JP2008299005A (en) 2008-12-11
JP4877076B2 JP4877076B2 (en) 2012-02-15

Family

ID=40172593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007143978A Expired - Fee Related JP4877076B2 (en) 2007-05-30 2007-05-30 Resonance sound adding device and resonance sound adding program

Country Status (1)

Country Link
JP (1) JP4877076B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173445A (en) * 2011-02-21 2012-09-10 Casio Comput Co Ltd Resonance sound addition device and electronic musical instrument
US10339907B2 (en) 2017-03-15 2019-07-02 Casio Computer Co., Ltd. Signal processing apparatus
US11984102B2 (en) 2018-10-09 2024-05-14 Roland Corporation Sound effect generation method and information processing device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS637023A (en) * 1986-06-27 1988-01-12 トムソン コンシューマー エレクトロニクス セイルズ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method of audio signal transmission
JPH01135222A (en) * 1987-11-20 1989-05-26 Matsushita Electric Ind Co Ltd Sound field reproducing device
JPH02218224A (en) * 1989-02-18 1990-08-30 Fujitsu Kiden Ltd Data transferring method
JPH04326399A (en) * 1991-04-26 1992-11-16 Matsushita Electric Ind Co Ltd Reflected sound compressing device
JPH11126097A (en) * 1997-10-22 1999-05-11 Victor Co Of Japan Ltd Method and device for processing voice information, and method for recording voice information on recording medium
JP2001109497A (en) * 1999-10-04 2001-04-20 Matsushita Electric Ind Co Ltd Audio signal encoding device and audio signal encoding method
JP2001343997A (en) * 2000-05-30 2001-12-14 Ricoh Co Ltd Method and device for encoding digital acoustic signal and recording medium
JP2006245865A (en) * 2005-03-02 2006-09-14 Yamaha Corp Convolution arithmetic operation method and convolution arithmetic operation processing program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS637023A (en) * 1986-06-27 1988-01-12 トムソン コンシューマー エレクトロニクス セイルズ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method of audio signal transmission
JPH01135222A (en) * 1987-11-20 1989-05-26 Matsushita Electric Ind Co Ltd Sound field reproducing device
JPH02218224A (en) * 1989-02-18 1990-08-30 Fujitsu Kiden Ltd Data transferring method
JPH04326399A (en) * 1991-04-26 1992-11-16 Matsushita Electric Ind Co Ltd Reflected sound compressing device
JPH11126097A (en) * 1997-10-22 1999-05-11 Victor Co Of Japan Ltd Method and device for processing voice information, and method for recording voice information on recording medium
JP2001109497A (en) * 1999-10-04 2001-04-20 Matsushita Electric Ind Co Ltd Audio signal encoding device and audio signal encoding method
JP2001343997A (en) * 2000-05-30 2001-12-14 Ricoh Co Ltd Method and device for encoding digital acoustic signal and recording medium
JP2006245865A (en) * 2005-03-02 2006-09-14 Yamaha Corp Convolution arithmetic operation method and convolution arithmetic operation processing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173445A (en) * 2011-02-21 2012-09-10 Casio Comput Co Ltd Resonance sound addition device and electronic musical instrument
US10339907B2 (en) 2017-03-15 2019-07-02 Casio Computer Co., Ltd. Signal processing apparatus
US11984102B2 (en) 2018-10-09 2024-05-14 Roland Corporation Sound effect generation method and information processing device

Also Published As

Publication number Publication date
JP4877076B2 (en) 2012-02-15

Similar Documents

Publication Publication Date Title
US8320583B2 (en) Noise reducing device and noise determining method
EP2203002B1 (en) Method for measuring frequency characteristic and rising edge of impulse response, and sound field correcting apparatus
JP2007232492A (en) Method and apparatus for measuring transfer characteristic
JP4877076B2 (en) Resonance sound adding device and resonance sound adding program
JP4702392B2 (en) Resonant sound generator and electronic musical instrument
US9628907B2 (en) Audio device and method having bypass function for effect change
JP5157837B2 (en) Pitch detection apparatus and program
JP4941106B2 (en) Resonance sound adding device and resonance sound adding program
JP5217875B2 (en) Sound field support device, sound field support method and program
JP2009025589A (en) Resonance sound adding device of electronic musical instrument and electronic musical instrument
JP5169753B2 (en) Resonance sound adding device and electronic musical instrument
JP2000316199A (en) Howling preventing device
JP5169584B2 (en) Impulse response processing device, reverberation imparting device and program
JP2010190990A (en) Impulse response modification device, reverberation adding device and program
CN113825070B (en) Method and device for correcting acoustic characteristics
US8145693B2 (en) Fir filter apparatus, audio apparatus and fir filter program
JP2687698B2 (en) Electronic musical instrument tone control device
JP5593590B2 (en) Resonance sound generator, electronic musical instrument, and resonance sound generation program
JP5092902B2 (en) FIR filter coefficient calculation device, FIR filter device, and FIR filter coefficient calculation program
JP4432951B2 (en) Musical sound generator and electronic musical instrument
JP3428230B2 (en) Method and apparatus for forming repetitive waveform of electronic musical instrument
JP2009150920A (en) Echo canceller, karaoke machine, echo canceling method and program
JP2005215250A (en) Sound field control system and method
KR101169312B1 (en) Signal level adjusting apparatus, gain value updating method, and program
JP4127130B2 (en) Data processing apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111018

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111114

R150 Certificate of patent or registration of utility model

Ref document number: 4877076

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees