JP2009216904A - Electronic musical device, and program - Google Patents

Electronic musical device, and program Download PDF

Info

Publication number
JP2009216904A
JP2009216904A JP2008059632A JP2008059632A JP2009216904A JP 2009216904 A JP2009216904 A JP 2009216904A JP 2008059632 A JP2008059632 A JP 2008059632A JP 2008059632 A JP2008059632 A JP 2008059632A JP 2009216904 A JP2009216904 A JP 2009216904A
Authority
JP
Japan
Prior art keywords
vibrato
time
data
loop
pitch
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
JP2008059632A
Other languages
Japanese (ja)
Other versions
JP4968120B2 (en
Inventor
Akira Yamauchi
明 山内
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 JP2008059632A priority Critical patent/JP4968120B2/en
Publication of JP2009216904A publication Critical patent/JP2009216904A/en
Application granted granted Critical
Publication of JP4968120B2 publication Critical patent/JP4968120B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an electronic musical device capable of imparting an optional length of vibrato, capable of attaining a natural vibrato near to performance of an actual musical instrument, and capable of controlling a depth and a speed of the vibrato. <P>SOLUTION: This electronic musical device has: a pitch acquiring means for acquiring a temporal locus of a pitch from an original sound waveform data; an extraction means for extracting respective times and pitches of a ridge and a valley of a peak, from the acquired temporal locus of the pitch; a vibrato period calculating means for calculating period information of the vibrato, based on a difference between the respective times of the ridge and the valley of the extracted peak; a vibrato depth calculating means for calculating depth information of the vibrato, based on a difference between the respective pitches of the ridge and the valley of the extracted peak; a recording means for recording, as a time-serial data, the calculated period information and depth information of the vibrato as one set, together with the time from a pronunciation start time of the original sound waveform data; and a setting means for setting a loop beginning end and a loop terminal end in the time-serial data. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、電子音楽装置に関し、より詳しくは、楽音データにビブラートを付与するための楽音制御データを生成する電子音楽装置及び生成される楽音制御データに基づき楽音データにビブラートを付与する電子音楽装置に関する。   The present invention relates to an electronic music device, and more particularly, an electronic music device that generates musical tone control data for adding vibrato to musical tone data, and an electronic musical device that applies vibrato to musical tone data based on the generated musical tone control data. About.

従来、楽音にビブラートを付与する技術として、低周波発振器(LFO)が生成する数Hz程度の変調波形によって楽音データのピッチを変調するものが知られている。しかし、単に、LFOにより楽音データのピッチを変調する方式では、ビブラートが不自然なものとなってしまう。   Conventionally, as a technique for adding vibrato to a musical sound, a technique for modulating the pitch of musical sound data with a modulation waveform of about several Hz generated by a low frequency oscillator (LFO) is known. However, vibrato becomes unnatural in a system that simply modulates the pitch of musical sound data by LFO.

そこで、ビブラート楽音生成用の2系列の波形データをビブラート演奏された波形データを周波数分析にかけ、基本ピッチのビブラートの山の点と谷の点に基づき作成し、該作成した2系列の波形データの合成比率を変調波形によって制御することで、より自然なビブラート楽音を生成する技術が提案されている(例えば、特許文献1参照)。   Therefore, the two series of waveform data for generating the vibrato sound are subjected to frequency analysis on the waveform data of the vibrato performance, created based on the peak and valley points of the vibrato of the basic pitch, and the generated two series of waveform data There has been proposed a technique for generating a more natural vibrato tone by controlling the synthesis ratio using a modulation waveform (see, for example, Patent Document 1).

特開2007−248551号公報JP 2007-248551 A

従来のビブラート付与技術では、ユーザが巧みにリアルタイムコントローラ(モジュレーションホイール等)を操作しないと、LFOによる機械的なビブラートになることがある。或いは、コントローラの物理的な特性を反映したビブラートとなってしまい、実際の生楽器に似ていないものとなってしまう。   In the conventional vibrato imparting technology, if the user does not skillfully operate a real-time controller (such as a modulation wheel), mechanical vibrato by LFO may occur. Alternatively, the vibrato reflects the physical characteristics of the controller, and it does not resemble an actual live musical instrument.

本発明の目的は、任意の長さのビブラートを付与することのできる電子音楽装置を提供することである。   The objective of this invention is providing the electronic music apparatus which can provide the vibrato of arbitrary length.

本発明の他の目的は、実際の楽器の演奏に近い自然なビブラートを実現することができる。電子音楽装置を提供することである。   Another object of the present invention is to realize a natural vibrato that is close to the performance of an actual musical instrument. It is to provide an electronic music device.

本発明のさらに他の目的は、ビブラートの深さやスピードを制御することができる電子音楽装置を提供することである。   Still another object of the present invention is to provide an electronic music apparatus that can control the depth and speed of vibrato.

本発明の一観点によれば、電子音楽装置は、原音波形データからピッチの時間的軌跡を取得するピッチ取得手段と、前記取得したピッチの時間的軌跡からピークの山と谷のそれぞれの時刻とピッチを抽出する抽出手段と、前記抽出したピークの山と谷のそれぞれの時刻の差からビブラートの周期情報を算出するビブラート周期算出手段と、前記抽出したピークの山と谷のそれぞれのピッチの差からビブラートの深さ情報を算出するビブラート深さ算出手段と、前記算出したビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記録する記録手段と、前記時系列データ中に、ループ始端とループ終端を設定する設定手段とを有する。   According to one aspect of the present invention, an electronic music apparatus includes a pitch acquisition unit that acquires a temporal trajectory of a pitch from original sound waveform data, and each time of peak peaks and troughs from the acquired temporal trajectory of pitch. Extraction means for extracting pitch, vibrato period calculation means for calculating period information of vibrato from the difference in time between the peak and valley of the extracted peak, and difference in pitch between the peak and valley of the extracted peak Vibrato depth calculation means for calculating the vibrato depth information from the time series data, together with the time from the sound generation start time of the original sound waveform data, with the set of the vibrato period information and the vibrato depth information as a set And a setting means for setting a loop start end and a loop end in the time series data.

また、本発明の他の観点によれば、電子音楽装置は、ループ始端とループ終端を設定されたビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記録する記録手段と、発音指示を検出する発音指示検出手段と、前記発音指示に応じて、時間の経過とともに前記読み出し手段から前記時系列データを読み出す読み出し手段であって、前記時系列データを前記ループ終端まで読み出した後は、前記ループ始端から再度読み出しする読み出し手段と、前記読み出した時系列データに含まれるビブラートの周期情報とビブラートの深さ情報とに応じて、ビブラート制御信号を生成するビブラート制御信号生成手段と、前記発音指示に応じて楽音生成を開始するとともに、前記ビブラート制御信号に応じて楽音を変調する楽音生成手段とを有する。   According to another aspect of the present invention, the electronic music apparatus uses the vibrato period information and the vibrato depth information set with the loop start end and loop end as a set, and the sound generation start time of the original sound waveform data. Recording means for recording time-series data together with the time from the sound generation means, sound generation instruction detection means for detecting a sound generation instruction, and reading means for reading the time-series data from the reading means over time according to the sound generation instruction. Then, after reading the time series data to the end of the loop, according to the reading means for reading again from the loop start end, the vibrato period information and the vibrato depth information included in the read time series data A vibrato control signal generating means for generating a vibrato control signal, and a tone generation is started in response to the sound generation instruction. In, and a tone generating means for modulating musical tone in response to the vibrato control signal.

本発明によれば、任意の長さのビブラートを付与することができる。   According to the present invention, an arbitrary length of vibrato can be applied.

また、本発明によれば、実際の楽器の演奏に近い自然なビブラートを実現することができる。   Further, according to the present invention, a natural vibrato close to an actual musical instrument performance can be realized.

さらに、本発明によれば、ビブラートの深さやスピードを制御することができる。   Furthermore, according to the present invention, the depth and speed of vibrato can be controlled.

図1は、本発明の実施例による電子音楽装置50のハードウェア構成を表すブロック図である。   FIG. 1 is a block diagram showing a hardware configuration of an electronic music apparatus 50 according to an embodiment of the present invention.

電子音楽装置50のバス17には、CPU1、ROM2、RAM3、タイマ4、操作部5、パネル表示器6、MIDIインターフェース7、駆動装置8、書込回路13、バッファ14、音源部15、サウンドシステム16が接続されている。   The bus 17 of the electronic music device 50 includes a CPU 1, ROM 2, RAM 3, timer 4, operation unit 5, panel display 6, MIDI interface 7, drive device 8, writing circuit 13, buffer 14, sound source unit 15, sound system. 16 is connected.

RAM3は、再生バッファ等のバッファ領域、フラグ、レジスタ、各種パラメータ等を記憶するCPU1のワーキングエリアを有する。   The RAM 3 has a working area of the CPU 1 that stores a buffer area such as a reproduction buffer, flags, registers, various parameters, and the like.

ROM2には、各種データファイル、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。この場合、プログラム等を重ねて、記録媒体9に記憶する必要は無い。   The ROM 2 can store various data files, various parameters and a control program, or a program for realizing the present embodiment. In this case, it is not necessary to store programs or the like in the recording medium 9 in an overlapping manner.

CPU1は、ROM2又は、記録媒体9に記憶されている制御プログラム又は本実施例を実現するためのプログラム等に従い、演算又は電子音楽装置50の制御を行う。タイマ4は、CPU1に接続されており、基本クロック信号、割り込み処理タイミング等をCPU1に供給する。   The CPU 1 performs calculation or control of the electronic music apparatus 50 according to a control program stored in the ROM 2 or the recording medium 9 or a program for realizing the present embodiment. The timer 4 is connected to the CPU 1 and supplies a basic clock signal, interrupt processing timing, and the like to the CPU 1.

ユーザは、操作部5を用いて、各種入力及び設定、選択をすることができる。操作部5は、例えば、スイッチ、パッド、フェーダ、スライダ、ロータリーエンコーダ、ジョイスティック、ジョグシャトル、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、操作部5は、カーソルスイッチ等の他の操作子を用いて操作する表示器6上に表示されるソフトスイッチ等でもよい。本実施例では、ユーザは操作部5を用いて表示器6上に表示される各種データを操作する。   The user can perform various inputs, settings, and selections using the operation unit 5. The operation unit 5 may be any device that can output a signal corresponding to a user input, such as a switch, pad, fader, slider, rotary encoder, joystick, jog shuttle, character input keyboard, mouse, and the like. The operation unit 5 may be a soft switch or the like displayed on the display 6 that is operated using another operation element such as a cursor switch. In the present embodiment, the user operates various data displayed on the display 6 using the operation unit 5.

表示器6は各種情報を表示することができる。ユーザは、この表示器6に表示される情報を参照して、各種入力及び設定を行う。   The display device 6 can display various information. The user refers to information displayed on the display device 6 and performs various inputs and settings.

駆動装置8は、ハードディスク、FD(フレキシブルディスク又はフロッピーディスク(登録商標))、CD(コンパクトディスク)、DVD(デジタル多目的ディスク)、フラッシュメモリ等の半導体メモリ等の記憶媒体9にアクセスするための装置である。記憶媒体9は、着脱可能であってもよいし、電子音楽装置50に内蔵されていてもよい。記録媒体9及び(または)ROM2には、本発明の各実施例を実現するためのプログラムや、その他の電子音楽装置50を制御するためのプログラムを記憶することができる。なお、本発明の各実施例を実現するためのプログラムや、その他の電子音楽装置50を制御するためのプログラムを記録媒体9に記憶する場合は、これらをROM2に合わせて記憶する必要はない。また、一部のプログラムのみを記録場体9に記憶し、その他のプログラムをROM2に記憶するようにしてもよい。   The drive device 8 is a device for accessing a storage medium 9 such as a semiconductor memory such as a hard disk, an FD (flexible disk or floppy disk (registered trademark)), a CD (compact disk), a DVD (digital multipurpose disk), or a flash memory. It is. The storage medium 9 may be detachable or may be built in the electronic music device 50. The recording medium 9 and / or the ROM 2 can store a program for realizing each embodiment of the present invention and a program for controlling the other electronic music apparatus 50. In the case where the program for realizing each embodiment of the present invention and the program for controlling the other electronic music apparatus 50 are stored in the recording medium 9, it is not necessary to store them together with the ROM 2. Further, only a part of the program may be stored in the recording medium 9, and the other program may be stored in the ROM 2.

記録媒体9には、例えば、本発明の実施例で作成されるビブラートデータVDが記憶される。また、予め作成したビブラートデータVDを記録してもよい。さらに、予め作成されるビブラートデータVDについては、ROM2内に記録してもよい。また、ビブラートデータVDを波形メモリ10内に波形データとあわせて記録するようにしてもよい。   The recording medium 9 stores, for example, vibrato data VD created in the embodiment of the present invention. Further, previously created vibrato data VD may be recorded. Further, the vibrato data VD created in advance may be recorded in the ROM 2. Further, the vibrato data VD may be recorded in the waveform memory 10 together with the waveform data.

MIDIインターフェース(MIDI I/F)7は、電子楽器、その他の楽器、音響機器、コンピュータ等に接続できるものであり、少なくともMIDI信号を送受信できるものである。MIDIインターフェース7は、専用のMIDIインターフェースに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースを用いて構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信するようにしてもよい。   The MIDI interface (MIDI I / F) 7 can be connected to an electronic musical instrument, other musical instruments, audio equipment, a computer, etc., and can transmit and receive at least a MIDI signal. The MIDI interface 7 is not limited to a dedicated MIDI interface, and may be configured using a general-purpose interface such as RS-232C, USB (Universal Serial Bus), IEEE 1394 (I-Triple 1394). In this case, data other than MIDI messages may be transmitted and received simultaneously.

波形メモリ10は、原波形の波形データや原波形の波形データに基づき予め作成された互いに波形が異なる一組の波形データ(波形データ10a、波形データ10b)を複数種類記憶し、複数の波形データの書き込みおよび読み出しが可能である。   The waveform memory 10 stores a plurality of types of waveform data (waveform data 10a, waveform data 10b) having different waveforms created in advance based on the waveform data of the original waveform and the waveform data of the original waveform. Can be written and read.

なお、互いに波形が異なる一組の波形データ(波形データ10a、波形データ10b)の作成方法は、例えば、特開2007−248551号公報の段落[0013]〜[0019]の記載を参照する。すなわち、ビブラートが施された原波形データをFFT解析処理にて周波数分析し、周波数成分毎の分析データを得る。その後、分析データのうち時間軸上で連続する成分(ピッチおよび倍音)を抽出し、ピッチ成分の周波数が平坦になるように分析データの周波数成分を変更する。平坦化された分析データに対して、原波形データのピッチの極大値付近および極小値付近における、各倍音成分の振幅を適用し、その結果に基づいて波形データ10aおよび波形データ10bを生成する。   For a method of creating a set of waveform data (waveform data 10a, waveform data 10b) having different waveforms, refer to paragraphs [0013] to [0019] of Japanese Patent Application Laid-Open No. 2007-248551, for example. That is, the original waveform data subjected to vibrato is subjected to frequency analysis by FFT analysis processing to obtain analysis data for each frequency component. Thereafter, components (pitch and harmonics) that are continuous on the time axis are extracted from the analysis data, and the frequency component of the analysis data is changed so that the frequency of the pitch component becomes flat. The amplitude of each harmonic component in the vicinity of the maximum value and the minimum value of the pitch of the original waveform data is applied to the flattened analysis data, and waveform data 10a and waveform data 10b are generated based on the result.

アクセス管理部11は、波形メモリ10に対する書込回路13、音源部15、あるいは、バッファ14からのアクセスが互いに衝突しないように、波形メモリ10のアクセスタイムスロットを管理する。   The access management unit 11 manages access time slots of the waveform memory 10 so that accesses from the writing circuit 13, the sound source unit 15, or the buffer 14 to the waveform memory 10 do not collide with each other.

書込回路13は、外部波形入力端子12から入力される原波形信号をサンプリングして、波形メモリ10に書き込む。バッファ14は、記録媒体9やRAM3から波形メモリ10に書き込まれる波形データ又は波形メモリ10から読み出された波形データをCPU1やRAM3等に転送する。   The writing circuit 13 samples the original waveform signal input from the external waveform input terminal 12 and writes it in the waveform memory 10. The buffer 14 transfers the waveform data written to the waveform memory 10 from the recording medium 9 or RAM 3 or the waveform data read from the waveform memory 10 to the CPU 1 or RAM 3.

音源部15は、波形メモリ10から読み出された波形データ及びMIDIインターフェース等を介して入力されるMIDI信号に基づき楽音信号を生成するし、各種音楽的効果を付与して、サウンドシステム16に供給する。サウンドシステム16は、D/A変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。   The tone generator 15 generates a musical sound signal based on the waveform data read from the waveform memory 10 and the MIDI signal input via the MIDI interface and the like, gives various musical effects, and supplies them to the sound system 16. To do. The sound system 16 includes a D / A converter and a speaker, converts a digital musical tone signal supplied to an analog format, and generates a sound.

なお、音源部15は、専用のハードウェア若しくはDSP(Digital Signal Processor)とマイクロプログラムとの組み合わせによって構成してもよいし、1つの専用のハードウェア若しくはDSPとマイクロプログラムとの組み合わせで構成してもよい。また、専用のDSP用いずに、CPU1とソフトウェアプログラムとの組み合わせによるソフトウェア音源によって構成してもよい。   The sound source unit 15 may be configured by a combination of dedicated hardware or DSP (Digital Signal Processor) and a microprogram, or by a combination of one dedicated hardware or DSP and a microprogram. Also good. Moreover, you may comprise by the software sound source by the combination of CPU1 and a software program, without using dedicated DSP.

また、音源部15は、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO(Voltage Controlled Oscillator)+VCF(Voltage Controlled Filter)+VCA(Voltage Controlled Amplifier)のアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。   The sound source unit 15 includes a waveform memory method, FM method, physical model method, harmonic synthesis method, formant synthesis method, VCO (Voltage Controlled Oscillator) + VCF (Voltage Controlled Filter) + VCA (Voltage Controlled Amplifier) analog synthesizer method. Any method such as an analog simulation method may be used.

さらに、1つの音源回路を時分割で使用することにより複数の発音チャンネルを形成するようにしてもよいし、複数の音源回路を用い、1つの発音チャンネルにつき1つの音源回路で複数の発音チャンネルを構成するようにしてもよい。   Further, a plurality of tone generation channels may be formed by using one tone generator circuit in a time-sharing manner, or a plurality of tone generation circuits may be formed by using one tone generator circuit for each tone generation channel. You may make it comprise.

CPU1は、演奏処理実行時において、MIDIインターフェース7や記録媒体9あるいはRAM3などから供給される演奏情報に応じて、音源部15の発音チャンネルの楽音生成状態を制御する。例えば、MIDIインターフェース7から発音開始を示すノートオン信号が入力された場合、音源部15の発音チャンネルの1つにその楽音の発生を割り当て、割り当てられた発音チャンネルにその楽音を生成するために必要な楽音パラメータ(ピッチ情報、ビブラート制御情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等)を供給するとともに、発音開始の指示を与える。これに応じて、音源部15では、割り当てられた発音チャンネルを用いて、波形選択情報に応じて波形メモリ10から読み出された波形データを使用して上述した楽音パラメータに対応した楽音を生成する。   The CPU 1 controls the tone generation state of the tone generation channel of the tone generator 15 in accordance with performance information supplied from the MIDI interface 7, the recording medium 9, the RAM 3, or the like when performing performance processing. For example, when a note-on signal indicating the start of sound generation is input from the MIDI interface 7, it is necessary to assign the generation of the musical sound to one of the sound generation channels of the sound source unit 15 and generate the music sound to the assigned sound generation channel. Various musical tone parameters (pitch information, vibrato control information, waveform selection information, volume envelope control information, effect information, etc.) are supplied and a sounding start instruction is given. In response to this, the tone generator 15 uses the assigned tone generation channel to generate a tone corresponding to the tone parameter described above using the waveform data read from the waveform memory 10 according to the waveform selection information. .

図2は、本発明の実施例によるビブラートデータVDの作成処理を表すフローチャートである。図3は、ビブラートデータVDの作成処理を説明するための概念図である。以下、図2及び図3を参照してビブラートデータ作成処理を説明する。なお、この処理は、ユーザの開始指示により起動する。   FIG. 2 is a flowchart showing the creation processing of the vibrato data VD according to the embodiment of the present invention. FIG. 3 is a conceptual diagram for explaining the vibrato data VD creation process. The vibrato data creation process will be described below with reference to FIGS. This process is activated by a user start instruction.

ステップSA1でビブラートデータ作成処理を開始し、ステップSA2では、図3(A)に示すような原音の楽音データ(原音波形データ)を取得する。原音波形データは、例えば、書込回路13が、外部波形入力端子12から入力される原波形信号をサンプリングして、波形メモリ10に書き込むことにより行う。   In step SA1, the vibrato data creation process is started. In step SA2, the original musical tone data (original waveform data) as shown in FIG. 3A is acquired. The original sound waveform data is obtained, for example, by the writing circuit 13 sampling the original waveform signal input from the external waveform input terminal 12 and writing it in the waveform memory 10.

ステップSA3では、ステップSA2で取得した原音波形データのピッチを抽出し、その時間的軌跡を図3(B)に示すように記録する。ピッチの抽出は、例えば、ゼロクロスや周波数分析などの周知技術による。   In step SA3, the pitch of the original sound waveform data acquired in step SA2 is extracted, and the temporal trajectory is recorded as shown in FIG. The pitch is extracted by a known technique such as zero crossing or frequency analysis.

ステップSA4では、図3(C)に示すように、ステップSA3で記録したピッチの時間的軌跡から、ピークの山(半周期の中での最大値であり、図中四角で示すポイント)の時刻と当該時刻におけるピッチの値とを抽出するとともに、ピークの谷(半周期の中での最小値であり、図中丸で示すポイント)の時刻と当該時刻におけるピッチの値とを抽出する。なお、この時、原音波形データの先頭位置から所定時間分をアタック部分とし、該アタック部分については、ピーク(山と谷)部分の抽出を行わない。この所定時間は固定値でもよいし、ユーザが表示器6に表示されるピッチ軌跡を参照して手動で設定してもよい。また、ピッチ抽出の精度が悪いなどの事情で本来ピークでないところで山及び谷を形成する場合もあるので、山及び谷を判定するマージンを指定できるようにしてもよい。   In step SA4, as shown in FIG. 3C, from the time trajectory of the pitch recorded in step SA3, the time of the peak peak (the maximum value in a half cycle and the point indicated by the square in the figure). And the value of the pitch at the time, and the time of the peak valley (the minimum value in the half cycle and indicated by a circle in the figure) and the value of the pitch at the time are extracted. At this time, a predetermined amount of time from the head position of the original sound waveform data is set as an attack portion, and no peak (mountain and valley) portion is extracted for the attack portion. This predetermined time may be a fixed value, or may be manually set by the user referring to the pitch trajectory displayed on the display device 6. In addition, since there are cases where peaks and valleys are formed at places that are not originally peaks due to circumstances such as poor pitch extraction accuracy, margins for determining peaks and valleys may be designated.

ステップSA5では、ステップSA4で抽出したピークの山と谷のピッチ差(図3(D)に縦方向の両矢印で示す値、すなわち振幅の2倍)の1/2に相当する値をビブラートの深さ(VibratoDepth)[cent]として算出する。この時算出する値は、実装上は0〜127までの128段階に正規化される。   In step SA5, a value corresponding to ½ of the pitch difference between the peaks and valleys extracted in step SA4 (the value indicated by the vertical double arrow in FIG. 3D, that is, twice the amplitude) is obtained. Calculated as depth (Vibrato Depth) [cent]. The value calculated at this time is normalized in 128 steps from 0 to 127 in mounting.

ステップSA6では、πをステップSA4で抽出したピークの山と谷の時間差((図3(D)に横方向の両矢印で示す値、すなわち半周期)で割ることにより、ビブラートの周期(ビブラート周波数:VibratoSpeed)[rad/sec]を算出する。この時算出する値は、実装上は0〜127までの128段階に正規化される。   In step SA6, the period of vibrato (vibrato frequency is obtained by dividing π by the time difference between peaks and troughs extracted in step SA4 (the value indicated by the horizontal double-headed arrow in FIG. 3D, that is, a half period). : VibratoSpeed) [rad / sec] is calculated, and the value calculated at this time is normalized in 128 steps from 0 to 127 in terms of mounting.

ステップSA7では、ステップSA5で算出したビブラートの深さ(VibratoDepth)[cent]を、例えば、図3(E)に示すように、10msec単位の時系列データ(振幅データ)とするとともに、ステップSA6で算出したビブラートの周期(ビブラート周波数:VibratoSpeed)[rad/sec]を、例えば、図3(F)に示すように、10msec単位の時系列データ(周期データ)とする。また、原音波形データの先頭からステップSA4で最初に抽出されるピークまでの時間をディレイ値とする。そして、振幅データ、周期データ及びディレイ値をあわせて一組のビブラートデータVDとして、例えば、記録媒体9等に保存する。なお、ディレイ値は、発音開始からビブラートがかかり始めるまでの時間であり、上述したように原音波形データの先頭から最初のピークまでの時間を自動的にディレイ値として設定するほか、ユーザが手動で設定してもよい。   In step SA7, the vibrato depth [cent] calculated in step SA5 is set to time series data (amplitude data) in units of 10 msec as shown in FIG. 3E, for example, and in step SA6. The calculated vibrato period (vibrato frequency) [rad / sec] is, for example, time series data (period data) in units of 10 msec as shown in FIG. Further, the time from the beginning of the original sound waveform data to the peak first extracted in step SA4 is set as a delay value. The amplitude data, period data, and delay value are combined and stored as a set of vibrato data VD, for example, in the recording medium 9 or the like. The delay value is the time from the start of sounding until the start of vibrato. As described above, the time from the beginning of the original sound waveform data to the first peak is automatically set as the delay value. It may be set.

ステップSA8では、ステップSA7で記録したビブラートデータVDに対して必要に応じてループ処理を施す。なお、ループ処理の詳細は図4〜図6を参照して後述する。その後、ステップSA9に進み、ビブラートデータ作成処理を終了する。   In step SA8, a loop process is performed on the vibrato data VD recorded in step SA7 as necessary. Details of the loop processing will be described later with reference to FIGS. Thereafter, the process proceeds to step SA9, and the vibrato data creation process is terminated.

なお、ビブラートデータVDは、音色ごとに各音色に対応して作成・保存することが好ましい。また、各音色について音域に対応して作成・保存してもよいし、ベロシティに対応して作成・保存してもよい。さらに、これらのビブラートデータVDを複数作成・保存して必要に応じて切り替えたり、クロスフェードして用いたりしてもよい。   The vibrato data VD is preferably created and stored for each tone color corresponding to each tone color. Further, each tone color may be created / saved corresponding to the tone range, or may be created / saved corresponding to the velocity. Further, a plurality of these vibrato data VD may be created and stored and switched as necessary, or may be used by crossfading.

図4は、本発明の実施例によるビブラートデータVDのループ処理の第1の例を表す模式図である。   FIG. 4 is a schematic diagram showing a first example of loop processing of vibrato data VD according to the embodiment of the present invention.

図4(A)は、図2のステップSA7で保存されるビブラートデータVDに含まれる振幅データ(VibratoDepth)又は周期データ(VibratoSpeed)のいずれか一方を表す模式図である。図中タイミングt0は、振幅データ又は周期データの先頭位置を表す。ユーザは、振幅データ又は周期データのいずれか一方を表示器6に表示させ、該表示させた振幅データ又は周期データのいずれか一方に対して、ループ開始タイミングt1及びループ終了タイミングt2を指定する。いずれか一方に対して、指定を行うことにより、他の一方に対しては自動的に同じ時間的位置にループ開始タイミングt1及びループ終了タイミングt2が指定される。   FIG. 4A is a schematic diagram showing one of amplitude data (Vibrato Depth) and periodic data (VibratoSpeed) included in the vibrato data VD stored in Step SA7 of FIG. Timing t0 in the figure represents the head position of amplitude data or period data. The user displays either amplitude data or period data on the display 6 and designates the loop start timing t1 and the loop end timing t2 for either of the displayed amplitude data or period data. By designating either one, the loop start timing t1 and the loop end timing t2 are automatically designated at the same temporal position for the other.

ユーザが、ループ開始タイミングt1及びループ終了タイミングt2を指定することにより、図4(B)に示すように、タイミングt0からタイミングt1までの区間が先頭部として指定され、タイミングt1からタイミングt2までの区間がループ部として指定される。このような指定がなされたビブラートデータVDは、ディレイ値で指定された所定時間経過後、先頭部が読み出され、その後、ループ部が読み出され、以降、ループ部が繰り返し読み出される。すなわち、ビブラートデータVDがタイミングt2まで読み出されると、読み出し位置がタイミングt1に戻されることにより、ループ部が繰り返し読み出される。このように、読み出すことにより、ループ部が指定されたビブラートデータVDは、図4(C)に示すように再生される。   When the user designates the loop start timing t1 and the loop end timing t2, as shown in FIG. 4B, the section from the timing t0 to the timing t1 is designated as the head, and the timing from the timing t1 to the timing t2 is designated. A section is designated as a loop part. In the vibrato data VD designated as described above, after a predetermined time designated by the delay value elapses, the head portion is read out, the loop portion is read out thereafter, and the loop portion is repeatedly read out thereafter. That is, when the vibrato data VD is read out until timing t2, the loop position is repeatedly read out by returning the reading position to timing t1. Thus, by reading, the vibrato data VD in which the loop portion is designated is reproduced as shown in FIG.

図5は、本発明の実施例によるビブラートデータVDのループ処理の第2の例を表す模式図である。   FIG. 5 is a schematic diagram showing a second example of loop processing of vibrato data VD according to the embodiment of the present invention.

図5(A)は、図2のステップSA7で保存されるビブラートデータVDに含まれる振幅データ(VibratoDepth)又は周期データ(VibratoSpeed)のいずれか一方を表す模式図である。図中タイミングt0は、振幅データ又は周期データの先頭位置を表す。この例では、タイミングt0から所定時間経過後のタイミングが、ループ開始タイミングt1として自動設定され、さらに所定時間経過後のタイミングがループ終了タイミングt2として自動設定される。なお、ループ開始タイミングt1及びループ終了タイミングt2の設定はユーザが手動で行ってもよい。この時、いずれのデータが表示されているかに係らず、他の一方に対しては自動的に同じ時間的位置にループ開始タイミングt1及びループ終了タイミングt2が設定される。   FIG. 5A is a schematic diagram showing either amplitude data (Vibrato Depth) or periodic data (VibratoSpeed) included in the vibrato data VD stored in Step SA7 of FIG. Timing t0 in the figure represents the head position of amplitude data or period data. In this example, the timing after the elapse of a predetermined time from the timing t0 is automatically set as the loop start timing t1, and the timing after the elapse of the predetermined time is automatically set as the loop end timing t2. The user may manually set the loop start timing t1 and the loop end timing t2. At this time, regardless of which data is displayed, the loop start timing t1 and the loop end timing t2 are automatically set at the same time position for the other one.

この例では、例えば、図5(B)に示すように、単純にループ再生を行うと、不連続で不自然な点が生じてしまうことが考えられる。そこで、ループ部終端付近の所定区間(タイミングt12〜タイミングt21)の傾きを、図中実線の矢印で示すものから、ループ部終端が始端に自然につながるように、図中一点鎖線の矢印で示すものに補正する。   In this example, for example, as shown in FIG. 5B, it is conceivable that if loop reproduction is simply performed, discontinuous and unnatural points occur. Therefore, the slope of the predetermined section (timing t12 to timing t21) in the vicinity of the loop portion end is indicated by a one-dot chain line arrow in the drawing so that the loop portion end is naturally connected to the starting end from that indicated by the solid arrow in the drawing. Correct to something.

ここでの補正は、オリジナルの(例えば、図2のステップSA7で保存されるビブラートデータVDに含まれる)振幅データ列(あるいは周期データ列)のうち、A(タイミングt11のデータ)からAL−1(タイミングt21直前のデータ)までのL個の区間でループさせる際に、所定の長さMの区間(タイミングt12〜タイミングt21)の傾きを修正する場合、修正されたデータ列A´は、以下の式(1)によって求められる。


The correction here is performed from A 0 (data at timing t11) to A L in the original amplitude data string (or period data string included in the vibrato data VD stored in step SA7 in FIG. 2). When looping in L sections up to −1 (data immediately before timing t21), when correcting the slope of a section of a predetermined length M (timing t12 to timing t21), the corrected data string A ′ is Is obtained by the following equation (1).


…(1)
上記式(1)を用いて所定の長さMの区間(タイミングt12〜タイミングt21)の傾きを修正することにより、図5(C)に示すような、ループ部終端が始端に自然につながるデータ列を得ることができる。このように修正されたデータ列を含むビブラートデータVDは、ディレイ値で指定された所定時間経過後、先頭部が読み出され、その後、ループ部が読み出され、以降、ループ部が繰り返し読み出される。すなわち、ビブラートデータVDがタイミングt2まで読み出されると、読み出し位置がタイミングt1に戻されることにより、ループ部が繰り返し読み出される。このように、読み出すことにより、ループ部が指定されたビブラートデータVDは、図5(D)に示すように再生される。
... (1)
Data in which the end of the loop portion is naturally connected to the starting end as shown in FIG. 5C by correcting the slope of the section of the predetermined length M (timing t12 to timing t21) using the above equation (1). A row can be obtained. The vibrato data VD including the data string corrected in this way is read out after a predetermined time specified by the delay value, and then the loop part is read out. Thereafter, the loop part is repeatedly read out. . That is, when the vibrato data VD is read out until timing t2, the loop position is repeatedly read out by returning the reading position to timing t1. Thus, by reading, the vibrato data VD in which the loop portion is designated is reproduced as shown in FIG.

図6は、本発明の実施例によるビブラートデータVDのループ処理の第3の例を表す模式図である。   FIG. 6 is a schematic diagram showing a third example of loop processing of vibrato data VD according to the embodiment of the present invention.

図6(A)は、図2のステップSA7で保存されるビブラートデータVDに含まれる振幅データ(VibratoDepth)又は周期データ(VibratoSpeed)のいずれか一方を表す模式図である。図中タイミングt0は、振幅データ又は周期データの先頭位置を表す。この例では、タイミングt0から所定時間経過後のタイミングが、ループ開始タイミングt1として自動設定され、さらに所定時間経過後のタイミングがループ終了タイミングt2として自動設定される。なお、ループ開始タイミングt1及びループ終了タイミングt2の設定はユーザが手動で行ってもよい。この時、いずれのデータが表示されているかに係らず、他の一方に対しては自動的に同じ時間的位置にループ開始タイミングt1及びループ終了タイミングt2が設定される。   FIG. 6A is a schematic diagram showing either amplitude data (Vibrato Depth) or periodic data (VibratoSpeed) included in the vibrato data VD stored in Step SA7 of FIG. Timing t0 in the figure represents the head position of amplitude data or period data. In this example, the timing after the elapse of a predetermined time from the timing t0 is automatically set as the loop start timing t1, and the timing after the elapse of the predetermined time is automatically set as the loop end timing t2. The user may manually set the loop start timing t1 and the loop end timing t2. At this time, regardless of which data is displayed, the loop start timing t1 and the loop end timing t2 are automatically set at the same time position for the other one.

この例でも、例えば、図6(B)に示すように、単純にループ再生を行うと、不連続で不自然な点が生じてしまうことが考えられる。そこで、ループ部終端付近の所定区間(タイミングt12〜タイミングt21)の傾きを、図中実線の矢印で示すものから、ループ部終端が始端に自然につながるように、図中一点鎖線の矢印で示すものに補正する。   In this example as well, for example, as shown in FIG. 6B, it is conceivable that if loop reproduction is simply performed, discontinuous and unnatural points occur. Therefore, the slope of the predetermined section (timing t12 to timing t21) in the vicinity of the loop portion end is indicated by a one-dot chain line arrow in the drawing so that the loop portion end is naturally connected to the starting end from that indicated by the solid arrow in the drawing. Correct to something.

ここでの補正は、オリジナルの(例えば、図2のステップSA7で保存されるビブラートデータVDに含まれる)振幅データ列(あるいは周期データ列)のうち、所定の長さMの区間(タイミングt12〜タイミングt21)のデータ列をフェードアウトし、ループ開始タイミングt1に所定の長さMの区間と同一時間分先行するタイミングt10からループ開始タイミングt11までの区間のデータ列をフェードインすることによりクロスフェードしてタイミングt21とタイミングt11が自然に連続するようにする。   The correction here is a section of a predetermined length M (timing t12 to timing t12-of the original amplitude data string (or included in the vibrato data VD stored in step SA7 in FIG. 2)). The data sequence at the timing t21) is faded out, and the data sequence in the section from the timing t10 to the loop start timing t11 preceding the loop start timing t1 by the same time as the section of the predetermined length M is cross-faded. Thus, the timing t21 and the timing t11 are naturally continued.

このようにクロスフェードすることにより、所定の長さMの区間(タイミングt12〜タイミングt21)の傾きが修正され、図6(C)に示すような、ループ部終端が始端に自然につながるデータ列を得ることができる。このように修正されたデータ列を含むビブラートデータVDは、ディレイ値で指定された所定時間経過後、先頭部が読み出され、その後、ループ部が読み出され、以降、ループ部が繰り返し読み出される。すなわち、ビブラートデータVDがタイミングt2まで読み出されると、読み出し位置がタイミングt1に戻されることにより、ループ部が繰り返し読み出される。このように、読み出すことにより、ループ部が指定されたビブラートデータVDは、図6(D)に示すように再生される。   By performing the crossfade in this way, the inclination of the section of the predetermined length M (timing t12 to timing t21) is corrected, and the data sequence in which the loop end is naturally connected to the starting end as shown in FIG. 6C. Can be obtained. The vibrato data VD including the data string corrected in this way is read out after a predetermined time specified by the delay value, and then the loop part is read out. Thereafter, the loop part is repeatedly read out. . That is, when the vibrato data VD is read out until timing t2, the loop position is repeatedly read out by returning the reading position to timing t1. Thus, by reading, the vibrato data VD in which the loop portion is designated is reproduced as shown in FIG. 6 (D).

以上、図4〜6に示すビブラートデータVDのループ処理を行うことにより、ビブラートデータVDの長さを調整することができ、任意の長さの楽音(波形データ)に対してビブラートを付与することができる。   As described above, the length of the vibrato data VD can be adjusted by performing the loop processing of the vibrato data VD shown in FIGS. 4 to 6, and vibrato is imparted to a musical sound (waveform data) having an arbitrary length. Can do.

なお、上述の図4〜6に示すビブラートデータVDのループ処理は、図2に示すビブラートデータ作成処理のステップSA8で行う以外にも、必要に応じて後述するビブラート生成部100においてビブラートデータVDに基づくビブラート付与処理の際に行ってもよい。   The loop processing of the vibrato data VD shown in FIGS. 4 to 6 is performed in step SA8 of the vibrato data creation processing shown in FIG. 2, and the vibrato generation unit 100 described later converts the vibrato data VD into vibrato data VD as necessary. You may perform in the case of the vibrato provision process based on.

図7は、本発明の実施例によるビブラート生成部100によるビブラート付与処理に適用されるアルゴリズムを表すブロック図である。ここでビブラート生成部100は、音源部15などで構成されているものとするが、CPU1とソフトウェアプログラムとの組み合わせによって構成してもよい。   FIG. 7 is a block diagram showing an algorithm applied to the vibrato imparting process by the vibrato generating unit 100 according to the embodiment of the present invention. Here, the vibrato generation unit 100 is configured by the sound source unit 15 or the like, but may be configured by a combination of the CPU 1 and a software program.

例えば、記録媒体9には、それぞれ振幅データ(VibratoDepth)、周期データ(VibratoSpeed)及びディレイ値を含むビブラートデータVDが複数記憶されている。   For example, the recording medium 9 stores a plurality of pieces of vibrato data VD including amplitude data (Vibrato Depth), period data (VibratoSpeed), and a delay value.

CPU1から、ノートオンイベントのタイミングで読み出し指示があると、ビブラート深さ(VibratoDepth)読出部101は、記録媒体9等に記録されている振幅データ(VibratoDepth)の読み出しを開始し、以降、タイマ4からのタイマ割り込み(この例では10msec)ごとに、各データ列を読み出す。   When there is a read instruction from the CPU 1 at the timing of a note-on event, the vibrato depth (Vibrato Depth) reading unit 101 starts reading amplitude data (Vibrato Depth) recorded in the recording medium 9 or the like. Each data string is read out every timer interrupt from (10 msec in this example).

LFO EG生成部102は、CPU1からのノートオンイベントのタイミングでLFOエンベロープの生成を開始し、その出力は、乗算器103によりビブラート深さ読出部101から出力される振幅データ(VibratoDepth)の各データ列に掛け算される。LFO EG生成部102の出力は、例えば、図8に示すように変動する。すなわち、ビブラートデータVDに含まれるディレイ値に相当する時間は、0%であり、元のビブラートは楽音に全く反映されない。その後、ノートオンからディレイ値の時間が経過すると適宜定められる遷移部分において徐々に100%に引き上げられる。出力が、100%となった時に元のビブラートが楽音に対して最も反映される。   The LFO EG generation unit 102 starts generating the LFO envelope at the timing of the note-on event from the CPU 1, and the output thereof is each data of amplitude data (Vibrato Depth) output from the vibrato depth reading unit 101 by the multiplier 103. Multiply by column. The output of the LFO EG generator 102 varies as shown in FIG. 8, for example. That is, the time corresponding to the delay value included in the vibrato data VD is 0%, and the original vibrato is not reflected in the musical tone at all. Thereafter, when the time of the delay value elapses from note-on, it is gradually raised to 100% at a transition portion that is appropriately determined. When the output reaches 100%, the original vibrato is most reflected on the musical sound.

図7に戻り、乗算器103の出力は乗算器104によって、モジュレーションホイール51から入力される係数km1(例えば、0〜0.1)により乗算され、乗算器105に入力される。モジュレーションホイール51は、ビブラートの深さを制御(増減)するための操作子(例えば、図1の操作部5)であり、ユーザによって操作される。ユーザは、このモジュレーションホイール51を操作することにより、楽音に付与されるビブラート効果の深さを制御することができる。 Returning to FIG. 7, the output of the multiplier 103 is multiplied by a coefficient km 1 (for example, 0 to 0.1) input from the modulation wheel 51 by the multiplier 104 and input to the multiplier 105. The modulation wheel 51 is an operator (for example, the operation unit 5 in FIG. 1) for controlling (increasing / decreasing) the vibrato depth, and is operated by the user. The user can control the depth of the vibrato effect imparted to the musical sound by operating the modulation wheel 51.

また、ビブラート周期(VibratoSpeed)読出部106も、ビブラート深さ読出部101と同様に、CPU1から、ノートオンイベントのタイミングで読み出し指示があると、記録媒体9等に記録されている周期データ(VibratoSpeed)の読み出しを開始し、以降、タイマ4からのタイマ割り込み(この例では10msec)ごとに、各データ列を読み出す。なお、周期データのディレイ部においては、位相は進まない。読み出された各データ列は、乗算器107に送られ、乗算器107において、モジュレーションホイール52から入力される係数km2(例えば、0〜0.1)により乗算され、低周波発振器(LFO)108に入力される。モジュレーションホイール52は、ビブラートの周期(スピード)を制御(増減)するための操作子(例えば、図1の操作部5)であり、ユーザによって操作される。ユーザは、このモジュレーションホイール52を操作することにより、楽音に付与されるビブラート効果の周期を制御することができる。 Similarly to the vibrato depth reading unit 101, the vibrato cycle reading unit 106 also receives cycle data (VibratoSpeed) recorded on the recording medium 9 or the like when a read instruction is issued from the CPU 1 at the timing of a note-on event. ) Is started, and thereafter, each data string is read every timer interrupt from the timer 4 (in this example, 10 msec). Note that the phase does not advance in the delay portion of the periodic data. Each data sequences read is sent to the multiplier 107, the multiplier 107, the coefficient is inputted from the modulation wheel 52 k m @ 2 (e.g., 0 to 0.1) is multiplied by a low frequency oscillator (LFO) 108 is input. The modulation wheel 52 is an operator (for example, the operation unit 5 in FIG. 1) for controlling (increasing or decreasing) the vibrato period (speed), and is operated by the user. The user can control the cycle of the vibrato effect imparted to the musical sound by operating the modulation wheel 52.

