Information processing apparatus, method, and recording medium

By introducing random number generation and parameter processing into electronic musical instruments, the pitch of musical notes can be dynamically adjusted, solving the problem of unnatural pitch in electronic musical instruments and achieving a more natural musical sound performance.

CN115938333BActive Publication Date: 2026-04-14CASIO COMPUTER CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CASIO COMPUTER CO LTD
Filing Date
2022-09-20
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing electronic musical instruments struggle to produce musical sounds at accurate pitches, resulting in unnatural-sounding music, especially compared to acoustic instruments, which lack a sense of naturalness.

Method used

By introducing random number generation and parameter processing into electronic musical instruments, the pitch of musical sounds can be dynamically adjusted to simulate the pitch shift characteristics of acoustic musical instruments, thereby achieving a more natural musical sound.

Benefits of technology

By appropriately shifting the pitch of musical notes, the playing of electronic instruments is made closer to the natural performance of acoustic instruments, enhancing the naturalness and realism of the performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115938333B_ABST
    Figure CN115938333B_ABST
Patent Text Reader

Abstract

An information processing apparatus includes an input interface and at least one processor. The at least one processor selects at least one musical instrument via the input interface, acquires a parameter value corresponding to the selected musical instrument, generates a random number based on a random function, and changes a pitch of a musical sound emitted based on musical sound data based on the generated random number and the parameter value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosure of this specification relates to information processing apparatus, methods, and recording media. Background Technology

[0002] Electronic musical instruments with multiple keys are known. For example, the specific structure of such an electronic musical instrument is described in Patent Document 1.

[0003] In the electronic musical instrument described in Japanese Patent Application Publication No. 2008-89975, the playing operation elements, namely keys, are established in a one-to-one correspondence with pitch. Therefore, when a user presses a key, the electronic musical instrument emits a musical tone with an accurate pitch corresponding to the pressed key. Summary of the Invention

[0004] The problem the invention aims to solve

[0005] In contrast, stringed instruments without frets, such as acoustic basses or violins, lack a mechanism equivalent to a keyboard that specifies intervals in semitones. Furthermore, there are instruments like the trumpet or saxophone, which, even with semitone intervals, have pitch variations due to various reasons. Therefore, in such acoustic instruments, it is difficult to produce musical notes at precise pitch; they are usually produced at a deviated pitch. Thus, a slight deviation in pitch makes the musical note sound more natural to the human ear. As illustrated in Patent Document 1, when musical notes are produced at precise pitch, a so-called mechanical feel is created, and the musical note sounds unnatural.

[0006] The present invention was made in view of the above circumstances, and its object is to provide an information processing apparatus, method, and recording medium that applies improvements to make the emitted musical sounds closer to natural musical sounds.

[0007] An information processing apparatus according to one embodiment of the present invention includes an input interface and at least one processor. The at least one processor selects at least one musical instrument via the input interface, obtains parameter values ​​corresponding to the selected musical instrument, generates a random number based on a random function, and, based on the generated random number and the parameter values, changes the pitch of a musical tone to be emitted based on musical tone data. Attached Figure Description

[0008] Figure 1 This is a diagram showing the appearance of an electronic musical instrument according to one embodiment of the present invention.

[0009] Figure 2 This is a block diagram illustrating the structure of an electronic musical instrument according to one embodiment of the present invention.

[0010] Figure 3This is a flowchart illustrating the processing of a pitch-changing procedure executed by the processor of an electronic musical instrument in one embodiment of the present invention.

[0011] Figure 4 It means Figure 3 The subroutine for processing step S103.

[0012] Figure 5 This is a diagram illustrating an example of a keyboard pronunciation mapping stored in the RAM of an electronic musical instrument in one embodiment of the present invention.

[0013] Figure 6 This is a diagram showing the parameter values ​​of each parameter stored in the ROM of an electronic musical instrument in one embodiment of the present invention.

[0014] Figure 7 It means Figure 3 The subroutine for processing step S104.

[0015] Figure 8 It is used for explanation Figure 7 A graph showing the range of random numbers generated in the subroutine.

[0016] Figure 9A This is a graph showing the characteristics of the bias correction curve used to apply a bias to the range of random number generation.

[0017] Figure 9B This is a graph showing the characteristics of the bias correction curve used to apply a bias to the range of random number generation.

[0018] Figure 10 It means Figure 3 The subroutine for processing step S105.

[0019] Figure 11 It is a diagram that shows the characteristics of pitch shift of musical notes in relation to playing speed.

[0020] Figure 12A It is a diagram that shows the characteristics of the pitch shift of musical notes corresponding to the playing pitch.

[0021] Figure 12B It is a diagram that shows the characteristics of the pitch shift of musical notes corresponding to the playing pitch.

[0022] Figure 12C It is a diagram that shows the characteristics of the pitch shift of musical notes corresponding to the playing pitch.

[0023] Figure 13 It is a diagram that shows the characteristic of the pitch shift of musical notes corresponding to the intervals of the same pitch as the playing operation.

[0024] Figure 14This diagram illustrates the characteristics of a pitch adjustment knob in an electronic musical instrument according to one embodiment of the present invention.

[0025] Figure 15 It is a graph about the correction speed for correcting pitch deviations in musical tones. Detailed Implementation

[0026] An information processing apparatus according to one embodiment of the present invention will be described in detail with reference to the accompanying drawings.

[0027] Figure 1 This is a diagram showing the appearance of an electronic musical instrument 1, which is an example of an information processing device. Figure 2 This is a block diagram representing the structure of electronic musical instrument 1. For example... Figure 1 and Figure 2 As shown, the electronic musical instrument 1 in this embodiment is an electronic keyboard.

[0028] Typically, when a performer plays a fretless instrument (violin, viola, acoustic bass, fretless electric bass, etc.) or a wind instrument (trumpet, trombone, saxophone, etc.), a more or less identifiable shift in pitch occurs. Additionally, when playing fretted instruments (guitar, etc.), the same pitch shift sometimes occurs. Furthermore, in this instruction manual, "pitch shift" refers to the error relative to a reference pitch. The reference pitch is, for example, the accurate pitch on the sheet music.

