WO2015053278A1 - 複数セットの波形データを切り替えて波形再生を行う技術 - Google Patents

複数セットの波形データを切り替えて波形再生を行う技術 Download PDF

Info

Publication number
WO2015053278A1
WO2015053278A1 PCT/JP2014/076844 JP2014076844W WO2015053278A1 WO 2015053278 A1 WO2015053278 A1 WO 2015053278A1 JP 2014076844 W JP2014076844 W JP 2014076844W WO 2015053278 A1 WO2015053278 A1 WO 2015053278A1
Authority
WO
WIPO (PCT)
Prior art keywords
waveform data
reproduction
timing
switching
section
Prior art date
Application number
PCT/JP2014/076844
Other languages
English (en)
French (fr)
Inventor
教裕 植村
山本 和彦
Original Assignee
ヤマハ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヤマハ株式会社 filed Critical ヤマハ株式会社
Priority to US15/027,447 priority Critical patent/US20160240179A1/en
Priority to EP14852172.7A priority patent/EP3057090A4/en
Priority to CN201480055703.2A priority patent/CN105637579B/zh
Publication of WO2015053278A1 publication Critical patent/WO2015053278A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means for controlling the transition from one tone waveform to another
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/038Cross-faders therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/341Rhythm pattern selection, synthesis or composition
    • G10H2210/346Pattern variations, break or fill-in
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/035Crossfade, i.e. time domain amplitude envelope control of the transition between musical sounds or melodies, obtained for musical purposes, e.g. for ADSR tone generation, articulations, medley, remix
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent

Definitions

  • the present invention relates to a waveform reproduction technique for reproducing a musical tone by sequentially switching a plurality of sets of waveform data.
  • the present invention relates to a technique for controlling the switching timing of waveform data used for reproduction.
  • accompaniment pattern data representing, for example, an arpeggio pattern, a base pattern, a rhythm pattern or the like and automatically performs musical performance based on the accompaniment pattern data.
  • musical tone is not limited to musical sound, but is used as a term that includes speech or any other sound.
  • accompaniment pattern data has a time length of, for example, several bars.
  • the automatic performance apparatus repeatedly performs automatic performance according to the accompaniment pattern data over a plurality of measures by repeatedly reproducing one accompaniment pattern data (referred to as a main pattern).
  • the automatic performance apparatus also uses sub accompaniment pattern data (referred to as a sub pattern) having a shorter time length (for example, only one measure) as compared to the main pattern called fill in or break or ad lib. I have prepared.
  • the automatic performance device stops the reproduction of the main pattern, and the instructed sub pattern is displayed. Control is performed to automatically return to the main pattern reproduction after reproduction to the end.
  • Patent Document 1 when an instruction to switch from a main pattern to a sub-pattern such as fill-in is issued, the reproduction position reaches the bar division position even if the current reproduction position of the main pattern is in the middle of the bar.
  • musical tone control data for example, MIDI data defined by MIDI standard
  • a predetermined standard is used as accompaniment pattern data.
  • accompaniment pattern data in addition to MIDI data as described above, audio waveform data (hereinafter also referred to simply as “waveform data”) obtained by sampling an actual musical instrument performance, human voice or natural sound is used. There is a thing.
  • Patent Document 1 When the prior art disclosed in Patent Document 1 is applied to accompaniment pattern data created as waveform data, when switching a main pattern created as one waveform data to a sub pattern created as another waveform data There was a problem that noise was generated. For example, when reproduction of a subpattern is started at an arbitrary timing, reproduction can not always be started from the beginning (attack portion) of a certain sound, but sound generation may be started from an intermediate part of the sound. In that case, the pronunciation from the middle part of the sound may be noise. Also, for example, if switching to the sub pattern is performed immediately after the attack part is sounded during reproduction of the main pattern, so-called twice if the attack part is also present at the position immediately after the switching of the sub pattern to be switched. Sounds are generated and it becomes noise.
  • the present invention has been made in view of the above-mentioned point, and it is possible to switch waveform data at an arbitrary timing while preventing noise generation when switching waveform data being reproduced to another waveform data. With the goal.
  • the present invention is a computer readable storage medium containing instructions executable by a processor to perform a method of reproducing a waveform using a plurality of sets of waveform data stored in a storage unit.
  • the method further comprises a reproduction step of reproducing any one of the plurality of sets of waveform data stored in the storage unit as time passes, and a first of the plurality of sets of waveform data obtained by the reproduction step.
  • the first set of waveforms being reproduced
  • switching position information specifying one or more switching positions on the waveform data.
  • the switching position is, for example, an attack portion of each sound recorded as waveform data.
  • One of the switching positions or one of the switching positions on the first set of waveform data is configured to be set as an end timing for ending the reproduction of the first set of waveform data being reproduced.
  • the switching position on the second set of waveform data as the switching destination is set as the end timing
  • the waveform of the first set being reproduced at the switching position on the second set of waveform data as the switching destination End of data.
  • the reproduction of the second set of waveform data to be switched can be started from this end timing, that is, the switching position on the second set of waveform data.
  • noise for example, noise due to the start of reproduction from the middle of the waveform
  • the waveform is generated at an arbitrary timing while preventing noise generation when switching the waveform data being reproduced (waveform data of the first set) to another waveform data (waveform data of the second set) It has the excellent effect of being able to switch data.
  • the setting step may be further configured to set the set end timing as a start timing to start reproduction of the designated second set of waveform data.
  • the reproduction is being performed within a predetermined time before the switching position on the second set of waveform data existing immediately after the timing of receiving the specification of the second set of waveform data. It is determined whether there is a switching position on the first set of waveform data.
  • the waveform data being reproduced (waveform of the first set is set by setting the switching position on the first set of waveform data as the end timing) Unwanted pronunciation immediately before the end of the data) can be avoided to prevent re-occurrence.
  • the switching position of the first set of waveform data does not exist, the switching position on the second set of waveform data existing immediately after the timing at which the designation is received is set as the end timing. Noise due to "twice” and noise at the start of reproduction of another waveform data (second set of waveform data) can be prevented.
  • the setting step further includes: reproducing a designated second set of waveform data from a musical break position existing immediately after the timing of receiving the specification of the second set of waveform data. May be set as the start timing to start the
  • the musical break position existing immediately after the timing at which the designation is received is set as the ending timing, so the waveform being reproduced is Also, it is possible to prevent the noise at the start of reproduction of the other waveform data (the second set of waveform data) as well as the double beeps just before the end of the data.
  • a storage unit configured to store a plurality of sets of waveform data and a configuration configured to reproduce any one set of the plurality of sets of waveform data stored in the storage unit as time passes. And a second set of waveform data among the plurality of sets of waveform data is designated when the first set of waveform data among the plurality of sets of waveform data is being reproduced by the reproduction unit and the reproduction unit.
  • a designation unit an acquisition unit for acquiring switching position information for specifying one or more switching positions on the waveform data for each of the first set of waveform data and the second set of waveform data; Switching of the switching position information of the first set of waveform data and switching of the second set of waveform data based on the timing when the specification of the two sets of waveform data is received With reference to position information, any one of one switching position on the second set of waveform data or one switching position on the first set of waveform data is referred to as the first set of
  • the setting unit configured to set the end timing for ending the reproduction of the waveform data, and the waveform data reproduced by the reproduction unit according to the specification of the second set of waveform data from the waveform data of the first set to the second set
  • Control unit for performing control to switch to waveform data, wherein the reproduction timing of the waveform data by the reproduction unit reaches at least the first set of waveforms in response to the end timing set by the setting unit.
  • a control unit that performs control to end data reproduction.
  • the present invention is a method executed by a computer for reproducing a waveform using a plurality of waveform data stored in a storage unit, and stored in the storage unit as time passes.
  • FIG. 1 is a block diagram showing an example of the hardware configuration of an electronic musical instrument to which the present invention is applied.
  • FIG. 7 is a diagram for explaining the data configuration of accompaniment pattern data.
  • the figure which shows an example of the waveform data used as accompaniment pattern data by a score.
  • the time chart for showing the waveform data corresponding to the score shown in Drawing 4A notionally, and explaining the onset information matched with the waveform data.
  • It is a flowchart which shows one Example of the automatic performance process performed with an electronic musical instrument.
  • the flowchart which shows one Example of a section switch timing setting process.
  • 6 is a flowchart showing an example of section switching timing setting processing at a bar break position;
  • the flowchart which shows one Example of a section switching process.
  • FIG. 1 is a conceptual diagram for explaining the switching operation of waveform data which is a feature of the present invention.
  • two strip-like figures arranged vertically indicate two sets of waveform data 20, 20.
  • the circled numbers “1”, “2”, “3” and “4” indicate the number of beats in the bar, and the horizontal direction of the drawing corresponds to the reproduction time axis of the waveform data 20, 20 ⁇ .
  • One set of waveform data 20 has a time length of 2 measures, and another set of waveform data 20 ⁇ has a time length of 1 measure.
  • FIG. 1 in order to associate one set with waveform data 20 having a time length of two bars, two sets of the same waveform data set are set for waveform data 20 having one bar of time length. Sections are listed side by side.
  • Each of the waveform data 20, 20 ... has switching position information for specifying one or more potential switching positions on the waveform data (hereinafter referred to as “potential switching positions”, also referred to as “onset information"). It is associated.
  • Each potential switching position is the switching timing when switching one waveform data 20 being reproduced to another waveform data 20, that is, an ending timing to end the waveform data of the switching source (during reproduction), or These are positions on the waveform data 20, 20 ⁇ that can be set as the start timing of starting the waveform data of the switching destination.
  • the waveform data 20 (waveform data associated with the main section 200 described later) drawn on the upper side of the drawing has ten potential switching positions “Mo_1”, “Mo_2”,.
  • the waveform data 20 ⁇ (waveform data associated with the fill-in section 210 described later) drawn on the lower side of the drawing has eight potential switching positions “Fo — 1”, “Fo — 2”.
  • the feature of the present invention is that during reproduction of one set of waveform data (first set of waveform data) 20, the waveform data to be reproduced is converted to another set of waveform data (second set of waveform data) 20.
  • the reproduction of the waveform data 20 being reproduced is ended at any one of the potential switching positions (“Mo — 1”, “Mo — 2”... “Mo — 10”) on the data 20. Details of the process for setting the switching timing and the switching operation will be described later.
  • FIG. 2 is a block diagram showing an example of the hardware configuration of the electronic musical instrument 100 to which the present invention is applied.
  • the electronic musical instrument 100 is configured to execute various processes under the control of a microcomputer including a microprocessor unit (CPU) 1, a read only memory (ROM) 2, and a random access memory (RAM) 3.
  • the CPU 1 controls the overall operation of the electronic musical instrument 100.
  • the ROM 2, the RAM 3, the storage device 4, the performance operation element 5, the panel operation element 6, the display unit 7, the audio reproduction unit 8, the MIDI sound source unit 9, the musical tone control unit 10, and the interface 11 are connected respectively.
  • a timer 13 is connected to the CPU 1 for measuring interrupt time and various time in timer interrupt process (interrupt process). For example, the timer 13 generates a tempo clock pulse for setting a performance tempo when automatically playing a musical tone, a frequency when performing time stretch control of waveform data, and the like.
  • the tempo clock pulse from the timer 13 is given to the CPU 1 as a processing timing instruction or to the CPU 1 as an interrupt instruction.
  • the CPU 1 executes various processes in accordance with these instructions.
  • the ROM 2 stores various programs, various data, etc. which are executed or referred by the CPU 1.
  • the RAM 3 is used as a working memory for temporarily storing various data generated when the CPU 1 executes various programs, or as a memory for temporarily storing a program currently being executed and data related thereto. .
  • the storage device 4 is provided with a built-in database capable of storing a large number of various data such as a plurality of accompaniment pattern data (see FIG. 3 described later).
  • the storage device 4 may store various programs and the like executed by the CPU 1. If the program is not stored in the ROM 2 described above, the program is stored in the storage device 4 (for example, a hard disk), and is read into the RAM 3 to perform the same operation as the program is stored in the ROM 2 It can be executed by the CPU 1. By doing this, it is possible to easily add a program or upgrade the program.
  • the storage device 4 is, for example, any storage such as a hard disk (HD), a flexible disk (FD), a compact disk (CD-ROM, CD-RAM), a magneto-optical disk (MO), or a DVD (Digital Versatile Disk). It may be a storage device using a medium. In addition, the storage device 4 may be configured by a semiconductor memory such as a flash memory.
  • the performance operator 5 is formed of, for example, a keyboard provided with a plurality of keys for selecting pitches of musical tones, and has key switches corresponding to the respective keys.
  • the player can use the performance operation unit 5 for manual performance by hand-playing, or can specify a chord to be used for the automatic accompaniment function.
  • the form of the performance operator 5 is not limited to the keyboard type, and may be any type such as a stringed instrument type (guitar type), a wind instrument type, and a percussion type.
  • the panel control 6 is a variety of controls provided on the operation panel of the electronic musical instrument 100.
  • a section change switch for instructing switching of a section to be described later
  • a tempo setting switch for setting a performance tempo, start / stop of automatic performance
  • various operation elements such as a play / stop button for instructing the
  • the display unit 7 is a display including, for example, a liquid crystal display panel (LCD) or a CRT, and various screens corresponding to the operation of the panel operator 6 (for example, an accompaniment pattern data selection screen, a performance tempo setting screen or a section
  • various screens corresponding to the operation of the panel operator 6 for example, an accompaniment pattern data selection screen, a performance tempo setting screen or a section
  • the switching screen or the like is displayed, or various information such as the content of the accompaniment pattern data being selected or the control state of the CPU 1 is displayed.
  • the performer can easily perform various operations such as selection of accompaniment pattern data, setting of a performance tempo, and switching of sections by referring to the various information displayed on the display unit 7.
  • the audio reproduction unit 8 generates and outputs a waveform signal based on the waveform data supplied via the communication bus 12.
  • the MIDI sound source unit 9 generates and outputs waveform signals based on MIDI data supplied via the communication bus 12.
  • the audio reproduction unit 8 and the MIDI sound source unit 9 are connected to the tone control unit 10.
  • the tone control unit 10 includes a signal mixing (addition) circuit, a D / A conversion circuit, a volume control circuit, etc., and performs digital signal processing on the waveform signals generated from the audio reproduction unit 8 and the MIDI sound source unit 9. Effects are added and mixed (added) and output to a sound system 14 such as a speaker.
  • the sound system 14 generates a tone corresponding to the waveform signal output from the tone control unit 10.
  • the interface 11 is an interface for transmitting and receiving various information such as various data and control programs between the electronic musical instrument 100 and an external device (not shown).
  • the electronic musical instrument 100 may include one or more types of interfaces 11, such as a MIDI interface conforming to the MIDI standard, a network interface conforming to the Ethernet (registered trademark) standard, etc.
  • the connection form of these interfaces 11 is wired and wireless It may be either.
  • FIG. 3 is a conceptual view showing a data configuration of accompaniment pattern data stored in a database configured in the electronic musical instrument 100.
  • the database is configured, for example, in the storage device 4.
  • a plurality of accompaniment pattern data 200, 210, 220, 230,... are stored in the database.
  • These accompaniment pattern data 200, 210, 220, 230,... are associated with sections such as a main section, a fill-in section, an intro section, an ending section, and so on. Each section is a part that constitutes an accompaniment for one song.
  • Each of the accompaniment pattern data 200, 210, 220, 230,... Includes one or a plurality of sets of waveform data 20 used as accompaniment pattern data, and waveform reproduction control information 22 associated with each set of the waveform data 20. It consists of Each set of waveform data 20 is musical tone waveform data (audio waveform data) obtained by sampling an actual musical instrument performance, human voice or natural sound. Each set of waveform data 20 in each of the sections 200, 210, 220, 230,... Has a time length of one bar or more, and has an instrumental performance suitable for the corresponding section.
  • the data format may be any format, such as WAV, AIFF, MP3 and the like.
  • the waveform reproduction control information 22 includes switching position information 25 specifying one or more potential switching positions (onset information) set for the corresponding set of waveform data 20.
  • the waveform reproduction control information 22 may further include a basic tempo indicating the tempo at the time of recording of the waveform data 20, beat information indicating the timing of each beat in one measure of the waveform data 20, and the like.
  • the switching position information 25 is information for specifying one or more potential switching positions (onset information) on the corresponding waveform data 20 as shown in FIG. 1 and is referred to determine the section switching timing described later. Be done.
  • Various information in the waveform reproduction control information 22 including the switching position information 25 can be obtained by analyzing the corresponding waveform data 20.
  • the CPU 1 controls various parameters used for reproduction processing of the waveform data 20 by referring to the waveform reproduction control information 22.
  • FIGS. 4A and 4B are diagrams for explaining in detail the waveform data 20 20 shown in FIG. 1 and the switching position information 25 associated with them.
  • the waveform data 20 corresponds to the accompaniment pattern data 200 in the main section
  • the waveform data 20... Corresponds to the accompaniment pattern data 200 in the fill-in section 210.
  • circled numbers “1”, “2”, “3” and “4” are the number of beats in the bar
  • the horizontal direction of the drawing corresponds to the reproduction time axis of the waveform data 20, 20 ⁇ .
  • the waveform data 20, 20... Is assumed to have drum performance as an example (i.e., accompaniment pattern data for a drum part).
  • accompaniment pattern data of each section is referred to as the main section 200, the fill-in section 210, etc. It may be written by the name.
  • FIG. 4A shows the musical performance content of each of the waveform data 20, 20 ⁇ associated with the main section 200 and the fill-in section 210 by means of a score.
  • the main section 200 has a length of two bars.
  • the contents of the performance are: 1st beat with a quarter note, 1 bass drum with a quarter note, 2nd beat with a quarter note, 1 snare drum, and 3rd beat while cutting the hi-hat with a quarter note From 8 notes on, the bass drum is played twice, and on the 4th beat the snare drum is played once on the quarter note.
  • the fill-in section 210 has a time length of one bar, and includes a performance (drum roll) for hitting a high tom, middle tom, floor tom, bass drum and snare drum with eight eighth notes.
  • FIG. 4B is a view for explaining the waveform data 20 associated with the main section 200 and the waveform data 20 associated with the fill-in section 210, and the waveform shape of each and the switching position information 25 associated with each. .
  • the waveform shape of each of the waveform data 20 and 20 represents the volume change of the recorded musical instrument performance sound.
  • the waveform data 20 associated with the main section 200 is a recording of a drum performance sound for two measures based on the score of FIG. 4A.
  • the main section 200 is created on the assumption that the waveform data 20 for two measures is repeatedly reproduced.
  • the waveform data 20 ⁇ associated with the fill-in section 210 is a recording of the drum performance for one measure based on the score of FIG. 4A.
  • the fill-in section 210 plays back waveform data of one bar at least once in response to user operation during loop playback of the main section 200 and returns to playback of the main section 200 (that is, the main section 200 It is created assuming that it is inserted during loop playback).
  • FIGS. 4A and 4B in order to correspond to the main section 200 having a time length of 2 measures, two waveform data of the fill-in section 210 are arranged along the time axis by reference numerals 210a and 210b. It shows.
  • a potential switching position with respect to each of one or more attack portions (portions of “peaks” of the waveform shown in FIG. 4B) included in the sound recorded as the waveform data (Onset information) is set.
  • the start position (rising position of the waveform) of each attack portion is set as a potential switching position (onset information) corresponding to each attack portion.
  • the switching position information 25 is information for specifying a potential switching position (onset information) corresponding to each of the one or more attack portions (the “peak” portion of the waveform shown in FIG. 4B).
  • the switching position information 25 of the main section 200 shown in FIGS. 1 and 4 includes ten onset information “Mo_1”, “Mo_2”...
  • the hi-hat and the bass drum are played (see the score in FIG. 4A).
  • the hi-hat and the bass drum are struck at the same beat position, on the waveform data, there is only one attacking portion 20a corresponding to the playing sound of these instruments.
  • one piece of onset information "Mo_1" is set at the start position of the attack portion 20a.
  • each of the waveform data 20, 20... Is obtained by sampling (recording) a performance sound actually played by a person using a drum set, with the performance content shown in the score of FIG. 4A. Since there is some variation in human performance, the positions of the sounds recorded as the waveform data 20, 20, generally deviate slightly from the accurate beat positions (timing). Therefore, the position of each onset information is slightly offset from the beat position of the note shown on the score in FIG. 4A. .
  • the onset information "Mo_6" corresponding to the performance sound 20b is not at the position of the first beat of the second bar, but at the end of the first bar (specifically, the beginning position of the attack portion of the performance sound 20b). It is set.
  • FIG. 5 is a flow chart showing an embodiment of the automatic performance process executed by the CPU 1 of the electronic musical instrument 100.
  • the CPU 1 starts the processing.
  • the following automatic performance processing as one specific example, during loop reproduction of the waveform data 20 associated with the main section 200, it corresponds to the fill-in section 210 according to the section switching instruction of the user.
  • section switching means that the reproduction of waveform data being reproduced as the switching source is ended and the reproduction of another waveform data designated as the switching destination is started.
  • step S1 the CPU 1 executes an initialization process.
  • the initialization process is, for example, setting of a performance tempo according to a user operation, or a process of reading selected accompaniment pattern data from a database (storage device 4) and loading it into the RAM 3.
  • the main section 200 is selected, and the CPU 10 generates the waveform data 20 and the waveform reproduction control information 22 (including the switching position information 25) associated with the main section 200. It is loaded from the storage device 4 into the RAM 3.
  • step S2 the CPU 1 starts the reproduction of the waveform data 20 associated with the main section 200 in accordance with the currently set performance tempo. That is, the CPU 1 starts reading of the waveform data 20 associated with the main section 200 selected from the RAM 3.
  • the audio reproduction unit 8 generates and outputs a waveform signal based on the read waveform data 20.
  • the CPU 10 starts the reproduction counter at the start of the automatic performance.
  • the count value of the reproduction counter advances every predetermined period according to the playing tempo.
  • the reproduction counter counts time lapse (reproduction timing) of waveform data reproduction. If the currently set performance tempo is different from the basic tempo associated with the waveform data 20, the CPU 1 and the audio reproduction unit 8 perform pitch change by performing well-known time stretch control.
  • the tone of the waveform data 20 can be generated at an arbitrary performance tempo without being generated.
  • step S3 the CPU 1 determines the presence or absence of acceptance of a user instruction. If there is no user instruction (NO in step S3), the CPU 1 loops the process of steps S2 to S3. As a result, the CPU 1 and the audio reproduction unit 8 repeatedly reproduce the whole of the waveform data 20 for two measures corresponding to one main section 200.
  • the process of step S2 and the like executed by the CPU 1 and the audio reproducing unit 8 reproduce the any one set of the plurality of sets of waveform data stored in the storage unit as time passes, or It functions as a reproduction unit configured to reproduce any one of the plurality of sets of waveform data stored in the storage unit as time passes.
  • step S4 When there is a user instruction during loop reproduction of the waveform data 20 in steps S2 and S3 (YES in step S3), the CPU 1 performs various processes in accordance with the user instruction (steps S4 and S8).
  • "section switching instruction" step S4) for switching waveform data to be reproduced from the main section 200 to the fill-in section 210, an instruction to end automatic performance (step S8) and other instructions. It is assumed.
  • the operation of the panel operator 6 for receiving the user instruction of the "section change instruction" and the process of the step S4 executed by the CPU 1 are performed by the reproduction unit by one set of waveform data (first set of waveform data Step) of designating another waveform data (second set of waveform data) while reproducing or one set of waveform data (first set of waveform data) is reproduced by the reproduction unit.
  • step S4 If there is a "section switching update instruction" (YES in step S4), the CPU 1 stores the waveform data 20 ⁇ and the waveform reproduction control information 22 associated with the fill-in section 210 designated as the switching destination in a database (storage device 4 ) Is loaded into the RAM 3 (step S5), and the switch position information 25 (onset information “Fo_1” to “Fo_8” in FIG. 4B) associated with the fill-in section 210 is acquired from the RAM 3
  • the switching position information 25 (onset information “Mo — 1” to “Mo — 10 in FIG. 4B) associated with the main section 200 is acquired (step S6).
  • step S6 executed by the CPU 1 is performed between the one set of waveform data (first set of waveform data) being reproduced and the designated another waveform data (second set of waveform data).
  • Each of the other waveform data (second set of waveform data) functions as an acquisition unit that acquires switching position information that specifies one or more switching positions on the waveform data.
  • step S7 the CPU 1 executes the timing of the section switching instruction, the on-set information (potential switching position) on the waveform data 20 of the fill-in section 210 designated as the change destination this time, and the main section 200 currently being reproduced. Based on the positional relationship with the on-set information (potential switching position) on the waveform data 20, processing for setting “section switching timing”, which will be described later in detail, is performed. After “section switching timing” is set in step S7, the process returns to the process of step S2.
  • the CPU 1 performs end control according to the instruction and ends the automatic performance process.
  • the CPU 1 ends the reproduction of the main section 200 at the next measure of the instruction timing, and changes to the main section 200.
  • the reproduction of the ending section 230 is started, and after the ending section 230 is reproduced to the end, the automatic performance processing is ended.
  • the CPU 1 performs reproduction end control at the time when the stop instruction is issued, and ends the automatic performance process.
  • the CPU 1 executes "other processing" according to the user instruction.
  • Other instructions are, for example, section switching other than switching from the main section 200 to the fill-in section 210 or switching to the ending section described above, a mute on / off instruction, a timbre change instruction, or a volume change instruction.
  • FIG. 6 to 8 are flowcharts showing setting processing of section switching timing.
  • the CPU 1 starts the process of FIG. 6 when the process of FIG. 5 proceeds to the step S7 (ie, in response to an instruction to switch from the main section to the fill-in section).
  • step S11 the CPU 1 determines whether the timing at which the section switching instruction has been received is immediately before a bar break.
  • a bar break is an example of a musical break position, and is a break portion between one bar and a subsequent bar.
  • the junction between the end of the first bar and the beginning of the second bar in the waveform data 20 associated with the main section 200, and the end of the second bar at the time of loop reproduction and one small The junction with the beginning of the joint is a bar break.
  • the CPU 1 can specify the relationship between the waveform data reproduction position and the bar division position when the section switching instruction is received from the number of beats based on the reproduction count value described above.
  • section switching instruction timing is within a predetermined section (for example, 50 milliseconds) immediately before the end of the bar currently being reproduced, or it is determined whether the section switching instruction timing is immediately before the bar division or It can be performed under the condition that it is after the position of 4 and a half beats.
  • a predetermined section for example, 50 milliseconds
  • step S11 If the timing at which the section switching instruction has been received is other than immediately before the bar break (NO in step S11), the CPU 1 performs the "section switching timing setting process in a bar” shown in FIG. 7 (step S12). On the other hand, if the timing at which the section switching instruction has been received is immediately before the bar break (YES in step S11), the CPU 1 performs "section switching timing setting process in bar break" (step S13).
  • “Case A” indicated by an arrow 50 a in FIG. 1 is a case where the user issues a switching instruction to the fill-in section 210 immediately before the third bar of the first bar.
  • the CPU 1 branches the above-described step S11 to NO, and advances the processing to "section switching timing setting process in measure” in step S12.
  • “case B” indicated by an arrow 50 b in FIG. 1 is a case where the user issues a switching instruction to the fill-in section 210 immediately before the fourth bar of the first bar, and in this case as well, the CPU 1 performs the step Step S11 is branched to NO, and the process proceeds to "section switching timing setting process in measure” in step S12.
  • step S14 the CPU 1 selects one of the on-set information “Fo_1” to “Fo_8” of the fill-in section 210 acquired in step S6.
  • One piece of onset information “Fo_x” (where x is any one of 1 to 8) present immediately after the timing of the section switching instruction is acquired.
  • step S15 the CPU 1 checks all the onset information "Mo_1" to "Mo_10" of the main section 200 currently being reproduced, and determines the predetermined immediately before the onset information "Fo_x" of the fill-in section 210 acquired in step S14. Within the section, it is determined whether onset information “Mo_y” (“y” is any one of 1 to 10) of the currently reproduced main section 200 exists.
  • the time length of the predetermined section is, for example, 50 milliseconds.
  • the time length of this predetermined section is the time when the sounding of the change source (main section 200) immediately before the switching and the sounding of the change destination (fill-in section 210) immediately after the switching It is desirable that the length be as long as necessary to prevent "twice" caused by being too close.
  • the onset information of the fill-in section 210 existing immediately after the timing of the section switching instruction (arrow 50a) is "Fo_5"
  • the main section 200 is turned on before "Fo_5".
  • There is no set information the on-set information in the main section 200 immediately before "Fo_5" is "Mo_2” but a section switching instruction is given after "Mo_2”, so from the section switching instruction "Fo_5 "On_set information" Mo_y "of the main section 200 does not exist in the period up to" No "in step S15).
  • step S16 the CPU 1 terminates the on information “Fo_x” (“Fo_5” in case A) of the fill-in section 210 present immediately after the timing of the section switching instruction, and the main section 200 currently being reproduced.
  • the timing is set, and the on-set information “Fo_x” (“Fo_5” in case A) of the fill-in section 210 is set as the start timing to start the reproduction of the fill-in section 210 instructed to switch this time.
  • the on-set information of the fill-in section 210 existing immediately after the timing of the section switching instruction (arrow 50b) is "Fo_7", and the main section 200 existing before this "Fo_7” is turned on.
  • the set information is "Mo_5".
  • "Mo_5" exists within a predetermined interval (for example, 50 milliseconds) from "Fo_7”.
  • the attack part of "Fo_7” is immediately after generating the attack part corresponding to "Mo_5" (within 50 milliseconds). It is pronounced and so-called “twice” occurs.
  • the on-set information “Mo_y” (“Mo_5” in case B) of the main section 200 present in the predetermined section is set as the end timing of the main section 200 currently being reproduced, and the on-set of the main section 200 is performed.
  • the “case C” indicated by the arrow 50 c is a case where the user issues a switching instruction to the fill-in section 210 after the fourth bar of the first bar.
  • the CPU 1 branches the above-mentioned step S11 to YES, and advances the processing to the "section switching timing setting process at bar division" in step S13.
  • the CPU 1 sets the on-set information of the main section 200 currently being reproduced within a predetermined section immediately before the end of the bar currently being reproduced. It is determined whether or not Mo_z "(z is any one of" 1 "to” 10 ") is present.
  • the time length of the predetermined section is set to, for example, 50 milliseconds in order to prevent "twice” with the same effect as described in the step S15.
  • the timing of the section switching instruction (arrow 50c) is immediately before the end of the first measure.
  • the onset information of the main section 200 existing immediately before the end of the first measure is "Mo_6”. It is assumed that this “Mo — 6” exists within a predetermined interval (for example, 50 milliseconds) from the end of one bar. Then, assuming that the section is switched at the end of the first measure, or at the position of the onset information “Fo_1” of the fill-in section 210 immediately after the timing of the section switching instruction, immediately after the attack part of “Mo_6” is pronounced ( In 50 ms), the attack part of "Fo_1” is pronounced and "twice” occurs.
  • a section switching instruction is issued immediately before the end of the bar, and the on-set information “Mo_z of the main section 200 currently being reproduced within a predetermined section (for example, 50 milliseconds) immediately before the end of the bar.
  • the CPU 1 is currently reproducing the position of the onset information “Mo_z” (“Mo_6” in case C) of the main section 200 immediately before the bar end.
  • the fill-in section 210 instructed to switch the division position of the bar currently being reproduced (the end of the first bar in case C, in other words, the second bar). Set as the start timing to start the playback of the.
  • step S20 the CPU 1 sets the break position of the currently-played measure as the playback start timing of the fill-in section 210 instructed to switch, and ends the main section 200 while playing the break position of the measure. Set as timing. Note that performing section switching at the bar break position is generally performed as section switching control of accompaniment pattern data using, for example, MIDI data.
  • the CPU 1 ends the process of FIG.
  • the switching position information of the set of waveform data is referred to, and one of the switching position on the second set of waveform data or the one switching position on the first set of waveform data is reproduced Switching position information of the first set of waveform data being reproduced, and as a setting step to set as an end timing to end reproduction of the first set of waveform data in the medium, or at least based on the timing at which the designation is received;
  • the process returns to the step S2.
  • the CPU 1 performs the loop reproduction of the waveform data of the main section 200 in steps S2 and S3, and when the reproduction position of the main section 200 currently being reproduced reaches the set section switching timing, the reproduction target is Are switched from the waveform data of the main section 200 (waveform data of the first set) 20 to the waveform data of the fill-in section 210 (waveform data of the second set) 20.
  • FIG. 9 is a flowchart of the section switching process executed by the CPU 1.
  • This process is an interrupt process which is activated at predetermined time intervals corresponding to the waveform read clock during execution of the automatic performance process.
  • the CPU 1 determines whether the reproduction position of the main section 200 currently being reproduced has reached the end timing set in step S16, S17 or S19. Then, when the reproduction position of the main section 200 currently being reproduced reaches the end timing (YES in step S21), the CPU 1 ends the reading of the waveform data 20 of the main section 200 in step S22. . In response to this, the audio reproduction unit 8 ends the reproduction of the waveform data 20 of the main section 200.
  • step S23 the CPU 1 determines whether the playback position of the main section 200 currently being played back has reached the start timing set in step S16, S17 or S20. Then, when the reproduction position of the main section 200 currently being reproduced reaches the set start timing (YES in step S23), the CPU 1 determines the waveform data 20 of the fill-in section 210 in step S24. Start reading. In response to this, the audio reproduction unit 8 starts reproduction of the waveform data 20 of the fill-in section 210. On the other hand, as long as the reproduction position of the main section 200 currently being reproduced does not reach the end timing or the start timing (NO in steps S21 and S23), the process is ended each time. Then, at each activation opportunity of the interrupt processing, the CPU 1 waits for the end timing to the start timing to arrive.
  • the section switching instruction is performed in the measure, and the on-set information on the main section "Mo_y" in the predetermined section immediately before the on-set information "Fo_5" of the fill-in section immediately after the switching instruction.
  • the reproduction position of the main section 200 currently being reproduced reaches the position corresponding to “Fo_5” (YES in steps S21 and S23)
  • the CPU 1 and the audio reproduction are performed.
  • the unit 8 ends the reproduction of the waveform data 20 of the main section 200 and starts the reproduction of the waveform data 20 of the fill-in section 210 (steps S22 and S24).
  • the section switching instruction is performed in the measure, and the on-set information on the main section "Mo_5" in the predetermined section immediately before the on-set information "Fo_7" of the fill-in section 210 immediately after the switching instruction.
  • the CPU 1 and the audio playback unit 8 ends the reproduction of the waveform data 20 of the main section 200 and starts the reproduction of the waveform data 20 of the fill-in section 210 (steps S22 and S24).
  • the CPU 1 reproduces When the playback position of the main section being played has reached the bar division position (YES in the above steps S21 and S23), the CPU 1 and the audio playback unit 8 finish the playback of the waveform data 20 of the main section 200, and the fill-in The reproduction of the waveform data 20 of the section 210 is started (steps S22 and S24).
  • the process in step S22 executed by the CPU 1 converts the waveform data reproduced by the reproduction step from the first set waveform data to the second set of waveform data.
  • a control step of performing switching control wherein at least the reproduction of the first set of waveform data is performed according to the reproduction timing of the waveform data by the reproduction step reaching the end timing set by the setting step.
  • Control to switch the waveform data reproduced by the reproduction unit from the waveform data of the first set to the waveform data of the second set in accordance with the step of performing control to end or the specification of the waveform data of the second set
  • Control unit for reproducing waveform data by the reproduction unit But, in response to reaching the end timing of the set, which functions as the control unit performs control to end the reproduction of the waveform data of at least the first set.
  • the CPU 1 and the audio reproducing unit 8 execute the process of steps S2 and S3 of FIG. Are reproduced at least once to the end of one measure, and then the reproduction of the waveform data 20 of the fill-in section 210 is ended. Then, the CPU 1 and the audio reproduction unit 8 return the reproduction target to the main section 200, and perform loop reproduction of the waveform data 20 associated with the main section 200.
  • the start position of each attack portion is a potential switching position, but the potential switching position is not limited to this.
  • a portion where the level of the waveform data is smaller than a predetermined value, or a portion where such a state continues for a predetermined time may be set as the potential switching position.
  • each waveform data 20 and 20... Is referred to by referring to the switching position information 25 stored in the waveform reproduction control information 22 associated with each waveform data 20 and 20.
  • the switching position information 25 acquired in step S6 is not limited to the one stored in advance, for example
  • the waveform data 20 being reproduced during reproduction and the waveform data 20 associated with the fill-in section 210 designated as the switching destination may be analyzed and calculated in real time.
  • step S11 is configured to use the break position of one bar as an example of the musical break that is the determination condition of the process branch, the break position of a unit of plural bars, such as four bars or eight bars, is processed branch It may be configured to be used as a musical delimitation which is a judgment condition of. Further, as another example, the step S11 may be configured to use, for example, the number of beats or the number of clocks as a musical break which is a determination condition of the processing branch.
  • the reproduction of the waveform data 20 of the main section 200 ends at the position of one piece of on-set information ("Fo_X" or "Mo_y"), and the waveform of the fill-in section 210
  • the audio reproducing unit 8 sets the waveform data 20 of the main section 200 and the waveform data 20 of the fill-in section 210 with an appropriate time width (for example, about 5.8 ms) at the time of section switching. ⁇ It is good to crossfade with.
  • the audio reproduction unit 8 makes the waveform data 20 of the main section 200 silent at "Mo_z” So it is better to fade out.
  • the audio reproducing unit 8 ends the reproduction of the main section 200 waveform data 20 (step S22) and starts the reproduction of the waveform data 20 of the fill-in section 210.
  • Step S24 has been described, but the process of step S22 is a process of muting the playing sound according to the waveform data 20 of the main section 200 instead of terminating (stopping) the reproduction of the waveform data of the main section 200. May be.
  • the waveform data being reproduced is switched from the main section 200 to the fill-in section 210.
  • the present invention is not limited thereto.
  • the main section 200 to the ending section 230 The present invention is applicable to section switching by a combination of arbitrary sections, such as switching from the fill-in section 210 to the ending section 230.
  • the section switching process only needs to be a process of switching from waveform data of one accompaniment pattern data to waveform data of another accompaniment pattern data.
  • the accompaniment pattern data 200, 210, 220, 230, ... used in one playing part is described, but the database further includes a plurality of parts (for example, not shown).
  • Accompaniment pattern data for each section may be prepared corresponding to each of the chord backing part, the base part, etc.).
  • a plurality of accompaniment pattern data 200, 210, 220, 230,... Corresponding to various genres such as jazz, pops, rock, blues may be prepared in the database.
  • the electronic musical instrument 100 further stores accompaniment pattern data created as MIDI data in a database (storage device 4), and can perform automatic performance using the accompaniment pattern data created as MIDI data. May be configured. In the automatic performance, a part of accompaniment pattern data created by MIDI data and a part of accompaniment pattern data created by waveform data may coexist.
  • the accompaniment pattern data 200, 210, 220, 230,... Stored in the database (storage device 4) are, for example, those created by the maker of the electronic musical instrument 100 and stored in advance in the database.
  • the user of the electronic musical instrument may additionally store the accompaniment pattern data newly created (recorded) by himself in the database, or the accompaniment pattern data newly created by the manufacturer or other users, It may be acquired from an external device (for example, a server device connected via the Internet), and may be replaced with existing data in the database, or additionally stored in the database.
  • the step or the reproduction unit for reproducing any one of the plurality of waveform data stored in the storage unit with the passage of time is the accompaniment pattern data 200 stored in the storage device 4 provided in the electronic musical instrument 100.
  • 210, 220, 230,... May be configured, for example, by acquiring waveform data from the external device and reproducing the waveform data. .
  • the electronic musical instrument 100 is not limited to one having each functional module built in one device housing, such as the performance operation element 5, the display unit 7, the audio reproduction unit 8, the MIDI sound source unit 9, the tone control unit 10, etc.
  • a separate device may be configured by connecting a MIDI interface or the like for each functional module of the above.
  • the waveform reproducing apparatus is not limited to the electronic musical instrument 100, but may be an automatic performance of musical tones based on at least waveform data, such as a personal computer, a portable communication terminal such as a PDA (portable information terminal) or a mobile phone, or a game device.
  • the present invention may be applied to any type of device / device that can perform the
  • the processor in the present invention is not limited to a processor capable of executing a software program such as the CPU 1 described in the above embodiment, but may be a processor capable of executing a microprogram such as a DSP.
  • the processor may be a processor configured by a dedicated hardware circuit (integrated circuit or discrete circuit group) so as to realize various processing functions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

ノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替えることを課題とする。再生中の波形データ20から別の波形データ20・への切替指示に応じて、再生中の波形データの切替位置情報25および別の波形データの切替位置情報25を参照して、別の波形データ20・上の1つの切替位置、又は、再生中の波形データ20上の1つの切替位置のいずれか一方を、該再生中の波形データ20の再生を終了する終了タイミングとして設定する。例えば、切替指示タイミングの直後に存在する別の波形データ20・上の切替位置より前の50ミリ秒以内に、再生中の波形データ20上の切替位置が存在する場合、その切替位置を、終了タイミングとする一方、存在しない場合は、該別の波形データ20・上の切替位置を、終了タイミングにする。

Description

複数セットの波形データを切り替えて波形再生を行う技術
 この発明は、複数セットの波形データを順次に切り替えて楽音を再生する波形再生技術に関する。特に、再生に使用する波形データの切り替えタイミングを制御する技術に関する。
 従来から、例えばアルペジオパターンやベースパターンあるいはリズムパターン等を表す伴奏パターンデータを予め記憶しておき、この伴奏パターンデータに基づいて楽音の自動演奏を行う自動演奏装置が知られている。なお、この明細書において、「楽音」とは、音楽的な音に限らず、音声あるいはその他任意の音を包摂する用語として用いるものとする。
 一般的に、伴奏パターンデータは例えば数小節程度の時間長を持っている。自動演奏装置は、1つの伴奏パターンデータ(メインパターンと呼ぶ)を繰り返し再生することによって、その伴奏パターンデータに従う自動演奏を複数小節にわたり連続的に行う。また、自動演奏装置は、メインパターン以外にも、フィルインあるいはブレーク、アドリブ等と称されるメインパターンと比較すると短い時間長(例えば1小節のみ)を持つサブ伴奏パターンデータ(サブパターンと呼ぶ)を用意している。メインパターンを繰り返し再生している最中に、ユーザ操作によりメインパターンからサブパターンへの切り替え指示がなされた場合、自動演奏装置は、そのメインパターンの再生を停止して、指示されたサブパターンを末尾まで再生した後に、自動的にメインパターンの再生に戻る、という制御を行う。
 特許文献1には、メインパターンからフィルイン等のサブパターンへの切り替え指示がなされた場合に、メインパターンの現在再生位置が小節途中であったとしても、再生位置が小節区切り位置に到達することを待たずに、直ちにメインパターンからサブパターンへと伴奏パターンデータを切り替える装置が記載されている。この特許文献1においては、伴奏パターンデータとして、所定の規格に従って定義される楽音制御データ(例えばMIDI規格により定義されたMIDIデータなど)が使用されている。