LFO108は、入力されるデータ列に対して以下の式(2)を用いて演算を行い、演算結果を乗算器105に対して出力する。


The LFO 108 performs an operation on the input data string using the following equation (2), and outputs the operation result to the multiplier 105.


…(2)
ただし、tは実時間、Δはタイマ割り込み間隔(例えば、10msec)、Φは初期位相である。また、VibratoSpeedは、タイマ割り込み間隔Δで更新される。初期位相Φを1/2πにするとコサイン(cos)になるので、元のビブラートに近いものが再現される。処理を簡略化するためにΦを省いて初期位相を0としたり、あるいは特殊な効果を狙ってそれ以外の値にしたりしてもよい。なお、LFO108は、計算を簡単にするために三角波を生成するようにしてもよい。
... (2)
However, t is a real time, Δ is a timer interrupt interval (for example, 10 msec), and Φ is an initial phase. VibratoSpeed is updated at the timer interrupt interval Δ. When the initial phase Φ is set to 1 / 2π, it becomes cosine (cos), so that the one close to the original vibrato is reproduced. In order to simplify the processing, the initial phase may be set to 0 by omitting Φ, or may be set to other values for special effects. Note that the LFO 108 may generate a triangular wave in order to simplify the calculation.

乗算器105は、LFO108の出力に乗算器104の出力を掛け算して、ビブラート制御信号Svを出力する。ビブラート制御信号Svは、楽音生成部150に入力される。なお、ビブラート制御信号Svは、以下の式(3)で表される。