[0029] The pitch shifts when playing the acoustic instruments exemplified above tend to exhibit the following characteristics: For example, in string instruments, there is a tendency for the pitch shift to be greater in the higher register. In wind instruments and the human voice, there is a tendency to be unable to fully lower the volume in the lower register or fully raise the volume in the higher register. There is a tendency for the pitch shift to be greater the faster the playing speed. There is a tendency for the pitch difference between the repeated playing of the same note and the previous note to decrease. Depending on the instrument, the distribution of pitch shifts may be closer to the higher register or closer to the lower register. There is a tendency for the speed of pitch correction to be faster in the higher register or at faster playing speeds.

[0030] On the other hand, in electronic musical instruments, there is a one-to-one correspondence between the playing controls and the pitch. Therefore, musical sounds are produced at accurate pitches. Because there is no pitch shift as in playing acoustic instruments, electronic instruments sound unnatural and mechanical.

[0031] Therefore, the electronic musical instrument 1 of this embodiment is configured to produce natural musical sounds (e.g., sounds that closely resemble the characteristics of an acoustic instrument) by appropriately shifting the pitch of the musical notes according to the instrument (in other words, the timbre) selected by the operation and the playing method of the performer (user). In the electronic musical instrument 1 of this embodiment, due to the appropriate shift in the reproduced pitch, the performer can play music with a more human-like performance even though the playing operation and the pitch of the electronic musical instrument 1 are established one-to-one.

[0032] Furthermore, the technique of imparting appropriate pitch shifts to musical tones according to the present invention can also be applied to electronic musical instruments other than electronic keyboards.

[0033] The electronic musical instrument 1, as a hardware structure, includes a processor 10, RAM (Random Access Memory) 11, ROM (Read Only Memory) 12, a switch panel 13, input / output interfaces 14, an LCD (Liquid Crystal Display) 15, an LCD controller 16, a keyboard 17, a tone scanner 18, a sound source LSI (Large Scale Integration) 19, a D / A converter 20, an amplifier 21, a speaker 22, a pitch adjustment knob 23, and an A / D converter 24. All components of the electronic musical instrument 1 are connected via a bus 25.

[0034] The processor 10 reads the program and data stored in the ROM 12 and controls the electronic musical instrument 1 in general by using the RAM 11 as the working area.

[0035] The processor 10 is, for example, a single processor or a multi-processor, including at least one processor. In the case of a configuration including multiple processors, the processor 10 can be packaged as a single device or can be composed of multiple devices that are physically separated in the electronic instrument 1.

[0036] The processor 10 includes, as a functional block, a musical instrument selection unit 101 for selecting a musical instrument (timbre); a parameter value acquisition unit 102 for acquiring parameter values ​​corresponding to the selected musical instrument; a random number generation unit 103 for generating random numbers based on a random function; and a pitch modification unit 104 for modifying the pitch of a musical tone emitted based on musical tone data, based on the random number generated by the random number generation unit 103 and the parameter values ​​acquired by the parameter value acquisition unit 102. Through the operation of these functional blocks, the electronic musical instrument 1 can impart an appropriate offset to the pitch of the musical tone to produce a natural musical tone. One embodiment of the present invention implements a method and program by having the functional blocks of the processor 10 perform various processes.

[0037] RAM11 temporarily stores data and programs. RAM11 stores programs and data read from ROM12, as well as data required for communication.

[0038] ROM12 is a non-volatile semiconductor memory such as flash memory, EPROM (Erasable Programmable ROM), or EEPROM (Electrically Erasable Programmable ROM), serving as a secondary or auxiliary storage device. ROM12 stores programs and data used by the processor 10 for various processing tasks, including a pitch-changing program 120 and multiple waveform data 121 (an example of musical tone data).

[0039] In this embodiment, each functional block of the processor 10 is implemented by a pitch-changing program 120 as software. Alternatively, some or all of the functional blocks of the processor 10 may also be implemented by dedicated logic circuits or other hardware.

[0040] In this embodiment, an electronic musical instrument 1 that has musical tone data and is capable of sound production processing is used as an example for explanation, but the information processing apparatus of the present invention is not limited thereto. Information processing apparatuses that do not have musical tone data or do not perform sound production processing are also within the scope of the present invention.

[0041] As an example, information processing devices such as PCs (Personal Computers) capable of implementing the processing of each functional block of processor 10 are also within the scope of this invention. Such an information processing device is structured as follows: it acquires musical tone data from an external source, performs pitch-shifting processing on the acquired musical tone data (i.e., processing of each functional block of processor 10), and outputs the processed musical tone data to an external device for sound production. In other words, any information processing device capable of implementing the processing of each functional block of processor 10, even if it is not an electronic musical instrument, is included within the scope of this invention.

[0042] The switch panel 13 is an example of an input device. When the performer operates the switch panel 13, a signal indicating the operation is output to the processor 10 via the input / output interface 14. The switch panel 13 may be composed of tone switches, buttons, etc., such as mechanical, capacitive non-contact, or membrane switches. The switch panel 13 may also be a touch panel.

[0043] In this embodiment, the performer can select the tone (instrument) emitted by the electronic instrument 1 by operating the switch panel 13. Instruments selectable by operating the switch panel 13 include, for example, a piano, electronic piano, organ, acoustic guitar, electric guitar, acoustic bass, fretless electric bass, fretless guitar, violin, erhu, saxophone, trombone, trumpet, flute, viola, etc. For convenience, the tone selected by operation (including the tone that is in the selection state when the electronic instrument 1 is started) will be referred to as "selected tone" or "selected instrument".

[0044] LCD15 is an example of a display device. LCD15 is driven by LCD controller 16. When LCD controller 16 drives LCD15 according to control signals from processor 10, it displays a picture corresponding to the control signals on LCD15. LCD15 can also be replaced by display devices such as organic EL (Electroluminescence) or LED (Light Emitting Diode). LCD15 can also be a touch panel. In this case, the touch panel can serve as both an input device and a display device.

[0045] Keyboard 17 is a keyboard with multiple white and black keys serving as various playing operations. Each key corresponds to a different pitch. Additionally, in this manual, pitch is sometimes also referred to as tone.

[0046] The tone scanner 18 monitors the key presses and releases on the keyboard. For example, when detecting a player's key press, the tone scanner 18 outputs key event information to the processor 10. The key event information includes information about the pitch (key number) of the key involved in the key press and its velocity (velocity value). The velocity value can also be described as a value representing the intensity of the key press. The key number is sometimes also referred to as the key number, MIDI pitch, or note number.

