The present invention relates generally to performance data processing apparatus and programs for generating performance data corresponding to predetermined types of tone generators. More particularly, the present invention relates to an improved performance data processing apparatus and program which are arranged to automatically convert performance data corresponding to one tone generator to thereby automatically generate performance data corresponding to another tone generator where tone colors (i.e., rendition styles) are allocated in a different manner from the one tone generator, i.e. which differs from the one tone generator in the way of allocating tone colors (i.e., rendition styles).
Generally, tone generators are used to automatically perform tones of desired tone colors on the basis of performance data. Recently, there have appeared tone generators that differ in the way of allocating tone colors (rendition styles). For example, some of the recent tone generators are arranged to reproduce given rendition styles, representative of various musical expressions and renditions characteristic of a musical instrument used, by addition of one or more kinds of control data to performance data including note-on data and note-off data (for convenience, such tone generators will hereinafter be referred to as “ordinary-type tone generators”), and others of the recent tone generators are arranged to reproduce musical expressions, corresponding to specific rendition styles, on the basis of only note-on instructions (for convenience, such tone generators will hereinafter be referred to as “rendition-style-compliant tone generators”). As one type of the rendition-style-compliant tone generators, there have been known special-type tone generators which are equipped with special-type tone colors, such as rendition-style-dependent tone colors, having different characteristics from ordinary-type tone colors; note that the rendition-style-dependent tone colors are tone colors corresponding to different rendition styles of a musical instrument, such as a steel guitar or electric bass guitar. The special-type tone generator disclosed in U.S. Application Publication No. U.S.2003/0172799A1 corresponding to Japanese Patent Application Laid-open Publication No. 2003-263159 has, in a map of a tone color, different special-type tone colors (rendition styles) allocated in a velocity direction and note number direction. Unlike the ordinary-type tone generators, the disclosed special-type tone color can make tone color changes (rendition style changes) using velocities and note numbers included in note-on data and note-off data of performance data. Thus, using such a rendition-style-compliant tone generator, it is possible to reproduce realistic musical expressions, based on given rendition styles, with high quality and execute an automatic performance with a variety of tone colors through very simple control.
As noted above, the ordinary-type tone generators and the rendition-style-compliant tone generators (e.g., the above-discussed special-type tone color) differ from each other in the way of allocating tone colors, and thus the way of using velocities and note numbers (namely, how to designate tone colors) significantly differs between the performance data usable by the ordinary-type tone generators and the performance data usable the rendition-style-compliant tone generators. Therefore, there is a need to generate performance data for each of the types of tone generators in accordance with the particular way of using velocities and note numbers. Thus, in a case where an ordinary-type tone generator has been replaced with (i.e., changed over to) a rendition-style-compliant tone generator or vice versa, and if the performance data that were used by the previous (i.e., replaced) tone generator before the tone generator changeover are used as-is in the new (i.e., replacing) tone generator, there would occur significant musical inconveniences; therefore, the performance data for the previous tone generator can not be used in the new tone generator. In other words, there is no compatibility between the performance data for the ordinary-type tone generators and the performance data for the rendition-style-compliant tone generators. Generally, it is quite time-consuming and cumbersome for a user to newly create performance data, from the beginning of the performance, for each tone generator to be used, each time a changeover is made from an ordinary-type tone generator to a rendition-style-compliant tone generator or vice versa. Further, if the user does not have sufficient musical knowledge and knowledge about differences in characteristic between individual musical instruments, it would be very difficult to create performance data for executing a tone performance with desired rendition styles reflected therein.
In view of the foregoing, it is an object of the present invention to provide an improved performance data processing apparatus and program which, when a changeover is made between tone generators differing from each other in the way of allocating tone colors (rendition styles), automatically convert performance data, previously used by the previous (or replaced) tone generator before the tone generator changeover, to thereby automatically create performance data corresponding to the new (or replacing) tone generator to be used after the tone generator changeover.
According to a first aspect of the present invention, there is provided an improved performance data processing apparatus, which comprises: a performance data acquisition section that acquires performance data of a first type including one or more kinds of tone control data, the performance data of the first type having a data structure predefined for use in a first-type tone generator; a detection section that detects presence of a predetermined rendition style on the basis of the control data included in the performance data of the first type acquired by the performance data acquisition section; and a data conversion section that converts the control data in the performance data of the first type, related to the predetermined rendition style detected by the detection section, into data including rendition-style designating data specifying the detected predetermined rendition style and thereby reforms the performance data of the first type as performance data of a second type including the converted rendition-style designating data, the performance data of the second type having a data structure predefined for use in a second-type tone generator.
According to the first aspect of the present invention, the first-type tone generator is an ordinary-type tone generator which is incapable of tone generation corresponding to rendition-style designating data, while the second-type tone generator is a special-type tone generator which is capable of such tone generation corresponding to rendition-style designating data. When performance data of the first type are acquired for reproduction of a music performance in a case where the second-type (special-type) tone generator can be used, it is preferable that the acquired performance data be converted into performance data of the second type and the second-type (special-type) tone generator generate tones in accordance with the converted performance data. The performance data processing apparatus according to the first aspect of the present invention can be suitably used for such purposes. Namely, presence of a predetermined rendition style (such as a vibrato rendition style) is detected on the basis of control data (e.g., data indicative of tone pitches) included in the acquired performance data of the first type. For example, in a portion of the performance data of the first type where the tone pitch varies over time, that portion is detected as representing a vibrato rendition style. The performance data of the second type may include rendition-style designating data (such as vibrato-rendition-style designating data) instructing the predetermined rendition style (such as a vibrato rendition style). In accordance with the rendition-style designating data, the second-type tone generator can generate a tone of the predetermined rendition style with high quality, utilizing, for example, a high-quality rendition style waveform (e.g., vibrato rendition style waveform). In the first aspect, the data conversion section converts the control data in the performance data of the first type, related to the predetermined rendition style detected by the detection section, into data including rendition-style designating data specifying the detected predetermined rendition style and thereby reforms the performance data of the first type as performance data of the second type including the converted rendition-style designating data. Thus, the user can readily acquire high-quality performance data of the second type for the second-type tone generator.
According to a second aspect of the present invention, there is provided a performance data processing apparatus, which comprises: a performance data acquisition section that acquires performance data of a first type including rendition-style designating data for specifying a predetermined rendition style, the performance data of the first type having a data structure predefined for use in a first-type tone generator; a detection section that detects the rendition-style designating data included in the performance data of the first type acquired by the performance data acquisition section; and a data conversion section that converts the rendition-style designating data, detected by the detection section, into one or more kinds of tone control data to be used for reproducing the predetermined rendition style specified by the rendition-style designating data and thereby reforms the performance data of the first type as performance data of a second type including the converted one or more kinds of tone control data, the performance data of the second type having a data structure predefined for use in a second-type tone generator.
According to the second aspect of the present invention, the first-type tone generator is a special-type tone generator which is capable of tone generation corresponding to rendition-style designating data, while the second-type tone generator is an ordinary-type tone generator which is incapable of such tone generation corresponding to rendition-style designating data. When performance data of the first type are acquired for reproduction of a music performance in a case where the first-type (special-type) tone generator can not be used, the acquired performance data have to be converted into performance data of the second type, and the second-type (ordinary-type) tone generator has to generate tones in accordance with the converted performance data of the second type. The performance data processing apparatus according to the second aspect of the present invention can be suitably used for such purposes. Namely, it is determined whether the acquired performance data of the first type include rendition-style designating data specifying a predetermined rendition style (such as a vibrato rendition style), and, if so, the rendition-style designating data is converted into one or more kinds of tone control data to be used for reproducing the predetermined rendition style specified by the rendition-style designating data and thereby reforms the performance data of the first type as performance data of the second type including the converted one or more kinds of tone control data. For example, if the rendition-style designating data designates a vibrato rendition style, the second-type tone generator generates tone pitch data varying over time in a vibrato style, and creates performance data of the second type including such time-varying tone pitch data. Thus, the user can readily acquire performance data of the second type for the second-type tone generator on the basis of the acquired high-quality performance data of the first type.
When a changeover is made between tone generators differing from each other in the way of allocating tone colors (rendition styles), the performance data processing apparatus of the present invention automatically converts performance data usable by the previous tone generator into performance data usable by the new tone generator to be employed after the changeover, so that the user can readily acquire performance data corresponding to the new tone generator without performing time-consuming and laborious operation.
The present invention may be constructed and implemented not only as the apparatus invention as discussed above but also as a method invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a software program.
The following will describe embodiments of the present invention, but it should be appreciated that the present invention is not limited to the described embodiments and various modifications of the invention are possible without departing from the basic principles. The scope of the present invention is therefore to be determined solely by the appended claims.
For better understanding of the object and other features of the present invention, its preferred embodiments will be described hereinbelow in greater detail with reference to the accompanying drawings, in which:
The ROM 2 has prestored therein various programs to be executed by the CPU 1 and various data. The RAM 3 is used as a working memory for temporarily storing various data generated as the CPU 1 executes a predetermined program, as a memory for storing the currently-executed program and data related thereto, and for various other purposes. Predetermined address regions of the RAM 3 are allocated to respective functions and used as registers, flags, tables, memories, etc. Performance operator unit 4A is, for example, a keyboard including a plurality of keys for designating pitches of tones to be generated and key switches corresponding to the keys. The performance operator unit 4A, such as a keyboard, can be used not only for a manual performance by a user, but also as an input means for entering automatic performance environments etc. into the apparatus. The detection circuit 4 is a performance operation detection means for detecting depression and release of the keys on the performance operator unit 4A to thereby produce performance detection outputs.
Setting operator unit 5A includes various switches and operators for inputting various information pertaining to an automatic performance. For example, the setting operator unit 5A includes switches and operators operable by the user to select a performance data set to be used for an automatic performance and set a performance environment, such as a performance tempo. In addition to the above-mentioned switches and operators, the setting operator unit 5A may include a numeric keypad for entry of numeric value data and a keyboard for entry of text and character data which are to be used for selecting, setting and controlling a tone pitch, tone color, effect, etc., and various other operators, such as a mouse for operating a predetermined pointing element displayed on a display device 6A that may be in the form of an LCD (Liquid Crystal Display) and/or CRT (Cathode Ray Tube). The detection circuit 5 constantly detects respective operational states of the individual operators on the setting operator unit 5A and outputs switch information, corresponding to the detected operational states of the operators, to the CPU 1 via the data and address bus 1D. The display circuit 6 visually displays not only various information related to an automatic performance, but also a controlling state of the CPU 1, etc. The user can, for example, select, enter and set a performance environment with reference to the various information displayed on the display device 6A.
The tone generator (T.G.) circuit 7, which is capable of simultaneously generating tone signals in a plurality of channels, receives, via the data and address bus 1D, various performance information generated in response to user's manipulation on the performance operator unit 4A or on the basis of performance data, and it generates tone signals based on the received performance information. Each of the tone signals thus generated by the tone generator circuit 7 is audibly reproduced or sounded by a sound system 9, including an amplifier and speaker, after being imparted with en effect via the effect circuit 8. The effect circuit 8 includes a plurality of effect units which can impart various different effects to the tone signals, generated by the tone generator circuit 7, in accordance with effect parameters set in a given manner. The tone generator circuit 7, effect circuit 8 and sound system 9 may be constructed in any conventionally known manner. For example, the tone generator circuit 7 may be either an ordinary-type tone generator or a special-type tone generator to be later described (see
The external storage device 10 is provided for storing various data, such as performance data and waveform data corresponding to a plurality of special-type tone colors based on different rendition styles (i.e., rendition-style-dependent tone colors), and data related to control based on various control programs to be executed by the CPU 1. The external storage device 10 may includes a waveform memory (waveform ROM) for storing a plurality of sets of waveform data corresponding to special-type tone colors (i.e., rendition-style-dependent tone colors). Where a particular control program is not prestored in the ROM 2, the particular control program may be prestored in the external storage device (e.g., hard disk device) 10, so that, by reading the particular control program from the external storage device 10 into the RAM 3, the CPU 1 is allowed to operate in exactly the same way as in the case where the particular control program is stored in the ROM 2. This arrangement greatly facilitates version upgrade of the control program, addition of a new control program, etc. The external storage device 10 may comprise any of various removable-type media other than the hard disk (HD), such as a flexible disk (FD), compact disk (CD-ROM or CD-RAM), magneto-optical disk (MO) and digital versatile disk (DVD). Alternatively, the external storage device 10 may comprise a semiconductor memory, such as a flash memory.
The MIDI interface (I/F) 11 is an interface provided for receiving or delivering performance data of the MIDI format (i.e., MIDI data) from or to other MIDI equipment 11A or the like externally connected to the electronic musical instrument. Note that the other MIDI equipment 11A may be of any structural or operating type, such as the keyboard type, stringed instrument type, wind instrument type, percussion instrument type or body-attached type, as long as it can generate MIDI data in response to manipulations by the user. Also note that the MIDI interface 11 may be a general-purpose interface rather than a dedicated MIDI interface, such as RS-232C, USB (Universal Serial Bus) or IEEE1394, in which case other data than MIDI event data may be communicated at the same time. In the case where such a general-purpose interface as noted above is used as the MIDI interface 11, the other MIDI equipment 11A may be designed to be able to communicate other data than MIDI event data. Of course, the performance data handled in the present invention may be of any other data format than the MIDI format, in which case the MIDI interface 11 and other MIDI equipment 11A are constructed in conformity to the data format used.
The communication interface 12 is connected to a wired or wireless communication network X, such as a LAN (Local Area Network), the Internet or telephone line network, via which it may be connected to a desired sever computer 12A so as to input a control program and various data to the electronic musical instrument from the sever computer 12A. Thus, in a case where a particular control program and various data are not contained in the ROM 2 or external storage device (e.g., hard disk) 10, these control program and data can be downloaded from the server computer 12A via the communication interface 12. Such a communication interface 12 may be constructed to be capable of both wired and wireless communication rather than either one of the wired and wireless communication.
Further, in the above-described electronic musical instrument, the performance operator unit 4A may be of any other type than the keyboard instrument type, such as a stringed instrument type, wind instrument type or percussion instrument type. Furthermore, the electronic musical instrument is not limited to the type where the performance operator unit 4A, display device 6A, tone generator circuit 7, etc. are incorporated together as a unit within the musical instrument; for example, the electronic musical instrument may be constructed in such a manner that the above-mentioned components 4A, 6A, 7, etc. are provided separately and interconnected via communication facilities such as a MIDI interface, various networks and/or the like. Moreover, the performance data processing apparatus of the present invention may be applied to any desired type of equipment other than electronic musical instruments, such as personal computers, portable (hand-held) phones and other portable communication terminals, karaoke apparatus and game apparatus. In the case where the performance data processing apparatus of the present invention is applied to a portable communication terminal, the predetermined functions may be performed as a whole system, comprising the terminal and a server, by causing the server to perform part of the functions, rather than causing only the terminal performing all of the predetermined functions.
Now, with reference to
According to the instant embodiment, for each musical instrument playable with various different rendition styles, sets of waveform data, corresponding to a plurality of special-type tone colors (rendition-style-dependent tone colors), are stored, for one type of musical instrument tone color assigned a predetermined tone color number, in association with various values of velocity data and note number data. Such a feature will be described below in relation to an instrument tone color of a steel guitar.
In the case of the steel guitar, eight types of rendition-style-dependent tone colors: “open-soft rendition style tone color”; “open-middle rendition style tone color”; “open-hard rendition style tone color”; “dead-note rendition style tone color”; “mute rendition style tone color”; “hammering rendition style tone color”; “slide rendition style tone color”; and “vibrato rendition style tone color”, are allocated over a pitch range of C-2-B6 that correspond to note numbers “0”-“95”, as shown in
Further, as seen in
Although a separate set of waveform data may be provided for each of the eight types of rendition-style-dependent tone colors allocated to the steel guitar pitch range of C-2-B6, a plurality of sets of sub waveform data are provided for each of the eight rendition-style-dependent tone colors in the instant embodiment. For example, one of the sets of sub waveform data is provided per predetermined pitch range, e.g. per half octave. In the described embodiment, the same sets of sub waveform data are provided for shared use among individual velocity data values; however, different sets of such sub waveform data may be provided for the individual velocity data values, i.e. the sub waveform data may be differentiated among the velocity data values.
Further, in the instant embodiment, one different set of waveform data is provided for each of the plurality of types of strumming rendition style tone colors and fret-noise rendition style tone colors allocated to the steel guitar pitch range of C6-G8. These sets of waveform data are also stored in the waveform memory. The same sets of waveform data corresponding to the plurality of types of strumming rendition style tone colors and fret-noise rendition style tone colors are provided, in the instant embodiment, for shared use among the individual velocity data values; however, different sets of waveform data may be provided for the individual velocity data values, i.e. the waveform data may be differentiated among the velocity data values.
Namely, in the case of an instrument tone color having rendition-style-dependent tone colors, such as the above-mentioned steel guitar tone color, the velocity data values “1”-“127” are allocated to the pitch range of C-2-B6 as selection information for selecting any desired one of the plurality of types of rendition-style-dependent tone colors. Thus, in the instant embodiment, the velocity data values can not be used for tone volume control directly as they are. On the other hand, a predetermined range of velocity data, including a plurality of different velocity data values, is allocated to each of the types of rendition-style-dependent tone colors as tone volume control information. Therefore, if the velocity data values of the predetermined ranges allocated to the individual types of rendition-style-dependent tone colors (horizontal axis) are converted into tone volume control values (vertical axis) with characteristics as depicted in solid lines of
More specifically, in the case of the dead-note rendition style tone color of the steel guitar tone color shown in
Further, in the instant embodiment, the remaining three rendition-style-dependent tone colors, i.e. the open-soft rendition style tone color, open-middle rendition style tone color and open-hard rendition style tone color, are classified according to the intensity with which to play the steel guitar using an ordinary rendition style; that is, it may be considered that the classification of these three rendition-style-dependent tone colors is based on a difference in tone volume of the ordinary-type tone color rather than the rendition-style-dependent tone color. These three rendition-style-dependent tone colors are very similar. Therefore, velocity data values in the “1”-“45” range, allocated to the three rendition-style-dependent tone colors, only have to be converted into tone volume control values that range from a relatively small predetermined value (e.g., about “30”) to a relatively great predetermined value (e.g., about “127”). Although, in the illustrated example of
When the tone generator used in the electronic musical instrument employing the performance data processing apparatus is switched between an ordinary-type tone generator (T.G.) and a rendition-style-compliant tone generator (T.G.) having different characteristics, the electronic musical instrument performs “performance data creation processing” for automatically converting performance data used by the previous (replaced) tone generator before the tone generator changeover, so as to automatically create performance data corresponding to the new (replaced) tone generator to be used after the tone generator changeover. The following paragraphs describe the “performance data creation processing”.
At step S1, a rendition-style-corresponding portion and a particular type of a rendition style represented by that portion are detected from among performance data for that ordinary-type tone generator. For that purpose, detection is made, for example, of a rendition-style-corresponding portion which is composed of two successive notes having a “very short note length” and “long note length”, respectively, and having a tone pitch difference equal to or smaller than two half steps, and the type of the rendition style represented by the detected rendition-style-corresponding portion is detected as a “slide rendition style”. Also, detection is made of a rendition-style-corresponding portion where the tone pitch varies upwardly and downwardly periodically (specifically, where periodically-varying pitch bend data is present in the performance data), and the type of the rendition style represented by the detected rendition-style-corresponding portion is detected as a “vibrato rendition style”. If such a rendition-style-corresponding portion and rendition style type have not been detected (NO determination at step S2), original velocity data, i.e. velocity data in the performance data for the ordinary-type tone generator, is converted at step S5, so that the velocity data in the performance data for the ordinary-type tone generator is replaced with the converted velocity data at step S6, to thereby create performance data for the special-type tone generator. Namely, because, as noted earlier, the velocity data used in the ordinary-type tone generator are each normally intended to represent a larger tone volume of a tone signal as its value increases while the velocity data used in the special-type tone generator are each normally intended to specify waveform data corresponding to any one of a plurality of special-type tone colors based on different rendition styles, the velocity data in the performance data for the ordinary-type tone generator can not be used as-is in the performance data for the special-type tone generator. For this reason, the original velocity data are converted into velocity data values of a predetermined range which are allocated to rendition styles corresponding to the ordinary-type tone generator. For example, velocity data that is set, in the performance data for the ordinary-type tone generator, within a range of “1-127” and that has a characteristic as represented by a broken line of
If, on the other hand, a rendition-style-corresponding portion and rendition style type have been detected (YES determination at step S2), the detected rendition-style-corresponding portion is changed, at step S3, to “non-rendition-style-correspondent” performance data that, unlike the performance data of the ordinary-type tone generator, has no musical structure for reproducing a rendition style. Also, rendition-style-compliant tone generator designating information, corresponding to the detected rendition style type, is written into a relevant portion of the performance data, at step S4. Specifically, as illustrated in
Note that details or contents of the above-mentioned operation for writing the rendition-style-compliant tone generator designating information (step S4 of
In the process illustrated in
Next, the “performance data generation processing” will be described in relation to a case where it creates performance data for an ordinary-type tone generator using performance data for a special-type tone generator.
At step S31, a special-type tone color is detected from among the performance data for the special-type tone generator. For example, this step detects, as a special-type tone color, a portion where is defined rendition-style-compliant tone generator designating information corresponding to a rendition style type (such as a velocity data value or predetermined program change data value corresponding to a special-type tone color). If such a rendition-style-corresponding portion and rendition style type have not been detected (NO determination at step S2), original velocity data, i.e. velocity data in the performance data for the special-type tone generator, is converted at step S35 and the velocity data in performance data for the special-type tone generator is replaced with the converted velocity data at step S36, to thereby create performance data for the ordinary-type tone generator. Namely, contrary to the operations carried out at steps S5 and S6 of the processing described above in relation to
The “performance data generation processing” is described below using specific examples of rendition styles. Namely, the performance data generation processing is described in connection with a slide rendition style with reference to
The performance data illustrated in
If a rendition-style-corresponding portion and rendition style type have been detected, through execution of the “performance data generation processing” (see
Next, the performance data generation processing is described in connection with a vibrato rendition style with reference to
If a rendition-style-corresponding portion and rendition style type have been detected, through execution of the “performance data generation processing” (see
Needless to say, if the “performance data generation processing” (see
It should also be understood that the rendition-style-corresponding portion and rendition style to be detected from among the performance data may be other than the slide or vibrato rendition style as set forth above. Further, because the rendition style type generally differs among various musical instruments (i.e., among various tone colors), it is desirable to identify of what musical instrument the performance data to be examined for a rendition style are, and then determine a rendition style type to be detected in accordance with the identified result.
Also note that, whereas the performance data generation processing responsive to a changeover in the tone generator has been described as performed fully automatically, it may be performed semi-automatically. For example, when a rendition-style-corresponding portion has been detected, the user may be queried about whether the detected rendition-style-corresponding portion should be sounded by the rendition-style-compliant tone generator, and, only if the user has answered affirmatively (i.e., answered that the detected rendition-style-corresponding portion should be sounded by the rendition-style-compliant tone generator), that portion may be converted into performance data for the rendition-style-compliant tone generator. Further, only a designated portion (e.g., only a designated timewise portion or only a designated performance part) of a music piece may be converted into performance data for the rendition-style-compliant tone generator.
Furthermore, in a case where the rendition-style-compliant tone generator is also capable of handling any of rendition style parameters, such as a slide speed and vibrato speed and depth, arrangements may be made for detecting the rendition style parameter during detection, from among the ordinary-type performance data, a rendition-style-corresponding portion and then recording the detected rendition style parameter in the rendition-style-compliant performance data.
Moreover, whereas the preferred embodiment has been described in relation to the case where, as a special-type tone color (rendition-style-dependent tone color), different tone colors (rendition styles) are mapped in the velocity direction and note number direction (see
In the case of a PCM tone generator, it just suffices to prepare waveform data per rendition style, in order to provide a rendition-style-compliant tone generator. Further, in the case of an FM, physical model, formant tone generators, etc., it suffices to prepare tone synthesis parameters and tone synthesis algorithm per rendition style.
It should also be understood that the performance data to be used in the invention may be in any desired format, such as: the “event plus relative time” format where the time of occurrence of each performance event is represented by a time length from the immediately preceding event; the “event plus absolute time” format where the time of occurrence of each performance event is represented by an absolute time within the music piece or a measure thereof; the “pitch (rest) plus note length” format where each performance data is represented by a pitch and length of a note or a rest and a length of the rest; or the “solid” format where a memory region is reserved for each minimum resolution of a performance and each performance event is stored in one of the memory regions that corresponds to the time of occurrence of the performance event.
Number | Date | Country | Kind |
---|---|---|---|
2003-331928 | Sep 2003 | JP | national |