Multiplier 105 multiplies the output of LFO 108 by the output of multiplier 104 and outputs a vibrato control signal Sv. The vibrato control signal Sv is input to the tone generator 150. The vibrato control signal Sv is expressed by the following equation (3).


…(3)
ただし、tは実時間、Δはタイマ割り込み間隔(例えば、10msec)、Φは初期位相である。また、VibratoSpeed及びVibratoDepthは、タイマ割り込み間隔Δで更新される。また、VibratoSpeed及びVibratoDepthは、それぞれ必要に応じて係数Km1及びKm2で乗算されているものとする。
... (3)
However, t is a real time, Δ is a timer interrupt interval (for example, 10 msec), and Φ is an initial phase. VibratoSpeed and VibratoDepth are updated at the timer interrupt interval Δ. Further, it is assumed that VibratoSpeed and VibratoDepth are respectively multiplied by coefficients K m1 and K m2 as necessary.

VibratoSpeed及びVibratoDepthは、タイマ割り込み間隔Δで更新される(読み出される)ので、各読み出されたデータ列間では、直前に読み出された値が保持される。よって、タイマ割り込み間隔内ではビブラートの深さと周期は一定となる。なお、各データ列間を補完するように構成して、ビブラートの深さと周期が連続的に変化するようにしてもよい。   Since VibratoSpeed and VibratoDepth are updated (read) at the timer interrupt interval Δ, the value read immediately before is held between the read data strings. Therefore, the vibrato depth and period are constant within the timer interrupt interval. It should be noted that the data strings may be complemented so that the vibrato depth and period change continuously.