特開平10-268866号公報
 ところで、伴奏パターンデータとしては、上記のようなMIDIデータの他に、実際の楽器演奏や人の声あるいは自然音などをサンプリングしたオーディオ波形データ(以下、単に「波形データ」ともいう)が使用されることがある。
 上記特許文献1に示された従来技術を、波形データで作成された伴奏パターンデータに適用した場合、或る波形データで作成されたメインパターンを別の波形データで作成されたサブパターンに切り替える際に、雑音が発生する、という問題があった。例えば、任意のタイミングでサブパターンの再生を開始すると、或る音の先頭(アタック部)から再生開始できるとは限らず、音の途中部分から発音を開始してしまうこともある。その場合、音の途中部分からの発音がノイズとなり得る。また、例えば、メインパターンの再生でアタック部が発音された直後にサブパターンへの切り替えを行った場合に、切り替え先のサブパターンの切替直後の位置にもアタック部が存在すれば、いわゆる2度鳴りが発生してしまい、それがノイズになる。
 本発明は上述の点に鑑みてなされたもので、再生中の波形データを別の波形データに切り替える際のノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替えることができるようにすることを目的とする。
 本発明は、記憶部に記憶されている複数セットの波形データを使用して波形を再生する方法を実行するために、プロセッサにより実行可能な命令群を内容とするコンピュータ読取可能な記憶媒体であって、前記方法は、時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生する再生ステップと、前記再生ステップによる前記複数セットの波形データのうち第1セットの波形データの再生中に、前記複数セットの波形データのうち第2セットの波形データを指定するステップと、前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得するステップと、少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定ステップと、前記第2セットの波形データの指定に応じて、前記再生ステップにより再生される波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御ステップであって、前記再生ステップによる波形データの再生タイミングが、前記設定ステップによって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記ステップとを備える。
 本発明によれば、或る波形データ(第1セットの波形データ)の再生中に、別の波形データ(第2セットの波形データ)が指定された場合に、再生中の第1セットの波形データと指定された第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得する。切替位置は、例えば、波形データとして録音した各音のアタック部である。そして、少なくとも指定を受け付けたタイミングに基づいて、取得した第1セットの波形データの切替位置情報及び取得した第2セットの波形データの切替位置情報を参照して、第2セットの波形データ上の1つの切替位置、又は、第1セットの波形データ上の1つの切替位置のいずれか一方を、再生中の第1セットの波形データの再生を終了する終了タイミングとして設定するように構成されている。この構成により、再生中の第1セットの波形データ上の切替位置が終了タイミングとして設定された場合は、切替元の第1セットの波形データの終了直前での不所望な発音を確実に回避できる。したがって、波形データを切り替える際に、略同じタイミング(短時間内)に切替元と切替先との両方で音が鳴ること、いわゆる「二度鳴り」、によるノイズ発生を防止できる。一方、切替先となる第2セットの波形データ上の切替位置が終了タイミングとして設定された場合は、切替先となる第2セットの波形データ上の切替位置で、再生中の第1セットの波形データの終了する。これにより、この終了タイミング、すなわち第2セットの波形データ上の切替位置から、切替先の第2セットの波形データの再生を開始し得る。それにより、切替先の第2セットの波形データの再生開始時にノイズ(例えば波形途中から再生開始することによるノイズ)が生じない。
 従って、本発明によれば、再生中の波形データ(第1セットの波形データ)を別の波形データ(第2セットの波形データ)に切り替える際のノイズ発生を防ぎつつ、任意のタイミングで、波形データを切り替えることができるという優れた効果を奏する。
 一実施形態において、前記設定ステップは、更に、前記設定された終了タイミングを、前記指定された第2セットの波形データの再生を開始する開始タイミングとして設定するように構成されてよい。
 前記設定ステップの一具体例として、前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する前記第2セットの波形データ上の切替位置より前の所定時間以内に、前記再生中の第1セットの波形データ上の切替位置が存在するかどうかを判断する。前記第1セットの波形データ上の切替位置が存在する場合は、その第1セットの波形データ上の切替位置を、前記終了タイミングとして設定することにより、再生中の波形データ(第1セットの波形データ)の終了直前での不所望な発音を回避して二度鳴りを防ぐことができる。一方、前記第1セットの波形データの切替位置が存在しない場合は、指定を受け付けたタイミングの直後に存在する前記第2セットの波形データ上の切替位置を、前記終了タイミングに設定することにより、「2度鳴り」によるノイズも、別の波形データ(第2セットの波形データ)の再生開始時のノイズも防ぐことができる。
 別の一実施形態において、前記設定ステップは、更に、前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記指定された第2セットの波形データの再生を開始する開始タイミングとして設定するように構成されてよい。
 前記設定ステップの別の一具体例として、前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する音楽的区切り位置より前の所定時間以内に、前記再生中の第1セットの波形データ上の切替位置が存在するかどうかを判断する。そして、前記第1セットの波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定することにより、再生中の波形データ(第1セットの波形データ)の終了直前での不所望な発音を回避して二度鳴りを防ぐことができる。一方、前記再生中の第1セットの波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記終了タイミングとして設定するので、再生中の波形データの終了直前での2度鳴りも、該別の波形データ(第2セットの波形データ)の再生開始時のノイズも防ぐことができる。
 また、本発明は、複数セットの波形データを記憶するよう構成された記憶部と、時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生するよう構成された再生部と、前記再生部によって前記複数セットの波形データのうち第1セットのの波形データが再生されているときに、前記複数セットの波形データのうち第2セットの波形データを指定する指定部と、前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得する取得部と、少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定部と、前記第2セットの波形データの指定に応じて、前記再生部が再生する波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御部であって、前記再生部による波形データの再生タイミングが、前記設定部によって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記制御部とを備える波形再生装置である。
 また、本発明は、記憶部に記憶されている複数の波形データを使用して波形を再生するために、コンピュータによって実行される方法であって、時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生する再生ステップと、前記再生ステップによる前記複数セットの波形データのうち第1セットの波形データの再生中に、前記複数セットの波形データのうち第2セットの波形データを指定するステップと、前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得するステップと、少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定ステップと、前記第2セットの波形データの指定に応じて、前記再生ステップにより再生される波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御ステップであって、前記再生ステップによる波形データの再生タイミングが、前記設定ステップによって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記ステップとを備える方法である。
