JP2017173383A - Velocity correction device, velocity correction method, program, and electric musical instrument - Google Patents

Velocity correction device, velocity correction method, program, and electric musical instrument Download PDF

Info

Publication number
JP2017173383A
JP2017173383A JP2016056191A JP2016056191A JP2017173383A JP 2017173383 A JP2017173383 A JP 2017173383A JP 2016056191 A JP2016056191 A JP 2016056191A JP 2016056191 A JP2016056191 A JP 2016056191A JP 2017173383 A JP2017173383 A JP 2017173383A
Authority
JP
Japan
Prior art keywords
velocity
input
instruction
value
time difference
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.)
Pending
Application number
JP2016056191A
Other languages
Japanese (ja)
Inventor
友美 野津
Tomomi Nozu
友美 野津
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 JP2016056191A priority Critical patent/JP2017173383A/en
Publication of JP2017173383A publication Critical patent/JP2017173383A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable even a musical instrument beginner to play fast-tempo music or phrases with uniform strength of sound by performing control so that variance in velocity value of successive keying is reduced with respect to velocity control technique of an electronic musical instrument.SOLUTION: After a velocity value of current keying is calculated (velocity value calculation process), a time difference between the current keying and last keying is calculated (time difference calculation process). Then when the time difference is short as compared with a predetermined maximum time, a velocity variation threshold corresponding to the time difference is calculated (velocity variation threshold calculation process). At this time, when the degree of variation in velocity value between the current keying and the last keying is large as compared with the velocity variation threshold and small as compared with a maximum value of the predetermined degree of velocity variation, the velocity value of the current keying is corrected and output (velocity correction process) such that the degree of variation is equal to the velocity variation threshold.SELECTED DRAWING: Figure 1

Description

本発明は、ベロシティ修正装置、ベロシティ修正方法、プログラム及び電子楽器に関する。   The present invention relates to a velocity correction device, a velocity correction method, a program, and an electronic musical instrument.

ベロシティ検出機能を有する電子ピアノ、電子キーボード等の電子楽器が従来から知られている。これらの電子楽器は、鍵盤の各鍵毎に、複数の接点及びセンサの組を有し、鍵の押鍵時にセンサが感知する時間差から押鍵の速度に対応するベロシティ値を算出し、その算出されたベロシティ値に応じた強度と押鍵された鍵盤に対応する音高で、楽音を発音している。鍵が弱く(遅く)弾かれれば小さく、強く(速く)弾かれれば大きく楽音が発音されるので、演奏者はより豊かに演奏表現を行うことができる。   Conventionally, electronic musical instruments such as an electronic piano and an electronic keyboard having a velocity detection function are known. These electronic musical instruments have a set of multiple contacts and sensors for each key of the keyboard, and calculate the velocity value corresponding to the key pressing speed from the time difference detected by the sensor when the key is pressed. The musical sound is produced with the intensity corresponding to the velocity value and the pitch corresponding to the pressed key. If the key is played weakly (slowly), it will be small, and if it is played strongly (fastly), the musical sound will be pronounced, so that the performer can express the performance more abundantly.

ここで、上述のようなベロシティ付き電子楽器は豊かな演奏表現が可能になるが、初心者の場合、テンポの速い曲やフレーズを演奏すると、指をうまく動かすことができず意図せず音量がばらばらになってしまうことがある   Here, the electronic musical instrument with velocity as described above can express rich performances, but if you are a beginner, if you play a song or phrase with a fast tempo, you will not be able to move your finger well and the volume will unintentionally vary. It may become

このような課題を解決する従来技術として、以下のようなものが知られている(例えば特許文献1に記載の技術)。演奏操作子が操作された際のベロシティ値だけではなく、それ以前の異なる時点に存在したベロシティ値をも加味して演算されたベロシティ値に基づき、発音される楽音が制御される。具体的には、演奏操作子が操作された際のベロシティ値と直前に発音されたときのベロシティ値とを例えば7対1の割合で混合した結果が、今回のベロシティ値とされる。これにより、発音される楽音のベロシティ値において、1/8の割合で含まれる前回のベロシティ値によって演奏操作の速度や圧力の相違によるベロシティ値の無用な変動を抑制しつつ、7/8の割合で含まれる今回のベロシティ値によって演奏者の意図する演奏操作を今回のベロシティ値に反映させることを可能にする。   The following are known as conventional techniques for solving such problems (for example, the technique described in Patent Document 1). The musical sound to be generated is controlled based not only on the velocity value when the performance operator is operated but also on the velocity value calculated by taking into account the velocity values existing at different points in time. More specifically, the result of mixing the velocity value when the performance operator is operated and the velocity value when the sound is played immediately before, for example, in a ratio of 7 to 1, is set as the current velocity value. As a result, in the velocity value of the sound to be generated, the previous velocity value included at a rate of 1/8 suppresses unnecessary fluctuations in the velocity value due to the difference in performance speed and pressure, and the rate of 7/8. This makes it possible to reflect the performance operation intended by the performer in the current velocity value.

特開平4−194992号公報Japanese Patent Laid-Open No. 4-194922

この従来技術は、今回の演奏により取得されるベロシティ値は、その前、特に直前の演奏の状態が反映されることを前提としている。このために、今回の演奏により取得されたベロシティ値を決定する際に、前回の演奏により得られたベロシティ値を反映させているのである。   This prior art is based on the premise that the velocity value acquired by this performance reflects the state of the previous performance, particularly the previous performance. For this reason, when determining the velocity value obtained by the current performance, the velocity value obtained by the previous performance is reflected.

しかしながら、この反映の度合いは常に一定であり、仮に演奏者が意図して直前のベロシティを反映させないような演奏をしたとしても、直前の演奏のベロシティは反映されてしまう。   However, the degree of reflection is always constant, and even if the performer intentionally performs a performance that does not reflect the immediately preceding velocity, the velocity of the immediately preceding performance is reflected.

また、通常楽曲の演奏においては、前回の演奏のタイミングと今回の演奏のタイミングとの時間差が短い場合は、時間差が長い場合と比べてベロシティの変動度合いは小さくなることが知られている。特に、テンポの速い曲やフレーズを演奏するために鍵盤を連打するような場合には、連続する押鍵間のベロシティ値はできる限り一定になるようにしたほうが演奏上好ましい結果となる。しかも、連打の速度が速いときにはほとんど一定となり、遅いときには少し幅があってよいという程度に、ベロシティ値が収まることが望ましい。しかしながら、上述したような、前回のベロシティ値と今回のベロシティ値を単に一定の割合で混合させるような従来技術では、演奏間隔に応じてベロシティの変動度合いを制御することは行うことはできないという課題があった。   Further, it is known that in the performance of normal music, when the time difference between the timing of the previous performance and the timing of the current performance is short, the degree of fluctuation in velocity is smaller than when the time difference is long. In particular, in the case where the keyboard is struck repeatedly in order to play a fast-tempo song or phrase, it is preferable that the velocity value between successive key presses be as constant as possible. In addition, it is desirable that the velocity value be within a range that is almost constant when the speed of repeated hits is high and may be slightly wide when it is slow. However, as described above, in the conventional technique in which the previous velocity value and the current velocity value are simply mixed at a certain ratio, it is not possible to control the degree of velocity fluctuation according to the performance interval. was there.

そこで、本発明は、演奏により連続して入力されるベロシティの演奏者の意図していないばらつきのみを減らすことができるベロシティ修正装置、ベロシティ修正方法、プログラム及び電子楽器を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide a velocity correction device, a velocity correction method, a program, and an electronic musical instrument that can reduce only unintended variation of a velocity player that is continuously input by a performance. .

態様の一例では、発音指示が入力される毎にベロシティ値を取得するベロシティ取得処理と、第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得する時間差取得処理と、前記取得された時間差が第1の時間差を越えない場合でかつ、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正するベロシティ修正処理と、を実行する処理部と、を備える。   In one example, a velocity acquisition process for acquiring a velocity value every time a sound generation instruction is input, a timing of input of a first sound generation instruction, and a second sound generation instruction before the input of the first sound generation instruction. A time difference acquisition process for acquiring a time difference from the input timing; and a case where the acquired time difference does not exceed the first time difference and the velocity value acquired by the input of the first sound generation instruction and the second time difference When the difference value from the velocity value acquired by the input of the pronunciation instruction is equal to or larger than the fluctuation threshold value of the first differential velocity, the velocity value acquired by the input of the first pronunciation instruction is used as the second pronunciation. A velocity correction process for correcting the velocity based on the velocity value acquired by inputting the instruction, and a processing unit that executes the velocity correction process.

本発明によれば、連続した押鍵のベロシティ値における演奏者の意図しないばらつきが少なくなるように制御を行うことにより、楽器初心者でもテンポの速い曲やフレーズで音の強弱をそろえて演奏することが可能となる。   According to the present invention, by performing control so that a player's unintentional variation in the velocity values of consecutive key presses is reduced, even a beginner musical instrument can perform with a strong tempo of music and phrases with a strong and weak sound. Is possible.