楽音生成部150は、ビブラート制御信号Svに応じて、波形メモリ10から読み出される波形データに対して変調を書けることにより、波形データにビブラートを付与し、ビブラート効果の付与された楽音信号を出力する。ここで楽音生成部150は、音源部15などで構成されるものとする。   The musical tone generation unit 150 can write modulation on the waveform data read from the waveform memory 10 in accordance with the vibrato control signal Sv, thereby adding vibrato to the waveform data and outputting a musical tone signal with a vibrato effect. . Here, it is assumed that the musical sound generation unit 150 includes the sound source unit 15 and the like.

図9は、本発明の実施例によるビブラート付与処理を表すフローチャートである。この処理は、MIDIインターフェース7に接続されるMIDI機器等から発音指示であるノートンイベントが入力されるたびに起動する。   FIG. 9 is a flowchart showing the vibrato imparting process according to the embodiment of the present invention. This process is started each time a Norton event that is a sound generation instruction is input from a MIDI device or the like connected to the MIDI interface 7.

ステップSB1でビブラート付与処理を開始し、ステップSB2でノートオンイベントを取得する。ノートオンイベントは、例えば、図1のMIDIインターフェース7に接続されるMIDI機器等から入力され、少なくとも音高を指定するノート番号を含む。   In step SB1, the vibrato giving process is started, and in step SB2, a note-on event is acquired. The note-on event is input from, for example, a MIDI device connected to the MIDI interface 7 in FIG. 1, and includes at least a note number that designates a pitch.

