Digital musical synthesizer with voice note identifications
10593312 ยท 2020-03-17
Inventors
Cpc classification
G10H7/02
PHYSICS
G10H2210/066
PHYSICS
International classification
Abstract
A method for generating voice note identifications for digital musical instrument note controlling signals. The method provides voice identification for every note in digital interface, which makes music learning intuitive and easier. The method can be used with a majority of digital instruments as a part of such instruments. Solfege is used as voice note identification system since it is widely used in music education. However, any such system can be used or newly devised by preparing a different set of patches.
Claims
1. A method for electronic generation of sounds, based on notes in a musical scale, comprising: assigning respective sounds to said notes, such that each sound is perceived by a listener as qualitatively distinct from a sound assigned to an adjoining note in said musical scale; adding 12 new patch areas for voice note identifications and additional MIDI Control logics to a base wavetable synthesizer in order to generate an additional voice note identification signal for a MIDI note signal received while finding Pitch Name Number by subtracting a variable from a MIDI note number of said MIDI note signal, then taking a modulo by 12 while using 0 for C, 1 for C #/D flat, 2 for D, 3 for D #/E flat, 4 for E, 5 for F, 6 for F #/G flat, 7 for G, 8 for G #/A flat, 9 for A, 10 for A #/B flat and 11 for B as said variable; additionally creating said MIDI note signal with a corresponding Patch slot number where Pitch Name Number=0 for C Patch Set, 1 for C #/D flat Patch Set, 2 for D Patch Set, 3 for D #/E flat Patch Set, 4 for E Patch Set, 5 for F Patch Set, 6 for F #/G flat Patch Set, 7 for G Patch Set, 8 for G #/A flat Patch Set, 9 for A Patch Set, 10 for A #/B flat Patch Set and 11 for B Patch Set whereby utilizing Solfege for the patches, a position of Do is changeable to support a Movable Do System; receiving an input indicative of a sequence of said notes, chosen from among said notes in said musical scale; and generating an output responsive to said sequence of received said notes, in which said qualitatively distinct sounds are produced responsive to respective notes in said sequence at respective musical pitches associated with said respective notes.
2. A method according to claim 1, wherein at least one of said qualitatively distinct sounds comprises a representation of a human voice.
3. A method according to claim 2, wherein said qualitatively distinct sounds comprise solfege syllables respectively associated with said notes, or newly created syllables respectively associated with said notes.
4. A method according to claim 1, wherein said patches comprise: generating a digital representation of said sounds by digitally sampling said qualitatively distinct sounds; and saving said digital representation in said patches.
5. A method according to claim 1, wherein said receiving said input comprises playing said sequence of notes on a musical instrument.
6. A method according to claim 1, wherein said receiving said input comprises retrieving said sequence of notes from a file.
7. A method according to claim 6, wherein said retrieving comprises accessing a network and downloading said file from a remote computer.
8. A method according to claim 1 wherein said qualitatively distinct sounds comprise sounds which differ from each other based on a characteristic that is separate from a pitch of each of said sounds.
9. A method according to claim 1 wherein said wavetable synthesizer can be omitted for an instrument sound if said instrument sound is generated by a separate synthesizer or said instrument sound is unnecessary.
10. A method according to claim 1 wherein said MIDI signal may be replaced with a similar digital control signal.
Description
BRIEF DESCRIPTION OF THE DRAWING
(1)
(2)
(3)
(4)
DETAILED DESCRIPTION OF THE INVENTION
(5)
(6) The preferred embodiment is to use the invention in a wavetable synthesizer since it also uses wavetable sound synthesis for voice note identifications. There are hardware implementations as well as software implementations. In principle, software synthesizers operate in the same fashion. However, they can be configured or organized in different manners. Because of this, they may appear differently on the surface level.
(7) For example, a GM (General MIDI) synthesizer contains 16 logical channels. In hardware, all of them are processed in the same manner to utilize the same processing cores called channels. Since the maximum number of cores is limited, it is not wise to allocate the same number of cores across all the logical channels because how many cores required for a channel is dependent on a kind of signals to be processed. Therefore, all the signals are processed in the same manner regardless of their logical channel designations.
(8) On the other hand, any number of processes (cores in hardware) can be created for a logical channel in software, limited only by the processing power of a machine. Therefore, there is no need to use the same processing method (or core structure) across all the logical channels. This means software synthesizers are more flexible in terms of their implementations.
(9) Here is the important point: How each MIDI note on/off signal should be processed remains the same regardless of how a synthesizer is organized. Otherwise, it would produce a different result. This is also true for how the voice note identifications should be processed. This is especially important when it comes to the claims. The claims is written based on how each MIDI note on/off signal should be processed regardless of how a synthesizer is organized.
(10) If the underlying synthesizer structure is different, the method for implementing the voice note identifications needs to be changed accordingly. For example, if a synthesizer is organized based on a logical channel rather than a processing core (or channel), the voice note identifications should be implemented based on a logical channel, too. E-MU 10k1 chip, on the other hand, has 64 channels (processing cores) used for all 16 logical channels.
(11) As an example, if the underlying synthesizer is based on a logical channel, layers could be utilized to implement voice note identifications. In general, a voice consists of one or more layers. Layers are usually put together to create more intricate sounds than single layer. They are activated together. Here, 12 shadow layers, which correspond to 12 pitch names, are employed. Shadow means it is not accessible as ordinary layers, but reserved for the voice note identifications. Also, they are not activated together. Instead, only the corresponding layer is activated at a time based on the logics discussed later. This way, the same result is achieved. It is a variation of the original idea.
(12) If the underlying synthesizer is not based on a wavetable synthesizer, the invention can still be used. In this case, prepare a wavetable synthesizer just for the voice note identifications. The original instrument sound should be processed in the subject synthesizer and use the wavetable synthesizer for the voice note identifications as described below.
(13) For the sake of completeness, there is yet another case where instrument sounds are not generated by the underlying synthesizer. For example, a guitar is used to generate MIDI signals through a Guitar to MIDI Converter. Since the guitar generates instrument sounds, obviously guitar sounds in this case, there is no need for generating instrument sounds by the synthesizer.
(14) With all that said, there are two things which need to be added to a base wavetable synthesizer:
(15) 1. 12 new patch areas for voice note identifications as shown in
(16) 2. Additional MIDI Control Logics for adding voice note identifications as shown in
(17) Assuming the based synthesizer has 16 logical channels, there are already 16 patch areas, most likely in memory. The additional 12 patch areas are used for all 16 logical channels for voice note identifications. It is possible to add a different set of voice patches as a multiple of 12. It adds more complexities to the MIDI Control Logics as well as the memory requirement.
(18) This is what happens when a MIDI Note On signal is received: The MIDI Control Logics assign one of wavetable synthesizer channels with one of 16 patches in memory based on its logical channel. It generates a corresponding instrument sound for a given logical channel.
(19) As for the note identifications, the MIDI Control Logics should check if note identifications are turned on for this logical channel (
(20) Upon receiving a MIDI Note Off signal, the wavetable synthesizer channel for the given instrument is turned off by the original MIDI Control Logics. Additionally, the voice note identification should be turned off by the added logics in the same manner.
(21) Adding voice note identifications increases the CPU load roughly twice when voice note identifications are turned on for all the logical channels. The memory requirement also increases for the additional set of the 12 patches. Additional logics or programs to load the newly added patches are also required. The benefit is that they can be read from anywhere in the system. It can be from a separate patch file because it is already outside of the GM standard. The original patch set can be used without any modification, which should be a good strategy from a usability stand point.
(22) Now, the voice note identification is a part of the original synthesizer. The benefit is that it is controlled in the same manner as the original synthesizer. For example, a pan control will control both its instrument sounds and voice note identifications at the same time. When the invention is utilized in GM (General MIDI) compliant synthesizers, all of their 16 logical channels are equipped with the voice note identifications. Each logical channel can be controlled separately. This is a huge advantage of this invention and especially useful in polyphonic music, such as J. S. Bach's Fugues. By the way, Channel 10 could be excluded since it is generally assigned as a percussion channel. However, many software implementations allow Channel 10 to be used in either way.
(23) The benefit of the original patent (U.S. Pat. No. 9,997,147) is that it is simple and practical without any customization of an existing wavetable synthesizer (Hardware or Software), especially when a software wavetable synthesizer is becoming readily available as a standard in portable devices. In fact, dealing with one instrument with voice note identifications utilizing 12 idling logical channels should be a good idea. However, it is difficult or impossible to use the voice note identifications for more than one logical channel. This invention extends the capability over all the logical channels.
(24) Here is how to implement the Patch Slot Number Calculator in
modulo=MIDI_note_number % 12(Eq. 1)
(25) Let us take the middle C note, for example. It corresponds to MIDI_note_number: 60. In the equation 1 (Eq. 1), the modulo is 0 since the reminder after division of 60 by 12 is 0. The following is a list of all the cases:
(26) If the modulo is 0, return p1, which is 0+offset.
(27) If the modulo is 1, return p2, which is 1+offset.
(28) If the modulo is 2, return p3, which is 2+offset.
(29) If the modulo is 3, return p4, which is 3+offset.
(30) If the modulo is 4, return p5, which is 4+offset.
(31) If the modulo is 5, return p6, which is 5+offset.
(32) If the modulo is 6, return p7, which is 6+offset.
(33) If the modulo is 7, return p8, which is 7+offset.
(34) If the modulo is 8, return p8, which is 8+offset.
(35) If the modulo is 9, return p9, which is 9+offset.
(36) If the modulo is 10, return p10, which is 10+offset.
(37) If the modulo is 11, return p11, which is 11+offset.
(38) The offset value is 17, which is required to select a corresponding patch shown in
(39) Pitch_Name_1 is Do when Solfege is used as voice note identification system. However, Solfege is not the only option for voice identifications. It is a widely used convention in music education. Any such system can be used with the invention, or even new system can be devised by preparing a different set of patches.
(40) The system described up to this point only works with Fixed (Do) System. In order to make the system capable of Movable (Do) System, a new integer variable, Key, is introduced. By simply replacing the original equation (Eq. 1) with the following equation (Eq. 2), it is possible to shift the root note.
modulo=(MIDI_note_numberKey) % 12(Eq. 2)
(41) The value of Key should be between 0 and 11. The root note can be chosen among any one of 12 keys. For example, using 0 for Key, the root note is C, which is the same as Fixed (Do) System. Using 1 makes it C #/D flat. You can shift the key all the way to 11, which is B, by the way. Generally, the value of Key can be changed through the user interface shown in
(42) The above explanation is prepared for a digital interface complying MIDI specifications. However, most of the digital interface operates in the similar manner. It should be easy to modify the logics to adapt for special cases.