[0047] The processor 10 instructs the sound source LSI 19 to read the corresponding waveform data 121 from the multiple waveform data 121 stored in the ROM 12. The waveform data 121 to be read is determined by the selected timbre and key event information (i.e., the tone mark of the pressed key and the force value when the key is pressed).

[0048] The sound source LSI 19 generates musical tones based on waveform data read from the ROM 12, according to instructions from the processor 10. The sound source LSI 19 has, for example, 128 generator sections and can simultaneously emit a maximum of 128 musical tones. Furthermore, in this embodiment, the processor 10 and the sound source LSI 19 are configured as separate devices; however, in another embodiment, the processor 10 and the sound source LSI 19 can be configured as a single processor.

[0049] The sound signal of musical tones generated by the sound source LSI19 is converted from digital to digital (DA) by the D / A converter 20, amplified by the amplifier 21, and output to the speaker 22. That is, the electronic musical instrument 1, as an example of an information processing device, has a structure that includes a speaker 22 that emits musical tones.

[0050] The pitch adjustment knob 23 is an example of an input device. When the performer operates the pitch adjustment knob 23, a signal indicating the operation is output to the processor 10 via the A / D converter 24. The processor 10 controls the offset of the pitch to be assigned to the musical tone based on the signal input from the A / D converter 24.

[0051] Figure 3 This is a flowchart illustrating the processing of a pitch-changing procedure 120 executed by processor 10 in one embodiment of the present invention. When a keyboard event is detected, processor 10 begins execution. Figure 3 The flowchart shown illustrates the processing of keyboard events, which are the player's key presses or key releases.

[0052] like Figure 3 As shown, the processor 10 determines whether the detected keyboard event is a key press operation (step S101).

[0053] In the case of a key-off operation (step S101: No), the processor 10 performs a dump process to mute the musical tone of the key-off operation (step S102) and ends the processing of this flowchart.

[0054] When a button is pressed (step S101: Yes), the processor 10 sequentially performs time acquisition processing (step S103), random number acquisition processing (step S104), and pitch offset acquisition processing (step S105). Next, the processor 10 outputs a pronunciation instruction corresponding to the result of the pitch offset acquisition processing in step S105 to the sound source LSI 19 (step S106). Based on this pronunciation instruction, waveform data 121 is read from the generator group of the sound source LSI 19, and musical tone generation processing is performed, producing a musical tone with a pitch offset appropriately assigned according to the timbre (instrument) and the performer's playing style.

[0055] The process involves time acquisition (step S103), random number acquisition (step S104), and pitch offset acquisition (step S105).

[0056] Figure 4 It means Figure 3 The subroutine for obtaining the details of the elapsed time in step S103 is as follows. The processor 10 has a built-in timer. (For example...) Figure 4As shown, the processor 10 obtains the key press time T1 (step S201) from the timer when the key press operation occurred. Time T1 can also be referred to as the time when the keyboard event was detected. For convenience, "the key press operation" will be referred to as the start of execution. Figure 3 The key used for the button operation in the flowchart processing is denoted as the "operation key".

[0057] The processor 10 obtains the tone number of the operation key from the key event information input from the tone scanner 18 (step S202).

[0058] The keyboard pronunciation mapping 111 is stored in RAM11. Figure 5 This represents an example of keyboard pronunciation mapping 111.

[0059] The keyboard pronunciation mapping 111 indicates the pronunciation state, key press timing, and the offset of the preceding pitch for each tone. For example... Figure 5 As shown, in the keyboard articulation map 111, for each key number of the keyboard 17, which has a total of 88 keys corresponding to each tone from A0 to C8, information such as the generator group number (hereinafter referred to as "generator group number"), the last key press time T2, and the element value V3 (details described later) indicating the offset of the immediately preceding pitch are established and maintained in use (during the generation and processing of musical tones). 128 generator groups are assigned generator group numbers from 1 to 128. The keyboard articulation map 111 is updated sequentially according to the key press operation status, the musical tone generation and processing status of each generator group of the sound source LSI 19, and the pitch offset assigned to the musical tone.

[0060] The generator group number corresponding to each key signature and the key press time T2 are set to "-1" during the initialization process when the electronic instrument 1 is started or when the timbre (instrument) is changed. Additionally, the element value V3, described later, is set to "0" during this initialization process. When the generator group number is set to "-1", it indicates that the musical note corresponding to it is not in the sounding period. Figure 5 In the example, the key signature A0 is associated with the generator group number "-1". This means that the musical tone of A0 is not produced. When the key press time T2 is set to "-1", it means that the key with the associated key signature is either being pressed for the first time or has not yet been pressed after the initialization process during system startup or timbre change operation.

[0061] Processor 10 obtains the key press time T2 corresponding to the tone number obtained in step S202 from keyboard pronunciation mapping 111 (step S203).

[0062] Processor 10 determines whether the information obtained in step S203 indicates a key press time T2 (step S204). If the obtained information is "-1" (step S204: No), the operation key indicates that it was pressed for the first time since the initialization process during system startup or tone change operation. In this case, in this embodiment, the elapsed time T3 from the last key press time T2 to the current key press time T1 obtained in step S201 is considered to be infinite. Specifically, processor 10 sets the elapsed time T3 to a settable maximum time and stores it in, for example, RAM 11 (step S205).

[0063] If the information obtained in step S203 indicates the key press time T2 (step S204: Yes), the processor 10 calculates the elapsed time T3 from the key press time T2 to the key press time T1 obtained in step S201, and stores it in, for example, RAM 11 (step S206).

[0064] Processor 10 updates keyboard pronunciation mapping 111. Specifically, processor 10 uses the key press time T1 obtained in step S201 as the previous key press time, and updates the key press time T2 corresponding to the tone mark of the operation key (step S207).

[0065] For example, in stringed instruments, multiple strings are sometimes played simultaneously. In this case, because the strings are physically separated, the timing of the onset of the sound produced by the vibration of each string is not strictly simultaneous. However, for performance purposes, it is preferable to treat it as a single note (e.g., a chord).

[0066] Therefore, processor 10 obtains the key press time T2 immediately preceding the key press time T1 obtained in step S201 from all key press times T2 of the keyboard pronunciation map 111 (step S208), and calculates the elapsed time T4 from the obtained key press time T2 to the current key press time T1 (step S209). Then, processor 10 determines whether the elapsed time T4 is shorter than a predetermined time (a very short time, such as 20 milliseconds) T5 (step S210).