本発明の特徴点である波形データの切替動作を説明する概念図。 本発明を適用した電子楽器のハードウエア構成例を示すブロック図。 伴奏パターンデータのデータ構成を説明する図。 伴奏パターンデータとして用いる波形データの一例を楽譜によって示す図。 図4Aに示す楽譜に対応する波形データを概念的に示し、かつ、その波形データに対応付けられたオンセット情報を説明するためのタイムチャート。 電子楽器で行われる自動演奏処理の一実施例を示すフローチャートである。 セクション切替タイミング設定処理の一実施例を示すフローチャート。 小節区間内でのセクション切替タイミング設定処理の一実施例を示すフローチャート。 小節区切り位置でのセクション切替タイミング設定処理の一実施例を示すフローチャート。 セクション切替処理の一実施例を示すフローチャート。
 以下、この発明の実施の形態を添付図面に従って詳細に説明する。
 図1は、本発明の特徴点である波形データの切替動作を説明する概念図である。図1において、縦に並べた2つの帯状図形は、2セットの波形データ20,20・を示している。丸付数字「1」、「2」、「3」、「4」は小節内の拍数を示しており、図面横方向が波形データ20,20・の再生時間軸に対応する。1セットの波形データ20は2小節の時間長を持ち、別の1セットの波形データ20・は1小節の時間長を持つものとする。図1では、1セットが2小節分の時間長を持つ波形データ20に対応付けるために、1セットが1小節分の時間長を持つ波形データ20・については同じ波形データセットを2つ(2小節分)並べて記載してある。
 各波形データ20,20・には、それぞれ波形データ上の1以上の潜在的な切替位置(以下、「潜在的切替位置」とする。「オンセット情報」とも呼ぶ)を特定する切替位置情報が対応付けられている。各潜在的切替位置は、再生中の或る波形データ20を別の波形データ20・に切り替える際に、その切替タイミング、すなわち、切替元の(再生中の)波形データを終了する終了タイミング、又は、切替先の波形データを開始する開始タイミング、として設定可能な、波形データ20、20・上の位置である。例えば、図面上側に描く波形データ20(後述するメインセクション200に対応付けられた波形データ)は、10個の潜在的切替位置「Mo_1」、「Mo_2」・・・「Mo_10」を持つ。また、図面下側に描く波形データ20・(後述するフィルインセクション210に対応付けられた波形データ)は、8個の潜在的切替位置「Fo_1」、「Fo_2」・・・「Fo_8」を持つ。
 本発明の特徴点は、1セットの波形データ(第1セットの波形データ)20の再生中に、再生対象の波形データを別の1セットの波形データ(第2セットの波形データ)20・に切り替える指示が行われたとき、少なくともその指示を受け付けたタイミングに基づいて、再生中の波形データ(第1セットの波形データ)20の切替位置情報及び別の波形データ(第2セットの波形データ)20・の切替位置情報を参照して、指示された別の波形データ20・上の1つの潜在的切替位置(「Fo_1」、「Fo_2」・・・「Fo_8」)、又は、再生中の波形データ20上の1つの潜在的切替位置(「Mo_1」、「Mo_2」・・・「Mo_10」)のいずれか一方で、該再生中の波形データ20の再生を終了することにある。切り替えるタイミングを設定するための処理や、切り替える動作などの詳細は後述する。
 図2は、この発明を適用した電子楽器100のハードウエア構成例を示すブロック図である。電子楽器100は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。CPU1は、この電子楽器100全体の動作を制御するものである。このCPU1に対して、通信バス12を介してROM2、RAM3、記憶装置4、演奏操作子5、パネル操作子6、表示部7、オーディオ再生部8、MIDI音源部9、楽音制御部10、インタフェース11がそれぞれ接続されている。
 更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ13が接続されている。例えば、タイマ13は、楽音を自動演奏する際の演奏テンポや、波形データのタイムストレッチ制御を行う際の周波数などを設定するためのテンポクロックパルスを発生する。タイマ13からのテンポクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられたりする。CPU1は、これらの命令に従って各種処理を実行する。
 ROM2は、CPU1により実行あるいは参照される各種プログラムや各種データ等を格納する。RAM3は、CPU1が各種プログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。
 記憶装置4には、複数の伴奏パターンデータ(後述する図3参照)などの各種データ等を多数記憶することが可能な内蔵データベースが構成される。また、記憶装置4は、CPU1が実行する各種プログラム等を記憶してもよい。上述したROM2にプログラムが記憶されていない場合、この記憶装置4(例えばハードディスク)にプログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2にプログラムを記憶している場合と同様の動作をCPU1に実行させることができる。このようにすると、プログラムの追加やバージョンアップ等が容易に行える。
 記憶装置4は、例えば、ハードディスク(HD)、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等、どのような記憶媒体を利用する記憶装置でもよい。また、記憶装置4はフラッシュメモリなどの半導体メモリで構成されてもよい。
 演奏操作子5は、例えば楽音の音高を選択するための複数の鍵を備えた鍵盤により構成され、各鍵に対応してキースイッチを有する。演奏者は、演奏操作子5を手弾きによるマニュアル演奏のために使用したり、自動伴奏機能に用いる和音(コード)を指定するために使用したりできる。なお、演奏操作子5の形態は、鍵盤型に限らず、例えば弦楽器型(ギター型)、管楽器型、打楽器型など、どのよう形態でもよい。
 パネル操作子6は、電子楽器100の操作パネルに設けられた各種操作子であり、例えば後述するセクションの切り替えを指示するセクション切り替えスイッチ、演奏テンポを設定するテンポ設定スイッチ、自動演奏の開始/停止を指示する再生/停止ボタン等、各種の操作子を含む。
 表示部7は、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイであって、パネル操作子6の操作に応じた各種画面(例えば伴奏パターンデータ選択画面、演奏テンポ設定画面、或いはセクション切り替え画面など)を表示したり、あるいは、選択中の伴奏パターンデータの内容など各種情報あるいはCPU1の制御状態を表示したりする。演奏者は該表示部7に表示されるこれらの各種情報を参照することで、伴奏パターンデータ選択、演奏テンポの設定、更にはセクションの切り替えなどの各種操作を容易に行うことができる。
 オーディオ再生部8は、通信バス12を経由して与えられる波形データに基づいて波形信号を生成し出力する。MIDI音源部9は、通信バス12を経由して与えられるMIDIデータに基づいて波形信号を生成し出力する。
 上記オーディオ再生部8及びMIDI音源部9は楽音制御部10に接続されている。楽音制御部10は、信号混合(加算)回路、D/A変換回路、音量制御回路などを含んで構成され、オーディオ再生部8及びMIDI音源部9から発生された波形信号にディジタル信号処理を施して効果を付与するとともにこれらを混合(加算)して、例えばスピーカなどのサウンドシステム14に出力する。サウンドシステム14は、楽音制御部10から出力された波形信号に対応する楽音を発音する。
 インタフェース11は、当該電子楽器100と図示しない外部機器との間で、各種データや制御プログラムなどの各種情報を送受信するためのインタフェースである。電子楽器100は、例えばMIDI規格に準拠するMIDIインタフェースや、イーサネット(登録商標)規格に準拠するネットワークインターフェース等、1又は複数種類のインタフェース11を備えてよく、それらインタフェース11の接続形式は有線及び無線のいずれでもよい。
 図3は、電子楽器100に構成されたデータベースに記憶される伴奏パターンデータのデータ構成を示す概念図である。データベースは、例えば記憶装置4に構成される。図3に示す通り、データベース内には、複数の伴奏パターンデータ200、210、220、230・・・が記憶されている。これら伴奏パターンデータ200、210、220、230・・・は、それぞれメインセクション、フィルインセクション、イントロセクション、エンディングセクション・・・等のセクションに対応付られている。各セクションは、それぞれ、1曲分の伴奏を構成する部分である。
 各伴奏パターンデータ200、210、220、230・・・は、それぞれ伴奏パターンデータとして用いる1又は複数セットの波形データ20と、該波形データ20の各セットに対応付けられた波形再生制御情報22とからなる。波形データ20の各セットは、実際の楽器演奏や人の声あるいは自然音などをサンプリングした楽音波形データ(オーディオ波形データ)である。各セクション200、210、220、230・・・毎の波形データ20の各セットは、それぞれ1小節分以上の時間長さを持ち、それぞれ対応するセクションに適した楽器演奏を内容として持つ。そのデータ形式は、例えばWAV,AIFF、MP3など、どのような形式でもよい。
 波形再生制御情報22は、対応する波形データ20のセットに対して設定された1以上の潜在的切替位置(オンセット情報)を特定する切替位置情報25を含んでいる。波形再生制御情報22は、その他にも、該波形データ20の録音時のテンポを示す基本テンポ、波形データ20の1小節内における各拍のタイミングを示す拍情報などを含んでよい。
 切替位置情報25は、前記図1に示す通り、対応する波形データ20上の1以上の潜在的切替位置(オンセット情報)を特定する情報であり、後述するセクション切り替えタイミングを決定するために参照される。切替位置情報25を含む波形再生制御情報22中の各種情報は、それぞれ対応する波形データ20を解析することによって得られる。自動演奏時には、CPU1は、波形再生制御情報22を参照することにより、波形データ20の再生処理に用いる各種パラメータを制御する。
 図4A,4Bは、前記図1に示す波形データ20、20・と、それらに対応付けられた切替位置情報25とを詳細に説明する図である。一例として、波形データ20は、メインセクションの伴奏パターンデータ200に対応付られたもの、波形データ20・は、フィルインセクション210の伴奏パターンデータ200に対応付られたものとする。図4A,4Bにおいて、丸付数字「1」、「2」、「3」、「4」は小節内の拍数であり、図面横方向が波形データ20、20・の再生時間軸に対応する。また、波形データ20、20・は、一例として、ドラム演奏を内容とするもの(すなわちドラムパート用の伴奏パターンデータ)を想定する。なお、本明細書では、各セクションの伴奏パターンデータ(メインセクションの伴奏パターンデータ200、フィルインセクションの伴奏パターンデータ210・・・)のことを、メインセクション200、フィルインセクション210という具合に、そのセクション名で表記することもある。
 図4Aは、メインセクション200及びフィルインセクション210に対応付けられた各波形データ20、20・が持つ演奏内容を、楽譜により表す。図4Aに示す通り、メインセクション200は、2小節分の時間長を持つ。その演奏内容は、1小節内において、ハイハットを四分音符で刻みつつ、1拍目に四分音符でバスドラムを1回、2拍目に四分音符でスネアドラムを1回、3拍目から8音符でバスドラムを2回、4拍目に四分音符でスネアドラムを1回演奏する、というものである。一方、フィルインセクション210は、1小節分の時間長を持ち、8つの8分音符でハイタム、ミドルタム、フロアタム、バスドラム及びスネアドラムを叩く演奏(ドラムロール)を内容とする。
 図4Bは、メインセクション200に対応付けられた波形データ20及びフィルインセクション210に対応付けられた波形データ20・それぞれの波形形状と、それぞれに対応付けられた切替位置情報25を説明する図である。波形データ20、20・それぞれの波形形状は、録音された楽器演奏音の音量変化を表す。メインセクション200に対応付けられた波形データ20は、図4Aの楽譜に基づく2小節分のドラム演奏音の録音物である。伴奏パターンデータを用いた自動伴奏技術において周知のように、メインセクション200は、2小節分の波形データ20が繰り返し再生されることを想定して作成されている。
 一方、フィルインセクション210に対応付けられた波形データ20・は、図4Aの楽譜に基づく1小節分のドラム演奏の録音物である。このフィルインセクション210は、メインセクション200のループ再生中に、ユーザ操作に応じて、1小節分の波形データを少なくとも1回再生して、メインセクション200の再生に戻ること(つまり、メインセクション200のループ再生中に挿入されること)を想定して作成されている。なお、図4A,4B(及び図1)では、2小節分の時間長を持つメインセクション200に対応付けるために、フィルインセクション210の波形データを時間軸に沿って2つ並べ、符号210a,210bで示している。
 波形データ20及び20・のそれぞれには、その波形データとして記録された音に含まれる1以上のアタック部(図4Bに示す波形の"山"の部分)のそれぞれに対して、潜在的切替位置(オンセット情報)が設定される。具体的には、各アタック部の開始位置(波形の立ち上がり位置)が、各アタック部に対応する潜在的切替位置(オンセット情報)として設定されている。切替位置情報25は、これら1以上のアタック部(図4Bに示す波形の"山"の部分)のそれぞれに対応する潜在的切替位置(オンセット情報)を特定する情報である。例えば、図1及び図4に示すメインセクション200の切替位置情報25は、波形データ20上の10箇所のアタック部に対応する10個のオンセット情報「Mo_1」、「Mo_2」・・・「Mo_10」を特定するデータである。また、図1及び図4A,4Bに示すフィルインセクション210の切替位置情報25は、波形データ20・上の8箇所のアタック部に対応する8個のオンセット情報「Fo_1」、「Fo_2」・・・「Fo_8」を特定するデータである。
 例えば、メインセクション200の1小節目の1拍目には、ハイハットとバスドラムが演奏される(図4Aの楽譜を参照)。この場合、ハイハットとバスドラムとが同じ拍位置で叩かれるので、波形データ上では、これら楽器の演奏音に対応するアタック部20aは1つである。この場合、このアタック部20aの先頭位置に、1つのオンセット情報「Mo_1」が設定される。
 ここで、波形データ20、20・は、それぞれ、図4Aの楽譜に示す演奏内容を、人がドラムセットを用いて実際に演奏した演奏音をサンプリング(録音)したものである。人間の演奏にはある程度のばらつきがあるため、波形データ20、20・として記録された各音の位置は、正確な拍位置(タイミング)からわずかにずれるのが一般的である。このため、各オンセット情報の位置は、図4Aの楽譜上に示された音符の拍位置からわずかに前後にずれた位置となる。。
 例えば、メインセクション200の2小節目の1拍目のハイハットとバスドラムに対応する演奏音20bは、録音時に早めのタイミングで演奏されたため、図4Bに示す通り、波形データ20上では1小節目の末尾に録音されている。したがって、この演奏音20bに対応するオンセット情報「Mo_6」は、2小節目の1拍目の位置ではなく、1小節目の末尾(具体的には演奏音20bのアタック部の先頭位置)に設定される。
 次に、前述した伴奏パターンデータを用いた「自動演奏処理」について説明する。ユーザは、図3に示すメインセクション200、フィルインセクション210、イントロセクション220、エンディングセクション230・・・の各伴奏パターンデータを選択的に切り替えつつ、電子楽器100に自動演奏を実行させる。図5は、電子楽器100のCPU1が実行する自動演奏処理の一実施例を示すフローチャートである。ユーザが自動演奏の開始指示を行った場合に、CPU1は当該処理を開始する。なお、以下の自動演奏処理においては、一具体例として、メインセクション200に対応付られた波形データ20をループ再生している最中に、ユーザのセクション切替指示に応じて、フィルインセクション210に対応付けられた波形データ20・が挿入され、その後メインセクション200の波形データ20の再生に戻る、というセクション切り替えが行われることを想定する。なお、本明細書において、「セクション切り替え」とは、切替元である再生中の波形データの再生を終了して、切替先に指定された別の波形データの再生を開始することを言う。
 ステップS1において、CPU1は、初期化処理を実行する。初期化処理は、例えばユーザ操作に応じた演奏テンポの設定や、選択された伴奏パターンデータをデータベース(記憶装置4)から読み出してRAM3にロードする処理などである。本実施例では、メインセクション200が選択されていることを想定しており、CPU10は、該メインセクション200に対応付けられた波形データ20及び波形再生制御情報22(切替位置情報25を含む)を記憶装置4からRAM3にロードする。
 ステップS2において、CPU1は、現在設定されている演奏テンポに従って、メインセクション200に対応付けられた波形データ20の再生を開始する。すなわち、CPU1は、RAM3から選択されているメインセクション200に対応付けられた波形データ20の読み出しを開始する。オーディオ再生部8は、読み出された波形データ20に基づいて波形信号を生成し出力する。なお、CPU10は、当該自動演奏の開始にあわせて、再生カウンタを開始する。再生カウンタのカウント値は、演奏テンポに応じた所定の周期毎に歩進する。再生カウンタは、波形データ再生の時間経過(再生タイミング)を計時するものである。なお、現在設定されている演奏テンポと、波形データ20に対応付けられた基本テンポとが異なる場合、CPU1及びオーディオ再生部8は、周知のタイムストレッチ制御を行うことにより、音高変化を来すことなく任意の演奏テンポで、波形データ20の楽音を発生することができる。
 ステップS3において、CPU1は、ユーザ指示の受付の有無を判定する。ユーザ指示がない場合(ステップS3のNO)、CPU1は、ステップS2~ステップS3の処理をループする。これにより、CPU1及びオーディオ再生部8は、1つのメインセクション200に対応付けられた2小節分の波形データ20全体を繰り返し再生する。CPU1によって実行される前記ステップS2等の処理及びオーディオ再生部8が、時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生する再生ステップとして、或いは、時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生するよう構成された再生部として、機能する。
 前記ステップS2及びS3による波形データ20のループ再生中に何らかユーザ指示があった場合(ステップS3のYES)、CPU1は、そのユーザ指示に従う各種処理を行う(ステップS4,S8)。この実施例では、ユーザ指示として、再生対象の波形データをメインセクション200からフィルインセクション210に切り替える「セクション切替指示」(ステップS4)、自動演奏の終了指示(ステップS8)及び、その他の指示、を想定している。前記「セクション変更指示」のユーザ指示を受け付けるためのパネル操作子6の操作及びCPU1によって実行される前記ステップS4の処理は、前記再生部によって或る1セットの波形データ(第1セットの波形データ)が再生されているときに、別の波形データ(第2セットの波形データ)を指定するステップ、或いは、前記再生部によって或る1セットの波形データ(第1セットの波形データ)が再生されているときに、別の波形データ(第2セットの波形データ)を指定する指定部として機能する。
 「セクション切替更指示」があった場合(ステップS4のYES)、CPU1は、切替先として指定されたフィルインセクション210に対応付けられた波形データ20・及び波形再生制御情報22をデータベース(記憶装置4)からRAM3にロードし(ステップS5)、RAM3から該フィルインセクション210に対応付けられた切替位置情報25(図4Bのオンセット情報「Fo_1」~「Fo_8」)を取得するとともに、現在再生中のメインセクション200に対応付けられた切替位置情報25(図4Bのオンセット情報「Mo_1」~「Mo_10」)を取得する(ステップS6)。CPU1によって実行される前記ステップS6の処理が、再生中の前記或る1セットの波形データ(第1セットの波形データ)と前記指定された別の波形データ(第2セットの波形データ)とのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得する取得ステップ、或いは、再生中の前記或る1セットの波形データ(第1セットの波形データ)と前記指定された別の波形データ(第2セットの波形データ)とのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得する取得部として機能する。
 ステップS7において、CPU1は、セクション切替指示のタイミングと、今回変更先に指定されたフィルインセクション210の波形データ20・上のオンセット情報(潜在的切替位置)と、現在再生中のメインセクション200の波形データ20上のオンセット情報(潜在的切替位置)との位置関係に基づいて、詳細は後述する「セクション切り替えタイミング」を設定する処理を行う。このステップS7で「セクション切り替えタイミング」を設定した後、処理はステップS2の処理に戻る。
 一方、ユーザ指示が「自動演奏の終了指示」である場合(ステップS4のNO、ステップS8のYES)、CPU1は指示に応じた終了制御を行って本自動演奏処理を終了する。例えば「自動演奏の終了指示」がメインセクション200からエンディングセクション230へのセクション切替指示によりなされた場合、CPU1は当該指示タイミングの次小節でメインセクション200の再生を終了し、メインセクション200に替えてエンディングセクション230の再生を開始し、そのエンディングセクション230を最後まで再生した後に、本自動演奏処理を終了する。また、「自動演奏の終了指示」が再生/停止ボタン操作によりなされた場合、CPU1は、当該停止指示がなされた時点で再生終了制御を行って、本自動演奏処理を終了する。
 また、ユーザ指示が上記の何れでもない場合には(ステップS4,S8のいずれもがNO)、CPU1は、ユーザ指示に応じた「その他の処理」を実行する。その他の指示は、例えば上述したメインセクション200からフィルインセクション210への切り替え又はエンディングセクションへの切り替え以外のセクション切り替え、ミュートオン/オフ指示、音色変更指示、或いは、音量変更の指示などである。
 次に、前記S7におけるセクション切替タイミングの設定処理について詳細に説明する。図6~図8は、セクション切替タイミングの設定処理を示すフローチャートである。CPU1は、前記図5の処理が前記ステップS7に進んだとき(すなわちメインセクションからフィルインセクションへの切り替え指示に応じて)、図6の処理を起動する。
 ステップS11において、CPU1は、セクション切替指示を受け付けたタイミングが、小節区切り直前であるかどうか判断する。小節区切りは、音楽的な区切り位置の一例であり、1つの小節と後続の小節との区切り部分である。例えば、図4Bの例では、メインセクション200に対応付けられた波形データ20における1小節目の末尾と2小節目の先頭との接合部、及び、ループ再生時の2小節目の末尾と1小節目の先頭との接合部が小節区切りである。CPU1は、セクション切替指示を受け付けた時点の波形データ再生位置と小節区切り位置との関係を、前述した再生カウント値に基づく拍数から特定できる。小節区切り直前かどうかの判断は、例えば、セクション切替指示タイミングが、現在再生中の小節末尾直前の所定区間(例えば50ミリ秒)以内の範囲であるか否か、あるいは、現在再生中の小節の4拍半の位置以降であるか否かといった条件により行うことができる。
 セクション切替指示を受け付けたタイミングが小節区切り直前以外である場合(ステップS11のNO)、CPU1は図7に示す「小節内でのセクション切替タイミング設定処理」を行う(ステップS12)。一方、セクション切替指示を受け付けたタイミングが、小節区切り直前である場合(ステップS11のYES)、CPU1は図8に示す「小節区切りでのセクション切替タイミング設定処理」を行う(ステップS13)。
 次に、前述した図1の概念図と、図6、図7及び図8のフローチャートとを参照して、「ケースA」、「ケースB」及び「ケースC」の3つのケースを中心に、セクション切替指示タイミング別の「セクション切替タイミング設定処理」を説明する。
 図1において矢印50aで示す「ケースA」は、ユーザが第1小節3拍目の直前で、フィルインセクション210への切替指示を行った場合である。この場合、CPU1は、前記ステップS11をNOに分岐して、ステップS12の「小節内でのセクション切替タイミング設定処理」に処理を進める。また、図1において矢印50bで示す「ケースB」は、ユーザが第1小節4拍目の直前で、フィルインセクション210への切替指示を行った場合であり、この場合も、CPU1は、前記ステップS11をNOに分岐して、ステップS12の「小節内でのセクション切替タイミング設定処理」に処理を進める。
 「小節内でのセクション切替タイミング設定処理」の場合、図7に示す通り、CPU1は、ステップS14において、前記ステップS6で取得したフィルインセクション210のオンセット情報「Fo_1」~「Fo_8」のうち、セクション切替指示のタイミングの直後に存在する1つのオンセット情報「Fo_x」(なお、xは1~8のいずれか1つ)を取得する。ステップS15において、CPU1は、現在再生中のメインセクション200の全オンセット情報「Mo_1」~「Mo_10」を調べて、前記ステップS14で取得したフィルインセクション210のオンセット情報「Fo_x」の直前の所定区間以内に、現在再生中のメインセクション200のオンセット情報「Mo_y」(なお、「y」は1~10のいずれか1つ)が存在するかどうか判断する。
 前記所定区間の時間長は、例えば50ミリ秒である。この所定区間の時間長は、セクションをメインセクション200からフィルインセクション210に切り替える時に、切替直前の変更元(メインセクション200)の発音と、切替直後の変更先(フィルインセクション210)の発音とが時間的に近すぎることにより生じる「2度鳴り」を防ぐために必要な長さであることが望ましい。この点、(1)2度鳴りは、波形データとして記録した各音の位置が、音符の示す拍位置からズレている場合(典型的には、記録された音が音符の示す拍位置よりも早い「前ノリ」で演奏されている場合)に生じ易いこと、(2)伴奏パターンデータとして用いる波形データとして記録した各音の位置と、音符のタイミング(拍数の示す基準タイミング)のズレ幅が概ね「50ミリ秒」以内と想定できること、(3)50ミリ秒以内ならば1拍分の時刻内の音とみなし得ること(言い換えれば50ミリ秒以上離れていれば、別の拍(タイミング)の音とみなし得ること)、といった理由から、「50ミリ秒」という時間長は、好ましい一例である。
 例えば、ケースAの場合、セクション切替指示のタイミング(矢印50a)の直後に存在するフィルインセクション210のオンセット情報は、「Fo_5」であり、「Fo_5」よりも前には、メインセクション200のオンセット情報は存在しない(「Fo_5」の直前のメインセクション200のオンセット情報は「Mo_2」であるが、「Mo_2」よりもあとにセクション切り替え指示が行われているため、セクション切り替え指示から「Fo_5」までの間にはメインセクション200のオンセット情報「Mo_y」は存在しない:ステップS15のNO)。その場合、CPU1は、ステップS16において、セクション切替指示のタイミングの直後に存在するフィルインセクション210のオンセット情報「Fo_x」(ケースAでは、「Fo_5」)を、現在再生中のメインセクション200の終了タイミングとして設定し、且つ、当該フィルインセクション210のオンセット情報「Fo_x」(ケースAでは、「Fo_5」)を、今回切替指示されたフィルインセクション210の再生を開始する開始タイミングとしてセットする。
 一方、ケースBの場合、セクション切替指示のタイミング(矢印50b)の直後に存在するフィルインセクション210のオンセット情報は「Fo_7」であり、この「Fo_7」よりも前に存在するメインセクション200のオンセット情報は「Mo_5」である。ここで「Mo_5」が「Fo_7」から所定区間(例えば50ミリ秒)以内に存在するものとする。そうすると、仮に、フィルインセクション210のオンセット情報「Fo_7」の位置でセクションを切り替えたとすると、「Mo_5」に相当するアタック部分を発音した直後(50ミリ秒以内)に、「Fo_7」のアタック部が発音されてしまい、いわゆる「2度鳴り」が起こってしまう。
 そこで、ケースBのように、セクション切替指示のタイミングの直後に存在するフィルインセクション210のオンセット情報「Fo_x」の直前の所定区間以内に、現在再生中のメインセクション200のオンセット情報「Mo_y」が存在する場合(ステップS15のYES)、CPU1は、ステップS17において、セクション切替指示のタイミングの直後に存在するフィルインセクション210のオンセット情報「Fo_x」(ケースBでは、「Fo_7」)の直前の所定区間内に存在するメインセクション200のオンセット情報「Mo_y」(ケースBでは、「Mo_5」)を、現在再生中のメインセクション200の終了タイミングとして設定し、且つ、当該メインセクション200のオンセット情報「Mo_y」(ケースBでは、「Mo_5」)を、切替指示されたフィルインセクション210の再生を開始する開始タイミングとして設定する。このように設定することで、メインセクションの「Mo_5」が発音する前にメインセクションの再生が終わり、フィルインセクションの再生が始まるので、2度鳴りを防ぐことができる。
 前記ステップS16又はS17の後、CPU1は、図7の処理を終了する。
 一方、矢印50cで示す「ケースC」は、ユーザが第1小節4拍目以降に、フィルインセクション210への切替指示を行った場合である。この場合、CPU1は、前記ステップS11をYESに分岐して、ステップS13の「小節区切りでのセクション切替タイミング設定処理」に処理を進める。
 小節区切りでのセクション切替タイミング設定処理の場合、CPU1は、図8に示す通り、ステップS18において、現在再生中の小節末尾直前の所定区間以内に、現在再生中のメインセクション200のオンセット情報「Mo_z」(zは「1」~「10」のいずれか)が存在するか否かを判断する。前記所定区間の時間長は、前記ステップS15で説明したのと同様の趣旨で「2度鳴り」を防ぐべく、例えば50ミリ秒に設定される。
 ケースCの場合、セクション切替指示のタイミング(矢印50c)は第1小節末尾の直前である。ここで第1小節末尾の直前に存在するメインセクション200のオンセット情報は「Mo_6」である。この「Mo_6」が1小節末尾から所定区間(例えば50ミリ秒)以内に存在するものとする。そうすると、仮に、第1小節末尾で、若しくは、「セクション切替指示のタイミング直後のフィルインセクション210のオンセット情報「Fo_1」の位置でセクションを切り替えたとすると、「Mo_6」のアタック部分を発音した直後(50ミリ秒以内)に、「Fo_1」のアタック部分が発音されてしまい、「2度鳴り」が起こってしまう。
 そこで、ケースCのように、小節末尾の直前にセクション切替指示がなされ、且つ、その小節末尾直前の所定区間(例えば50ミリ秒)以内に、現在再生中のメインセクション200のオンセット情報「Mo_z」が存在する場合(ステップS18のYES)、CPU1は、ステップS19において、小節末尾直前のメインセクション200のオンセット情報「Mo_z」(ケースCでは、「Mo_6」)の位置を、現在再生中のメインセクション200の終了タイミングとして設定するとともに、ステップS20において、現在再生中の小節の区切り位置(ケースCでは、第1小節末尾、言い換えれば、第2小節先頭)を、切替指示されたフィルインセクション210の再生を開始する開始タイミングとして設定する。
 一方、小節末尾の直前にセクション切り替え指示がなされたが、その小節末尾直前の所定区間(例えば50ミリ秒)以内に、メインセクション200のオンセット情報「Mo_z」が存在しない場合(ステップS18のNO)、CPU1は、前記ステップS20において、現在再生中の小節の区切り位置を、切替指示されたフィルインセクション210の再生開始タイミングとして設定するとともに、該小節の区切り位置を再生中のメインセクション200の終了タイミングとして設定する。なお、小節区切り位置でセクション切替を行うこと自体は、例えばMIDIデータを用いた伴奏パターンデータのセクション切り替え制御として一般的に行われている。
 前記ステップS20の後、CPU1は、図8の処理を終了する。CPU1によって実行される前記ステップS7,S16,S17,S19の処理が、少なくとも前記指定を受け付けたタイミングに基づいて、前記再生中の第1セットの波形データの切替位置情報および前記指定された第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定ステップとして、或いは、少なくとも前記指定を受け付けたタイミングに基づいて、前記再生中の第1セットの波形データの切替位置情報および前記指定された第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定部として、機能する。
 前記図6~図8の処理(すなわち前記ステップS7)によりセクション切替タイミングを設定した後、処理は、ステップS2に戻る。そして、CPU1は、ステップS2及びS3によりメインセクション200の波形データのループ再生を行いつつ、現在再生しているメインセクション200の再生位置が、前記設定したセクション切替タイミングに到達したときに、再生対象の波形データをメインセクション200の波形データ(第1セットの波形データ)20からフィルインセクション210の波形データ(第2セットの波形データ)20・に切り替える。
 図9は、CPU1が実行するセクション切替処理のフローチャートである。この処理は、自動演奏処理の実行中に、波形読み出しクロックに応じた所定の時間間隔毎に起動する割り込み処理である。ステップS21において、CPU1は、現在再生しているメインセクション200の再生位置が、前記ステップS16、S17又はS19で設定された終了タイミングに到達したか否かを判定する。そして、現在再生しているメインセクション200の再生位置が前記終了タイミングに到達することに応じて(ステップS21のYES)、CPU1は、ステップS22において、メインセクション200の波形データ20の読み出しを終了する。これに応じて、オーディオ再生部8は、メインセクション200の波形データ20の再生を終了する。
 ステップS23において、CPU1は、現在再生しているメインセクション200の再生位置が、前記ステップS16、S17又はS20で設定された開始タイミングに到達したか否かを判定する。そして現在再生しているメインセクション200の再生位置が、前記設定された開始タイミングに到達することに応じて(ステップS23のYES)、CPU1は、ステップS24において、フィルインセクション210の波形データ20・の読み出しを開始する。これに応じて、オーディオ再生部8は、フィルインセクション210の波形データ20・の再生を開始する。一方、現在再生しているメインセクション200の再生位置が、終了タイミング又は開始タイミングに到達しないうちは(ステップS21,S23のNO)、そのつど、処理を終了する。そして、当該割り込み処理の起動機会毎に、CPU1は、終了タイミング乃至開始タイミングが到達するのを待つ。
 例えば、ケースAのように、セクション切替指示が小節内で行われ、且つ、切替指示の直後のフィルインセクションのオンセット情報「Fo_5」の直前の所定区間内にメインセクションのオンセット情報「Mo_y」が存在しない場合(前記ステップS15のNO)、現在再生しているメインセクション200の再生位置が、「Fo_5」に対応する位置に到達したとき(前記ステップS21,S23のYES)、CPU1及びオーディオ再生部8は、メインセクション200の波形データ20の再生を終了し、且つ、フィルインセクション210の波形データ20・の再生を開始する(前記ステップS22,S24)。この場合、「Fo_5」の直前の所定区間内にメインセクション側に不所望な音(アタック部)が存在せず、且つ、フィルインセクション210の波形データを、「Fo_5」のアタック部から再生開始できるので、2度鳴りによるノイズも、1つの音(1つの波形の"山")の途中から再生開始することにるノイズも、確実に防ぐことができる。
 また、ケースBのように、セクション切替指示が小節内で行われ、且つ、切替指示の直後のフィルインセクション210のオンセット情報「Fo_7」直前の所定区間内にメインセクションのオンセット情報「Mo_5」が存在する場合(前記ステップS15のYES)、現在再生しているメインセクションの再生位置が、「Mo_5」に対応する位置に到達したとき(前記ステップS21,S23のYES)、CPU1及びオーディオ再生部8は、メインセクション200の波形データ20の再生を終了し、且つ、フィルインセクション210の波形データ20・の再生を開始する(前記ステップS22,S24)。この場合、「Mo_5」の位置でメインセクション200の波形データの再生を終了することにより、当該「Mo_5」のアタック部の発音を回避する。そして、「Mo_5」からフィルインセクション210の波形データ20・の再生を開始すると、フィルインセクション210側の発音は「Fo_7」から始まる。したがって、この場合も、2度鳴りによるノイズ発生も、1つの音(1つの波形の"山")の途中から再生開始することにるノイズ発生も、確実に防ぐことができる。
 また、ケースCのように、セクション切替指示が小節区切りで行われ、且つ、小節末尾直前の所定区間内にメインセクションのオンセット情報「Mo_6」が存在する場合(前記ステップS18のYES)、現在再生しているメインセクションの再生位置が、「Mo_6」に対応する位置に到達したとき(前記ステップS21のYES)、CPU1及びオーディオ再生部8は、メインセクション200の波形データ20の再生を終了する(前記ステップS22)。そして、現在の再生タイミングが小節区切りの位置に到達したとき(前記ステップS23のYES)、CPU1及びオーディオ再生部8は、フィルインセクション210の波形データ20・の再生を開始する(前記ステップSS24)。この場合、「Mo_6」の位置でメインセクション200の波形データ20の再生を終了することにより、当該「Mo_6」のアタック部の発音を回避できるので、「2度鳴り」によるノイズの発生を確実に防ぐことができる。
 また、例えば、セクション切替指示が小節区切りで行われ、且つ、小節末尾直前の所定区間内にメインセクションのオンセット情報「Mo_z」が存在しない場合(前記ステップS18のNO)、CPU1は、現在再生しているメインセクションの再生位置が小節区切り位置に到達したとき(前記ステップS21、S23のYES)、CPU1及びオーディオ再生部8は、メインセクション200の波形データ20の再生を終了し、且つ、フィルインセクション210の波形データ20・の再生を開始する(前記ステップS22,S24)。
 CPU1によって実行される前記ステップS22による処理が、前記第2セットの波形データの指定に応じて、前記再生ステップにより再生される波形データを前記第1セット波形データから前記第2セットの波形データへ切り替える制御を行う制御ステップであって、前記再生ステップによる波形データの再生タイミングが、前記設定ステップによって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了させる制御を行う前記ステップ、或いは、前記第2セットの波形データの指定に応じて、前記再生部が再生する波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御部であって、前記再生部による波形データの再生タイミングが、前記設定された終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了させる制御を行う前記制御部として機能する。
 前記図9の処理により、再生対象がフィルインセクション210の波形データ20・に切り替わると、CPU1及びオーディオ再生部8は、前記図4のステップS2,S3の処理により、フィルインセクション210の波形データ20・を1小節末尾まで少なくとも1回再生した後、フィルインセクション210の波形データ20・の再生を終了する。そして、CPU1及びオーディオ再生部8は、再生対象をメインセクション200に戻して、メインセクション200に対応付けられた波形データ20をループ再生する。
 以上説明した通り、本実施形態の自動演奏処理によれば、再生中の波形データをメインセクション200からフィルインセクション210へ切り替える際、波形途中から再生することによるノイズや「2度鳴り」によるノイズ発生を確実に防ぎつつ、任意のタイミングで、波形データを切り替えることができるという優れた効果を奏する。
 なお、本実施例では、各アタック部の開始位置を潜在的切替位置としたが、潜在的切替位置はこれに限らない。例えば、波形データのレベルが所定値よりも小さい箇所、あるいはそのような状態が一定時間連続する箇所などを潜在的切替位置として設定するように構成してもよい。
 また、本実施例では、前記ステップS6において、各波形データ20及び20・に対応付けられた波形再生制御情報22に記憶された切替位置情報25を参照することにより、各波形データ20及び20・についてオンセット情報「Mo_1」~「Mo8」と「Fo1」~「Fo8」とを取得する構成を例示したが、前記ステップS6で取得する切替位置情報25は予め記憶されたものに限らず、例えば、再生中に再生中の波形データ20と、切替先として指定されたフィルインセクション210に対応付けられた波形データ20・とを、リアルタイムで解析して算出したものであってもよい。
 なお、前記ステップS11は、処理分岐の判断条件となる音楽的区切りの一例として1小節の区切り位置を用いる構成であったが、4小節あるいは8小節といった、複数小節単位の区切り位置を、処理分岐の判断条件となる音楽的区切りとして用いるように構成されてもよい。また、別の例として、前記ステップS11は、例えば、拍数或いはクロック数を、処理分岐の判断条件となる音楽的区切りとして用いるように構成されてもよい。
 なお、例えばケースA,Bのように、1箇所のオンセット情報(「Fo_X」又は「Mo_y」)の位置でメインセクション200の波形データ20の再生を終了して、且つ、フィルインセクション210の波形データ20・の再生を開始する場合、オーディオ再生部8は、セクション切替時に適宜の時間幅(例えば5.8ミリ秒程度)で、メインセクション200のの波形データ20とフィルインセクション210の波形データ20・とをクロスフェード処理するとよい。また、ケースCのように、メインセクション200の波形データ20の再生を「Mo_z」の位置で終了する場合、オーディオ再生部8は、「Mo_z」時点でメインセクション200の波形データ20が無音になるように、フェードアウト処理するとよい。
 なお、実施例では、図9のセクション切替処理において、オーディオ再生部8が、メインセクション200波形データ20の再生を終了して(前記ステップS22)、フィルインセクション210の波形データ20・の再生を開始する(前記ステップS24)ことを説明したが、前記ステップS22の処理は、メインセクション200の波形データの再生を終了(停止)するのでなく、メインセクション200の波形データ20に従う演奏音をミュートする処理でもよい。
 なお、上記の実施例では、セクション切替の一例として、再生中の波形データをメインセクション200からフィルインセクション210へ切り替える場合を説明したが、これに限らず、例えば、メインセクション200からエンディングセクション230への切り替えや、フィルインセクション210からエンディングセクション230への切り替えなど、任意のセクションの組み合わせによるセクション切り替えに本願発明は適用できる。要するに、セクション切替処理は、或る伴奏パターンデータの波形データから別の伴奏パターンデータの波形データへ切り替える処理でさえあればよい。
 なお、上記の実施例では、1つの演奏パート(例えばドラムパート)で用いる伴奏パターンデータ200、210、220、230・・・を説明したが、データベースは、更に、図示外の複数のパート(例えば、コードバッキングパート、べースパート等)のそれぞれに対応して、セクション毎の伴奏パターンデータを用意してよい。更に、データベースには、ジャズ、ポップス、ロック、ブルースなど多彩なジャンルに対応する複数通りの伴奏パターンデータ200、210、220、230・・・が用意されよい。
 なお、電子楽器100は、更に、MIDIデータで作成された伴奏パターンデータをデータベース(記憶装置4)に記憶し、該MIDIデータで作成された伴奏パターンデータを用いた自動演奏を行うことができるように構成されてもよい。自動演奏は、MIDIデータで作成された伴奏パターンデータのパートと、波形データで作成された伴奏パターンデータのパートとが併存していてもよい。
 なお、データベース(記憶装置4)に記憶される伴奏パターンデータ200、210、220、230・・・は、例えば電子楽器100のメーカが作成して予めデータべースに記憶したものである。それに限らず、当該電子楽器のユーザが、自身で新規に作成(録音)した伴奏パターンデータをデータベースに追加記憶できてもよいし、メーカやその他の利用者が新規に作成した伴奏パターンデータを、外部機器(例えばインターネットを経由して接続されたサーバ装置など)から取得して、データベースに既存のデータと差し替えたり、あるいは、データベースに追加記憶したり、できてもよい。また、時間経過に伴い、前記記憶部に記憶された前記複数の波形データのいずれか1つを再生するステップ乃至再生部は、当該電子楽器100に備わる記憶装置4に記憶された伴奏パターンデータ200、210、220、230・・・のいずれか1つに対応付けられた波形データを再生することに限らず、例えば、前記外部機器から波形データを取得しつつ再生することにより構成されてもよい。
 なお、電子楽器100は、演奏操作子5、表示部7、オーディオ再生部8、MIDI音源部9、楽音制御部10など、各機能モジュールを1つの装置筺体に内蔵したものに限らず、1以上の機能モジュール毎に個別の装置を、MIDIインタフェース等の接続して構成構成されたものであってもよい。
 なお、本発明に係る波形再生装置は電子楽器100に限らず、パーソナルコンピュータ、PDA(携帯情報端末)や携帯電話等の携帯通信端末、あるいはゲーム装置など、少なくとも波形データに基づいて楽音の自動演奏を行うことのできるものであればどのような形態の装置・機器に適用してもよい。
 また、本発明におけるプロセッサは、上記実施例において説明されたCPU1のようなソフトウェアプログラムを実行可能なプロセッサに限らず、DSPのようなマイクロプログラムを実行可能なプロセッサであってもよく、更に、所期の処理機能を実現しうるように専用のハードウェア回路(集積回路又はデスクリート回路群)によって構成されたプロセッサであってもよい。