ステップSB3では、ステップSB2で取得したノートイベントに含まれるノート番号で表される音程(ピッチ)での発音を音源回路15に指示する。なお、この時の音色等は予め設定されているものとする。発音開始の指示により、対応する波形データが波形メモリ10から読み出され音源回路15に送られる。   In step SB3, the tone generator circuit 15 is instructed to generate a sound with a pitch (pitch) represented by the note number included in the note event acquired in step SB2. Note that the timbre and the like at this time are set in advance. Corresponding waveform data is read from the waveform memory 10 and sent to the tone generator circuit 15 in response to an instruction to start sound generation.

ステップSB4では、ビブラートデータVDの読み出し位置をビブラートデータVDの先頭位置に初期化する。なお、ビブラートデータVDは、ステップSB2で取得したノートイベント(のMIDIチャンネル)に対して設定されている音色等に対応したものが自動的に選択されるようにしてもよいし、予めユーザが選択しておいてもよい。   In step SB4, the read position of the vibrato data VD is initialized to the head position of the vibrato data VD. The vibrato data VD may be automatically selected corresponding to the tone color set for the note event (MIDI channel) acquired in step SB2, or selected by the user in advance. You may keep it.

ステップSB5では、ステップSB2で取得したノートオンイベントに対応するノートオフイベントを検出したか否かが判断される。ノートオフイベントを検出した場合は、YESの矢印で示すステップSB6に進み、ステップSB6にて音源回路15に発音中止(リリース)の指示を出す。音源回路15は、発音中止の指示があってから所定のリリース時間発音を続けた後、発音を止める。ノートオフイベントを検出しない場合は、NOの矢印で示すステップSB7に進む。   In step SB5, it is determined whether or not a note-off event corresponding to the note-on event acquired in step SB2 is detected. If a note-off event is detected, the process proceeds to step SB6 indicated by a YES arrow, and a sound generation stop (release) instruction is issued to the tone generator circuit 15 in step SB6. The sound source circuit 15 stops sound generation after continuing sound generation for a predetermined release time after an instruction to stop sound generation is given. If no note-off event is detected, the process proceeds to step SB7 indicated by a NO arrow.

ステップSB7では、所定のリリース時間を経過しても、音源回路15が現在楽音を発音中か否かを判断する。発音中である場合は、YESの矢印で示すステップSB8に進み、発音中でない場合は、NOの矢印で示すステップSB15に進みビブラート付与処理を終了する。なお、ステップSB5から直接ステップSB7に移行した場合は、所定のリリース時間について考慮する必要はない。   In step SB7, it is determined whether or not the tone generator circuit 15 is currently producing a musical sound even after a predetermined release time has elapsed. If sounding is in progress, the process proceeds to step SB8 indicated by a YES arrow, and if not sounding, the process proceeds to step SB15 indicated by a NO arrow, and the vibrato imparting process is terminated. In addition, when it transfers to step SB7 directly from step SB5, it is not necessary to consider predetermined release time.

ステップSB8では、ビブラートデータVDを一組読み出す。すなわち、現在割り込み周期に応じてビブラートデータVDに含まれる振幅データ及び周期データのデータを読み出す。   In step SB8, a set of vibrato data VD is read. That is, the amplitude data and period data included in the vibrato data VD are read according to the current interrupt period.

ステップSB9では、ビブラート制御用操作子(例えば、図7のモジュレーションホイール51及び52)によるビブラートの深さ及びスピード(周期)の変更量を求める。ここで求めた変更量は、例えば、係数km1及びkm2として、図7の乗算器104及び107に入力される。 In Step SB9, the amount of change in the vibrato depth and speed (cycle) by the vibrato control operator (for example, the modulation wheels 51 and 52 in FIG. 7) is obtained. The amount of change obtained here is input to the multipliers 104 and 107 in FIG. 7 as, for example, the coefficients km1 and km2 .

ステップSB10では、ステップSB8で読み出したビブラートのスピード情報(周期データ)にステップSB9で求めたビブラートスピードの変更量(係数km2)を乗算しLFO108から出力される正弦波のスピード(周期)を指定(係数km2で乗算されたビブラート周期データをLFO108に供給)する。LFO18では、図7を参照して説明した式(2)に基づく演算を行い、演算結果を出力する。 In step SB 10, specify the speed information of vibrato read in step SB8 change amount of vibrato speed obtained in step SB9 in (cycle data) speed sinusoidal wave output from (coefficient k m @ 2) multiplied by LFO108 (cycle) to (supplied vibrato cycle data multiplied by the coefficient k m @ 2 to LFO108). The LFO 18 performs a calculation based on the equation (2) described with reference to FIG. 7 and outputs a calculation result.

ステップSB11では、ステップSB8で読み出したビブラートの深さ情報(振幅データ)にLFOエンベロープを乗算して、さらにステップSB9で求めたビブラート深さの変更量(係数km1)を乗算することにより、LFO108から出力される正弦波の振幅を指定(LFO108の出力に乗算器105で乗算される値を決定)する。その後、ビブラート深さの変更量(係数km1)で乗算されたLFO108の出力を、ビブラート制御信号Svとして音源回路15に出力する。なお、音源回路15は、ビブラート制御信号Svを用いて、ステップSB3で発音を指示された楽音に対して変調を行い、ビブラート効果の付与された楽音を出力する。 In step SB11, by which the LFO envelope by multiplying the depth information of the vibrato read in step SB8 (amplitude data) is multiplied further change amount of vibrato depth determined in step SB9 a (coefficient k m1), LFO108 Specifies the amplitude of the sine wave output from (determines the value to be multiplied by the multiplier 105 to the output of the LFO 108). And then outputs the change amount of vibrato depth output LFO108 multiplied by (coefficient k m1), to the tone generator 15 as a vibrato control signal Sv. Note that the tone generator circuit 15 modulates the musical tone instructed to be sounded in step SB3 by using the vibrato control signal Sv, and outputs a musical tone to which a vibrato effect is added.