[0067] If the elapsed time T4 is shorter than the predetermined time T5, the sound produced by the key press at the current key press time T1 and the sound produced by the key press at the immediately preceding key press time T2 are treated as simultaneous sounds. Specifically, if the elapsed time T4 is shorter than the predetermined time T5 (step S210: Yes), the processor 10, in order to process these key presses as simultaneous, updates the key press time T2 corresponding to the tone mark of the operation key using the key press time T2 obtained in step S208 (step S211), and ends. Figure 4 Subroutines.

[0068] If the elapsed time T4 is greater than or equal to the specified time T5 (step S210: No), the processor 10 does not update the button press time T2 and ends. Figure 4 Subroutines.

[0069] Figure 6 This represents the parameters and their values ​​(parameter values) used to assign an offset to the pitch of a musical note. As an example, in... Figure 6 The parameter values ​​set for each tone of the acoustic bass, trumpet, violin, and acoustic guitar are shown. The parameter values ​​for each tone are stored, for example, in ROM12.

[0070] like Figure 6 As shown, the parameters include "DEPTH", "TIME_LINK", "KEY_LINK", "KEY_LINK_CURVE", "KEY_LINK_CURVE_DEPTH", "KEY_LINK_CURVE_CENTER_KEY", "REPEAT_LINK", "BIAS", "BIAS_CURVE", "BIAS_CURVE_DEPTH", "BIAS_CURVE_CENTER_KEY", "EG_RATE", "EG_RATE_TIME_LINK", and "EG_RATE_KEY_LINK".

[0071] In order to assign a pitch offset to the musical tone, the following steps are used in the random number acquisition process (step S104) and the pitch offset acquisition process (step S105): Figure 6 The parameter values ​​are shown below. The details of each parameter will be explained below, along with specific descriptions of the random number acquisition process (step S104) and the pitch offset acquisition process (step S105).

[0072] Figure 7 It means Figure 3 The subroutine details the random number acquisition process in step S104. For example... Figure 7 As shown, processor 10 obtains the bias correction value (step S301). The bias correction value is the value of the "bias (BIAS)" used to correct the parameter.

[0073] The "Bias (BIAS)" and bias correction values ​​are explained.

[0074] Depending on the characteristics of the musical instrument and the playing method, the pitch of a musical note can deviate within a certain range. In this embodiment, in order to reproduce such pitch deviations, random numbers are generated based on a random function, and the generated random numbers are used to calculate the pitch offset, as detailed later.

[0075] Here, the tendency for pitch deviation varies depending on the instrument. For example, in fretless instruments like the acoustic bass or wind instruments like the trumpet, the pitch of the musical note (more precisely, the pitch at which the sound begins) tends to be lower than the reference pitch. Therefore, when analyzing the musical notes of such instruments, it can be determined that the pitch deviation is distributed closer to the lower pitch than the reference pitch. On the other hand, in fretted instruments like the acoustic guitar, the pitch of the musical note tends to be higher than the reference pitch. Therefore, when analyzing the musical notes of such instruments, it can be seen that the pitch deviation is distributed closer to the higher pitch than the reference pitch. By calculating the pitch deviation of musical notes in accordance with such a tendency for pitch deviation, the musical notes sound more natural.

[0076] Therefore, in this embodiment, a bias is applied to the range of random numbers generated when calculating the pitch offset of musical notes.

[0077] Figure 8 This is a graph used to illustrate the range of random number generation. In Figure 8 In the graph, the vertical axis represents the degree of bias (in %), and the horizontal axis represents "Bias (BIAS)". The range of the "Bias (BIAS)" parameter value is, for example, from a minimum value of -100 to a maximum value of +100. Figure 8 The shaded area indicates the range of random numbers that can be generated corresponding to the value of the "Bias (BIAS)" parameter. Characteristic data representing the range of random number generation is stored, for example, in ROM12.

[0078] In the case of no bias (i.e., the vertical axis is 0%), the range of generated random numbers is, for example, -1 to +1. When a bias is applied near the high frequencies, the range of generated random numbers is, for example, n1 (n1 > -1) to n2 (n2 > +1). When a bias is applied near the low frequencies, the range of generated random numbers is, for example, m1 (m1 < -1) to m2 (m2 < +1).

[0079] In string instruments, the tendency for pitch deviation doesn't change much when playing high-pitched or low-pitched notes. In contrast, in wind instruments, there's a tendency for the pitch to shift lower than the reference pitch when playing high-pitched notes, and a tendency for the pitch to shift higher than the reference pitch when playing low-pitched notes. Furthermore, the human voice exhibits the same tendencies as wind instruments. By reflecting these tendencies in calculating pitch deviations, the musical sounds more natural.

[0080] Therefore, in this embodiment, a bias correction value is calculated, and the bias of the random number generation range is corrected based on the calculated bias correction value. By correcting the bias according to the playing pitch (the pitch of the key that was pressed this time), the deviation is generated within a more natural range of musical pitch.

[0081] Figure 9A and Figure 9B This is a graph representing the characteristics of the bias correction value (hereinafter referred to as "bias correction curve characteristics"). Figure 9A The parameter value of "Bias Curve (BIAS_CURVE)" represents the bias correction curve characteristics corresponding to A. Figure 9B This represents the parameter value of "Bias Curve (BIAS_CURVE)" and the characteristic of the bias correction curve corresponding to B. Figure 9A , Figure 9B In the graphs, the vertical axis represents the degree of bias correction, and the horizontal axis represents the playing pitch (or, from another perspective, the difference between the reference pitch and the playing pitch). Data on the characteristics of the bias correction curve are stored, for example, in ROM12.

[0082] Figure 9A and Figure 9B The reference pitch of the bias correction curve characteristic is set according to the parameter value of "Bias Curve Center Pitch (BIAS_CURVE_CENTER_KEY)". This reference pitch is the pitch that becomes the center of the bias correction curve characteristic. The range of the parameter value of "Bias Curve Center Pitch (BIAS_CURVE_CENTER_KEY)" is, for example, a minimum value of 0 to a maximum value of 127.