今回の押鍵のベロシティ値が前回の押鍵のベロシティ値より大きい場合の本実施形態の動作説明図である。It is operation | movement explanatory drawing of this embodiment when the velocity value of this key depression is larger than the velocity value of the last key depression. 今回の押鍵のベロシティ値が前回の押鍵のベロシティ値より小さい場合の本実施形態の動作説明図である。It is operation | movement explanatory drawing of this embodiment when the velocity value of this key depression is smaller than the velocity value of the last key depression. 前回と今回との押鍵の時間差tに応じて、ベロシティ変動閾値Dの変化の状態を表わす本実施形態の動作説明図である。It is operation | movement explanatory drawing of this embodiment showing the change state of the velocity fluctuation | variation threshold value D according to the time difference t of key depression with the last time and this time. 電子楽器の実施形態のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of embodiment of an electronic musical instrument. メイン処理の例を示すフローチャートである。It is a flowchart which shows the example of a main process. 鍵盤処理の例を示すフローチャートである。It is a flowchart which shows the example of a keyboard process. タイマ処理の例を示すフローチャートである。It is a flowchart which shows the example of a timer process. 変換処理1の例を示すフローチャートである。6 is a flowchart illustrating an example of conversion processing 1; 変換処理2の例を示すフローチャートである。10 is a flowchart illustrating an example of conversion processing 2; 変換処理3において、前回と今回との押鍵の時間差tが予め定められた第2の時間IN_TIME以下であった場合の動作説明図である。In the conversion process 3, it is operation | movement explanatory drawing when the time difference t of the key press of the last time and this time is below predetermined 2nd time IN_TIME.

以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。本実施形態では、演奏者の演奏操作により発生する押鍵(発音指示)に基づいて発音される楽音のベロシティを制御する電子楽器である。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. In the present embodiment, the electronic musical instrument controls the velocity of a musical sound that is generated based on a key press (pronunciation instruction) generated by a performance operation of the performer.

本実施形態では、発音指示が入力される毎に前記発音指示の入力に対応したベロシティを取得し(ベロシティ取得処理)、今回の発音指示の入力のタイミングと今回の発音指示の入力より以前の発音指示の入力のタイミングとの時間差を取得する(時間差取得処理)。そして、取得された時間差が予め定められた第1の時間差を越えない場合に、今回の発音指示の入力により取得されたベロシティ値と以前の発音指示の入力により取得されたベロシティ値との差分ベロシティ値が、予め定められた上限ベロシティ値と下限ベロシティ値とに基づいて決定された差分ベロシティの範囲内である場合に、今回の発音指示の入力により取得されたベロシティ値を前記以前の発音指示の入力により取得されたベロシティ値に基づいて修正する(ベロシティ修正処理)。   In this embodiment, every time a sound generation instruction is input, a velocity corresponding to the input of the sound generation instruction is acquired (velocity acquisition processing), and the sound generation timing before the input of the current sound generation instruction is input. The time difference from the input timing of the instruction is acquired (time difference acquisition process). If the acquired time difference does not exceed a predetermined first time difference, the difference velocity between the velocity value acquired by inputting the current sounding instruction and the velocity value acquired by inputting the previous sounding instruction When the value is within the range of the differential velocity determined based on the predetermined upper limit velocity value and lower limit velocity value, the velocity value obtained by inputting the current sound generation instruction is set to the previous sound generation instruction. Correction is made based on the velocity value acquired by input (velocity correction processing).

図1〜図3は、本実施形態の動作説明図である。図1〜図3において縦軸はベロシティ値、横軸は押鍵に伴う時間の経過を表わす。そして、Vpは前回の押鍵のベロシティ値、Vnは今回の押鍵のベロシティ値を表わす。   1 to 3 are operation explanatory views of the present embodiment. 1 to 3, the vertical axis represents the velocity value, and the horizontal axis represents the passage of time associated with the key depression. Vp represents the velocity value of the previous key depression, and Vn represents the velocity value of the current key depression.

図1(a)、(b)、(c)及び(d)は、今回の押鍵のベロシティ値Vnが前回の押鍵のベロシティ値Vpより大きい場合を表わす。図1(a)は、前回と今回との押鍵の時間差tが予め定められた第1の時間MAX_TIMEより小さく、かつ今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmaxよりも大きい場合を示す。この場合は、今回の押鍵のベロシティ値Vnは修正されずにそのまま出力される。   1A, 1B, 1C, and 1D show a case where the velocity value Vn of the current key depression is larger than the velocity value Vp of the previous key depression. FIG. 1A shows that the time difference t between the previous key press and the current key press is smaller than a predetermined first time MAX_TIME, and the difference between the current key press velocity value Vn and the previous key press velocity value Vp. Is greater than the maximum value Dmax of the velocity fluctuation threshold. In this case, the velocity value Vn of the current key depression is output as it is without being corrected.

図1(b)は、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmax以下でかつベロシティ変動閾値D以下の場合を示す。この場合も、今回の押鍵のベロシティ値Vnは、修正されずにそのまま出力される。   FIG. 1B shows a case where the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression is equal to or smaller than the maximum velocity variation threshold value Dmax and equal to or smaller than the velocity variation threshold value D. Also in this case, the velocity value Vn of the current key depression is output as it is without being corrected.

図1(c)は、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmax以下でかつベロシティ変動閾値Dより大きい場合を示す。この場合も、今回の押鍵のベロシティ値Vn‘は、前回の押鍵のベロシティ値Vpにベロシティ変動閾値Dを加算した値になる。   FIG. 1C shows a case where the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression is equal to or smaller than the maximum velocity variation threshold value Dmax and greater than the velocity variation threshold value D. Also in this case, the velocity value Vn ′ of the current key depression is a value obtained by adding the velocity fluctuation threshold D to the velocity value Vp of the previous key depression.

図1(d)は、前回と今回との押鍵の時間差tが予め定められた第1の時間MAX_TIME以上である場合を示す。この場合は今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差如何に係らず、今回の押鍵のベロシティ値Vnは修正されずにそのまま出力される。   FIG. 1 (d) shows a case where the time difference t between key presses of the previous time and the current time is equal to or greater than a predetermined first time MAX_TIME. In this case, regardless of the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression, the velocity value Vn of the current key depression is output as it is without modification.

図2(a)、(b)、(c)及び(d)は、今回の押鍵のベロシティ値Vnが前回の押鍵のベロシティ値Vpより小さい場合を表わす。   FIGS. 2A, 2B, 2C, and 2D show cases where the velocity value Vn of the current key depression is smaller than the velocity value Vp of the previous key depression.

図2(a)は、前回と今回との押鍵の時間差tが予め定められた第1の時間MAX_TIMEより小さく、かつ今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmaxよりも大きい場合を示し、図2(b)は、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmax以下でかつベロシティ変動閾値D以下の場合を示す。さらに図2(d)は、これらいずれの場合も、今回の押鍵のベロシティ値Vnは、修正されずにそのまま出力される。   FIG. 2A shows that the time difference t between the previous key press and the current key press is smaller than a predetermined first time MAX_TIME, and the difference between the current key press velocity value Vn and the previous key press velocity value Vp. 2 is larger than the maximum value Dmax of the velocity fluctuation threshold, and FIG. 2B shows that the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression is the maximum velocity fluctuation threshold value. A case where it is equal to or smaller than Dmax and equal to or smaller than a velocity fluctuation threshold D is shown. Further, in FIG. 2D, in any of these cases, the velocity value Vn of the current key depression is output as it is without being corrected.

図2(c)は、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差が、ベロシティ変動閾値の最大値Dmax以下でかつベロシティ変動閾値Dより大きい場合を示す。この場合は、今回の押鍵のベロシティ値Vn‘’は、前回の押鍵のベロシティ値Vpにベロシティ変動閾値Dを減算した値になる。   FIG. 2C shows a case where the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression is equal to or smaller than the maximum velocity variation threshold value Dmax and larger than the velocity variation threshold value D. In this case, the velocity value Vn ″ of the current key depression is a value obtained by subtracting the velocity fluctuation threshold D from the velocity value Vp of the previous key depression.

図2(d)は、前回と今回との押鍵の時間差tが予め定められた第1の時間MAX_TIME以上である場合を示す。この場合は今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差如何に係らず、今回の押鍵のベロシティ値Vnは修正されずにそのまま出力される。   FIG. 2D shows a case where the time difference t between key presses of the previous time and this time is equal to or greater than a predetermined first time MAX_TIME. In this case, regardless of the difference between the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression, the velocity value Vn of the current key depression is output as it is without modification.

図3は、前回と今回との押鍵の時間差に応じて、ベロシティ変動閾値Dの変化の状態を表わす図である。   FIG. 3 is a diagram illustrating a change state of the velocity fluctuation threshold D in accordance with a time difference between key presses of the previous time and the current time.

図3(a)は、時間差Tが小さい場合を示し、図3(b)は時間差T‘が大きい場合を示す。ベロシティ変動閾値Dは、図3(a)の場合と比べて図3(b)の場合は大きくなる。これは、前回と今回との押鍵間隔が大きくなるにつれて、今回の押鍵のベロシティ値は、前回の押鍵のベロシティ値の影響をうけにくくなることを意味する。   FIG. 3A shows a case where the time difference T is small, and FIG. 3B shows a case where the time difference T ′ is large. The velocity fluctuation threshold D is larger in the case of FIG. 3B than in the case of FIG. This means that the velocity value of the current key press becomes less susceptible to the influence of the velocity value of the previous key press as the key press interval between the previous key and the current key increases.

・ このような処理により、連続した押鍵(連打)のベロシティ値における演奏者の意図しないばらつきが少なくなるように連打時のベロシティ値が揃えられる。この結果、楽器初心者でもテンポの速い曲やフレーズで音の強弱をそろえて演奏することが可能となる。 By such processing, the velocity value at the time of repeated hitting is made uniform so that the player's unintentional variation in the velocity value of consecutive key presses (repetitive hitting) is reduced. As a result, even beginners of musical instruments can perform with a strong tempo of a song or phrase with a fast tempo.