Claims (7)

  1.  記憶部に記憶されている複数セットの波形データを使用して波形を再生する方法を実行するために、プロセッサにより実行可能な命令群を内容とするコンピュータ読取可能な記憶媒体であって、
     前記方法は、
     時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生する再生ステップと、
     前記再生ステップによる前記複数セットの波形データのうち第1セットの波形データの再生中に、前記複数セットの波形データのうち第2セットの波形データを指定するステップと、
     前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得するステップと、
     少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定ステップと、
     前記第2セットの波形データの指定に応じて、前記再生ステップにより再生される波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御ステップであって、前記再生ステップによる波形データの再生タイミングが、前記設定ステップによって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記ステップと
    を備えるコンピュータ読取可能な記憶媒体。
  2.  前記設定ステップは、更に、前記設定された終了タイミングを、前記指定された第2セットの波形データの再生を開始する開始タイミングとして設定し、
     前記制御ステップは、更に、前記再生ステップによる波形データの再生タイミングが、前記設定された開始タイミングに到達することに応じて、前記第2セットの波形データの再生を開始するよう制御する、請求項1に記載のコンピュータ読取可能な記憶媒体。
  3.  前記設定ステップは、
      前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する前記第2セットの波形データ上の潜在的切替位置より前の所定時間以内に、前記再生中の第1セットの波形データ上の切替位置が存在するかどうかを判断し、
      前記第1セットの波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定する一方、前記第1セットの波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する前記第2セットの波形データ上の切替位置を、前記終了タイミングとして設定する、請求項1又は2に記載のコンピュータ読取可能な記憶媒体。
  4.  前記設定ステップは、更に、前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記指定された第2セットの波形データの再生を開始する開始タイミングとして設定し、
     前記制御ステップは、更に、前記再生ステップによる波形データの再生タイミングが、前記設定された開始タイミングに到達することに応じて、前記第2セットの波形データの再生を開始するよう制御する、請求項1に記載のコンピュータ読取可能な記憶媒体。
  5.  前記設定ステップは、
      前記第2セットの波形データの指定を受け付けたタイミングの直後に存在する音楽的区切り位置より前の所定時間以内に、前記再生中の第1セットの波形データ上の切替位置が存在するかどうかを判断し、
      前記第1セットの波形データ上の切替位置が存在する場合は、その切替位置を、前記終了タイミングとして設定する一方、前記第1セットの波形データの切替位置が存在しない場合は、前記指定を受け付けたタイミングの直後に存在する音楽的区切り位置を、前記終了タイミングとして設定する、請求項1又は4に記載のコンピュータ読取可能な記憶媒体。

  6.  複数セットの波形データを記憶するよう構成された記憶部と、
     時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生するよう構成された再生部と、
     前記再生部によって前記複数セットの波形データのうち第1セットのの波形データが再生されているときに、前記複数セットの波形データのうち第2セットの波形データを指定する指定部と、
     前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得する取得部と、
     少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定部と、
     前記第2セットの波形データの指定に応じて、前記再生部が再生する波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御部であって、前記再生部による波形データの再生タイミングが、前記設定部によって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記制御部と
    を備える波形再生装置。
  7.  記憶部に記憶されている複数の波形データを使用して波形を再生するために、コンピュータによって実行される方法であって、
     時間経過に伴い、前記記憶部に記憶された前記複数セットの波形データのいずれか1セットを再生する再生ステップと、
     前記再生ステップによる前記複数セットの波形データのうち第1セットの波形データの再生中に、前記複数セットの波形データのうち第2セットの波形データを指定するステップと、
     前記第1セットの波形データと前記第2セットの波形データとのそれぞれについて、その波形データ上の1以上の切替位置を特定する切替位置情報を取得するステップと、
     少なくとも前記第2セットの波形データの指定を受け付けたタイミングに基づいて、前記第1セットの波形データの切替位置情報及び前記第2セットの波形データの切替位置情報を参照して、前記第2セットの波形データ上の1つの切替位置、又は、前記第1セットの波形データ上の1つの切替位置のいずれか一方を、該再生中の第1セットの波形データの再生を終了する終了タイミングとして設定する設定ステップと、
     前記第2セットの波形データの指定に応じて、前記再生ステップにより再生される波形データを前記第1セットの波形データから前記第2セットの波形データへ切り替える制御を行う制御ステップであって、前記再生ステップによる波形データの再生タイミングが、前記設定ステップによって設定された前記終了タイミングに到達することに応じて、少なくとも前記第1セットの波形データの再生を終了するよう制御を行う前記ステップと
    を備える方法。