[0083] For example, when the parameter value of "Bias Curve Center Key" is 60, the reference pitch of the bias correction curve characteristic is set to C4. When the parameter value of "Bias Curve" is B, the bias correction is closer to the high notes when the playing pitch is lower than C4, and closer to the low notes when the playing pitch is higher than C4.

[0084] In step S301, the processor 10 obtains the offset correction curve characteristics corresponding to the selected timbre by referring to the parameter values ​​of the "bias curve (BIAS_CURVE)". The processor 10 obtains the parameter values ​​of the "bias curve center key (BIAS_CURVE_CENTER_KEY)" set for the selected timbre and sets a reference key based on the obtained parameter values. The processor 10 calculates the difference between the set reference key and the playing key. This determines the position of the horizontal axis on the offset correction curve characteristics. The processor 10 obtains the value of the vertical axis corresponding to the determined horizontal axis position, that is, the value representing the degree of offset correction, as the offset correction value.

[0085] The processor 10 corrects the parameter value of "Bias (BIAS)" based on the bias correction value obtained in step S301 (step S302).

[0086] Specifically, the processor 10 obtains the parameter value of "Bias Curve Depth" for the selected timbre setting, and multiplies the obtained parameter value by the bias correction value obtained in step S301. Furthermore, "Bias Curve Depth" is a parameter used to adjust the depth (degree) of the bias correction curve characteristics, for example, a minimum value of 0 to a maximum value of 100. Next, the processor 10 obtains the parameter value of "Bias" for the selected timbre setting, multiplies the obtained parameter value by the multiplied bias correction value, and divides it by 100. Thus, the parameter value of "Bias" becomes the value corrected according to the playing pitch.

[0087] The processing content of step S302 is represented by the following formula. Furthermore, in the formula, "bias (BIAS)" means the parameter value of "bias (BIAS)". Other parameters are similarly expressed in the formula.

[0088] Corrected "Bias (BIAS)" = "Bias Curve Depth (BIAS_CURVE_DEPTH)" × Bias Correction Value × "Bias (BIAS)" / 100

[0089] The processor 10 obtains the range of random number generation based on the corrected "bias (BIAS)" parameter value (step S303). Specifically, based on the corrected "bias (BIAS)" parameter value from step S302, characteristic data representing the range of random number generation is determined (refer to...). Figure 8 The processor 10 determines the position of the horizontal axis. The processor 10 obtains the range of the vertical axis corresponding to the determined position of the horizontal axis, that is, the range of random number generation considering the bias.

[0090] Processor 10 generates a random number R within the range obtained in step S303 using a random function (step S304), and then ends the process. Figure 7 The subroutine. That is, in Figure 7 In the subroutine, processor 10 generates a random number R within a range that reflects the tendency of the pitch deviation of the musical tone corresponding to the selected timbre and playing tone. Thus, the pitch of the musical tone deviates within a natural range.

[0091] Figure 10 It means Figure 3 The subroutine for obtaining details of the pitch offset processing in step S105. Figure 11The diagram shows characteristic data representing the pitch shift of musical notes corresponding to elapsed time T4 (hereinafter referred to as "time-dependent pitch shift characteristic data"). Figure 11 In the diagram, the vertical axis represents the degree of pitch shift (the first value representing the pitch shift of the musical tone, hereinafter referred to as the "first pitch shift value"), and the horizontal axis represents the elapsed time T4. The pitch shift characteristic data over time (first characteristic data) is stored, for example, in ROM12 (memory).

[0092] The elapsed time T4 represents the difference between the moment the current key press was performed and the moment the previous key press was performed. That is, the pitch shift characteristic data in time (first characteristic data) represents the pitch shift of the musical note corresponding to the elapsed time T4 (first elapsed time) from the moment the playing operation (key) is operated until the next operation of the playing operation is performed.

[0093] In acoustic musical instruments, the faster the playing speed, the more difficult it is to move the fingers to the precise position to produce the accurate pitch. That is, the faster the playing speed, the easier it is for the pitch of the musical note to deviate. Therefore, as... Figure 11 As shown, the pitch shift increases as the elapsed time T4 decreases.

[0094] Furthermore, there are limits to the playing operation time used to produce different musical tones during performance. It is difficult to play in a way that produces different musical tones in an extremely short elapsed time T4, such as less than 20 milliseconds. Therefore, in the pitch shift characteristic data over time, the pitch shift is a constant maximum value within an extremely short elapsed time T4 (20 milliseconds).

[0095] The processor 10 obtains the value for changing the pitch of the musical note based on the first value (first pitch offset value) and the parameter value (time link (TIME_LINK)) (step S401). That is, in step S401, the processor 10 obtains the element value V1 for reproducing the pitch offset corresponding to the playing speed.

[0096] Specifically, processor 10 references Figure 11 Time-varying pitch shift characteristic data, obtained with Figure 4 The processor 10 calculates the first pitch offset value corresponding to the elapsed time T4 in step S209. Next, it obtains the parameter value of the "TIME_LINK" setting for the selected timbre and multiplies the obtained parameter value by the first pitch offset value. Thus, the element value V1 is obtained.

[0097] The "TIME_LINK" parameter ranges from a minimum of 0 to a maximum of 100. For example, instruments (timbres) that are more difficult to produce accurate pitches at faster playing speeds should have a higher "TIME_LINK" parameter value.

[0098] The processing content of step S401 is represented by the following formula.

[0099] Element value V1 = First pitch offset value × "Time link (TIME_LINK)"

[0100] Figures 12A-12C It is a graph representing the characteristic of the pitch shift of musical notes corresponding to the played pitch (hereinafter referred to as "pitch shift curve characteristic"). The pitch shift curve characteristic can also be described as the characteristic of the pitch shift of musical notes corresponding to the pitch.

[0101] Figure 12A This represents the parameter value of "key link curve (KEY_LINK_CURVE)" and the pitch offset curve characteristics corresponding to A. Figure 12B This represents the parameter value of "key link curve (KEY_LINK_CURVE)" and the pitch offset curve characteristics corresponding to B. Figure 12C This represents the parameter value of "key link curve (KEY_LINK_CURVE)" and its relationship to the pitch offset curve characteristic corresponding to C. In Figures 12A-12C In each graph, the vertical axis represents the value of the degree of pitch shift (representing the second value of the pitch shift of the musical tone, hereinafter referred to as the "second pitch shift value"), and the horizontal axis represents the playing pitch (in other views, the difference between the reference pitch and the playing pitch). For example, the data of the pitch shift curve characteristics (second characteristic data) are stored in ROM12.