図4は、電子楽器の実施形態のハードウェア構成例を示す図である。図4において、電子楽器100は、例えば電子ピアノとして実現され、CPU(中央演算処理装置)201、プログラムROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、鍵盤部204、スイッチ部205、および音源206を備え、それらがシステムバス208によって相互に接続された構成を有する。また、音源206の出力はサウンドシステム207に入力する。   FIG. 4 is a diagram illustrating a hardware configuration example of an embodiment of the electronic musical instrument. In FIG. 4, an electronic musical instrument 100 is realized as an electronic piano, for example, and includes a CPU (Central Processing Unit) 201, a program ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a keyboard unit 204, a switch unit 205, And a sound source 206, which are connected to each other by a system bus 208. The output of the sound source 206 is input to the sound system 207.

CPU201は、ワークRAM203を作業用メモリとして使用しながらプログラムROM202に記憶された制御プログラムを実行することにより、図4の電子楽器100の制御動作を実行する。   The CPU 201 executes the control operation of the electronic musical instrument 100 of FIG. 4 by executing the control program stored in the program ROM 202 while using the work RAM 203 as a working memory.

鍵盤部204は、演奏者による各鍵の押鍵または離鍵の操作を検出すると共に、押鍵の速さをベロシティとして検出し、発音指示/消音指示とベロシティを、CPU201に通知する。   The keyboard unit 204 detects the operation of pressing or releasing each key by the performer, detects the key pressing speed as velocity, and notifies the CPU 201 of the sound generation instruction / mute instruction and velocity.

スイッチ部205は、演奏者による各種スイッチの操作を検出し、CPU201に通知する。   The switch unit 205 detects the operation of various switches by the performer and notifies the CPU 201 of the operation.

音源206は、CPU201から入力する発音指示データに基づいて、ベロシティを制御しながら、デジタル楽音波形データを生成し、サウンドシステム207に出力する。サウンドシステム207は、音源206から入力したデジタル楽音波形データをアナログ楽音波形信号に変換した後、そのアナログ楽音波形信号を内蔵のアンプで増幅して内蔵のスピーカから放音する。   The sound source 206 generates digital musical sound waveform data based on the sound generation instruction data input from the CPU 201 while controlling the velocity, and outputs it to the sound system 207. The sound system 207 converts the digital musical sound waveform data input from the sound source 206 into an analog musical sound waveform signal, amplifies the analog musical sound waveform signal with a built-in amplifier, and emits the sound from a built-in speaker.

本実施形態による電子楽器100は、後述する図5〜図9のフローチャート等で実現される機能を搭載した制御プログラムをCPU201が実行することで実現される。その制御プログラムは、例えば特には図示しない可搬記録媒体に記録して配布し、あるいは特には図示しない通信インタフェースによりネットワークから取得して、プログラムROM202に記憶できるようにしてもよい。   The electronic musical instrument 100 according to the present embodiment is realized by the CPU 201 executing a control program having functions realized by the flowcharts of FIGS. The control program may be recorded in a portable recording medium (not shown) and distributed, or may be acquired from a network through a communication interface (not shown) and stored in the program ROM 202.

図5は、図4のCPU201がプログラムROM202に記憶された制御プログラムを実行する動作として実現されるメイン処理の処理例を示すフローチャートである。図4のスイッチ部205内の特には図示しない電源スイッチがオンされると、CPU201は、図5のフローチャートで例示されるメイン処理をスタートさせる。   FIG. 5 is a flowchart showing a processing example of a main process realized as an operation in which the CPU 201 in FIG. 4 executes a control program stored in the program ROM 202. When a power switch (not shown) in the switch unit 205 in FIG. 4 is turned on, the CPU 201 starts a main process exemplified by the flowchart in FIG.

CPU201はまず、初期化処理を実行し、ワークRAM203内の変数群の初期化等を行う(ステップS301)。   First, the CPU 201 executes an initialization process, and initializes a variable group in the work RAM 203 (step S301).

その後、CPU201は、ステップS302の鍵盤処理およびステップS303のその他の処理を、繰り返し実行する。ステップS303では、図4のスイッチ部205の操作状態の取込みとそれに対応する処理等が実行される。   Thereafter, the CPU 201 repeatedly executes the keyboard process in step S302 and the other processes in step S303. In step S303, fetching of the operation state of the switch unit 205 in FIG. 4 and processing corresponding thereto are executed.

図6は、図5のステップS302の鍵盤処理の例を示すフローチャートである。   FIG. 6 is a flowchart showing an example of the keyboard process in step S302 of FIG.

まず、CPU201は、図6の鍵盤204の押鍵又は離鍵の状態をスキャンする(ステップS401)。   First, the CPU 201 scans the key depression or key release state of the keyboard 204 in FIG. 6 (step S401).

ステップS401でのスキャンの結果、演奏者による押鍵が発生した場合には、CPU201は、押鍵された鍵のノートナンバーと共に、ベロシティ値velocityを取得し、ワークRAM203内の今回の押鍵のベロシティ値を保持する変数Vnに格納する(ステップS402)。   As a result of the scan in step S 401, if a key depression by the performer occurs, the CPU 201 obtains a velocity value velocity together with the note number of the key depressed, and the velocity of the current key depression in the work RAM 203. The value is stored in the variable Vn that holds the value (step S402).

次に、CPU201は、ワークRAM203内の前回の押鍵時からの時間を保持する変数tの値を参照する。CPU201は、押鍵が発生する毎に、変数tの値を取り込んだ後にこの変数tの値をクリアする。その後、CPU201は、スイッチ部205で演奏者により指定されたテンポと、CPU201内の特には図示しないハードウェアタイマの出力に基づいて、4分音符を480の精度で分解したtickと呼ばれる単位で、割込みを発生させる。この割込みにより、図7のフローチャートで例示されるタイマ処理が実行される。この結果、CPU201は、tickの分解能で、変数tの値を+1ずつインクリメントする(図7のステップS501)。この結果、変数tには、前回の押鍵発生時からの経過時間が保持されることになる。図6の説明に戻り、CPU201は、変数tの値を参照した結果、今回の押鍵と前回の押鍵の時間差tの値が、プログラムROM202に記憶されている予め定められた第1の時間MAX_TIMEより短いか否かを判定する(ステップS403)。   Next, the CPU 201 refers to the value of the variable t that holds the time from the previous key depression in the work RAM 203. The CPU 201 clears the value of the variable t after fetching the value of the variable t every time a key is pressed. After that, the CPU 201 is based on a tempo designated by the performer in the switch unit 205 and an output of a hardware timer (not shown) in the CPU 201, in particular, a unit called “tick” obtained by dividing the quarter note with an accuracy of 480, Generate an interrupt. By this interruption, the timer process illustrated in the flowchart of FIG. 7 is executed. As a result, the CPU 201 increments the value of the variable t by +1 with the resolution of tick (step S501 in FIG. 7). As a result, the variable t holds the elapsed time from the previous key press occurrence. Returning to the description of FIG. 6, the CPU 201 refers to the value of the variable t, and as a result, the value of the time difference t between the current key press and the previous key press is stored in the program ROM 202 in a first predetermined time. It is determined whether it is shorter than MAX_TIME (step S403).

ステップS403の判定がYESならば、CPU201は更に、ワークRAM203に保持されている前回の押鍵のベロシティ値Vpの値が0であるか否かを判定する(ステップS404)。   If the determination in step S403 is YES, the CPU 201 further determines whether or not the value of the velocity value Vp of the previous key press held in the work RAM 203 is 0 (step S404).

ステップS404の判定がNOならば、CPU201は、今回のベロシティ値を修正するための変換処理を実行する(ステップS405)。その後、CPU201は、ステップS406に移行する。   If the determination in step S404 is NO, the CPU 201 executes a conversion process for correcting the current velocity value (step S405). Thereafter, the CPU 201 proceeds to step S406.

ステップS403の判定がNOの場合又はステップS404の判定がYESの場合には、CPU201は、ステップS405は実行せずにステップS406に移行する。ステップS403の判定がNOとなる場合は、今回の押鍵と前回の押鍵の時間差tの値が第1の時間MAX_TIME以上となる場合であって、この場合には、CPU201は、連続した押鍵(連打)では無いと判断して、今回の押鍵のベロシティ値Vnはそのままで発音指示を行うことになる。ステップS404の判定がYESとなる場合は、起動後最初の押鍵でワークRAM203内の前回の押鍵のベロシティ値が0となる場合であり、この場合も、CPU201は、連続した押鍵(連打)では無いと判断して、今回の押鍵のベロシティ値Vnはそのままで発音指示を行うことになる。   If the determination in step S403 is NO or if the determination in step S404 is YES, the CPU 201 proceeds to step S406 without executing step S405. If the determination in step S403 is NO, the value of the time difference t between the current key press and the previous key press is equal to or greater than the first time MAX_TIME. In this case, the CPU 201 continuously presses the key. It is determined that the key is not a key (repeated), and the sound generation instruction is performed with the current key velocity value Vn as it is. If the determination in step S404 is YES, the velocity value of the previous key press in the work RAM 203 becomes 0 by the first key press after activation. In this case as well, the CPU 201 continues the key press (continuous key press). ), The sound generation instruction is performed with the velocity value Vn of the current key depression as it is.

ステップS406において、CPU201は、前回の押鍵のベロシティ値を保持するワークRAM203内の変数Vpに、今回の押鍵のベロシティ値を格納する。   In step S406, the CPU 201 stores the current key pressing velocity value in a variable Vp in the work RAM 203 that holds the previous key pressing velocity value.

その後、CPU201は、ワークRAM203内の変数tの値を0に初期化する(ステップS407)。   Thereafter, the CPU 201 initializes the value of the variable t in the work RAM 203 to 0 (step S407).