PCT/JP2014/076844 2013-10-09 2014-10-07 複数セットの波形データを切り替えて波形再生を行う技術 WO2015053278A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/027,447 US20160240179A1 (en) 2013-10-09 2014-10-07 Technique for reproducing waveform by switching between plurality of sets of waveform data
EP14852172.7A EP3057090A4 (en) 2013-10-09 2014-10-07 Technique for reproducing waveform by switching between plurality of sets of waveform data
CN201480055703.2A CN105637579B (zh) 2013-10-09 2014-10-07 通过在多组波形数据之间切换来再现波形的技术

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-212257 2013-10-09
JP2013212257A JP6252088B2 (ja) 2013-10-09 2013-10-09 波形再生を行うためのプログラム、波形再生装置及び方法

Publications (1)

Publication Number Publication Date
WO2015053278A1 true WO2015053278A1 (ja) 2015-04-16

Family

ID=52813094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/076844 WO2015053278A1 (ja) 2013-10-09 2014-10-07 複数セットの波形データを切り替えて波形再生を行う技術

Country Status (5)

Country Link
US (1) US20160240179A1 (ja)
EP (1) EP3057090A4 (ja)
JP (1) JP6252088B2 (ja)
CN (1) CN105637579B (ja)
WO (1) WO2015053278A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207625A3 (en) * 2015-06-22 2017-02-02 Time Machine Capital Limited Rhythmic synchronization of cross fading for musical audio section replacement for multimedia playback
US10268808B2 (en) 2016-12-20 2019-04-23 Time Machine Capital Limited Enhanced content tracking system and method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4218975A3 (en) 2015-05-19 2023-08-30 Harmonix Music Systems, Inc. Improvised guitar simulation
US9773486B2 (en) 2015-09-28 2017-09-26 Harmonix Music Systems, Inc. Vocal improvisation
US9799314B2 (en) * 2015-09-28 2017-10-24 Harmonix Music Systems, Inc. Dynamic improvisational fill feature
EP3998600A4 (en) 2019-07-09 2023-01-25 Roland Corporation RECORDING/PLAYBACK DEVICE
JP7419830B2 (ja) * 2020-01-17 2024-01-23 ヤマハ株式会社 伴奏音生成装置、電子楽器、伴奏音生成方法および伴奏音生成プログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268866A (ja) 1997-03-21 1998-10-09 Yamaha Corp 自動演奏制御装置
JP2003131660A (ja) * 2001-10-29 2003-05-09 Yamaha Corp 携帯端末における楽曲編集装置及び携帯端末で利用する楽曲編集プログラム
JP2003308071A (ja) * 2002-04-12 2003-10-31 Kawai Musical Instr Mfg Co Ltd 自動演奏装置
JP2005010462A (ja) * 2003-06-19 2005-01-13 Yamaha Corp 自動演奏装置及び自動演奏処理プログラム並びに自動演奏パターンデータを記録したコンピュータ読み取り可能な記録媒体
JP2006292954A (ja) * 2005-04-08 2006-10-26 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2011137880A (ja) * 2009-12-25 2011-07-14 Yamaha Corp 自動伴奏装置
JP2014006416A (ja) * 2012-06-26 2014-01-16 Yamaha Corp 自動演奏装置及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL187284C (nl) * 1977-11-26 1991-08-01 Kawai Musical Instr Mfg Co Automatische ritmepatroonbegeleidingsinrichting.
JP2956569B2 (ja) * 1996-02-26 1999-10-04 ヤマハ株式会社 カラオケ装置
SG65729A1 (en) * 1997-01-31 1999-06-22 Yamaha Corp Tone generating device and method using a time stretch/compression control technique
JPH1110462A (ja) * 1997-06-19 1999-01-19 Seiko Sangyo Kk 庇の製造方法
JP3640235B2 (ja) * 1998-05-28 2005-04-20 株式会社河合楽器製作所 自動伴奏装置及び自動伴奏方法
EP1304680A3 (en) * 2001-09-13 2004-03-03 Yamaha Corporation Apparatus and method for synthesizing a plurality of waveforms in synchronized manner
JP4702160B2 (ja) * 2006-04-25 2011-06-15 ヤマハ株式会社 楽音合成装置及びプログラム
JP4821533B2 (ja) * 2006-09-21 2011-11-24 ヤマハ株式会社 アルペジオ演奏装置及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268866A (ja) 1997-03-21 1998-10-09 Yamaha Corp 自動演奏制御装置
JP2003131660A (ja) * 2001-10-29 2003-05-09 Yamaha Corp 携帯端末における楽曲編集装置及び携帯端末で利用する楽曲編集プログラム
JP2003308071A (ja) * 2002-04-12 2003-10-31 Kawai Musical Instr Mfg Co Ltd 自動演奏装置
JP2005010462A (ja) * 2003-06-19 2005-01-13 Yamaha Corp 自動演奏装置及び自動演奏処理プログラム並びに自動演奏パターンデータを記録したコンピュータ読み取り可能な記録媒体
JP2006292954A (ja) * 2005-04-08 2006-10-26 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2011137880A (ja) * 2009-12-25 2011-07-14 Yamaha Corp 自動伴奏装置
JP2014006416A (ja) * 2012-06-26 2014-01-16 Yamaha Corp 自動演奏装置及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207625A3 (en) * 2015-06-22 2017-02-02 Time Machine Capital Limited Rhythmic synchronization of cross fading for musical audio section replacement for multimedia playback
US9697813B2 (en) 2015-06-22 2017-07-04 Time Machines Capital Limited Music context system, audio track structure and method of real-time synchronization of musical content
US10032441B2 (en) 2015-06-22 2018-07-24 Time Machine Capital Limited Music context system, audio track structure and method of real-time synchronization of musical content
US10467999B2 (en) 2015-06-22 2019-11-05 Time Machine Capital Limited Auditory augmentation system and method of composing a media product
US10482857B2 (en) 2015-06-22 2019-11-19 Mashtraxx Limited Media-media augmentation system and method of composing a media product
US10803842B2 (en) 2015-06-22 2020-10-13 Mashtraxx Limited Music context system and method of real-time synchronization of musical content having regard to musical timing
US11114074B2 (en) 2015-06-22 2021-09-07 Mashtraxx Limited Media-media augmentation system and method of composing a media product
US11854519B2 (en) 2015-06-22 2023-12-26 Mashtraxx Limited Music context system audio track structure and method of real-time synchronization of musical content
US10268808B2 (en) 2016-12-20 2019-04-23 Time Machine Capital Limited Enhanced content tracking system and method
US10783224B2 (en) 2016-12-20 2020-09-22 Time Machine Capital Limited Enhanced content tracking system and method