[0102] The parameter value of "Key Link Curve" (KEY_LINK_CURVE) and the pitch shift curve characteristics corresponding to A represent the characteristics of fretted instruments such as acoustic guitars. Due to the presence of frets, the pitch of musical notes is less prone to shifting in either the high or low registers.

[0103] The pitch shift curve corresponding to the parameter value of "KEY_LINK_CURVE" represents the characteristics of fretless instruments such as basses or violins. In fretless instruments, due to the absence of frets, the pitch of musical notes is more prone to shift compared to fretted instruments. Furthermore, since the higher the pitch (or more precisely, the higher the finger position in the case of stringed instruments), the shorter the vibrating string, the greater the change in string vibration frequency as the finger position shifts. Therefore, the pitch shift curve corresponding to the parameter value of B exhibits the following characteristics: as the pitch range increases, the pitch shift increases exponentially.

[0104] The pitch shift curve characteristic corresponding to the parameter value of "KEY_LINK_CURVE" represents the characteristics of wind instruments or vocals that produce musical tones through breath control. In this case, as the pitch increases, the frequency change of the musical tone accompanying the change in breath also increases. Furthermore, compared to string instruments, wind instruments and vocals have a narrower range. Therefore, there is a tendency for lower pitches to lack the precision of producing musical tones accurately. Taking these factors into consideration, the pitch shift curve characteristic corresponding to the parameter value of C is as follows: the lower the playing pitch is relative to the reference pitch, the greater the pitch shift increases exponentially; conversely, the higher the playing pitch is relative to the reference pitch, the greater the pitch shift increases exponentially.

[0105] Figures 12A-12C The reference pitch of the pitch offset curve characteristic is set based on the parameter value of "Pitch Link Curve Center Pitch (KEY_LINK_CURVE_CENTER_KEY)". The range of the parameter value of "Pitch Link Curve Center Pitch (KEY_LINK_CURVE_CENTER_KEY)" is, for example, a minimum value of 0 to a maximum value of 127.

[0106] For example, with the parameter value of "Key Link Curve Center Pitch (KEY_LINK_CURVE_CENTER_KEY)" at 60, the reference pitch for the pitch offset curve characteristic is set to C4. When the parameter value of "Key Link Curve Center Pitch (KEY_LINK_CURVE_CENTER_KEY)" is C, the pitch increases exponentially with the pitch shifting lower than C4, and also exponentially with the pitch shifting higher than C4.

[0107] Processor 10 obtains a second pitch offset value corresponding to the selected timbre (step S402).

[0108] Specifically, the processor 10 refers to the parameter value of the "key link curve (KEY_LINK_CURVE)" to obtain the pitch offset curve characteristics corresponding to the selected timbre. The processor 10 obtains the parameter value of the "key link curve center key (KEY_LINK_CURVE_CENTER_KEY)" set for the selected timbre, and sets a reference key based on the obtained parameter value. The processor 10 calculates the difference between the set reference key and the performance key. This determines the position of the horizontal axis on the pitch offset curve characteristics. The processor 10 obtains the value of the vertical axis corresponding to the determined horizontal axis position, i.e., the second pitch offset value.

[0109] The processor 10 obtains the pitch value used to change the musical tone based on the second value (second pitch offset value) and parameter values ​​(pitch link curve depth (KEY_LINK_CURVE_DEPTH) and pitch link (KEY_LINK)) (step S403). That is, in step S403, the processor 10 obtains the element value V2 for reproducing the pitch offset corresponding to the played pitch.

[0110] Specifically, the processor 10 obtains the parameter value of "key link curve depth" for the selected timbre setting, and multiplies the obtained parameter value by the second pitch offset value obtained in step S402. Furthermore, "key link curve depth" is a parameter used to adjust the depth (degree) of the pitch offset curve characteristic, for example, a minimum value of 0 to a maximum value of 100. Next, the processor 10 obtains the parameter value of "key link" for the selected timbre setting, multiplies the obtained parameter value by the multiplied second pitch offset value, and divides it by 100. Thus, the element value V2 is obtained.

[0111] The "Key Link" parameter can range from a minimum of 0 to a maximum of 100. For example, for instruments (timbres) whose pitch is more prone to shift due to the range of pitch played, a higher value should be set for the "Key Link" parameter.

[0112] The processing content of step S403 is represented by the following formula.

[0113] Element value V2 = Second pitch offset value × "Pitch link curve depth (KEY_LINK_CURVE_DEPTH)" × "Pitch link (KEY_LINK)" / 100

[0114] The processor 10 obtains the element value V3 for reproducing the playing speed and the offset of the pitch corresponding to the playing tone (step S404).

[0115] Specifically, processor 10 multiplies the element value V1 obtained in step S401 by 100 with the element value V2 obtained in step S403 by 100. To reflect the tendency of pitch deviation corresponding to the selected timbre, processor 10 multiplies this multiplied value with the random number R generated in step S304. Then, processor 10 obtains the parameter value of the "Depth" setting for the selected timbre, multiplies the obtained parameter value by the value multiplied with the random number R, and divides it by 100. Thus, element value V3 is obtained. "Depth" is a parameter used to adjust the playing speed and the depth (degree) of pitch deviation corresponding to the playing tone, for example, a minimum value of 0 to a maximum value of 100.

[0116] The processing content of step S404 is represented by the following formula.

[0117] Feature value V3 = (Feature value V1 / 100) × (Feature value V2 / 100) × Random number R × "Depth" / 100

[0118] Consider the case where a musical note of the same pitch is played twice. When performing the second operation on the same pitch, the less time has elapsed since the first operation (i.e., the elapsed time T3), the more the performer can intuitively remember the finger positions from the first operation. Therefore, the shorter the elapsed time T3, the closer the performer will be to the first finger positions when playing the second note. Thus, there is a tendency for the pitch shift of the second note to be closer to that of the first note as the elapsed time T3 is shorter.