最後に、CPU201は、ワークRAM203内の変数Vnに保持されている今回の押鍵のベロシティ値と、図4の鍵盤204から別途取得しているノートナンバーを指定して、図4の音源206に発音指示を行う(ステップS408)。以上の動作により、CPU201は、図6のフローチャートで示される図5のステップS302の鍵盤処理を終了する。   Finally, the CPU 201 designates the velocity value of the current key press held in the variable Vn in the work RAM 203 and the note number separately acquired from the keyboard 204 in FIG. 4 to the sound source 206 in FIG. A pronunciation instruction is given (step S408). With the above operation, the CPU 201 ends the keyboard process in step S302 of FIG. 5 shown in the flowchart of FIG.

次に、図6の変換処理の第1の実施形態(以下「変換処理1」と記載する)について説明する。ここではまず、時間差に応じたベロシティ変動閾値を算出する処理の第1の例として、下記(1)式に示されるように、ワークRAM203内の変数tの値として得られる時間差tに、正値である第1の係数αを乗算した結果に正値である第2の係数βを加算して得た値が、ベロシティ変動閾値として算出される。   Next, a first embodiment (hereinafter referred to as “conversion process 1”) of the conversion process of FIG. 6 will be described. Here, as a first example of processing for calculating a velocity fluctuation threshold corresponding to a time difference, a positive value is added to the time difference t obtained as the value of the variable t in the work RAM 203 as shown in the following equation (1). A value obtained by adding the second coefficient β, which is a positive value, to the result of multiplication by the first coefficient α is calculated as the velocity fluctuation threshold value.

D=F(t)=α×t+β (α>0,β>0) ・・・(1)     D = F (t) = α × t + β (α> 0, β> 0) (1)

この例では、押鍵の間隔が小さいほどベロシティ変動閾値Dが小さくなって、今回のベロシティ値が前回のベロシティ値に近づけられることになる。時間差tが長ければ長いほど遅めの連打を、逆に、時間差tが短ければ短いほど速めの連打を、判定することになる。   In this example, the velocity fluctuation threshold D decreases as the key pressing interval decreases, and the current velocity value approaches the previous velocity value. The longer the time difference t, the slower the repeated hitting, and the shorter the time difference t, the faster the repeated hitting.

次に、変換処理1では、時間差tが所定最大時間MAX_TIMEに比較して短いときに(前述した図6のステップS403参照)、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差の絶対値|Vn−Vp|が、変動度合いとして算出される。そして、この差の絶対値|Vn−Vp|が(1)式で算出されたベロシティ変動閾値Dに比較して大きく、かつベロシティ変動度合いの最大値Dmaxに比較して小さい場合に、差の絶対値|Vn−Vp|がベロシティ変動閾値Dに等しくなるように、今回の押鍵のベロシティ値Vnが修正されて出力される。すなわち、以下の条件でベロシティ値が変換される。   Next, in the conversion process 1, when the time difference t is shorter than the predetermined maximum time MAX_TIME (see step S403 in FIG. 6 described above), the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression. The absolute value | Vn−Vp | When the absolute value | Vn−Vp | of the difference is larger than the velocity fluctuation threshold D calculated by the equation (1) and smaller than the maximum value Dmax of the velocity fluctuation degree, the absolute difference The velocity value Vn of the current key depression is corrected and output so that the value | Vn−Vp | becomes equal to the velocity fluctuation threshold D. That is, the velocity value is converted under the following conditions.

D<|Vn−Vp|<Dmax ・・・(2)
ならば、
D <| Vn−Vp | <Dmax (2)
Then

|Vn−Vp|=D ・・・(3)     | Vn−Vp | = D (3)

上記(2)式の条件判断において、差の絶対値|Vn−Vp|がベロシティ変動閾値D以下の場合は、演奏者が前回の押鍵時と同じ程度のベロシティ値で今回の押鍵を行ったと判定されて、今回のベロシティ値Vnはそのまま修正されずに出力される。また、差の絶対値|Vn−Vp|がベロシティ変動度合いの最大値Dmax以上である場合は、演奏者が意識してベロシティ値を変えたとみなされ、やはり今回のベロシティ値Vnはそのまま修正されずに出力される。   If the absolute value of the difference | Vn−Vp | is equal to or less than the velocity fluctuation threshold D in the condition determination of the above equation (2), the player performs the current key pressing with the same velocity value as the previous key pressing. The current velocity value Vn is output without being corrected. If the absolute value of the difference | Vn−Vp | is equal to or greater than the maximum value Dmax of the velocity fluctuation degree, it is considered that the player has changed the velocity value consciously, and the current velocity value Vn is not corrected as it is. Is output.

ここで、Vn≧Vpの場合には、(2)式は、次式のように書き換えられる。   Here, when Vn ≧ Vp, the equation (2) is rewritten as the following equation.

D<Vn−Vp<Dmax
∴Vp+D<Vn<Vp+Dmax ・・・(4)
D <Vn−Vp <Dmax
∴Vp + D <Vn <Vp + Dmax (4)

上記(4)式が成立するならば、(3)式より、今回のベロシティ値Vnは、次式により修正される。   If the above equation (4) holds, the current velocity value Vn is corrected by the following equation from equation (3).

Vn=Vp+D ・・・(5)     Vn = Vp + D (5)

一方、Vp>Vnの場合には、(2)式は、次式のように書き換えられる。   On the other hand, when Vp> Vn, the equation (2) is rewritten as the following equation.

D<Vp−Vn<Dmax
∴Vp−Dmax<Vn<Vp−D ・・・(6)
D <Vp−Vn <Dmax
∴Vp−Dmax <Vn <Vp−D (6)

上記(6)式が成立するならば、(3)式より、今回のベロシティ値Vnは、次式により修正される。   If the above equation (6) holds, the current velocity value Vn is corrected by the following equation from equation (3).

Vn=Vp−D・・・(7)     Vn = Vp-D (7)

図8は、図6のステップS405の変換処理の詳細例である変換処理1の例を示すフローチャートである。   FIG. 8 is a flowchart illustrating an example of conversion processing 1 which is a detailed example of the conversion processing in step S405 of FIG.

まず、CPU201は、前述した(1)式によりベロシティ変動閾値Dを算出し、ワークRAM203内の同名の変数Dに格納する(ステップS601)。   First, the CPU 201 calculates the velocity fluctuation threshold D by the above-described equation (1) and stores it in the variable D of the same name in the work RAM 203 (step S601).

次に、CPU201は、前回の押鍵のベロシティ値Vpが今回の押鍵のベロシティ値Vnよりも大きいか否か、即ち、Vp>Vnであるか否かを判定する(ステップS602)。   Next, the CPU 201 determines whether or not the previous key pressing velocity value Vp is larger than the current key pressing velocity value Vn, that is, whether or not Vp> Vn (step S602).

ステップS602の判定がNOの場合、即ち、Vn≧Vpである場合には、CPU201は、前述した(4)式の条件が成立するか否かを判定する(ステップS603)。   If the determination in step S602 is NO, that is, if Vn ≧ Vp, the CPU 201 determines whether or not the condition of the above-described expression (4) is satisfied (step S603).

ステップS603の判定がYESならば、CPU201は、前述した(5)式により、今回の押鍵のベロシティ値Vnを修正する(ステップS604)。   If the determination in step S603 is YES, the CPU 201 corrects the velocity value Vn of the current key depression by the above-described equation (5) (step S604).

ステップS603の判定がNOならば、CPU201は、ステップS604の処理はスキップして、今回の押鍵のベロシティ値Vnは修正せずに、そのままとする。   If the determination in step S603 is NO, the CPU 201 skips the process in step S604 and leaves the current key-pressed velocity value Vn unchanged.

以上の処理の後、CPU201は、図8のフローチャートで例示される図6のステップS405の変換処理を終了する。   After the above processing, the CPU 201 ends the conversion processing in step S405 of FIG. 6 exemplified by the flowchart of FIG.

一方、ステップS602の判定がYESの場合、即ち、Vp>Vnである場合には、CPU201は、前述した(6)式の条件が成立するか否かを判定する(ステップS605)。   On the other hand, if the determination in step S602 is YES, that is, if Vp> Vn, the CPU 201 determines whether or not the condition of equation (6) described above is satisfied (step S605).

ステップS605の判定がYESならば、CPU201は、前述した(7)式により、今回の押鍵のベロシティ値Vnを修正する(ステップS606)。   If the determination in step S605 is YES, the CPU 201 corrects the velocity value Vn of the current key depression by the above-described equation (7) (step S606).

ステップS605の判定がNOならば、CPU201は、ステップS606の処理はスキップして、今回の押鍵のベロシティ値Vnは修正せずに、そのままとする。   If the determination in step S605 is NO, the CPU 201 skips the process in step S606 and leaves the current key pressing velocity value Vn unchanged.

以上の処理の後、CPU201は、図8のフローチャートで例示される図6のステップS305の変換処理を終了する。   After the above processing, the CPU 201 ends the conversion processing in step S305 in FIG. 6 illustrated by the flowchart in FIG.

次に、図6の変換処理の第2の実施形態(以下「変換処理2」と記載する)について説明する。ここではまず、時間差に応じたベロシティ変動閾値を算出する処理の第2の例として、下記(8)式に示されるように、ワークRAM203内の変数tの値として得られる時間差tを所定最大時間MAX_TIMEで除算して得た値が、ベロシティ変動閾値Aとして算出される。   Next, a second embodiment (hereinafter referred to as “conversion process 2”) of the conversion process of FIG. 6 will be described. Here, as a second example of the process for calculating the velocity fluctuation threshold according to the time difference, as shown in the following equation (8), the time difference t obtained as the value of the variable t in the work RAM 203 is set to a predetermined maximum time. A value obtained by dividing by MAX_TIME is calculated as the velocity fluctuation threshold A.