Also Published As

Publication number Publication date
EP3057090A1 (en) 2016-08-17
US20160240179A1 (en) 2016-08-18
EP3057090A4 (en) 2017-04-19
CN105637579B (zh) 2019-10-22
JP6252088B2 (ja) 2017-12-27
CN105637579A (zh) 2016-06-01
JP2015075661A (ja) 2015-04-20

Similar Documents

Publication Publication Date Title
WO2015053278A1 (ja) 複数セットの波形データを切り替えて波形再生を行う技術
JP6011064B2 (ja) 自動演奏装置及びプログラム
EP2866223A1 (en) Automated performance technology using audio waveform data
EP1638077A1 (en) Automatic rendition style determining apparatus, method and computer program
JP6019803B2 (ja) 自動演奏装置及びプログラム
US20210272543A1 (en) Computer-implemented method of digital music composition
JP5229998B2 (ja) コード名検出装置及びコード名検出用プログラム
US7420113B2 (en) Rendition style determination apparatus and method
JP4407473B2 (ja) 奏法決定装置及びプログラム
JP3632536B2 (ja) パート選択装置
JP3705144B2 (ja) 演奏データ変更処理装置
JP4552769B2 (ja) 楽音波形合成装置
JP4240099B2 (ja) 電子楽器および電子楽器制御用プログラム
JP2002268637A (ja) 拍子判定装置、及びプログラム
JP2002304175A (ja) 波形生成方法、演奏データ処理方法および波形選択装置
JP4172509B2 (ja) 奏法自動判定装置及び方法
EP1734508B1 (en) Musical sound waveform synthesizer
JP2008058796A (ja) 奏法決定装置及びプログラム
JPH10143177A (ja) カラオケ装置
JP3988668B2 (ja) 自動伴奏装置および自動伴奏プログラム
JP3637782B2 (ja) データ生成装置と記録媒体
JP2021026141A (ja) コード検出装置及びコード検出プログラム
JP2006133464A (ja) 奏法決定装置及びプログラム
JP2003233374A (ja) 楽曲データの自動表情付け装置及びプログラム
JP2016180848A (ja) カラオケ装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14852172

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15027447

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014852172

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014852172

Country of ref document: EP