[0119] Figure 13 This is a diagram illustrating the aforementioned tendency, showing the approximate characteristics of pitch relative to the elapsed time T3. The approximate characteristics of pitch indicate how closely the pitch of a second note of the same pitch approaches the pitch of the first note of the same pitch. Figure 13 In the diagram, the vertical axis represents the value of the approximate characteristic (hereinafter referred to as "approximate value"), and the horizontal axis represents the elapsed time T3. A higher approximate value indicates a smaller difference in pitch between the first and second musical notes. A lower approximate value indicates a larger difference in pitch between the first and second musical notes. The data representing the approximate pitch characteristic (third characteristic data) is stored, for example, in ROM12.

[0120] The elapsed time T3 represents the time when the current key press was performed and the time when the key press of the same pitch was performed last time. Therefore, the data representing the approximate characteristic of pitch (third characteristic data) can also be called characteristic data corresponding to the elapsed time T3 (second elapsed time) from the first operation of the playing operation (key) to the second operation of the same playing operation as the first operation, representing the difference between the pitch of the first musical note obtained by the first operation and the pitch of the second musical note obtained by the second operation. Figure 13 The approximate value shown can also be called the value representing the difference mentioned above (the third value).

[0121] The processor 10 obtains the value for changing the pitch of the musical tone based on the third value (approximate value) and the parameter value (REPEAT_LINK) (step S405). That is, in step S405, the processor 10 obtains the element value V4 for reproducing the pitch offset that takes into account the approximation characteristics (step S405).

[0122] Specifically, processor 10 obtains the keystroke mapping from keyboard 111 and... Figure 4 In step S202, the tone number obtained establishes a corresponding element value V3 (i.e., a value used to reproduce the tone of the current key press as the pitch of the previous key press). The processor 10 references data representing the approximate characteristics of pitch and obtains the value corresponding to the tone in the previous key press. Figure 4 The processor 10 obtains an approximate value corresponding to the elapsed time T3 obtained in step S205 or step S206. Then, the processor 10 obtains the parameter value of "REPEAT_LINK" for the selected timbre setting, multiplies the element value V3 and the approximate value by the obtained parameter value, and divides by 100. Thus, the element value V4 is obtained. The parameter value of "REPEAT_LINK" is, for example, a minimum value of 0 to a maximum value of 100.

[0123] The processing content of step S405 is represented by the following formula.

[0124] Feature value V4 = Feature value V3 × Approximate value × "Repeated link" / 100

[0125] Processor 10 updates the feature value V3 registered in keyboard pronunciation mapping 111 (step S406). Specifically, processor 10 uses the feature value V3 obtained in step S404 to update the... Figure 4 The tone mark obtained in step S202 establishes the corresponding element value V3.

[0126] In order to reproduce the pitch offset of the musical tone corresponding to various elements (playing speed, playing pitch, and interval of the same pitch in the playing operation), the processor 10 obtains a pitch offset value V5 (step S407) that represents the pitch offset of the musical tone (more precisely, the pitch at which the sound begins to be emitted).

[0127] Specifically, the processor 10 multiplies the sum of the element value V3 obtained in step S404 and the element value V4 obtained in step S405 by a predetermined adjustment value, and then divides it by 400. This yields the pitch offset value V5.

[0128] The performer can adjust the specified adjustment value (multiplication) by operating the pitch adjustment knob 23. Figure 14 This is a diagram showing the relationship between the magnification and the operating position of the pitch adjustment knob 23. Figure 14 In the diagram, the vertical axis represents the magnification (unit: %), and the horizontal axis represents the operating position of the pitch adjustment knob 23. When the operating position is MIN, the specified magnification is 0%. Therefore, the pitch offset value V5 is the minimum value of zero. The closer the operating position is from MIN (magnification: 0%) to MAX (magnification: 400%), the greater the magnification, and therefore the pitch offset value V5 also increases. Thus, by operating the pitch adjustment knob 23, the performer can adjust the pitch offset of the musical tone of the selected timbre reproduced by the electronic instrument 1.

[0129] The pitch offset value V5 represents the offset at the starting pitch of the sound, taking into account playing speed, pitch, and approximate characteristics. Figure 3 In step S106, the processor 10 changes the pitch of the musical tone emitted based on the waveform data 121 (musical tone data) based on the pitch offset value V5. Specifically, the processor 10 instructs the sound source LSI 19 to add the offset shown by the pitch offset value V5 to the accurate pitch and emit the musical tone. Thus, a natural musical tone is emitted by giving an appropriate pitch offset according to the selected timbre or the performer's playing style.

[0130] The processing content of step S407 is represented by the following formula.

[0131] Pitch offset value V5 = (Element value V3 + Element value V4) × Magnification / 400

[0132] When the performer detects a pitch shift at the start of sound production, they perform a performance operation to correct the shift. This correction means bringing the shifted pitch closer to the reference pitch. To reproduce the performance of correcting this pitch shift, the processor 10 acquires element value V6 (step S408) and element value V7 (step S409), and based on the acquired element values ​​V6 and V7, determines the correction speed for the corrected pitch shift (step S410).

[0133] Specifically, in step S408, the processor 10 obtains the parameter value of the "EG rate time link (EG_RATE_TIME_LINK)" setting for the selected timbre, and multiplies the first pitch offset value obtained in step S401 by the obtained parameter value. Thus, the element value V6 is obtained. The element value V6 represents the correction speed of the pitch offset corresponding to the playing speed.

[0134] The faster the tempo of a piece of music, the more quickly the performer tends to correct pitch deviations. This is because if the correction speed is not increased, the timing of the next note will arrive before the pitch deviation correction is completed. Therefore, by way of example, the higher the value of the "EG_RATE_TIME_LINK" parameter is set for instruments (timbres) that tend to play music with a fast tempo. Furthermore, the value of the "EG_RATE_TIME_LINK" parameter ranges from a minimum of 0 to a maximum of 100.

[0135] The processing content of step S408 is represented by the following formula.

[0136] Element value V6 = First pitch offset value × "EG rate time link (EG_RATE_TIME_LINK)"

[0137] In step S409, the processor 10 obtains the parameter value of the "EG rate key link (EG_RATE_KEY_LINK)" setting for the selected timbre, and multiplies the second pitch offset value obtained in step S402 by the obtained parameter value. Thus, the element value V7 is obtained. The element value V7 represents the correction speed of the pitch offset corresponding to the playing pitch.