A=F(t)=t/MAX_TIME ・・・(8)     A = F (t) = t / MAX_TIME (8)

この第2の例においても、第1の例の場合と同様に、押鍵の間隔が小さいほどベロシティ変動閾値Aが小さくなって、今回のベロシティ値が前回のベロシティ値に近づけられることになる。時間差tが長ければ長いほど遅めの連打を、逆に、時間差tが短ければ短いほど速めの連打を、判定することになる。   Also in the second example, as in the case of the first example, the velocity fluctuation threshold A decreases as the key pressing interval decreases, and the current velocity value approaches the previous velocity value. The longer the time difference t, the slower the repeated hitting, and the shorter the time difference t, the faster the repeated hitting.

次に、変換処理2では、時間差tが所定最大時間MAX_TIMEに比較して短いときに(前述した図6のステップS303参照)、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差の絶対値|Vn−Vp|の前回の押鍵のベロシティ値Vpに対する変動比率|Vn−Vp|/Vpが、変動度合いとして算出される。そして、この変動比率|Vn−Vp|/Vpが(8)式で算出されたベロシティ変動閾値Aに比較して大きく、かつベロシティ変動度合いの最大値Amaxに比較して小さい場合に、変動比率|Vn−Vp|/Vpがベロシティ変動閾値Aに等しくなるように、今回の押鍵のベロシティ値Vnが修正されて出力される。すなわち、以下の条件でベロシティ値が変換される。   Next, in the conversion process 2, when the time difference t is shorter than the predetermined maximum time MAX_TIME (see step S303 in FIG. 6 described above), the current key pressing velocity value Vn and the previous key pressing velocity value Vp. The variation ratio | Vn−Vp | / Vp of the absolute value | Vn−Vp | of the difference between the absolute value | Vn−Vp | and the velocity value Vp of the previous key depression is calculated as the variation degree. When the fluctuation ratio | Vn−Vp | / Vp is larger than the velocity fluctuation threshold A calculated by the equation (8) and smaller than the maximum value Amax of the velocity fluctuation degree, the fluctuation ratio | The velocity value Vn of the current key depression is corrected and outputted so that Vn−Vp | / Vp becomes equal to the velocity fluctuation threshold A. That is, the velocity value is converted under the following conditions.

A<|Vn−Vp|/Vp<Amax ・・・(9)
ならば、
A <| Vn−Vp | / Vp <Amax (9)
Then

|Vn−Vp|/Vp=A ・・・(10)   | Vn−Vp | / Vp = A (10)

上記(9)式のような条件判断により、ベロシティ値の差の値だけではなくベロシティ値自身の値によっても、連打によりベロシティ値を一定に近づけるための閾値の判断基準を変えることが可能となる。   By judging the condition as in the above equation (9), it is possible to change the threshold judgment standard for making the velocity value close to constant by repeated hitting based not only on the velocity value difference value but also on the velocity value itself. .

上記(9)式の条件判断において、変動比率|Vn−Vp|/Vpがベロシティ変動閾値A以下の場合は、演奏者が前回の押鍵時と同じ程度のベロシティ値で今回の押鍵を行ったと判定されて、今回のベロシティ値Vnはそのまま修正されずに出力される。また、差の変動比率|Vn−Vp|/Vpがベロシティ変動度合いの最大値Amax以上である場合は、演奏者が意識してベロシティ値を変えたとみなされ、やはり今回のベロシティ値Vnはそのまま修正されずに出力される。   If the variation ratio | Vn−Vp | / Vp is equal to or less than the velocity variation threshold A in the condition determination of the above equation (9), the player performs the current key depression with the same velocity value as the previous key depression. The current velocity value Vn is output without being corrected. Also, if the difference fluctuation ratio | Vn−Vp | / Vp is equal to or greater than the maximum velocity fluctuation degree Amax, it is considered that the player has changed the velocity value consciously, and the current velocity value Vn is corrected as it is. Is output without any changes.

ここで、Vn≧Vpの場合には、(9)式は、次式のように書き換えられる。   Here, when Vn ≧ Vp, the equation (9) is rewritten as the following equation.

A<Vn−Vp/Vp<Amax
∴AVp+Vp<Vn<AmaxVp+Vp
∴(1+A)Vp<Vn<(1+Amax)Vp ・・・(11)
A <Vn−Vp / Vp <Amax
∴AVp + Vp <Vn <AmaxVp + Vp
∴ (1 + A) Vp <Vn <(1 + Amax) Vp (11)

上記(11)式が成立するならば、(10)式より、今回のベロシティ値Vnは、次式により修正される。   If the above equation (11) is established, the current velocity value Vn is corrected by the following equation from the equation (10).

(Vn−Vp)/Vp=A
∴Vn−Vp=AVp
∴Vn=AVp+Vp
∴Vn=(1+A)Vp ・・・(12)
(Vn−Vp) / Vp = A
∴Vn−Vp = AVp
∴Vn = AVp + Vp
∴Vn = (1 + A) Vp (12)

一方、Vp>Vnの場合には、(9)式は、次式のように書き換えられる。   On the other hand, when Vp> Vn, the equation (9) is rewritten as the following equation.

A<Vp−Vn/Vp<Amax
∴AVp−Vp<−Vn<AmaxVp−Vp
∴Vp−AmaxVp<Vn<Vp−AVp
∴(1−Amax)Vp<Vn<(1−A)Vp ・・・(13)
A <Vp−Vn / Vp <Amax
∴AVp−Vp <−Vn <AmaxVp−Vp
∴Vp−AmaxVp <Vn <Vp−AVp
∴ (1-Amax) Vp <Vn <(1-A) Vp (13)

上記(13)式が成立するならば、(10)式より、今回のベロシティ値Vnは、次式により修正される。   If the above expression (13) is established, the current velocity value Vn is corrected by the following expression from the expression (10).

(Vp−Vn)/Vp=A
∴Vp−Vn=AVp
∴Vn=Vp−AVp
∴Vn=(1−A)Vp ・・・(14)
(Vp−Vn) / Vp = A
∴Vp−Vn = AVp
∴Vn = Vp-AVp
∴Vn = (1-A) Vp (14)

図9は、図6のステップS305の変換処理の詳細例である変換処理2の例を示すフローチャートである。   FIG. 9 is a flowchart illustrating an example of the conversion process 2, which is a detailed example of the conversion process in step S305 of FIG.

まず、CPU201は、前述した(8)式によりベロシティ変動閾値Aを算出し、ワークRAM203内の同名の変数Dに格納する(ステップS701)。   First, the CPU 201 calculates the velocity fluctuation threshold A by the above-described equation (8) and stores it in the variable D of the same name in the work RAM 203 (step S701).

次に、CPU201は、前回の押鍵のベロシティ値Vpが今回の押鍵のベロシティ値Vnよりも大きいか否か、即ち、Vp>Vnであるか否かを判定する(ステップS702)。   Next, the CPU 201 determines whether or not the velocity value Vp of the previous key depression is larger than the velocity value Vn of the current key depression, that is, whether or not Vp> Vn (step S702).

ステップS702の判定がNOの場合、即ち、Vn≧Vpである場合には、CPU201は、前述した(11)式の条件が成立するか否かを判定する(ステップS703)。   If the determination in step S702 is NO, that is, if Vn ≧ Vp, the CPU 201 determines whether or not the condition of the above-described expression (11) is satisfied (step S703).

ステップS703の判定がYESならば、CPU201は、前述した(12)式により、今回の押鍵のベロシティ値Vnを修正する(ステップS704)。   If the determination in step S703 is YES, the CPU 201 corrects the velocity value Vn of the current key depression by the above-described equation (12) (step S704).

ステップS703の判定がNOならば、CPU201は、ステップS704の処理はスキップして、今回の押鍵のベロシティ値Vnは修正せずに、そのままとする。   If the determination in step S703 is no, the CPU 201 skips the process in step S704 and leaves the current key pressing velocity value Vn unchanged.

以上の処理の後、CPU201は、図9のフローチャートで例示される図6のステップS305の変換処理を終了する。   After the above processing, the CPU 201 ends the conversion processing in step S305 of FIG. 6 exemplified by the flowchart of FIG.

一方、ステップS702の判定がYESの場合、即ち、Vp>Vnである場合には、CPU201は、前述した(13)式の条件が成立するか否かを判定する(ステップS705)。   On the other hand, if the determination in step S702 is YES, that is, if Vp> Vn, the CPU 201 determines whether or not the condition of equation (13) described above is satisfied (step S705).

ステップS705の判定がYESならば、CPU201は、前述した(14)式により、今回の押鍵のベロシティ値Vnを修正する(ステップS706)。   If the determination in step S705 is YES, the CPU 201 corrects the velocity value Vn of the current key depression by the above-described equation (14) (step S706).

ステップS705の判定がNOならば、CPU201は、ステップS706の処理はスキップして、今回の押鍵のベロシティ値Vnは修正せずに、そのままとする。   If the determination in step S705 is NO, the CPU 201 skips the process in step S706 and leaves the current key pressing velocity value Vn unchanged.

以上の処理の後、CPU201は、図9のフローチャートで例示される図6のステップS305の変換処理を終了する。   After the above processing, the CPU 201 ends the conversion processing in step S305 of FIG. 6 exemplified by the flowchart of FIG.