ステップSB12では、タイマ4の割り込みに応じて、ビブラートデータVDの読み出し位置を進める。   In step SB12, the read position of the vibrato data VD is advanced in response to the interrupt of the timer 4.

ステップSB13では、ビブラートデータVDの読み出しが、ループ終端(例えば、図4のタイミングt2又は図5及び図6のタイミングt21)に達したか否かを判断する。ループ終端に達した場合は、ステップSB14に進み、ビブラートデータVDの読み出し位置をループ始端(例えば、図4のタイミングt1又は図5及び図6のタイミングt11)に更新して、その後ステップSB5に戻る。ループ終端に達していない場合は、NOの矢印で示すステップSB5に戻る。   In step SB13, it is determined whether or not the reading of the vibrato data VD has reached the end of the loop (for example, timing t2 in FIG. 4 or timing t21 in FIGS. 5 and 6). When the loop end is reached, the process proceeds to step SB14, where the read position of the vibrato data VD is updated to the loop start end (for example, the timing t1 in FIG. 4 or the timing t11 in FIGS. 5 and 6), and then the process returns to step SB5. . If the end of the loop has not been reached, the process returns to step SB5 indicated by the NO arrow.

図10は、楽音信号の生成時に楽音生成部150に適用されるアルゴリズムの一例を表すブロック図である。なお、楽音生成部150に適用されるアルゴリズムは、この例に限らず、波形メモリ10に記憶される波形データをビブラート生成部100において生成されるビブラート制御信号Svに応じて変調をかけるものであればよい。あるいは、FM方式などのように波形データを持たずに演算で楽音生成するものであって、ビブラート制御信号Svをその演算に反映させるようなものであってもよい。   FIG. 10 is a block diagram showing an example of an algorithm applied to the tone generation unit 150 when generating a tone signal. Note that the algorithm applied to the tone generator 150 is not limited to this example, and the waveform data stored in the waveform memory 10 may be modulated in accordance with the vibrato control signal Sv generated in the vibrato generator 100. That's fine. Alternatively, a musical sound may be generated by calculation without having waveform data as in the FM method, and the vibrato control signal Sv may be reflected in the calculation.

まず、MIDIインターフェース7から電子音楽装置50に対して、波形データに係る発音を指示するMIDIのノートオン信号が供給されると、CPU1から音源部15に対して当該波形データに対する発音が指示される。これに応じて、音源部15において、ビブラートを有する楽音信号が合成される。   First, when a MIDI note-on signal for instructing sound generation related to waveform data is supplied from the MIDI interface 7 to the electronic music device 50, the CPU 1 instructs the sound source unit 15 to sound the waveform data. . In response to this, the tone generator 15 synthesizes a tone signal having vibrato.

CPU1からの発音の指示には、発音に使用する波形データのアタック部およびループ部を示す波形アドレス情報WAと、当該波形データのピッチシフト情報PS0(セント)と、当該波形データに付与する音量エンベロープの形状を示す波形エンベロープ情報WEとが含まれる。ここで、ピッチシフト情報PS0について説明しておく。まず、波形メモリ10に記憶された各波形データは、ある音高の楽音信号を所定のサンプリング周期でサンプリングしたものである。記録時と再生時のサンプリング周期が等しかったとすると、このサンプリング周期毎に当該波形データを「1」サンプルずつ読み出せば、読み出された楽音信号は記録時と同一の音高を有することになる。しかし、実際に波形データを読み出す場合には、発音させようとする音高はサンプリング時の音高とは異なる。ピッチシフト情報PS0は、サンプリング周期毎に当該波形データを「1」サンプルずつ読み出した場合の音高と、実際に発音させようとする音高との差をセント単位で表したものである。例えば、前者の音高が「C3」であって、後者の音高が「C4」であったとすると、ピッチシフト情報PS0は「1200」(セント)になる。   The sound generation instruction from the CPU 1 includes waveform address information WA indicating an attack portion and a loop portion of waveform data used for sound generation, pitch shift information PS0 (cent) of the waveform data, and a volume envelope to be added to the waveform data. Waveform envelope information WE indicating the shape of the waveform. Here, the pitch shift information PS0 will be described. First, each waveform data stored in the waveform memory 10 is obtained by sampling a musical tone signal having a certain pitch at a predetermined sampling period. If the sampling period at the time of recording is equal to the sampling period at the time of reproduction, if the waveform data is read by “1” samples at each sampling period, the read tone signal has the same pitch as that at the time of recording. . However, when actually reading the waveform data, the pitch to be generated differs from the pitch at the time of sampling. The pitch shift information PS0 represents a difference in cents between a pitch when the waveform data is read out by “1” samples for each sampling period and a pitch to be actually generated. For example, if the former pitch is “C3” and the latter pitch is “C4”, the pitch shift information PS0 is “1200” (cents).

ビブラート生成部100からは、ビブラート制御信号Svが入力される。ビブラート制御信号Svの最大値は「1」であり、最小値は「−1」である。乗算器206は、ピッチシフト情報PS0(セント)に付与する変動量の最大値である最大ピッチシフト変動量Δfpsmaxが指定されると、ビブラート制御信号Svに該最大ピッチシフト変動量Δfpsmaxを乗算する。その乗算結果であるピッチシフト変動量Δfps(セント)は加算器200においてピッチシフト情報PS0と加算され、加算器200からはビブラートを付与したピッチシフト情報PS1が出力される。   A vibrato control signal Sv is input from the vibrato generation unit 100. The maximum value of the vibrato control signal Sv is “1”, and the minimum value is “−1”. When the maximum pitch shift fluctuation amount Δfpsmax which is the maximum value of the fluctuation amount to be added to the pitch shift information PS0 (cent) is designated, the multiplier 206 multiplies the vibrato control signal Sv by the maximum pitch shift fluctuation amount Δfpsmax. The pitch shift fluctuation amount Δfps (cent) as a result of the multiplication is added to the pitch shift information PS0 in the adder 200, and the adder 200 outputs the pitch shift information PS1 with vibrato added.

リニア変換部201は、セントスケールの周波数比情報であるピッチシフト情報PS1を、リニアスケールの周波数比情報であるfナンバに変換する。位相ジェネレータ202は、リニア変換部201からのfナンバを、サンプリング周期毎に累算することにより位相情報PHを生成して出力する。アドレスジェネレータ204は、該位相信号PHと前記波形アドレス情報WAとに基づいて、波形データ10a,10bを読み出すための共通のアドレス信号ADを出力する。アドレスジェネレータ204は、位相信号PHに係る位相と波形アドレス情報WAとに応じて、アタック部が最初に1回のみ読み出され、その後はループ部が繰り返し読み出されるようにアドレス信号ADを生成する。   The linear conversion unit 201 converts pitch shift information PS1 that is frequency ratio information of a cent scale into an f number that is frequency ratio information of a linear scale. The phase generator 202 generates and outputs phase information PH by accumulating the f number from the linear conversion unit 201 every sampling period. The address generator 204 outputs a common address signal AD for reading the waveform data 10a and 10b based on the phase signal PH and the waveform address information WA. The address generator 204 generates the address signal AD so that the attack part is read out only once at first, and then the loop part is repeatedly read out according to the phase related to the phase signal PH and the waveform address information WA.

これにより、各サンプリング周期毎に、波形メモリ10のからは、同位相でピッチシフト変動量Δfpsによる周波数変調の施された波形データ10a,10bが読み出されることになる。読み出された波形データ10a,10bは、乗算器214,218において重み付けが施され、加算器222において合成される。合成された楽音信号は、乗算器224において振幅変調が施され、その結果がビブラートを有する楽音信号Soutとしてサウンドシステム16に出力されることになる。   As a result, the waveform data 10a and 10b subjected to frequency modulation with the pitch shift fluctuation amount Δfps in the same phase are read from the waveform memory 10 for each sampling period. The read waveform data 10 a and 10 b are weighted by multipliers 214 and 218 and synthesized by adder 222. The synthesized tone signal is subjected to amplitude modulation in the multiplier 224, and the result is output to the sound system 16 as a tone signal Sout having vibrato.

遅延回路210は、指定された位相差Φ1に応じた時間だけビブラート制御信号Svを遅延させる。乗算器212は、遅延されたビブラート制御信号Svに最大重み付け係数ΔG1maxを乗算し、その結果を重み付け係数ΔG1として出力する。なお、最大重み付け係数ΔG1maxは、「0〜0.5」の範囲で設定される係数である。   The delay circuit 210 delays the vibrato control signal Sv by a time corresponding to the designated phase difference Φ1. Multiplier 212 multiplies delayed vibrato control signal Sv by maximum weighting coefficient ΔG1max, and outputs the result as weighting coefficient ΔG1. The maximum weighting coefficient ΔG1max is a coefficient set in the range of “0 to 0.5”.

加算器216は、重み付け係数ΔG1と基本重み付け値である「0.5」とを加算し、この加算結果を上側重み付け値GUとして乗算器214に供給する。また、加算器220は、基本重み付け値である「0.5」から重み付け係数ΔG1を減算し、この減算結果を下側重み付け値GDとして乗算器218に供給する。これにより、波形データ10a,10bに付与される重み付けの合計(GU+GD)は常に「1」になることが解る。なお、位相差Φ1を「0」にすると、遅延回路210における遅延時間も「0」になり、アドレス信号ADの進行速度が最大になるタイミング(楽音信号のピッチのピークが現れるタイミング)と、乗算器214において上側の楽音信号の重み付けが最大になるタイミングとが完全に一致することになる。また、位相差Φ1として「0」以外の値を指定することにより、両者のタイミングをずらすことも可能である。   The adder 216 adds the weighting coefficient ΔG1 and the basic weight value “0.5”, and supplies the addition result to the multiplier 214 as the upper weight value GU. Further, the adder 220 subtracts the weighting coefficient ΔG1 from the basic weighting value “0.5” and supplies the subtraction result to the multiplier 218 as the lower weighting value GD. As a result, it is understood that the sum of weights (GU + GD) given to the waveform data 10a and 10b is always “1”. When the phase difference Φ1 is set to “0”, the delay time in the delay circuit 210 also becomes “0”, and the timing at which the traveling speed of the address signal AD is maximized (the timing at which the peak of the pitch of the tone signal appears) is multiplied. The timing at which the weighting of the upper musical tone signal is maximized in the unit 214 is completely coincident. Further, by specifying a value other than “0” as the phase difference Φ1, it is also possible to shift the timing of both.