[0138] The higher the pitch (or, more precisely, the higher the finger position in the case of stringed instruments), the greater the change in pitch relative to the amount of finger movement when moving the fingers to change finger position (i.e., when the position of the fingers pressing the strings changes). Therefore, there is a tendency for the correction speed for pitch deviations to increase with the pitch of the higher the pitch. Thus, exemplarily, the higher the value (timbre) of an instrument (timbre) with this tendency, the higher the value should be set as the parameter value for "EG Rate Pitch Link (EG_RATE_KEY_LINK)". Furthermore, the parameter value for "EG Rate Pitch Link (EG_RATE_KEY_LINK)" ranges from a minimum of 0 to a maximum of 100.

[0139] The processing content of step S409 is represented by the following formula.

[0140] Element value V7 = Second pitch offset value × "EG rate key link (EG_RATE_KEY_LINK)"

[0141] In step S410, the processor 10 obtains the parameter value of "EG rate (EG_RATE)" for the selected timbre setting. The processor 10 multiplies the value obtained in step S408 (V6) by 100 with the value obtained in step S409 (V7) by 100. This multiplied value represents the playing speed and the correction speed for the pitch shift corresponding to the playing tone. The processor 10 multiplies this multiplied value with the obtained parameter value of "EG rate (EG_RATE)". Thus, the correction speed is obtained.

[0142] "EG Rate (EG_RATE)" is a parameter used to adjust the correction speed for pitch shifts. The parameter value of "EG Rate (EG_RATE)" ranges from a minimum of 0 to a maximum of 100. Figure 15 This is a schematic diagram illustrating the relationship between "EG rate (EG_RATE)" and correction speed. Figure 15 In the diagram, the vertical axis represents pitch (unit: cents), and the horizontal axis represents time.

[0143] like Figure 15 As shown, when the "EG rate (EG_RATE)" parameter value is 0, the correction speed is also 0. In this case, the pitch shift of musical notes is not corrected. The higher the "EG rate (EG_RATE)" parameter value, the faster the correction speed, thus quickly correcting the pitch shift of musical notes.

[0144] The processing content of step S410 is represented by the following formula.

[0145] Correction speed = (Feature value V6 / 100) × (Feature value V7 / 100) × "EG rate (EG_RATE)"

[0146] exist Figure 3 In step S106, the processor 10 changes the pitch of the musical tone emitted based on the waveform data 121 (musical tone data) based on the pitch offset value V5 and the aforementioned correction speed, and corrects the pitch of the changed musical tone. Specifically, the processor 10 instructs the sound source LSI 19 to add the offset represented by the pitch offset value V5 to the accurate pitch, and corrects the musical tone after adding the offset at the correction speed obtained in step S410. Thus, a natural musical tone is emitted with a pitch that has been appropriately offset according to the selected timbre or the performer's playing method, and the pitch offset is corrected at a natural correction speed.

[0147] Thus, according to this embodiment, an electronic musical instrument 1 with an improvement applied to make the emitted musical tone closer to a natural musical tone is provided, a method executed by the electronic musical instrument 1 as a computer, and a pitch-changing program 120 are provided.

[0148] Furthermore, the present invention is not limited to the embodiments described above, and various modifications can be made during the implementation phase without departing from its spirit. Moreover, the functions performed in the above embodiments can be implemented by combining them appropriately as much as possible. The above embodiments include various stages, and various inventions can be extracted through appropriate combinations of the disclosed constituent elements. For example, even if several constituent elements are deleted from all the constituent elements shown in the embodiments, as long as the desired effect is achieved, the structure with the deleted constituent elements can still be extracted as an invention.

[0149] In the above embodiments, a pitch offset corresponding to the pitch offset value V5 (playing speed, playing pitch, and approximation characteristic) is assigned to the musical tone, but the structure of the present invention is not limited thereto. For example, a structure that assigns a pitch offset corresponding to one or two of the playing speed (i.e., element value V1), playing pitch (i.e., element value V2), and approximation characteristic (i.e., element value V4) to the musical tone is also within the scope of the present invention.

[0150] In the above embodiments, the pitch of the musical note is changed based on the playing speed and the playing pitch. More specifically, the pitch of the musical note is corrected at a correction speed corresponding to the playing speed and the playing pitch, but the structure of the present invention is not limited thereto. For example, a structure that corrects the pitch of the musical note at a correction speed corresponding to either the playing speed (i.e., element value V6) or the playing pitch (i.e., element value V7) is also within the scope of the present invention. Incidentally, a structure that changes the pitch of the musical note based on at least one of the playing speed or the playing pitch is also within the scope of the present invention.

Claims

1. An information processing device, wherein, have: Input interface; as well as At least one processor, The at least one processor, Select at least one instrument via the input interface. Obtain the parameter values ​​corresponding to the selected musical instrument. The range of random numbers generated is determined based on the selected musical instrument. The random number is generated based on a random function, using values ​​within the obtained range. The pitch of the musical sound emitted based on the musical sound data is changed based on the generated random number and the parameter value.

2. The information processing apparatus according to claim 1, wherein, The at least one processor, The generated random number is multiplied by the parameter value, and the pitch of the musical note is changed based on the value obtained by multiplication.

3. The information processing apparatus according to claim 1, wherein, It is equipped with a speaker that emits the musical sound.

4. A method for changing the pitch of a musical tone, wherein the method is performed by an information processing device having an input interface and at least one processor, wherein... The at least one processor, Select at least one instrument via the input interface. Obtain the parameter values ​​corresponding to the selected musical instrument. The range of random numbers generated is determined based on the selected musical instrument. The random number is generated based on a random function, using values ​​within the obtained range. Based on the generated random number and the parameter value, the pitch of the musical sound emitted based on the musical sound data is changed.

5. The method for changing the pitch of musical notes according to claim 4, wherein, The at least one processor, The generated random number is multiplied by the parameter value, and the pitch of the musical note is changed based on the value obtained by multiplication.

6. A computer-readable, non-transitory recording medium containing a program. The program causes a computer with an input interface to perform the following steps: Select at least one instrument via the input interface. Obtain the parameter values ​​corresponding to the selected musical instrument. The range of random numbers generated is determined based on the selected musical instrument. The random number is generated based on a random function, using values ​​within the obtained range. The pitch of the musical sound emitted based on the musical sound data is changed based on the generated random number and the parameter value.

Citation Information

Patent Citations

  • Electronic musical instrument

    JP2008089975A

  • Method for determining amount of pitch change, device and program for determining amount of pitch change

    JP2006078513A