次に、変換処理の第3の実施形態(以下これを「変換処理3」と記載する)について説明する。演奏において、例えば3音が同時に押鍵される場合がある。そのような同時押鍵に続いて今回の押鍵が連打されるような場合には、今回の押鍵のベロシティ値は、その前の同時に押鍵された例えば3音の押鍵の各ベロシティ値に基づいて修正されることが望ましい。また、同時に押鍵される例えば3音については、それらのベロシティ値は修正されないことが望ましい。   Next, a third embodiment of conversion processing (hereinafter referred to as “conversion processing 3”) will be described. In the performance, for example, three sounds may be pressed simultaneously. In the case where the current key press is repeated after such simultaneous key press, the velocity value of the current key press is the velocity value of, for example, three-tone key presses that were simultaneously pressed. It is desirable to be corrected based on Also, for example, three sounds that are simultaneously depressed, it is desirable that their velocity values are not modified.

そこで、変換処理3ではまず、同時発音の状態が検出される。まず、前回の押鍵と今回の押鍵との時間差tが所定最大時間MAX_TIMEよりも短い所定最小時間MIN_TIMEに比較して短いときに、前回の押鍵と今回の押鍵はほぼ同時に押鍵されたと判定される。この場合には、前述したベロシティ値修正処理は実行されずに、今回の押鍵と前回の押鍵に同時発音状態が記録される(同時発音記録処理)。具体的には、例えば図4のCPU201は、ワークRAM203に、同時発音数を保持する変数に、2音が同時発音されたことを示す値2を格納する。さらに、次の押鍵でも同様の条件が成立すれば、CPU201は、ワークRAM203内の同時発音数を保持する変数の値を、値2に対して+1インクリメントして3音が同時発音されたことを示す値3にする。   Therefore, in the conversion process 3, first, the simultaneous sounding state is detected. First, when the time difference t between the previous key press and the current key press is shorter than the predetermined minimum time MIN_TIME shorter than the predetermined maximum time MAX_TIME, the previous key press and the current key press are pressed almost simultaneously. It is determined that In this case, the above-described velocity value correction process is not executed, and the simultaneous sounding state is recorded in the current key press and the previous key press (simultaneous sound recording process). Specifically, for example, the CPU 201 in FIG. 4 stores, in the work RAM 203, a value 2 indicating that two sounds are simultaneously generated in a variable that holds the number of simultaneous sounds. Further, if the same condition is satisfied even at the next key depression, the CPU 201 increments the value of the variable holding the number of simultaneous sounds in the work RAM 203 by +1 with respect to the value 2, and the three sounds are simultaneously sounded. The value 3 indicating.

図10は、前回と今回との押鍵の時間差tが予め定められた第2の時間IN_TIME以下であった場合を示す。この場合は図10(a)に示すように、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpの差如何に係らず、今回の押鍵のベロシティ値Vnは修正されずにそのまま出力される。   FIG. 10 shows a case where the time difference t between key presses of the previous time and this time is equal to or less than a predetermined second time IN_TIME. In this case, as shown in FIG. 10A, the velocity value Vn of the current key press is not corrected regardless of the difference between the velocity value Vn of the current key press and the velocity value Vp of the previous key press. Output as is.

その後、時間差tが所定最大時間MAX_TIMEよりも短いが、前述した所定最小時間MIN_TIMEよりは長くなったときには、前回までの同時発音に続いて連打が行われたと判定される。この場合には、前回の押鍵以前で同時発音状態が連続して記録されている各押鍵の各ベロシティ値から演算して得られるベロシティ値が、前回の押鍵のベロシティ値とされる。例えば、ワークRAM203内の同時発音数を保持する変数の値が3であれば、例えばワークRAM203に保持されている過去3音分のベロシティ値から、新たなベロシティ値が算出される。例えば同時発音された各ベロシティ値の平均値が算出される。或いは、同時発音された各ベロシティ値の中央値が算出される。このようにして算出された新たなベロシティ値が、前回の押鍵のベロシティ値とされる。   Thereafter, when the time difference t is shorter than the predetermined maximum time MAX_TIME but is longer than the predetermined minimum time MIN_TIME, it is determined that repeated hits have been made following the previous simultaneous sounding. In this case, the velocity value obtained by calculating from the velocity values of the respective key presses in which the simultaneous sounding state is continuously recorded before the previous key press is set as the velocity value of the previous key press. For example, if the value of the variable that holds the number of simultaneous sounds in the work RAM 203 is 3, a new velocity value is calculated from the velocity values for the past three sounds held in the work RAM 203, for example. For example, the average value of the velocity values that are simultaneously sounded is calculated. Alternatively, the median value of the velocity values that are simultaneously sounded is calculated. The new velocity value calculated in this way is used as the velocity value of the previous key depression.

図10(b)は、図10(a)の状態から、第2の時間IN_TIME以上経過した時点でさらに新たな押鍵によるベロシティ値Vn‘が取得された場合を示している。このベロシティ値Vn‘を今回の押鍵によるベロシティ値とした場合は、今回の押鍵のベロシティ値Vnと前回の押鍵のベロシティ値Vpとの平均値を前回の押鍵のベロシティ値とみなして、今回の押鍵のベロシティ値Vn‘を修正する。   FIG. 10B shows a case where a velocity value Vn ′ by a new key press is acquired when the second time IN_TIME or more has elapsed from the state of FIG. When this velocity value Vn ′ is the velocity value by the current key depression, the average value of the velocity value Vn of the current key depression and the velocity value Vp of the previous key depression is regarded as the velocity value of the previous key depression. Then, the velocity value Vn ′ of the key depression this time is corrected.

これ以降の動作は、前述した変換処理1又は2と同様である。   The subsequent operations are the same as those of the conversion process 1 or 2 described above.