遅延回路226は、指定された位相差Φ2に応じた時間だけビブラート制御信号Svを遅延させる。ここで、位相差Φ2は、楽音信号に付与するピッチのビブラートと、振幅のビブラートとの位相差である。乗算器228は、遅延されたビブラート制御信号Svに最大振幅変動係数ΔG2maxを乗算し、その結果を振幅変動係数ΔG2として出力する。なお、最大振幅変動係数ΔG2maxは、「0〜1.0」の範囲で設定される係数である。加算器230は、振幅変動係数ΔG2と基本振幅係数である「1」とを加算し、この加算結果であるゲインGoutをエンベロープ発生部232に供給する。エンベロープ発生部232は、前記波形エンベロープ情報WEに基づいて、楽音信号の立上りから立下りまでの音量の時間変化を制御する音量エンベロープ波形を発生するとともに、その音量エンベロープ波形をゲインGoutと合成して振幅変調の施された音量エンベロープ波形EDとして乗算器224に供給する。乗算器224においては、加算器222から出力された楽音信号に対して音量エンベロープEDによる振幅制御が施され、その結果が楽音信号Soutとしてサンプリング周期毎にサウンドシステム16に供給されることになる。   The delay circuit 226 delays the vibrato control signal Sv by a time corresponding to the designated phase difference Φ2. Here, the phase difference Φ2 is the phase difference between the pitch vibrato and the amplitude vibrato to be applied to the musical tone signal. Multiplier 228 multiplies delayed vibrato control signal Sv by maximum amplitude variation coefficient ΔG2max, and outputs the result as amplitude variation coefficient ΔG2. The maximum amplitude variation coefficient ΔG2max is a coefficient set in the range of “0 to 1.0”. The adder 230 adds the amplitude variation coefficient ΔG 2 and the basic amplitude coefficient “1”, and supplies the gain Gout as a result of the addition to the envelope generation unit 232. Based on the waveform envelope information WE, the envelope generator 232 generates a volume envelope waveform that controls the temporal change in volume from the rising edge to the falling edge of the musical sound signal, and combines the volume envelope waveform with the gain Gout. This is supplied to a multiplier 224 as a volume envelope waveform ED subjected to amplitude modulation. In the multiplier 224, the tone signal output from the adder 222 is subjected to amplitude control by the volume envelope ED, and the result is supplied to the sound system 16 as a tone signal Sout for each sampling period.

以上、本発明の実施例によれば、ビブラートの付与された原音波形データのピッチを検出して時間的軌跡を記録し、記録した時間的軌跡からピークの山と谷のそれぞれの時刻とピッチの値を抽出し、それらの時間差からビブラートの周期を、またレベル差からビブラートの深さを算出し、該算出したビブラートの周期と深さを発音タイミングからの時系列データとして記録することができる。また、このようにして記録したビブラートの周期と深さを発音タイミングからの時系列データをもちいて、楽音波形データにビブラート効果を付与することにより、実際の楽器の演奏に近い自然なビブラートを実現することができる。   As described above, according to the embodiment of the present invention, the pitch of the original sound waveform data provided with vibrato is detected and the temporal trajectory is recorded, and the time and pitch of each peak peak and trough are recorded from the recorded temporal trajectory. It is possible to extract a value, calculate the vibrato period from the time difference and the vibrato depth from the level difference, and record the calculated vibrato period and depth as time-series data from the sound generation timing. In addition, the vibrato period and depth recorded in this way are used as time-series data from the sounding timing, and a vibrato effect is added to the musical sound waveform data to achieve a natural vibrato that is close to the performance of an actual musical instrument. can do.

また、本発明の実施例によれば、ビブラートデータをループ再生する際の継ぎ目が不連続とならないように補正することができる。したがって、自然なビブラートを任意の長さの楽音に付与することができる。   Further, according to the embodiment of the present invention, it is possible to correct so that the seam when the vibrato data is reproduced in a loop is not discontinuous. Therefore, natural vibrato can be imparted to a musical sound of any length.

また、本発明の実施例によれば、ビブラートの深さやスピードを強調したり弱めたりする制御を行うことができる。   Further, according to the embodiment of the present invention, it is possible to perform control to emphasize or weaken the depth and speed of vibrato.

なお、上述の実施例では、音色ごとにビブラートデータVDを用意したが、ビブラートデータVDは、対応する音色のみならず他の音色に対して適用してもよい。例えば、フルートの原音波形から得られたビブラートデータVDをバイオリンの波形データに適用してもよい。   In the above-described embodiment, the vibrato data VD is prepared for each timbre, but the vibrato data VD may be applied not only to the corresponding timbre but also to other timbres. For example, the vibrato data VD obtained from the flute original sound waveform may be applied to the violin waveform data.

なお、上述の実施例では、ビブラートデータVDを半周期毎に記録したが、さらに短い周期ごとに記録してもよいし、長い周期で記録してもよい。ただし、短い周期で記録するとデータ量が膨大なものとなり、長い周期で記録するとビブラートが荒くなってしまい原音から遠くなってしまう。したがって、ビブラートデータVDを半周期毎に記録することが好適である。   In the above-described embodiment, the vibrato data VD is recorded every half cycle, but may be recorded every shorter cycle or may be recorded at a longer cycle. However, when recording with a short cycle, the amount of data becomes enormous, and when recording with a long cycle, the vibrato becomes rough and far from the original sound. Therefore, it is preferable to record the vibrato data VD every half cycle.

また、上述の実施例では、ビブラートのスピードが速くなっても、ビブラートの時系列データ(振幅データ及び周期データ)の読み出し速度は一定であるとしたが、ビブラートスピードに応じて読み出し速度を変化させるようにしてもよい。   In the above-described embodiment, the reading speed of the vibrato time-series data (amplitude data and period data) is constant even when the vibrato speed increases. However, the reading speed is changed according to the vibrato speed. You may do it.

また、上述の実施例では、ビブラート制御信号Svは、正弦波であるとして説明したが、これに限らず三角波としてもよい。また、特殊効果を狙って矩形波等を用いてもよい。   In the above-described embodiment, the vibrato control signal Sv is described as a sine wave. However, the present invention is not limited to this and may be a triangular wave. Moreover, you may use a rectangular wave etc. aiming at a special effect.

なお、本発明の実施例は、電子楽器、パソコン+アプリケーションソフトウェアく、カラオケ装置、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノ等に適用してもよい。   The embodiments of the present invention may be applied to electronic musical instruments, personal computers + application software, karaoke devices, game devices, portable communication terminals such as mobile phones, automatic performance pianos, and the like.

携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。   When applied to a portable communication terminal, not only when a predetermined function is completed with only the terminal, but also a part of the function is provided on the server side, and the predetermined function is realized as a whole system composed of the terminal and the server. You may make it do.

また、電子楽器の形態を取った場合、操作部5として鍵盤などの演奏操作子をも備えるが、その形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。   In the case of taking the form of an electronic musical instrument, the operation unit 5 includes a performance operator such as a keyboard. However, the form is not limited to a keyboard musical instrument, and may be a stringed instrument type, a wind instrument type, a percussion instrument type, or the like.

また、音源装置、自動演奏装置等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、MIDIや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。   In addition, the sound source device, the automatic performance device, etc. are not limited to those built in one electronic musical instrument body, but each is a separate device, and each device is connected using communication means such as MIDI or various networks. There may be.

また、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした市販のコンピュータ等によって、実施させるようにしてもよい。   Further, this embodiment may be implemented by a commercially available computer or the like in which a computer program or the like corresponding to this embodiment is installed.

その場合には、本実施例に対応するコンピュータプログラム等を、CD−ROMやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。   In that case, the computer program or the like corresponding to the present embodiment may be provided to the user while being stored in a storage medium that can be read by the computer, such as a CD-ROM or a floppy disk.

そのコンピュータ等が、LAN、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、コンピュータプログラムや各種データ等をコンピュータ等に提供してもよい。   When the computer or the like is connected to a communication network such as a LAN, the Internet, or a telephone line, a computer program or various data may be provided to the computer or the like via the communication network.

以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。   Although the present invention has been described with reference to the embodiments, the present invention is not limited thereto. It will be apparent to those skilled in the art that various modifications, improvements, combinations, and the like can be made.

本発明の実施例による電子音楽装置50のハードウェア構成を表すブロック図である。It is a block diagram showing the hardware constitutions of the electronic music apparatus 50 by the Example of this invention. 本発明の実施例によるビブラートデータVDの作成処理を表すフローチャートである。It is a flowchart showing the production process of the vibrato data VD by the Example of this invention. ビブラートデータVDの作成処理を説明するための概念図である。It is a conceptual diagram for demonstrating the production process of vibrato data VD. 本発明の実施例によるビブラートデータVDのループ処理の第1の例を表す模式図である。It is a schematic diagram showing the 1st example of the loop process of the vibrato data VD by the Example of this invention. 本発明の実施例によるビブラートデータVDのループ処理の第2の例を表す模式図である。It is a schematic diagram showing the 2nd example of the loop process of the vibrato data VD by the Example of this invention. 本発明の実施例によるビブラートデータVDのループ処理の第3の例を表す模式図である。It is a schematic diagram showing the 3rd example of the loop process of the vibrato data VD by the Example of this invention. 本発明の実施例によるビブラート生成部100によるビブラート付与処理に適用されるアルゴリズムを表すブロック図である。It is a block diagram showing the algorithm applied to the vibrato provision process by the vibrato production | generation part 100 by the Example of this invention. LFO EG生成部102の出力の変動を表すグラフである。6 is a graph showing fluctuations in the output of an LFO EG generator 102. 本発明の実施例によるビブラート付与処理を表すフローチャートである。It is a flowchart showing the vibrato provision process by the Example of this invention. 楽音信号の生成時に楽音生成部150に適用されるアルゴリズムの一例を表すブロック図である。It is a block diagram showing an example of the algorithm applied to the musical sound production | generation part 150 at the time of the production | generation of a musical sound signal.

符号の説明Explanation of symbols

1…CPU、2…ROM、3…RAM、4…タイマ、5…操作部、6…表示器、7…MIDIインターフェース、8…駆動装置、9…記録媒体、10…波形メモリ、11…アクセス管理部、12…外部波形入力端子、13…書込回路、14…バッファ、15…音源部、16…サウンドシステム、17…バス、50…電子音楽装置、51,52…モジュレーションホイール、100…ビブラート生成部、101…ビブラート深さ読出部、102…LFO EG生成部、103,104,105,107…乗算器、106…ビブラート周期読出部、108…LFO、150…楽音生成部、200…加算器、201…リニア変換部、202…位相ジェネレータ、204…アドレスジェネレータ、206…乗算器、210…遅延回路、212,214,218…乗算器、220,222…加算器、224,228…乗算器、226…遅延回路、232…エンベロープ発生部 DESCRIPTION OF SYMBOLS 1 ... CPU, 2 ... ROM, 3 ... RAM, 4 ... Timer, 5 ... Operation part, 6 ... Display, 7 ... MIDI interface, 8 ... Drive apparatus, 9 ... Recording medium, 10 ... Waveform memory, 11 ... Access management , 12 ... external waveform input terminal, 13 ... writing circuit, 14 ... buffer, 15 ... sound source unit, 16 ... sound system, 17 ... bus, 50 ... electronic music device, 51,52 ... modulation wheel, 100 ... vibrato generation 101: Vibrato depth reading unit, 102 ... LFO EG generation unit, 103, 104, 105, 107 ... Multiplier, 106 ... Vibrato period reading unit, 108 ... LFO, 150 ... Musical sound generation unit, 200 ... Adder, DESCRIPTION OF SYMBOLS 201 ... Linear conversion part, 202 ... Phase generator, 204 ... Address generator, 206 ... Multiplier, 210 ... Delay circuit, 212, 214 218 ... multiplier, 220, 222 ... adder, 224, 228 ... multiplier, 226 ... delay circuit, 232 ... envelope generator

