The present disclosure relates to a method of modifying data for controlling sounds.
There is a technique of generating a sound waveform signal by performing an automatic performance based on data (hereinafter referred to as sound control data) for controlling a sound generation of MIDI data and the like. In general, speed (tempo) of the automatic performance is defined in the sound control data. That is, when the sound control data is reproduced, performance sounds recorded in the sound control data are played. As disclosed in Japanese Laid-Open Patent Publication No. H8-272362, Japanese Laid-Open Patent Publication No. H9-16169, and Utility Model Registration No. 3227548, a technique for controlling the tempo in accordance with an operation of a user has also been developed. The control of the tempo by the user is realized, for example, by the user shaking a portable device held in a hand like a command rod. Therefore, the performance sounds recorded in the sound control data are not played as it is, but the performance sound whose play speed is modified in accordance with the operation of the user is played.
According to an embodiment of the present disclosure, there is provided a data modification method of controlling sound, the method including providing a selection user interface that allows a user to select a modification mode to be applied to sound control data defining timing information of a sound generation from among a plurality of modification modes including a first modification mode and a second modification mode, modifying the sound control data by correcting the timing information and adding correction information according to an amount of correction of the timing information in a predetermined data section to the predetermined data section, in a state where the first modification mode is selected to be applied, and modifying the sound control data by correcting the timing information based on beat positions according to a predetermined tempo, in the state where the second modification mode is selected to be applied.
According to an embodiment of the present disclosure, there is provided a data modification method of controlling sound, the method including detecting a plurality of beat positions from sound control data defining timing information of sounds recorded with a predetermined tempo, correcting the timing information based on a relationship between the plurality of beat positions and the predetermined tempo, and modifying the sound control data by adding correction information to a predetermined data section according to an amount of correction of the timing information in the predetermined data section.
In some cases, a selected automatic performance is realized by selecting one of an automatic performance in a tempo control by an operation of a user and an automatic performance in a predetermined tempo control. In such a case, it is desirable that sound control data capable of performing tempo control by the operation of the user and sound control data capable of performing predetermined tempo control are generated as common data. Since the sound control data in which a tempo is determined in advance generally exists, it is desirable to modify the sound control data in which the tempo is determined in advance so that the sound control data can also be used as the sound control data capable of performing tempo control by the user.
According to an embodiment of the present disclosure, it is possible to easily modify sound control data in which a performance sounds are recorded into data that enables tempo control by an operation of a user.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The following embodiments are examples, and the present invention should not be construed as being limited to these embodiments. In the drawings referred to in the present embodiment, the same or similar parts are denoted by the same reference signs or similar reference signs (only denoted by A, B, and the like after the numerals), and repetitive description thereof may be omitted.
The portable device 10 can record a performance on the electronic musical instrument 80 and reproduce the recorded performance on the electronic musical instrument 80. In this reproduction, it is possible to select either the reproduction of the recorded performance as it is or the reproduction at a speed according to an operation of a user (for example, an operation of shaking the portable device 10 like a command bar). The portable device 10 generates data corresponding to the recorded performance, and can modify the data so that the data can be used in any of the reproduction described above. A specific process for realizing each of such functions will be described later.
The data management server 90 includes a control unit 910, a storage unit 920, and a communication unit 980. The control unit 910 includes a CPU, a RAM and a ROM. The control unit 910 executes a program stored in the storage unit 920 using the CPU, thereby performing a process according to an instruction described in the program. The storage unit 920 includes a storage device such as a nonvolatile memory or a hard disk drive. The communication unit 980 includes a communication module connected to the networked NW for communicating with other devices. The data management server 90 stores a part of data generated by the portable device 10 in the storage unit 920, and executes processes using the data. The details of a specific process will be described later. In an embodiment, the data management server 90 may not be present.
The control unit 110 is an example of a computer including a processor such as the CPU (Central Processing Unit) and a storage device such as the RAM. The control unit 110 executes a program 121 stored in the storage unit 120 using the CPU (processor), and causes the portable device 10 to realize functions for executing various processes to be described later.
The storage unit 120 is a storage device such as a nonvolatile memory or a hard disk drive. The storage unit 120 stores the program 121 executed by the control unit 110 and various kinds of data necessary for executing the program 121. The program 121 is installed in the portable device 10 by being downloaded from the data managing server 90 or another server through the network NW and being stored in the storage unit 120. The program 121 may be provided in a state of being recorded on a non-transitory computer-readable storage medium (for example, a magnetic storage medium, an optical storage medium, a magneto-optical storage medium, a semiconductor memory, or the like). In this case, the portable device 10 may be provided with a device for reading the storage medium. The storage unit 120 is also an example of the storage medium.
The data stored in the storage unit 120 includes, for example, performance recording data 123. The performance recording data 123 includes various data related to a performance, and includes, for example, metadata such as a name of a performance music and data related to performance sounds. The data related to the performance sounds includes sound control data 125 that defines timing information of a sound generation by the performance. The sound control data 125 is data described in a predetermined format, and is, for example, data described in a MIDI format. In this case, the timing information of the sound generation is information indicating a timing at which the sound is generated, and is indicated by, for example, information such as note-on, note-off, delta time, and tempo. Other information related to the sound generation, for example, information such as pitch (note number) is also included in the sound control data 125.
The display unit 130 is a display having a display region for displaying various images under the control of the control unit 110. The displayed image includes a plurality of user interfaces described later. The operation unit 140 is an operation device that outputs a signal corresponding to an operation of a user to the control unit 110. In this example, the operation unit 140 is a touch sensor provided on the surface of the display unit 130. Therefore, the display unit 130 and the operation unit 140 are used as a touch panel by functions of each other. The operation unit 140 may include a switch or the like disposed in a housing of the portable device 10.
The sensor unit 150 outputs a signal in response to a movement of the portable device 10 to the control unit 110. For example, the sensor unit 150 includes an acceleration sensor, a gyro sensor, and the like, and measures the movement of the portable device 10. The speaker 170 emits a sound by amplifying and outputting a sound waveform signal supplied from the control unit 110.
The communication unit 180 is a wireless communication module that is connected to the network NW and communicates with other devices such as the data managing server 90 connected to the network NW under the control of the control unit 110. The interface 190 includes a communication module for communicating with other devices such as the electronic musical instrument 80 by infrared communication or short-range wireless communication. The interface 190 is used to communicate without via the networked NW. The interface 190 may include a module that performs wired communication instead of the wireless communication.
As described above, the electronic musical instrument 80 is an electronic keyboard device such as an electronic piano, and includes a performance operator 810, a sound source unit 830, a speaker 870, and an interface 890. The performance operator 810 includes a plurality of keys, and outputs a signal in response to an operation on each key to the sound source unit 830. The interface 890 includes a communication module for communicating with an external device wirelessly or by wire. In this example, the interface 890 is connected to the interface 190 of the portable device 10 by short-range wireless communication to transmit and receive data in a predetermined format (in this example, the MIDI format).
The sound source unit 830 includes a DSP (Digital Signal Processor) and generates a sound waveform signal in accordance with a sound instruction signal. The sound instruction signal corresponds to a signal output from the performance operator 810 and data transmitted from the portable device 10 via the interface 890. In addition, the sound source unit 830 converts the sound instruction signal corresponding to the signal output from the performance operator 810 into MIDI format data, and outputs the data to the interface 890. Thus, the electronic musical instrument 80 can also transmit data (hereinafter, sometimes referred to as performance information) corresponding to an operation on the performance operator 810 to the portable device 10.
Next, a process of recording a performance on the electronic musical instrument 80 in the portable device 10 will be described. A processing mode in which the performance is recorded in this manner is referred to as a recording mode. When an instruction to start the recording mode is input by the user, the portable device 10 starts the process of the recording mode.
The control unit 110 waits until the instruction to start recording of the performance is input (step S103; No). The instruction to start the recording is input to the portable device 10 (step S103; Yes) by the recording button RB shown in
The control unit 110 records the sound control data 125 in the storage unit 120 (step S107) based on the performance information provided from the electronic musical instrument 80 until an instruction to end the recording is input (step S109; No). In this case, the provision of the beat to the user is continued. When the instruction to end the recording is input to the portable device 10 (step S109; Yes) by operating the recording button RB shown in
It is possible to provide a process to be performed after recording the sound control data 125 based on the performance by providing the selection user interface in this manner. On the other hand, the control unit 110 may temporarily end the recording of the sound control data 125 at the time when the recording is finished in accordance with an instruction from the user. In this case, the control unit 110 may provide a selection user interface according to the instruction from the user, and may further provide a user interface for specifying the sound control data 125 to be processed. Other than the sound control data 125 recorded in the recording mode may be specified as a processing target.
The interface SD includes a save button B1 for storing the sound control data 125, a delete button B2 for discarding the sound control data 125, and a play button PB for playing back the sound control data 125. When the play button PB is operated, the sound control data 125 is read out and the sound indicated by the sound control data 125 is played. The sound may be generated in the portable device 10 or may be generated in the electronic musical instrument 80. In the case where the sound is generated by the electronic musical instrument 80, the sound instruction signal may be transmitted from the portable device 10 to the electronic musical instrument 80. A play position is indicated by the play marker PM. When the user changes a position of the play marker PM, the play position in the sound control data 125 can also be changed.
When an instruction for the AI quantization is input by operating the modification selection button AB (step S201; Yes), the control unit 110 executes an AI quantization process (step S300), and returns to the instruction waiting state. The AI quantization process will be described later.
When an instruction for the MIDI quantization is input by operating the modification selection button MB (step S203; Yes), the control unit 110 executes a MIDI quantization process (step S400), and returns to the instruction waiting state. The MIDI quantization process will be described later.
When the instruction for the delay offset is input by operating the modification selection button DB (step S205; Yes), the control unit 110 executes a delay offset process (step S500), and returns to the instruction waiting state. The delay offset process will be described later.
When an instruction for saving data is input by operating the save button B1 (step S207; Yes), the control unit 110 saves the sound control data 125 (step S211), and ends the process of the recording mode. When an instruction to discard data is input by operating the delete button B2 (step S209; Yes), the control unit 110 discards the sound control data 125 (step S213), and ends the process of the recording mode.
Next, the AI quantization process will be described.
The beat can be detected based on a variation in amplitude of the acoustic waveform signal or the like. In this case, the AI technique is used for detecting the beat. A beat position can be acquired from a learned model by inputting the audio data obtained by the conversion into the learned model in which a relationship between the audio data and the beat position is learned. A specific method for detecting the beat is not limited to using the AI technique, and a known method for detecting the beat can be applied. The beat detection may be performed not only on the audio data but also on the sound control data 125.
The control unit 110 provides a beat correction interface (beat correction UI: first user interface) by displaying an image to be described below on the display unit 130 (step S305). The control unit 110 waits until an instruction for correcting the beat position or an instruction for a data correction process is input to the beat correction interface (step S311; No, S321; No). When the instruction for correcting the beat position is input (step S311; Yes), the control unit 110 corrects the beat position (step S313) and waits again (step S311; No, S321; No). When the data correction process is instructed (step S321; Yes), the control unit 110 executes the data correction process (step S330), and ends the AI quantization process. In some cases, the instruction for correcting the beat position is not input, and the data correction process is instructed. In this case, the data correction process is executed using the detected beat position as it is.
The interface AD further includes an entire region AA showing the sound defined in the sound control data 125 as a range of an entire song, and an enlarged region AW showing an enlarged range specified by a selection window SW. In these regions, a vertical axis represents a pitch, a horizontal axis represents a duration, and respective sounds are indicated by a sound marking NM. The selection window SW can modify its position in the entire region AA, and can also modify an enlarge rate in a time axis direction when displayed in the enlarged region AW by modifying a length in a horizontal axis direction.
The beat position detected based on the sound control data 125 is indicated by a beat position line BL in the enlarged region AW. A circular beat marker BM is displayed below the beat position line BL. The beat marker BM is used when the user corrects the beat position. In the beat marker BM, a beat marker BMs designated by the user as the modification target is displayed in a form distinguishable from other beat markers BM. At this time, as shown in
If the beat marker BMs designated by the user in
If the play button PB is operated, the control unit 110 plays a sound corresponding to the sound control data 125 in a region displayed on the enlarged region AW. In this case, a sound (metronome sound) indicating a beat may be generated at the detected beat position. In this way, the user may be made to recognize a relationship between the detected beat position or the corrected beat position and the sound timing by the sound.
If the re-detection button QB is operated, the control unit 110 returns to step S303 to detect the beat. In the case where a beat whose position is corrected by the user exists, the control unit 110 may perform the beat detection process by fixing the corrected beat position.
Beat positions SBT1, SBT2, . . . indicate beat positions at the recording time. Therefore, a length of each beat is the same. Beat positions DBT1, DBT2, . . . indicate beat positions when the beats are detected. The detected beat positions are not necessarily at equal intervals. Therefore, in an example of
Operating the save button B3 in the interface AD corresponds to inputting the instruction for the data correction process (step S321; Yes). Accordingly, if the save button B3 is operated, the control unit 110 executes the data correction process (step S330). At this time, the portable device 10 may transmit the sound control data 125 or the audio data and data indicating the corrected beat position in association with each other to the data management server 90. The data management server 90 registers the data received from the portable device 10 in database in the storage unit 920. The data management server 90 can execute the process using the data registered in the database. For example, the data corrected by the user can be used to improve accuracy of a beat detection technique or to improve accuracy of the AI technique in the beat detection (updating a learned model using the registered data as teacher data and the like).
In this example, the average tempo is set to “120”. Therefore, the data section length is modified to a length corresponding to the tempo “120”. Since the data section length is multiplied by “110/120”, the timing information of the sound included in the data section is corrected to a position multiplied by “110/120” based on a head of the beat (beat position DBT4). Thus, the correction amount is “110/120”. The correction information is added as a tempo value “110” corresponding to the original data section length as a value corresponding to the correction amount at the position corresponding to the beat position DBT4. It may be added as a relative value to the average tempo as “110/120”. In the case where the data is in the MIDI format, the correction information is added as information of a tempo change. If the sound control data 125 in the corrected data section in this way is reproduced with the tempo “110”, the performance sound at the same timing as when the sound control data 125 is recorded can be played.
When the timing information is modified by the AI quantization process as described above, the sound control data 125 can take the data format described as a fixed tempo, and can reproduce the performance sound when the sound control data 125 is recorded by reflecting and reproducing the corrected information as a tempo modification. This is particularly useful for songs that want to reproduce a natural performance. AI quantization process has been described above.
Next, the MIDI quantization process will be described.
According to the MIDI quantization process, in the case where a rhythm is shaken during the performance of recording the sound control data 125, it is possible to eliminate the shake of the rhythm of the sound included in the sound control data 125 and align rhythm to the beat position. This process is particularly effective for songs whose rhythm is important, such as dance music. The MIDI quantization has been described above.
Next, the delay offset process will be described.
The interface DD may have a region for specifying a sound to be processed. By specifying the sound to be processed, the timing information may be corrected for the target sound and a plurality of sounds following the target sound. In the case where the sound to be processed is not specified, a first sound of the sound control data 125 may be specified as the sound to be processed. Two examples will be described with reference to
In the first example shown in
In the second example shown in
Next, a process for reading the sound control data 125 generated as described above (for example, the sound control data 125 “after combination” shown in
The auto mode is a mode for reading the sound control data 125 with a predetermined tempo, correcting a tempo by using correction information set corresponding to each beat, thereby realizing reproduction of the sound waveform signal at a timing at which the beat position is substantially corrected, and reproducing the performance sound when the data is recorded. In the case where the correction information is not used when the sound control data 125 is read out, as shown in
The control mode is a mode for reading the sound control data 125 in accordance with a progress instruction signal for progressing the beat and reproducing the sound in the case where the sound is played at a speed corresponding to the signal. By a progress of the beat being instructed by the progress instruction signal, in the reading of the sound control data 125, the timing at which each beat is started is controlled, and the tempo between beats is controlled based on previously indicated beat intervals. The progress instruction signal is generated in accordance with an operation of the user, and is generated in accordance with, for example, a timing of changing a shaking direction in an operation of shaking the portable device 10 like a command bar. If the beats arranged at regular intervals in the sound control data 125 are in the MIDI format, the control unit 110 can identify the position of the beats based on the tick value. A data position to which the correction information is added in the sound control data 125 may be specified as the beat position.
It may be desirable to make corrections to align the grace notes with the beat position as described above. The grace notes are often located a little ahead the beat position. In such a case, it is desirable that the ornamented note existing at the beat position and the grace note existing ahead it are played continuously. On the other hand, in the case of operating under the control mode, since the sound control data 125 is read out using the beat position as a break, the grace note is played at an early timing, so that a situation in which the grace note and the ornamented note are played far apart occurs. Assuming such a case, by the timing information being corrected so that the grace note is positioned at the beat position, the grace note and the ornamented note can be played as a single unit without being separated from each other.
When the instruction to start data reproduction is input (step S803; Yes), the control unit 110 executes a sound control process by reproducing the sound control data 125 until an instruction to stop data reproduction is input (step S821; No). When the auto mode is selected as the reproduction mode (step S811; Yes), the control unit 110 executes the sound control process under the auto mode (step S813). On the other hand, when the auto mode is not selected, that is, when the control mode is selected as the reproduction mode (step S813; No), the sound control process under the control mode is executed (step S815). When the instruction to stop data reproduction is input (step S821; Yes), the control unit 110 ends the data reproduction process.
When the reproduction is operating under the auto mode, a stop button B6 is displayed to stop the progress of the song. Under the control mode, when the user stops the operation of swinging the portable device 10, the progress of the song is stopped, so that the stop button B6 may not be displayed as shown in
As described above, according to a data modification method of an embodiment, the sound control data 125 recorded in accordance with the performance can be modified to data that can be used in a plurality of different reproduction methods such as the auto mode and the control mode. In addition, the sound control data 125 can be modified by selecting an appropriate modification mode according to the song.
The present disclosure is not limited to the embodiments described above, and includes various other modifications. For example, the embodiments described above have been described in detail for the purpose of explaining the present disclosure clearly, and are not necessarily limited to those having all the described configurations. It is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration. Some modification examples will be described below.
According to an embodiment of the present disclosure described above, it is possible to describe the configuration as follows.
The data modification method of the present disclosure includes: providing a selection user interface for selecting a modification mode to be applied to sound control data defining timing information of a sound generation from a plurality of modification modes including a first modification mode and a second modification mode; modifying the sound control data by correcting the timing information and adding correction information according to an amount of correction of the timing information in a predetermined data section to the predetermined data section, in a case where the first modification mode is selected to be applied; and modifying the sound control data by correcting the timing information based on beat positions according to a predetermined tempo, in the case where the second modification mode is selected to be applied.
The data modification method of the present disclosure may provide a recording user interface for setting a tempo to instruct performance recording, may provide beat information with the set tempo when a start of the performance recording is instructed, and record the sound control data based on the performance information input while providing the beat information, and may provide the selection user interface for selecting a modification mode to be applied to the recorded sound control data when a stop of the performance recording is instructed.
The data modification method of the present disclosure may further include a third modification mode, and may modify the sound control data by modifying timing information of a specified predetermined sound and modifying timing information of a plurality of sounds following the predetermined sound in the case where applying the third modification mode is selected.
The data modification method of the present disclosure includes modifying the sound control data by detecting positions of a plurality of beats based on sound control data defining timing information of sound recorded with a predetermined tempo, correcting the timing information based on a relationship between the positions of the plurality of beats and the tempo, and modifying the sound control data by adding correction information corresponding to a correction amount of timing information in a data section to a predetermined data section.
The data modification method of the present disclosure may further include providing beat information with a predetermined tempo, and recording the sound control data based on performance information input while providing the beat information, and the correction information may be added corresponding to a provision timing of the beat information.
Detecting the positions of the plurality of beats may include converting the sound control data into audio data and detecting the positions of the plurality of beats based on the audio data.
The data modification method of the present disclosure may further include providing a first user interface for correcting the detected beat positions, and modifying the sound control data may include correcting the timing information based on a relationship between the positions of the plurality of beats corrected via the first user interface and the set tempo.
In the data modification method of the present disclosure, the recorded sound control data or the audio data and the beat position corrected via the first user interface may be registered in a database in association with each other.
The data modification method of the present disclosure may provide a second user interface for correcting timing information of a predetermined sound in the sound control data, and may further modify the sound control data by correcting the timing information of the predetermined sound instructed via the second user interface and further correcting timing information of a plurality of sounds following the predetermined sound.
In the data modification method of the present disclosure, the timing information of the predetermined sound instructed via the second user interface may be corrected, and when the timing information of the plurality of sounds following the predetermined sound is further corrected, the sound control data may be further modified by further modifying a data section to be the target of the correction information.
The data reproduction method of the present disclosure is a data reproduction method for reproducing a sound waveform signal by a sound source unit based on the sound control data modified by the data modification method described above, and provides a third user interface for selecting a sound instruction signal for causing the sound source unit to reproduce the sound waveform signal from a plurality of reproduction methods including a first reproduction method and a second reproduction method. In the case where the first reproduction method is selected, the sound control data is read out according to a predetermined tempo, the sound instruction signal is generated using the correction information, and in the case where the second reproduction method is selected, the sound control data of the data section corresponding to a progress instruction signal for progressing a beat is read out to generate the sound instruction signal.
The data modification method of the present disclosure includes providing a recording user interface for instructing performance recording, recording sound control data defining timing information of sound based on input performance information when the start of the performance recording is instructed, and providing a selection user interface for selecting a modification mode to be applied to the recorded sound control data when the stop of the performance recording is instructed from the plurality of modification modes including the first modification mode and the second modification mode, modifying the sound control data based on the selected modification mode, and playing a performance sound based on the modified sound control data.
According to the present disclosure, the data modification method or the data reproduction method can be used as a program for causing a computer to execute the data modification method or the data reproduction method, and can also be used as a data modification device for executing the data modification method and a data reproduction device for executing the data reproduction method. That is, at least a part of the portable device 10 can function as a data modification device or a data reproduction device.
This application is a Continuation of International Patent Application No. PCT/JP2021/032374, filed on Sep. 2, 2021, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2021/032374 | Sep 2021 | WO |
Child | 18592589 | US |