このようにして、変換処理3では、複数鍵が同時に押鍵される同時発音が行われた場合であっても、連打時のベロシティ値を適切に修正することが可能となる。   In this way, in the conversion process 3, it is possible to appropriately correct the velocity value at the time of repeated hitting even when simultaneous sound is generated by simultaneously pressing a plurality of keys.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
発音指示が入力される毎にベロシティ値を取得するベロシティ取得処理と、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得する時間差取得処理と、
前記取得された時間差が第1の時間差を越えない場合でかつ、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正するベロシティ修正処理と、
を実行する処理部と、
を有するベロシティ修正装置。
(付記2)
前記処理部は、前記ベロシティ修正処理において、前記取得された時間差が前記第1の時間差を越えない場合、前記取得された差分値が前記第1の差分ベロシティの変動閾値以下である場合及び前記取得された差分値が前記第1の差分ベロシティの最大変動閾値以上である場合の少なくとも一方の場合は、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行する付記1に記載のベロシティ修正装置。
(付記3)
前記処理部は、前記ベロシティ修正処理において、前記第1の発音指示の入力により取得されたベロシティ値が前記第2の発音指示の入力により取得されたベロシティ値より大きい場合は、前記第1の発音指示の入力により取得されたベロシティ値を、前記第2の発音指示の入力により取得されたベロシティ値に前記第1の差分ベロシティの変動閾値を加算した値に修正する一方、前記第1の発音指示の入力により取得されたベロシティ値が前記第2の発音指示の入力により取得されたベロシティより小さい場合は、前記第1の発音指示の入力により取得されたベロシティ値を、前記第2の発音指示の入力により取得されたベロシティから前記第1の差分ベロシティの変動閾値を減算した値に修正する処理を実行する、付記1または2に記載のベロシティ修正装置。
(付記4)
前記処理部はさらに、前記取得された時間差が前記第1の時間差を越えない場合に、前記取得された時間差に基づいて、前記変動閾値を決定するベロシティ変動閾値決定処理を実行する、付記1乃至3のいずれかに記載のベロシティ修正装置。
(付記5)
前記処理部は、前記ベロシティ変動閾値決定処理において、前記取得された時間差が小さくなるに従って、値の小さくなるベロシティ変動係数を取得する処理を実行する、付記4に記載のベロシティ修正装置。
(付記6)
前記処理部は、前記ベロシティ変動閾値決定処理において、前記変動閾値に対して前記ベロシティ変動係数を乗算する処理を実行する、付記5に記載のベロシティ修正装置。
(付記7)
前記処理部は、前記ベロシティ変動閾値決定処理において、前記ベロシティ変動閾値に対して前記ベロシティ変動閾値を加算する処理を実行する、付記5に記載のベロシティ修正装置。
(付記8)
前記処理部は、前記時間差取得処理において、前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとして、前記第1の発音指示の入力より以前でかつ直近の発音指示入力のタイミングを取得する、付記1乃至7のいずれかに記載のベロシティ修正装置。
(付記9)
前記処理部は、前記ベロシティ修正処理において、前記取得された時間差が予め定められた第2の時間差より小さい場合は、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行する、付記1乃至8のいずれかに記載のベロシティ修正装置。
(付記10)
前記処理部は、前記ベロシティ修正処理において、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行した後、前記予め定められた第2の時間差より短い時間差で新たな発音指示の入力があった場合は、前記新たな発音指示の入力により取得されたベロシティ値を、前記第1の発音指示の入力により取得されたベロシティ値と前記第1の発音指示の入力より以前の第2の発音指示の入力により取得されたベロシティ値とに基づいて修正する処理を実行する、付記9に記載のベロシティ修正装置。
(付記11)
前記処理部は、前記ベロシティ修正処理において、前記新たな発音指示の入力により取得されたベロシティ値を、前記第1の発音指示の入力により取得されたベロシティ値と前記第1の発音指示の入力より以前の第2の発音指示の入力により取得されたベロシティ値との平均値に基づいて修正する処理を実行する、付記10に記載のベロシティ修正装置。
(付記12)
ベロシティ修正装置が、
発音指示が入力される毎にベロシティを取得し、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得し、
前記取得された時間差が第1の時間差を越えない場合に、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分ベロシティ値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正する、ベロシティ修正方法。
(付記13)
ベロシティ修正装置として用いられるコンピュータに、
発音指示が入力される毎にベロシティを取得するベロシティ取得ステップと、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得する時間差取得ステップと、
前記取得された時間差が第1の時間差を越えない場合に、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正するベロシティ修正ステップと、
を実行させるプログラム。
(付記14)
付記1に記載のベロシティ修正装置と、
前記ベロシティ修正装置に対して、発音指示を供給する発音指示部と、
前記ベロシティ修正装置により修正されたベロシティ値に基づいた楽音を生成する音源と、
を有する電子楽器。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A velocity acquisition process for acquiring a velocity value every time a pronunciation instruction is input;
A time difference acquisition process for acquiring a time difference between the input timing of the first sound generation instruction and the input timing of the second sound generation instruction before the input of the first sound generation instruction;
The difference value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction when the acquired time difference does not exceed the first time difference Is equal to or greater than the fluctuation threshold of the first differential velocity, the velocity value acquired by the input of the first sounding instruction is corrected based on the velocity value acquired by the input of the second sounding instruction. Velocity correction processing,
A processing unit for executing
Velocity correction device.
(Appendix 2)
The processing unit, in the velocity correction process, when the acquired time difference does not exceed the first time difference, when the acquired difference value is equal to or less than a fluctuation threshold of the first differential velocity, and the acquisition Additional processing 1 for executing the process of outputting the velocity value obtained by the input of the first sound generation instruction as it is in at least one of the cases where the obtained difference value is not less than the maximum variation threshold value of the first difference velocity The velocity correction device described in 1.
(Appendix 3)
In the velocity correction process, when the velocity value acquired by the input of the first sound generation instruction is larger than the velocity value acquired by the input of the second sound generation instruction, the processing unit performs the first sound generation. The velocity value acquired by inputting the instruction is corrected to a value obtained by adding the fluctuation threshold value of the first differential velocity to the velocity value acquired by inputting the second sounding instruction, while the first sounding instruction When the velocity value obtained by inputting the second sounding instruction is smaller than the velocity obtained by inputting the second sounding instruction, the velocity value obtained by inputting the first sounding instruction is set to the second sounding instruction. The supplementary note 1 or 2, wherein a process of correcting a value obtained by subtracting a fluctuation threshold value of the first differential velocity from a velocity acquired by input is performed. Velocity correction device.
(Appendix 4)
The processing unit further executes a velocity fluctuation threshold determination process for determining the fluctuation threshold based on the acquired time difference when the acquired time difference does not exceed the first time difference. 4. The velocity correcting device according to any one of 3 above.
(Appendix 5)
The velocity correction apparatus according to appendix 4, wherein the processing unit executes a process of acquiring a velocity fluctuation coefficient that decreases as the acquired time difference decreases in the velocity fluctuation threshold determination process.
(Appendix 6)
The velocity correction apparatus according to appendix 5, wherein the processing unit executes a process of multiplying the fluctuation threshold by the velocity fluctuation coefficient in the velocity fluctuation threshold determination process.
(Appendix 7)
The velocity correction apparatus according to appendix 5, wherein the processing unit executes a process of adding the velocity fluctuation threshold to the velocity fluctuation threshold in the velocity fluctuation threshold determination process.
(Appendix 8)
In the time difference acquisition process, the processing unit inputs a sounding instruction input before and immediately before the input of the first sounding instruction as the input timing of the second sounding instruction before the input of the first sounding instruction. The velocity correction apparatus according to any one of appendices 1 to 7, wherein the timing is acquired.
(Appendix 9)
The processing unit, in the velocity correction processing, when the acquired time difference is smaller than a predetermined second time difference, processing to output the velocity value acquired by inputting the first sound generation instruction as it is The velocity correction apparatus according to any one of appendices 1 to 8, which is executed.
(Appendix 10)
In the velocity correction process, the processing unit performs a process of outputting the velocity value obtained by the input of the first sound generation instruction as it is, and then performs a new time difference shorter than the predetermined second time difference. When a pronunciation instruction is input, the velocity value acquired by the input of the new pronunciation instruction is changed to the velocity value acquired by the input of the first pronunciation instruction and the input of the first pronunciation instruction. The velocity correction apparatus according to appendix 9, wherein a correction process is executed based on the velocity value acquired by inputting the second pronunciation instruction.
(Appendix 11)
In the velocity correction process, the processing unit obtains a velocity value acquired by inputting the new sounding instruction from a velocity value acquired by inputting the first sounding instruction and the input of the first sounding instruction. The velocity correction apparatus according to appendix 10, wherein a correction process is executed based on an average value with a velocity value acquired by inputting a previous second sound generation instruction.
(Appendix 12)
Velocity correction device
Every time a pronunciation instruction is input, the velocity is acquired,
Obtaining the time difference between the input timing of the first pronunciation instruction and the input timing of the second pronunciation instruction before the input of the first pronunciation instruction;
If the acquired time difference does not exceed the first time difference, the difference velocity value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction Is equal to or greater than the fluctuation threshold of the first differential velocity, the velocity value acquired by the input of the first sounding instruction is corrected based on the velocity value acquired by the input of the second sounding instruction. , Velocity correction method.
(Appendix 13)
In a computer used as a velocity correction device,
A velocity acquisition step for acquiring a velocity each time a pronunciation instruction is input;
A time difference acquisition step of acquiring a time difference between the input timing of the first sound generation instruction and the input timing of the second sound generation instruction before the input of the first sound generation instruction;
When the acquired time difference does not exceed the first time difference, a difference value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction is Velocity for correcting the velocity value acquired by the input of the first sounding instruction based on the velocity value acquired by the input of the second sounding instruction when the first differential velocity is not less than the fluctuation threshold value. Correction steps;
A program that executes
(Appendix 14)
The velocity correction device according to attachment 1,
A sound generation instruction unit that supplies a sound generation instruction to the velocity correction device;
A sound source that generates a musical sound based on the velocity value corrected by the velocity correcting device;
Electronic musical instrument with

100 電子楽器
201 CPU
202 プログラムROM
203 ワークRAM
204 鍵盤
205 スイッチ部
206 音源
207 サウンドシステム
100 Electronic musical instrument 201 CPU
202 Program ROM
203 Work RAM
204 Keyboard 205 Switch part 206 Sound source 207 Sound system

Claims (14)