Claims (8)

原音波形データからピッチの時間的軌跡を取得するピッチ取得手段と、
前記取得したピッチの時間的軌跡からピークの山と谷のそれぞれの時刻とピッチを抽出する抽出手段と、
前記抽出したピークの山と谷のそれぞれの時刻の差からビブラートの周期情報を算出するビブラート周期算出手段と、
前記抽出したピークの山と谷のそれぞれのピッチの差からビブラートの深さ情報を算出するビブラート深さ算出手段と、
前記算出したビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記録する記録手段と、
前記時系列データ中に、ループ始端とループ終端を設定する設定手段と
を有する電子音楽装置。
Pitch acquisition means for acquiring a temporal trajectory of the pitch from the original sound waveform data;
Extraction means for extracting the time and pitch of each peak peak and valley from the time trajectory of the acquired pitch;
Vibrato period calculating means for calculating period information of vibrato from the difference in time between the peak and valley of the extracted peak;
Vibrato depth calculation means for calculating vibrato depth information from the difference in pitch between the peaks and valleys of the extracted peak;
Recording means for recording the vibrato period information and the vibrato depth information as a set together with the time from the sound generation start time of the original sound waveform data as time series data,
An electronic music apparatus comprising setting means for setting a loop start end and a loop end in the time series data.
ループ始端とループ終端を設定されたビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記録する記録手段と、
発音指示を検出する発音指示検出手段と、
前記発音指示に応じて、時間の経過とともに前記読み出し手段から前記時系列データを読み出す読み出し手段であって、前記時系列データを前記ループ終端まで読み出した後は、前記ループ始端から再度読み出しする読み出し手段と、
前記読み出した時系列データに含まれるビブラートの周期情報とビブラートの深さ情報とに応じて、ビブラート制御信号を生成するビブラート制御信号生成手段と、
前記発音指示に応じて楽音生成を開始するとともに、前記ビブラート制御信号に応じて楽音を変調する楽音生成手段と
を有する電子音楽装置。
Recording means for recording time series data together with the time from the sound generation start time of the original sound waveform data as a set of vibrato period information and vibrato depth information set with the loop start end and loop end;
Pronunciation instruction detecting means for detecting a pronunciation instruction;
Read means for reading out the time-series data from the read-out means as time elapses according to the sound generation instruction, and after reading out the time-series data to the end of the loop, read-out means for reading out again from the loop start end When,
Vibrato control signal generating means for generating a vibrato control signal in accordance with vibrato period information and vibrato depth information included in the read time-series data;
An electronic music apparatus comprising: a tone generation unit that starts generating a tone according to the sound generation instruction and modulates a tone according to the vibrato control signal.
さらに、ビブラートの周期とビブラートの深さとを制御するための制御信号を取得する制御信号取得手段と、
前記ビブラートの周期とビブラートの深さとを制御するための制御信号に基づき、前記ビブラート制御信号のビブラートの周期及びビブラートの深さを増減する増減手段とを有する請求項2記載の電子音楽装置。
Furthermore, a control signal acquisition means for acquiring a control signal for controlling the vibrato cycle and the vibrato depth;
3. The electronic music apparatus according to claim 2, further comprising an increase / decrease unit that increases / decreases the vibrato period and vibrato depth of the vibrato control signal based on a control signal for controlling the vibrato period and vibrato depth.
さらに、前記ループ終端から前記ループ始端への接続部分を補正する補正手段を有する請求項1〜3のいずれか1項に記載の電子音楽装置。 The electronic music apparatus according to claim 1, further comprising correction means for correcting a connection portion from the loop end to the loop start end. 前記補正手段は、前記ループ終端付近から所定範囲の傾きを前記ループ始端につながるように補正する請求項4に記載の電子音楽装置。 The electronic music apparatus according to claim 4, wherein the correction unit corrects an inclination within a predetermined range from the vicinity of the loop end so as to be connected to the loop start end. 前記補正手段は、前記ループ終端付近から所定範囲のデータ列をフェードアウトし、前記時系列データのループ始端よりも前の所定範囲のデータ列をフェードインすることによりクロスフェードする請求項4記載の電子音楽装置。 5. The electronic device according to claim 4, wherein the correction unit fades out a data string in a predetermined range from the vicinity of the loop end and crossfades by fading in a data string in a predetermined range before the loop start end of the time series data. Music device. 原音波形データからピッチの時間的軌跡を取得するピッチ取得手順と、
前記取得したピッチの時間的軌跡からピークの山と谷のそれぞれの時刻とピッチを抽出する抽出手順と、
前記抽出したピークの山と谷のそれぞれの時刻の差からビブラートの周期情報を算出するビブラート周期算出手順と、
前記抽出したピークの山と谷のそれぞれのピッチの差からビブラートの深さ情報を算出するビブラート深さ算出手順と、
前記算出したビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記憶手段に記録する記録手順と、
前記時系列データ中に、ループ始端とループ終端を設定する設定手順と
を有するプログラム。
A pitch acquisition procedure for acquiring a temporal trajectory of the pitch from the original sound waveform data;
An extraction procedure for extracting the time and pitch of each peak peak and trough from the time trajectory of the acquired pitch;
A vibrato period calculation procedure for calculating vibrato period information from the difference in time between the peak and valley of the extracted peak;
A vibrato depth calculation procedure for calculating vibrato depth information from the difference in pitch between the peak and valley of the extracted peak;
A recording procedure for recording the vibrato period information and vibrato depth information as a set in the storage means as time series data together with the time from the sound generation start time of the original sound waveform data,
A program having a setting procedure for setting a loop start end and a loop end in the time-series data.
発音指示を検出する発音指示検出手順と、
前記発音指示に応じて、時間の経過とともに、ループ始端とループ終端を設定されたビブラートの周期情報とビブラートの深さ情報とを一組として、前記原音波形データの発音開始時間からの時刻とともに時系列データとして記録する記録手段から前記時系列データを読み出す読み出し手順であって、前記時系列データを前記ループ終端まで読み出した後は、前記ループ始端から再度読み出しする読み出し手順と、
前記読み出した時系列データに含まれるビブラートの周期情報とビブラートの深さ情報とに応じて、ビブラート制御信号を生成するビブラート制御信号生成手順と、
前記発音指示に応じて楽音生成を開始するとともに、前記ビブラート制御信号に応じて楽音を変調する楽音生成手順と
を有するプログラム。
Pronunciation instruction detection procedure for detecting pronunciation instructions;
In accordance with the sound generation instruction, as time elapses, time is set with the time from the sound generation start time of the original sound waveform data as a set of vibrato period information and vibrato depth information for which the loop start end and loop end are set. A reading procedure for reading the time series data from the recording means for recording as series data, and after reading the time series data to the loop end, a reading procedure for reading again from the loop start end,
A vibrato control signal generating procedure for generating a vibrato control signal according to the vibrato period information and the vibrato depth information included in the read time-series data;
A program having a tone generation procedure for starting tone generation in response to the pronunciation instruction and modulating the tone in accordance with the vibrato control signal.
JP2008059632A 2008-03-10 2008-03-10 Electronic music device, program Active JP4968120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008059632A JP4968120B2 (en) 2008-03-10 2008-03-10 Electronic music device, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008059632A JP4968120B2 (en) 2008-03-10 2008-03-10 Electronic music device, program

Publications (2)

Publication Number Publication Date
JP2009216904A true JP2009216904A (en) 2009-09-24
JP4968120B2 JP4968120B2 (en) 2012-07-04

Family

ID=41188848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008059632A Active JP4968120B2 (en) 2008-03-10 2008-03-10 Electronic music device, program

Country Status (1)

Country Link
JP (1) JP4968120B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118220A (en) * 2009-12-04 2011-06-16 Yamaha Corp Acoustic processing device
JP2011175159A (en) * 2010-02-25 2011-09-08 Yamaha Corp Electronic music apparatus and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6286394A (en) * 1985-10-11 1987-04-20 ヤマハ株式会社 Generation of musical sound signal
JPH05119782A (en) * 1991-10-29 1993-05-18 Yamaha Corp Sound source device
JPH09146552A (en) * 1995-11-17 1997-06-06 Kawai Musical Instr Mfg Co Ltd Forming method for repetition waveform used for electronic musical instrument
JP2000099020A (en) * 1998-09-22 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> Vibrato control method and program recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6286394A (en) * 1985-10-11 1987-04-20 ヤマハ株式会社 Generation of musical sound signal
JPH05119782A (en) * 1991-10-29 1993-05-18 Yamaha Corp Sound source device
JPH09146552A (en) * 1995-11-17 1997-06-06 Kawai Musical Instr Mfg Co Ltd Forming method for repetition waveform used for electronic musical instrument
JP2000099020A (en) * 1998-09-22 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> Vibrato control method and program recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118220A (en) * 2009-12-04 2011-06-16 Yamaha Corp Acoustic processing device
JP2011175159A (en) * 2010-02-25 2011-09-08 Yamaha Corp Electronic music apparatus and program

Also Published As

Publication number Publication date
JP4968120B2 (en) 2012-07-04

Similar Documents

Publication Publication Date Title
JP4274152B2 (en) Music synthesizer
JP4702160B2 (en) Musical sound synthesizer and program
JP2003241757A (en) Device and method for waveform generation
JP2007011217A (en) Musical sound synthesizer and program
JP6011219B2 (en) Audio file generation program and audio file generation apparatus
JP4802857B2 (en) Musical sound synthesizer and program
JP5533892B2 (en) Performance equipment
JP4561636B2 (en) Musical sound synthesizer and program
JP4968120B2 (en) Electronic music device, program
JP4736046B2 (en) Waveform data production method, waveform data production apparatus, program, and waveform memory production method
JP2010113278A (en) Music processing device and program
JP4957591B2 (en) Electronic music device, program
JP4218624B2 (en) Musical sound data generation method and apparatus
JP3656584B2 (en) Performance data processing apparatus and program
JP6528752B2 (en) Tone reproduction apparatus, tone reproduction method, program and electronic musical instrument
JP4565846B2 (en) Pitch converter
JP3654227B2 (en) Music data editing apparatus and program
JP6531432B2 (en) Program, sound source device and acoustic signal generation device
JP4821558B2 (en) Musical sound synthesizer and program
JP5549325B2 (en) Sound processor
JP2007093795A (en) Method and device for generating musical sound data
JP5548975B2 (en) Performance data generating apparatus and program
JP5176339B2 (en) Electronic musical instrument and performance processing program
JP5239432B2 (en) Tone generator and program
JP5104418B2 (en) Automatic performance device, program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111216

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

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

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4968120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150