発音指示が入力される毎にベロシティ値を取得するベロシティ取得処理と、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得する時間差取得処理と、
前記取得された時間差が第1の時間差を越えない場合でかつ、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正するベロシティ修正処理と、
を実行する処理部と、
を有するベロシティ修正装置。
A velocity acquisition process for acquiring a velocity value every time a pronunciation instruction is input;
A time difference acquisition process for acquiring a time difference between the input timing of the first sound generation instruction and the input timing of the second sound generation instruction before the input of the first sound generation instruction;
The difference value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction when the acquired time difference does not exceed the first time difference Is equal to or greater than the fluctuation threshold of the first differential velocity, the velocity value acquired by the input of the first sounding instruction is corrected based on the velocity value acquired by the input of the second sounding instruction. Velocity correction processing,
A processing unit for executing
Velocity correction device.
前記処理部は、前記ベロシティ修正処理において、前記取得された時間差が前記第1の時間差を越えない場合、前記取得された差分値が前記第1の差分ベロシティの変動閾値以下である場合及び前記取得された差分値が前記第1の差分ベロシティの最大変動閾値以上である場合の少なくとも一方の場合は、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行する請求項1に記載のベロシティ修正装置。   The processing unit, in the velocity correction process, when the acquired time difference does not exceed the first time difference, when the acquired difference value is equal to or less than a fluctuation threshold of the first differential velocity, and the acquisition The process of outputting the velocity value acquired by the input of the first sound generation instruction as it is is executed in at least one of the cases where the obtained difference value is not less than the maximum variation threshold value of the first difference velocity. The velocity correction apparatus according to 1. 前記処理部は、前記ベロシティ修正処理において、前記第1の発音指示の入力により取得されたベロシティ値が前記第2の発音指示の入力により取得されたベロシティ値より大きい場合は、前記第1の発音指示の入力により取得されたベロシティ値を、前記第2の発音指示の入力により取得されたベロシティ値に前記第1の差分ベロシティの変動閾値を加算した値に修正する一方、前記第1の発音指示の入力により取得されたベロシティ値が前記第2の発音指示の入力により取得されたベロシティより小さい場合は、前記第1の発音指示の入力により取得されたベロシティ値を、前記第2の発音指示の入力により取得されたベロシティから前記第1の差分ベロシティの変動閾値を減算した値に修正する処理を実行する、請求項1または2に記載のベロシティ修正装置。   In the velocity correction process, when the velocity value acquired by the input of the first sound generation instruction is larger than the velocity value acquired by the input of the second sound generation instruction, the processing unit performs the first sound generation. The velocity value acquired by inputting the instruction is corrected to a value obtained by adding the fluctuation threshold value of the first differential velocity to the velocity value acquired by inputting the second sounding instruction, while the first sounding instruction When the velocity value obtained by inputting the second sounding instruction is smaller than the velocity obtained by inputting the second sounding instruction, the velocity value obtained by inputting the first sounding instruction is set to the second sounding instruction. 3. The process according to claim 1, wherein a process of correcting a value obtained by subtracting a fluctuation threshold value of the first differential velocity from a velocity acquired by input is executed. Velocity correction device. 前記処理部はさらに、前記取得された時間差が前記第1の時間差を越えない場合に、前記取得された時間差に基づいて、前記変動閾値を決定するベロシティ変動閾値決定処理を実行する、請求項1乃至3のいずれかに記載のベロシティ修正装置。   The processing unit further executes a velocity fluctuation threshold determination process for determining the fluctuation threshold based on the acquired time difference when the acquired time difference does not exceed the first time difference. 4. The velocity correction device according to any one of items 1 to 3. 前記処理部は、前記ベロシティ変動閾値決定処理において、前記取得された時間差が小さくなるに従って、値の小さくなるベロシティ変動係数を取得する処理を実行する、請求項4に記載のベロシティ修正装置。   The velocity correction apparatus according to claim 4, wherein the processing unit executes a process of acquiring a velocity fluctuation coefficient that decreases in value as the acquired time difference decreases in the velocity fluctuation threshold determination process. 前記処理部は、前記ベロシティ変動閾値決定処理において、前記変動閾値に対して前記ベロシティ変動係数を乗算する処理を実行する、請求項5に記載のベロシティ修正装置。   The velocity correction apparatus according to claim 5, wherein the processing unit executes a process of multiplying the fluctuation threshold by the velocity fluctuation coefficient in the velocity fluctuation threshold determination process. 前記処理部は、前記ベロシティ変動閾値決定処理において、前記ベロシティ変動閾値に対して前記ベロシティ変動閾値を加算する処理を実行する、請求項5に記載のベロシティ修正装置。   The velocity correction apparatus according to claim 5, wherein the processing unit executes a process of adding the velocity fluctuation threshold to the velocity fluctuation threshold in the velocity fluctuation threshold determination process. 前記処理部は、前記時間差取得処理において、前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとして、前記第1の発音指示の入力より以前でかつ直近の発音指示入力のタイミングを取得する、請求項1乃至7のいずれかに記載のベロシティ修正装置。   In the time difference acquisition process, the processing unit inputs a sounding instruction input before and immediately before the input of the first sounding instruction as the input timing of the second sounding instruction before the input of the first sounding instruction. The velocity correction apparatus according to claim 1, wherein the timing is acquired. 前記処理部は、前記ベロシティ修正処理において、前記取得された時間差が予め定められた第2の時間差より小さい場合は、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行する、請求項1乃至8のいずれかに記載のベロシティ修正装置。   The processing unit, in the velocity correction processing, when the acquired time difference is smaller than a predetermined second time difference, processing to output the velocity value acquired by inputting the first sound generation instruction as it is The velocity correction device according to claim 1, wherein the velocity correction device is executed. 前記処理部は、前記ベロシティ修正処理において、前記第1の発音指示の入力により取得されたベロシティ値をそのまま出力する処理を実行した後、前記予め定められた第2の時間差より短い時間差で新たな発音指示の入力があった場合は、前記新たな発音指示の入力により取得されたベロシティ値を、前記第1の発音指示の入力により取得されたベロシティ値と前記第1の発音指示の入力より以前の第2の発音指示の入力により取得されたベロシティ値とに基づいて修正する処理を実行する、請求項9に記載のベロシティ修正装置。   In the velocity correction process, the processing unit performs a process of outputting the velocity value obtained by the input of the first sound generation instruction as it is, and then performs a new time difference shorter than the predetermined second time difference. When a pronunciation instruction is input, the velocity value acquired by the input of the new pronunciation instruction is changed to the velocity value acquired by the input of the first pronunciation instruction and the input of the first pronunciation instruction. The velocity correction apparatus according to claim 9, wherein a correction process is executed based on a velocity value acquired by inputting the second pronunciation instruction. 前記処理部は、前記ベロシティ修正処理において、前記新たな発音指示の入力により取得されたベロシティ値を、前記第1の発音指示の入力により取得されたベロシティ値と前記第1の発音指示の入力より以前の第2の発音指示の入力により取得されたベロシティ値との平均値に基づいて修正する処理を実行する、請求項10に記載のベロシティ修正装置。   In the velocity correction process, the processing unit obtains a velocity value acquired by inputting the new sounding instruction from a velocity value acquired by inputting the first sounding instruction and the input of the first sounding instruction. The velocity correction apparatus according to claim 10, wherein a correction process is executed based on an average value with a velocity value acquired by inputting a previous second sound generation instruction. ベロシティ修正装置が、
発音指示が入力される毎にベロシティを取得し、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得し、
前記取得された時間差が第1の時間差を越えない場合に、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分ベロシティ値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正する、ベロシティ修正方法。
Velocity correction device
Every time a pronunciation instruction is input, the velocity is acquired,
Obtaining the time difference between the input timing of the first pronunciation instruction and the input timing of the second pronunciation instruction before the input of the first pronunciation instruction;
If the acquired time difference does not exceed the first time difference, the difference velocity value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction Is equal to or greater than the fluctuation threshold of the first differential velocity, the velocity value acquired by the input of the first sounding instruction is corrected based on the velocity value acquired by the input of the second sounding instruction. , Velocity correction method.
ベロシティ修正装置として用いられるコンピュータに、
発音指示が入力される毎にベロシティを取得するベロシティ取得ステップと、
第1の発音指示の入力のタイミングと前記第1の発音指示の入力より以前の第2の発音指示の入力のタイミングとの時間差を取得する時間差取得ステップと、
前記取得された時間差が第1の時間差を越えない場合に、前記第1の発音指示の入力により取得されたベロシティ値と前記第2の発音指示の入力により取得されたベロシティ値との差分値が、第1の差分ベロシティの変動閾値以上である場合に、前記第1の発音指示の入力により取得されたベロシティ値を前記第2の発音指示の入力により取得されたベロシティ値に基づいて修正するベロシティ修正ステップと、
を実行させるプログラム。
In a computer used as a velocity correction device,
A velocity acquisition step for acquiring a velocity each time a pronunciation instruction is input;
A time difference acquisition step of acquiring a time difference between the input timing of the first sound generation instruction and the input timing of the second sound generation instruction before the input of the first sound generation instruction;
When the acquired time difference does not exceed the first time difference, a difference value between the velocity value acquired by the input of the first sounding instruction and the velocity value acquired by the input of the second sounding instruction is Velocity for correcting the velocity value acquired by the input of the first sounding instruction based on the velocity value acquired by the input of the second sounding instruction when the first differential velocity is not less than the fluctuation threshold value. Correction steps;
A program that executes
請求項1に記載のベロシティ修正装置と、
前記ベロシティ修正装置に対して、発音指示を供給する発音指示部と、
前記ベロシティ修正装置により修正されたベロシティ値に基づいた楽音を生成する音源と、
を有する電子楽器。
A velocity correcting device according to claim 1;
A sound generation instruction unit that supplies a sound generation instruction to the velocity correction device;
A sound source that generates a musical sound based on the velocity value corrected by the velocity correcting device;
Electronic musical instrument with
JP2016056191A 2016-03-18 2016-03-18 Velocity correction device, velocity correction method, program, and electric musical instrument Pending JP2017173383A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016056191A JP2017173383A (en) 2016-03-18 2016-03-18 Velocity correction device, velocity correction method, program, and electric musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016056191A JP2017173383A (en) 2016-03-18 2016-03-18 Velocity correction device, velocity correction method, program, and electric musical instrument

Publications (1)

Publication Number Publication Date
JP2017173383A true JP2017173383A (en) 2017-09-28

Family

ID=59971984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056191A Pending JP2017173383A (en) 2016-03-18 2016-03-18 Velocity correction device, velocity correction method, program, and electric musical instrument

Country Status (1)

Country Link
JP (1) JP2017173383A (en)

Similar Documents

Publication Publication Date Title
JP6391265B2 (en) Electronic keyboard instrument
JP6485185B2 (en) Singing sound synthesizer
EP3010013A2 (en) Phoneme information synthesis device, voice synthesis device, and phoneme information synthesis method
JP2020003536A (en) Learning device, automatic music transcription device, learning method, automatic music transcription method and program
CN107430848B (en) Sound control device, sound control method, and computer-readable recording medium
US11694665B2 (en) Sound source, keyboard musical instrument, and method for generating sound signal
JP2019200390A (en) Automatic performance apparatus and automatic performance program
JP5188863B2 (en) Electronic musical instruments
US11749239B2 (en) Electronic wind instrument, electronic wind instrument controlling method and storage medium which stores program therein
JP6822578B2 (en) Electronic musical instrument
US11749242B2 (en) Signal processing device and signal processing method
JP2001215965A (en) Device and method for touch control
JP6326976B2 (en) Electronic musical instrument, pronunciation control method for electronic musical instrument, and program
JP2017173383A (en) Velocity correction device, velocity correction method, program, and electric musical instrument
EP3757984A1 (en) Electronic musical instrument, method and program
JP2015200685A (en) Attack position detection program and attack position detection device
JP2021081601A (en) Musical sound information output device, musical sound generation device, musical sound information generation method, and program
JP6410345B2 (en) Sound preview apparatus and program
JP7414048B2 (en) Program, information processing device, performance evaluation system, and performance evaluation method
JPWO2019003350A1 (en) Singing sound generation device and method, program
JP3416957B2 (en) Electronic musical instrument
JP6305275B2 (en) Voice assist device and program for electronic musical instrument
JP3797356B2 (en) Electronic musical instruments
JP2016038544A (en) Touch detection device, method and program and electronic musical instrument
JP3843800B2 (en) Touch control device and touch control method