EP2122606A2 - Real time divisi with path priority, defined note ranges and forced octave transposition - Google Patents

Real time divisi with path priority, defined note ranges and forced octave transposition

Info

Publication number
EP2122606A2
EP2122606A2 EP08724644A EP08724644A EP2122606A2 EP 2122606 A2 EP2122606 A2 EP 2122606A2 EP 08724644 A EP08724644 A EP 08724644A EP 08724644 A EP08724644 A EP 08724644A EP 2122606 A2 EP2122606 A2 EP 2122606A2
Authority
EP
European Patent Office
Prior art keywords
note
notes
channel
channels
played
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
EP08724644A
Other languages
German (de)
French (fr)
Other versions
EP2122606A4 (en
EP2122606B1 (en
Inventor
Christopher Stone
Gary Davis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of EP2122606A2 publication Critical patent/EP2122606A2/en
Publication of EP2122606A4 publication Critical patent/EP2122606A4/en
Application granted granted Critical
Publication of EP2122606B1 publication Critical patent/EP2122606B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • 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/18Selecting circuits
    • G10H1/22Selecting circuits for suppressing tones; Preference networks

Definitions

  • This system and method generally relates to the field of processing live or sequenced musical notes utilizing a form of divisi as set forth in the present Author's U.S. patent 7,109,406 and as further developed in PCT Serial Number PCT/USO6/ 17757 filed May 5, 2006, adding multiple semi-automatic functions that may be used to attain real time orchestration of a virtual ensemble of virtual musical instruments during a live or sequenced performance.
  • Each available instrument or group of like instruments can be assigned a playable note range which affects how notes are allocated among said instruments or groups of instruments.
  • the method can automatically transpose notes that would otherwise be out of the playable range of the virtual instruments into playable ranges for said instruments in a way that preserves the original melodic intent.
  • the system and method for manipulation of sampled or synthesized sounds described herein relates to the live or sequenced playback of orchestral sounds, choirs, or any type of music. This affects isolated notes as well as individual or multiple notes which may be part of or entirely comprising a musical chord.
  • Sampled musical instruments have absolute ranges which correspond to the physical playable pitch range of the original instruments used to create the recording from which the samples were generated. While these pitch ranges can be artificially extended by various means of pitch shifting, the results of pitch shifting tend to be less than sonically realistic and often sample libraries do not rely upon this technique to produce more than a few semitones of pitch shift. Some pitch shift is acceptable sonically, and use of this technique allows sample libraries containing an notes witnin tne aosoiuie range of a given instrument to be built from recordings of every third or fourth note of that instrument, for example, thus conserving time in library creation as well as reducing the required storage memory and other sample playing resources.
  • the Italian term divisi generally refers to the orchestral allocation of notes amongst a given section of string players such as the first violins, second violins, violas, celli or basses.
  • string players such as the first violins, second violins, violas, celli or basses.
  • a single note is to be played by one of these string sections, for example, all musicians in that section play the same note.
  • chord of two or more notes is to be played by one of these string sections, the available musicians split up or divisi themselves so that some musicians play one note, some another, and so forth.
  • Divisi can be abstracted up a level to cover more than just string sections; the same principle can be used to cover allocation of notes among various available individual instruments in the orchestra, among ad-hoc groups of instruments, or even among pitched and unpitched sounds of any description. Musically, however, it would not necessarily sound good to simply split up chords to feed various instruments willy-nilly. So in setting up a system whereby notes and chords can be automatically orchestrated by some implementation of divisi allocation methods, the user should be allowed to make decisions as to which instruments will play first and which instruments come in subsequently as a chord is arpeggiated (that is, as notes are played individually or as they are added to an already playing note or chord). As well the user should be able to make decisions as to which notes are allowed to be allocated to various instruments (or stems of instruments) based on defined playable ranges for each instrument.
  • any given set of available instruments their playable ranges may or may not overlap, and even if the ranges do overlap, the span of notes wherein they overlap may vary from as few as 1 to as many as all playable notes.
  • a method of allocating notes played to the set instrument ranges could thereby produce very different sounding results depending on the actual ranges set for the various instruments. Too, it is possible that certain notes may fall outside the playable range of any available instruments, either higher than the highest playable note, lower than the lowest playable note, or in a hole between the playable note ranges of non-overlapping instrument playable ranges.
  • non-playable notes can be automatically transposed by one-octave increments such that they can be allocated to whatever available instrument has the nearest (by pitch) playable note range that can accommodate the transposed note.
  • the ultimate divisi of incoming notes and chords to available instruments (which reference here also includes paths or stems of multiple instruments) will thus depend upon how the user sets up the path priorities, the playable ranges for each path, and the options to transpose notes up or down in pitch, in octave or other desired increments, so they remain within playable ranges.
  • the benefits of the described method which applies these orchestrational principles to create a divisi amongst various instruments include enabling the user to play anywhere on an 88-key or smaller MIDI keyboard while preserving a pleasing, well balanced orchestration mat win oe piayaoie oy live musicians using actual acoustic instruments that correspond to the sampled (or synthesized) virtual instruments being controlled by the described system, and as well the ability to generate
  • a note assignment processor for assigning notes to selected channels to be played by said channels, the processor comprising: an input for receiving a notes-to-be-played signal; a central processing unit for detecting said signal, determining the number of notes to be played simultaneously, and performing iterative process to assign each note to a selected channel; a note register for storing the total number of notes to be played simultaneously; a note list register for storing the notes to be played simultaneously in a pitch order; a current note register for storing the identity of the current note processed by said central processing unit; a channel register for storing the total number of channels available for note assignment; a channel list register for storing the channels in a specified order; a channel pitch range register for storing lowest and highest playable pitches per each channel; a transpose up register for each channel to indicate upward note transposition for that channel; a transpose down register for each channel to indicate downward note transposition for that channel; a weighting preference register to store top or bottom weighted assignment of notes to channels
  • the note assignment processor may designate actual notes to be played by one or more particular channels, which are determined to be capable of playing the notes, by filling out the array in accordance with the specified playable range, transposition enabling register and top-bottom weighting preference for each channel.
  • the total number of channels remains constant for the entire duration of a music piece played.
  • the total numuci ⁇ i n ⁇ ics ⁇ cdui pi ⁇ ymg msuuitc u ⁇ es not exceed the total number of channels.
  • the processor may perform an iterative process to determine to which available channels played notes may possibly be assigned according to the note pitch and each channel's allowable ranges, as designated by the channel's stored pitch range limits and as may be extended by virtue of any stored transposition up-down register values.
  • the total number of channels may be held fixed.
  • the total number of channels may vary from zero up to the number of available channels as more notes are played after which number of notes the number of channels does not increase with additional notes played and instead an overflow iterative process assigns remaining unassigned notes to an already assigned channel, to thereby assign at least one channel to play at least two notes.
  • the order in which notes are assigned to channels accords with the specified channel priority values.
  • a method for assigning notes to selected channels to be played by the channels comprising: designating a plurality of channels, each channel emulating an audio instrument; defining a note range for each channel; receiving instructions to play a plurality of defined notes simultaneously; and allocating each of the plurality of notes to at least one of the channels according to note range assigned for each channel.
  • Each channel may emulate a plurality of musical instruments of the same kind.
  • the method may further comprise performing one of top- weighting or bottom weighting note allocation, wherein top- weighting comprises injecting preference to higher sounding musical instrument and bottom- weighting comprises injecting preference to lower sounding musical instruments.
  • the method may perform transposition of one of the note so as to bring the transposed note within the range on the channel.
  • the method may further comprise assigning priority value to each of the channels, and assigning notes to channels according to the priority.
  • a method of assigning a sequence of sounds comprising: assigning a plurality of channels; assigning a number of voices to each channel to play the sequence of sounds; forcing the number of voices in each channel to remain constant throughout the sequence, regardless of the number of notes assigned to each channel throughout the sequence; defining a notes range for each of the channels; assigning each note to one of the channels according to whether the note falls within note range assigned to the channel.
  • the voices within a given channel may emulate a musical instrument of the same kind.
  • the method may further comprise performing one of top- weighting or bottom weighting note allocation, wherein top-weighting comprises injecting preference to higher sounding musical instrument and bottom- weighting comprises injecting preference to lower sounding musical instruments.
  • top-weighting comprises injecting preference to higher sounding musical instrument
  • bottom- weighting comprises injecting preference to lower sounding musical instruments.
  • the method may perform transposition of one of the note so as to bring the transposed note within the range on the channel.
  • the method may further comprise assigning priority value to each of the channels, and assigning notes to channels according to the priority.
  • Fig. 1 illustrates a simple divisi of all five paths in a string section comprised of First Violins (VIn.1), Second Violins (VIn. 2), Violas (Via.), Celli (Vc.) and Basses (Cb.).
  • VZII level 2 divisi
  • Middle C is referenced by an arrow and, dotted notes are being played.
  • Fig. 2 illustrated a DVZII involving three notes and four of the 5 paths of the string section.
  • Fig. 3 illustrates a DVZII involving three notes and three of the five String Section paths.
  • Fig. 4 illustrates a DVZII whereby the number of notes (3) exceeds the number of paths which are able to play them (2) because the notes are above the playable ranges of three of the five paths.
  • Fig. 5 illustrates a more complex DVZII whereby some notes are within range of multiple paths, but not of all paths, and choices must be made as to how to allocate notes where they might go to various paths.
  • Fig. 6 illustrates the set of notes shown in Fig 5, abstracted to a two-dimensional matrix, which is part of the actual method by which we solve for note allocation in this divisi process, showing the multiple possibilities where various notes might be assigned to various paths based on playable ranges.
  • Fig. 7 illustrates the matrix of possible playable notes by the different paths, per Fig. 6, as depicted with a multi-keyboard representation.
  • Fig. 8 illustrates a solution of the matrix per Fig 6, using a method which assures proper distribution and top weighting per the divisi principles in the referenced patent and PCT, with actual notes allocated per path shown in black, possible but not allocated notes shown in gray.
  • Fig. 9 illustrates a solved matrix of Fig. 8, now depicted as an orchestral outcome on a multi-keyboard representation, with actual notes played by each path in black, notes that might have been played (e.g., they were within playable range) but were assigned elsewhere shown in gray.
  • Fig. 10 illustrates a solution to the matrix similar to Fig 8 but done with bottom instead of top weighting.
  • Fig. 11 illustrates a solved matrix of Fig. 9, now depicted as an orchestral outcome on a multi-keyboard representation.
  • Fig. 12 illustrates a two-note divisi among a section of eight single-player first violin paths, showing how equal sound power is maintained for each note through even allocation of 1 note to each of four players.
  • the parenthetic numbers (1) adjacent to each desk number indicate there is one player (one musician) per each desk.
  • Fig. 13 illustrates a two-note divisi among a section of eight first violin paths, four of which have single players (1) and four of which have two players(2) per desk.
  • more of the higher note allocation is different from that in Fig 12 in order to maintain correct power balance; 6 musicians are playing the upper note and 6 musicians are playing the lower note even though 5 paths play the upper note and 3 paths play the lower note.
  • Fig. 14 illustrates an example of what may happen when no notes fall within range of a given path, this five-note divisi is applied to five paths. However no notes are within the playable range of the violas (Via.) and so they are excluded with no notes assigned to them.
  • Fig. 15 illustrates the set of notes shown in Fig 14, abstracted to a two- dimensional matrix (on the left) and the solution to that matrix (on the right) with actual notes allocated per path shown in black, possible but not allocated notes shown in gray.
  • Fig. 16 illustrates the matrix of possible placements and the solution thereof for the same notes shown in Figs 14 and 15, but in this instance a Force Script Shift Down function is set for the violas. Notes that previously would not have been playable by the violas are now generated through downward transposition, as indicated by the dark cross hatch and light cross hatch boxes in the viola (Via.) rows.
  • Fig. 17 illustrates the solved matrix of Fig 16 (right), now depicted as an orchestral outcome on a multi-keyboard representation, with actual notes played by each path in black. Unlike Fig 14 where the violas had no notes to play, they now have a note due to the force octave shift down function being set for this path.
  • Fig. 18 illustrates the matrix of possible placements and the solution thereof for the same notes shown in Figs 14 and 15, but in this instance a Force Script Shift Up function is set for the violas.
  • Fig. 19 illustrates the solved matrix of Fig 18 (right), now depicted as an orchestral outcome on a multi-keyboard representation.
  • Fig. 20 illustrates that it is possible to set both the Force Script Shift Up and Force Script Shift Down functions for any given path, and this illustration shows such a situation for the violas, given the same notes played and ranges as in the previous several illustrations. More possibilities exist for viola note allocation (left side) and while the solution (right) still gives them a single note to play as occurred in Fig 18, the overall DVZII note allocation is different here.
  • Fig. 21 illustrates the solved matrix of Fig 20 (right) now depicted as an orchestral outcome on a multi-keyboard representation.
  • Fig. 22 illustrates Level 1 divisi (DVZI), using the concept of priorities, per our referenced patent/PCT filings.
  • Each path's set priority is shown in a box to the left of its keyboard.
  • This and Figs 23 through 25 all show how priorities work when all the notes are within the playable range of the available paths.
  • Fig. 23 illustrates DVZI with five paths, four different priorities set, and two notes played.
  • Fig. 24 illustrates DVZI with five paths, four different priorities set, and three notes played.
  • Fig. 25 illustrates DVZI with five paths, four different priorities set, and four notes played.
  • Fig. 26 illustrates DVZI when priorities conflict with playable ranges.
  • the Cello path (Cb) is set to priority 1 but the note is out of that path's playable range, so instead it is allocated to both of the paths which are set to priority 2, in this case the first and second violins (VIn.1 and VIn. 2)
  • Fig. 27 illustrates two notes that are played and both are within range of the Celli, while neither is in range of the first or second violins; given the Cello path is Priority 1 they get the lowest note, but priority 2 is skipped due to the out-of-range condition so the second note goes to the violas whose path is priority 3.
  • Fig. 28 illustrates an examination of the interaction between priority and force octave shift functions.
  • the Cello (Vc.) path is priority 1 and it has the force octave shift up set.
  • the first (and only) note played is below the cello range and would otherwise be played by the basses (Cb.) but is instead transposed up an octave and given to the Cello path because it is now within range of this priority 1 path due to the force octave shift up function being set.
  • Fig. 29 is an example where all paths have both the Force Script Shift Up and Down features set, and the system is set to Top Weighting. Two notes played below the range of the priority 1, 2 and 3 paths are thereby transposed and allocated to priority 1 and 2 paths in this example. That is, notes in the bass range instead go to the violins and cello.
  • Fig. 30 is similar to Fig 29 except now bottom weighting is set instead of top weighting. For this reason the lower note (D) is played by two stems instead of the higher note (E) as was done in Fig 29.
  • Fig. 31 illustrates an example of what happens with a mix of Force Scripte Transpose settings and out-of-range notes.
  • Force Scripte Shift Up is set for the first violins (VIn. 1) and the Celli (Vc.) paths, but not for the second violins (VIn. 2). While both the first and second violins have the same Priority 2 value, the second violins cannot play either of the two notes since they remain out of range when their path's Force Octave Transpose Up feature is not set.
  • Fig. 32 is another example of the interaction between priority and Force Script Shift functions; here the Force Scripte Shift Up is set only for the Cello (Vc.) and Bass (Cb.) paths but for no others. With one of the two notes out of range for the Bass, and Priority 1 favored for the Cello path, a single transposition occurs to bring the upper note higher and into the Cello range.
  • Fig. 33 is an example where the priorities and Force Script settings are the same as in Fig 32, but the one note (E) that is within range of the bass is the higher of the two original notes. Since transposing only the out-of-range (for the cello) D into the cello path would violate the rule of keeping the notes in the order played, both notes are transposed up an octave.
  • Fig. 34 illustrates an example of a processor for executing the method according to an embodiment of the invention.
  • DVZI refers to a Level 1 divisi (the highest or most global note allocation)
  • DVZII refers to a Level 2 divisi (an allocation of notes to multiple players or desks within a single Level 1 divisi path).
  • path stem, player, voice, playable range, and crossover.
  • Each instrument or each path which addresses instruments can have a playable range, a span of notes which the instrument (or group of instruments) is capable of playing.
  • the term crossover refers to what happens when notes fall outside the range of a given instrument or path, and are instead allocated to another instrument or path where the note are within the playable note range. For simplicity (fewer words), we sometimes use the term crossovers more-or-less interchangeably with playable note ranges even though, technically, they are not precisely the same thing. It should be understood by context what is meant here.
  • DVZII with crossovers uses the same principle, but the playing ranges of the instruments involved are taken into account. In most cases, not all instruments involved in a DVZ will be able to participate. Some instruments may not have any notes in their playing ranges. When we perform a DVZII with crossovers, the goal is to distribute notes evenly across all the instruments participating.
  • Fig. 2 shows the distribution of a three note chord that falls outside of the playing range of the bass.
  • Fig. 3 shows the distribution of another three note chord that falls in the playing range of the top three path: violins I and II and violas.
  • Violins I is allocated two notes; if this path represents an eight chair violin section, then the first four violins would play the first note and the second four would play the second note. If Violins I were a single player, the two notes would be played as a double stop. Fig. 4 illustrates this distribution.
  • Fig. 5 illustrates a slightly more complicated five note DVZII. If we didn't take playing ranges into account, we would expect each note to be played by one path - this would be the optimal distribution of notes for a DVZ. Unfortunately, the playing ranges of the instruments prohibit such a uniform distribution. Instead, because the third note from the highest is above the range of the third path (Violas), the Violins I have to take two of the notes, and the fourth note has to be doubled and given to both the violas and the cellos.
  • Fig. 6 shows the all possible placements of the five notes with the instruments we are using, and their ranges, per Fig. 5. Horizontal rows represent instruments, and vertical columns represent notes as indicated by the labels next to them. If a note falls in the playing range of an instrument, we set the box (here shown in black) in the matrix at the row and column representing that note and instrument. For clarification, Fig. 7 shows this matrix of possible note placements on keyboards. To obtain our actual DVZ note distribution we solve the matrix.
  • the DVZ process includes a method called weighting. DVZs can either be top-weighted or bottom-weighted. With top weighting, odd distributions lean towards the higher pitch range instruments (or the higher notes for a single type of instrument), giving more of those instruments the notes which cannot be evenly distributed.
  • Fig. 10 shows the solution to our matrix of possible placements with bottom weighting instead of top weighting.
  • Fig. 11 shows this bottom- weighted matrix solution translated back into a keyboard representation of our orchestra.
  • the inventive method of DVZ described in this application takes into account desks and voices.
  • a desk or player
  • a voice is the number of musicians sounding at a desk.
  • Some of the violin samples are single musician players, some are two musician players - for example two people with violins recorded in one channel (or converted into one sample) while playing simultaneously in unison. Since a two-voice player will have more sound power than a single-voice player, DVZ takes into account the number of voices (musicians) per desk when distributing notes.
  • Fig. 13 shows a violin section with eight desks again, but in this case, the first four desks are single voice players, and the second four desks are two-voice players. This gives us a total of twelve voices if each desk were to play one note. To maintain an equal power (equal number of voices) per note, when we play two notes in this setup, each note should be played by six voices. So here the first note gets sent to the first five desks and the second note gets sent to the last three desks.
  • Fig. 14 shows a five-note DVZ. None of the notes lies within playing range of the violas, and neither force octave shift up nor force octave shift down is enabled. The resulting note distribution is shown by the dotted keys on the 5 string instrument paths.
  • Fig. 15 shows the matrix of possible placements and its solution for this situation.
  • Fig. 16 shows the matrix of possible placements and its solution for this situation. As illustrated, possible placements are borrowed from the immediately previous path, in this case Violins II, to fill in the viola's row. Then the matrix is solved. Fig. 16 shows the note distribution matrix with the possible note allocations on the left, and the solved transpositions and allocations on the right, using the setup described above. Compare this to the possibilities and solution without Force Scripte Shift down, as illustrated in Fig. 15.
  • Fig. 19 shows the note distribution with transpositions for the solution from Fig. 18.
  • Paths can be given priority numbers such as 1 , 2, 3 and so forth, and the same number can be given to more than one path; priority number values cannot be skipped, they must be contiguous.
  • priorities are set and fewer notes are played than the number of paths to which notes may be assigned, those paths with lowest numbered priorities will be first in line to play notes, those with higher numbered priorities then play additional notes. If one arpeggiates a chord, then successively higher numbered paths play successively played notes, increasing the number of instruments involved with each added note; this is not like standard DVZ where there are always a constant number of instruments playing. However, when there are as many or more notes being played as there are path priority values, then the priorities cease to have a function and the standard constant player count DVZ process ensues.
  • the addition of the concept of playable note ranges in this spec somewhat complicates the way priorities function and requires additional logical steps to perform correct note allocations.
  • Figures 22 through 25 illustrate the sequence of note assignments to priorities if all notes fall in playing range of all paths. This is how DVZI without playing ranges works. Priorities for each path are listed in the boxes next to the path labels.
  • Fig. 26 shows the same priority setup as the previous several figures: five paths with four priorities.
  • one note is sounding. Since there is only one note, it should go to the cello path, whose priority is set to one. But since the note is out of the playing range of the cello, it has to go somewhere else.
  • the only paths that can play it are violins I, violins II, and violas. Violins I and II are both set to priority two and violas is set to priority three, so the note is assigned to violins I and II.
  • Fig. 27 illustrates a similar situation ; two notes are sounding. The higher of the two notes can be played by priorities one, three, and four. The lower of the two notes can be played by priorities one and four. If playing ranges were not taken into consideration, these notes would be assigned to priorities one and two. Since priority one is still in play, we know we must use priority one. There are two combinations of distributions that involve priority one: assigning the notes to priorities one and three or assigning the notes to priorities one and four. Since three is a lower priority than four, the method of solving for note allocation assigns the top note to priority three and the bottom note to priority four.
  • Paths that have force octave transposition enabled will always play notes provided that notes can be transposed in the correct direction (we point out here that transpose up and transpose down may be enabled separately, and that either, neither or both may be enabled per path). This means that if notes can be played on paths with lower priorities with transposition, then notes will be transposed and may not sound where played on any path.
  • force octave transposition up is set for the cello path, which is set to priority one. Even though the input note falls only within the playable range of the basses, it gets transposed into the cello range. This is illustrated in Fig. 28.
  • Fig. 34 illustrates an example of an apparatus 3400 for executing the method according to an embodiment of the invention.
  • the note assignment processor 3402 comprises a note input for receiving a notes-to-be-played signal from a note input source 3410.
  • a central processing unit (CPU) 3404 performs steps according to embodiments of the invention, including detecting the signal, determining the number of notes to be played simultaneously, and performing iterative process to assign each note to a selected channel.
  • a note register 3405 is provided for storing the total number of notes to be played simultaneously, while a note list register 3415 is provided for storing the notes to be played simultaneously in a pitch order.
  • a current note register 3420 is used for storing the identity of the current note processed by the central processing unit 3404.
  • a channel register 3425 is used for storing the total number of channels available for note assignment, while a channel list register 3430 is used for storing the channels in a specified order and a channel pitch range register 3435 is used for storing lowest and highest playable pitches per each channel.
  • a transpose up register 3440 is used for each channel to indicate upward note transposition for that channel and a transpose down register 3445 s used for each channel to indicate downward note transposition for that channel.
  • a weighting preference register 3450 is used to store top or bottom weighted assignment of notes to channels when such is utilized.
  • a channel priority register 3455 is used to store a value corresponding to the order in which notes played will be assigned to channels in which they are playable, when this feature is utilized.

Landscapes

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

Abstract

A method of assigning a sequence of sounds is provided, where each sound comprises a plurality of notes, the method comprising: assigning a plurality of channels; assigning a number of voices to each channel to play the sequence of sounds; forcing the number of voices in each channel to remain constant throughout the sequence, regardless of the number of notes assigned to each channel throughout the sequence; defining a notes range for each of the channels; assigning each note to one of the channels according to whether the note falls within note range assigned to the channel.

Description

UNITED STATES PATENT APPLICATION
FOR
REAL TIME DIVISI WITH PATH PRIORITY, DEFINED NOTE RANGES AND FORCED OCTAVE TRANSPOSITION
Inventors:
Christopher L. Stone
Hidden Hills, CA
A United States Citizen
Gary D. Davis Los Angeles, CA
Correspondence Address: Gary D. Davis Audio Impressions 5258 Twin Oaks Road Hidden Hills, CA 91302 (US)
Express Mail No. EV 010 719 220 US RELATED APPLICATIONS
This application relates to and claims priority from U.S. Provisional Application Serial No. 60/885,410, filed January 18, 2007.
TECHNICAL FIELD
This system and method generally relates to the field of processing live or sequenced musical notes utilizing a form of divisi as set forth in the present Author's U.S. patent 7,109,406 and as further developed in PCT Serial Number PCT/USO6/ 17757 filed May 5, 2006, adding multiple semi-automatic functions that may be used to attain real time orchestration of a virtual ensemble of virtual musical instruments during a live or sequenced performance. Each available instrument or group of like instruments can be assigned a playable note range which affects how notes are allocated among said instruments or groups of instruments. Additionally, the method can automatically transpose notes that would otherwise be out of the playable range of the virtual instruments into playable ranges for said instruments in a way that preserves the original melodic intent.
BACKGROUND
The system and method for manipulation of sampled or synthesized sounds described herein relates to the live or sequenced playback of orchestral sounds, choirs, or any type of music. This affects isolated notes as well as individual or multiple notes which may be part of or entirely comprising a musical chord.
Sampled musical instruments have absolute ranges which correspond to the physical playable pitch range of the original instruments used to create the recording from which the samples were generated. While these pitch ranges can be artificially extended by various means of pitch shifting, the results of pitch shifting tend to be less than sonically realistic and often sample libraries do not rely upon this technique to produce more than a few semitones of pitch shift. Some pitch shift is acceptable sonically, and use of this technique allows sample libraries containing an notes witnin tne aosoiuie range of a given instrument to be built from recordings of every third or fourth note of that instrument, for example, thus conserving time in library creation as well as reducing the required storage memory and other sample playing resources. It is possible to restrict the playable range of a sampled instrument to be less than the absolute playable range of the acoustic instrument by either not using or by blocking access to notes above some upper limit or below some lower limit, or by allowing only specific pitches to be played. Such restrictions may be done to attain sonic improvements, power balancing, specific orchestrational goals, or for other reasons. In any case, all sampled instruments, also known as virtual instruments, have playable ranges. Within the MIDI specification, there are 128 defined notes, although the largest MIDI keyboard commercially available has a total of 88 black and white keys (corresponding to the 88 notes of the chromatic scale) much like a typical grand piano keyboard. The playable range of any specific virtual instrument may be fewer than 88 notes. Thus it is possible to play notes when using a MIDI keyboard (or MIDI sequencer) that exceeded the playable range of a given virtual instrument in which case, with prior art systems, either no sound will be produced or, if sound is produced, it will be stretched upward or downward as necessary, typically using a pitch bend method that alters the playback sampling rate to artificially extend playability beyond the absolute sampled note range. Such stretching risks the aforementioned sonic defects, which include too-fast or too-slow attack and decay of the sound, audible discontinuities, clicks or similar glitches, and an inappropriate (unrealistic) harmonic overtone structure.
The use of the orchestration technique known as divisi, such as set forth in the authors' patent 7,109,406, allows played notes to be allocated amongst an available pool of musicians, in this instance an available pool of virtual instruments played by virtual musicians. The original method described in detail in mat patent spec was oaseα iargeiy on lookup tables, although algorithmic methods were also mentioned as a viable alternative. PCT/US06/17757 went on to detail examples of an algorithmic method of accomplishing divisi, and further expanded the method by adding, among other nuances, a method of prioritizing the allocated note paths such that sequentially played notes adding to a chord could be caused to invoke different instruments or groups of instruments depending upon a set priority. Given these methods, what then is divisi and why is it used? In the way of review, the Italian term divisi generally refers to the orchestral allocation of notes amongst a given section of string players such as the first violins, second violins, violas, celli or basses. When a single note is to be played by one of these string sections, for example, all musicians in that section play the same note. When a chord of two or more notes is to be played by one of these string sections, the available musicians split up or divisi themselves so that some musicians play one note, some another, and so forth. Without going into the orchestrational rules here, suffice it to say that sometimes the division of notes amongst available players is even, sometimes not, and when the division is not even more musicians will be playing either the higher or the lower pitched note(s) depending on the desired effect, which preference the author refers to as top weighting or bottom weighting. That's the simple explanation of traditional string divisi.
Divisi, however, can be abstracted up a level to cover more than just string sections; the same principle can be used to cover allocation of notes among various available individual instruments in the orchestra, among ad-hoc groups of instruments, or even among pitched and unpitched sounds of any description. Musically, however, it would not necessarily sound good to simply split up chords to feed various instruments willy-nilly. So in setting up a system whereby notes and chords can be automatically orchestrated by some implementation of divisi allocation methods, the user should be allowed to make decisions as to which instruments will play first and which instruments come in subsequently as a chord is arpeggiated (that is, as notes are played individually or as they are added to an already playing note or chord). As well the user should be able to make decisions as to which notes are allowed to be allocated to various instruments (or stems of instruments) based on defined playable ranges for each instrument.
With any given set of available instruments, their playable ranges may or may not overlap, and even if the ranges do overlap, the span of notes wherein they overlap may vary from as few as 1 to as many as all playable notes. A method of allocating notes played to the set instrument ranges could thereby produce very different sounding results depending on the actual ranges set for the various instruments. Too, it is possible that certain notes may fall outside the playable range of any available instruments, either higher than the highest playable note, lower than the lowest playable note, or in a hole between the playable note ranges of non-overlapping instrument playable ranges. To address the potentiality of a non-playable note, the author has devised a method whereby non-playable notes can be automatically transposed by one-octave increments such that they can be allocated to whatever available instrument has the nearest (by pitch) playable note range that can accommodate the transposed note.
The ultimate divisi of incoming notes and chords to available instruments (which reference here also includes paths or stems of multiple instruments) will thus depend upon how the user sets up the path priorities, the playable ranges for each path, and the options to transpose notes up or down in pitch, in octave or other desired increments, so they remain within playable ranges. The benefits of the described method which applies these orchestrational principles to create a divisi amongst various instruments include enabling the user to play anywhere on an 88-key or smaller MIDI keyboard while preserving a pleasing, well balanced orchestration mat win oe piayaoie oy live musicians using actual acoustic instruments that correspond to the sampled (or synthesized) virtual instruments being controlled by the described system, and as well the ability to generate
discrete streams of MIDI notes which can be transferred to conventional prior-art musical notation systems for immediate conversion to playable parts or scores that are sufficiently well orchestrated that do not cause live musicians to have to play too-wide intervals or exceedingly difficult if not impossible to play jumps between subsequent notes as may occur with MIDI compositions that are created using conventional prior art sampler or synthesizer systems and note handling methods.
SUMMARY
Aspects of the invention provide a note assignment processor for assigning notes to selected channels to be played by said channels, the processor comprising: an input for receiving a notes-to-be-played signal; a central processing unit for detecting said signal, determining the number of notes to be played simultaneously, and performing iterative process to assign each note to a selected channel; a note register for storing the total number of notes to be played simultaneously; a note list register for storing the notes to be played simultaneously in a pitch order; a current note register for storing the identity of the current note processed by said central processing unit; a channel register for storing the total number of channels available for note assignment; a channel list register for storing the channels in a specified order; a channel pitch range register for storing lowest and highest playable pitches per each channel; a transpose up register for each channel to indicate upward note transposition for that channel; a transpose down register for each channel to indicate downward note transposition for that channel; a weighting preference register to store top or bottom weighted assignment of notes to channels; and a channel priority register to store a value corresponding to the order in which notes played will be assigned to channels in which they are playable. The note assignment processor may designate actual notes to be played by one or more particular channels, which are determined to be capable of playing the notes, by filling out the array in accordance with the specified playable range, transposition enabling register and top-bottom weighting preference for each channel. The total number of channels remains constant for the entire duration of a music piece played. The total numuci υi nυics αι cdui piαymg msuuitc uυes not exceed the total number of channels. The processor may perform an iterative process to determine to which available channels played notes may possibly be assigned according to the note pitch and each channel's allowable ranges, as designated by the channel's stored pitch range limits and as may be extended by virtue of any stored transposition up-down register values. The total number of channels may be held fixed. The total number of channels may vary from zero up to the number of available channels as more notes are played after which number of notes the number of channels does not increase with additional notes played and instead an overflow iterative process assigns remaining unassigned notes to an already assigned channel, to thereby assign at least one channel to play at least two notes. The order in which notes are assigned to channels accords with the specified channel priority values.
According to other aspects of the invention, a method for assigning notes to selected channels to be played by the channels is provided, comprising: designating a plurality of channels, each channel emulating an audio instrument; defining a note range for each channel; receiving instructions to play a plurality of defined notes simultaneously; and allocating each of the plurality of notes to at least one of the channels according to note range assigned for each channel. Each channel may emulate a plurality of musical instruments of the same kind. The method may further comprise performing one of top- weighting or bottom weighting note allocation, wherein top- weighting comprises injecting preference to higher sounding musical instrument and bottom- weighting comprises injecting preference to lower sounding musical instruments. When one channel has no note within its range, the method may perform transposition of one of the note so as to bring the transposed note within the range on the channel. The method may further comprise assigning priority value to each of the channels, and assigning notes to channels according to the priority.
According to further aspects of the invention, a method of assigning a sequence of sounds is provided, where each sound comprises a plurality of notes, the method comprising: assigning a plurality of channels; assigning a number of voices to each channel to play the sequence of sounds; forcing the number of voices in each channel to remain constant throughout the sequence, regardless of the number of notes assigned to each channel throughout the sequence; defining a notes range for each of the channels; assigning each note to one of the channels according to whether the note falls within note range assigned to the channel. The voices within a given channel may emulate a musical instrument of the same kind. The method may further comprise performing one of top- weighting or bottom weighting note allocation, wherein top-weighting comprises injecting preference to higher sounding musical instrument and bottom- weighting comprises injecting preference to lower sounding musical instruments. When one channel has no note within its range, the method may perform transposition of one of the note so as to bring the transposed note within the range on the channel. The method may further comprise assigning priority value to each of the channels, and assigning notes to channels according to the priority.
BRIEF DESCRIPTIONS OF THE DRAWINGS
Fig. 1 illustrates a simple divisi of all five paths in a string section comprised of First Violins (VIn.1), Second Violins (VIn. 2), Violas (Via.), Celli (Vc.) and Basses (Cb.). This is a level 2 divisi (DVZII) which means it is within a section of like instruments as contrasted to a level 1 divisi (DVZI) which is more global, affecting different types of instruments. Middle C is referenced by an arrow and, dotted notes are being played.
Fig. 2 illustrated a DVZII involving three notes and four of the 5 paths of the string section.
Fig. 3 illustrates a DVZII involving three notes and three of the five String Section paths.
Fig. 4 illustrates a DVZII whereby the number of notes (3) exceeds the number of paths which are able to play them (2) because the notes are above the playable ranges of three of the five paths. Fig. 5 illustrates a more complex DVZII whereby some notes are within range of multiple paths, but not of all paths, and choices must be made as to how to allocate notes where they might go to various paths.
Fig. 6 illustrates the set of notes shown in Fig 5, abstracted to a two-dimensional matrix, which is part of the actual method by which we solve for note allocation in this divisi process, showing the multiple possibilities where various notes might be assigned to various paths based on playable ranges.
Fig. 7 illustrates the matrix of possible playable notes by the different paths, per Fig. 6, as depicted with a multi-keyboard representation.
Fig. 8 illustrates a solution of the matrix per Fig 6, using a method which assures proper distribution and top weighting per the divisi principles in the referenced patent and PCT, with actual notes allocated per path shown in black, possible but not allocated notes shown in gray.
Fig. 9 illustrates a solved matrix of Fig. 8, now depicted as an orchestral outcome on a multi-keyboard representation, with actual notes played by each path in black, notes that might have been played (e.g., they were within playable range) but were assigned elsewhere shown in gray.
Fig. 10 illustrates a solution to the matrix similar to Fig 8 but done with bottom instead of top weighting.
Fig. 11 illustrates a solved matrix of Fig. 9, now depicted as an orchestral outcome on a multi-keyboard representation.
Fig. 12 illustrates a two-note divisi among a section of eight single-player first violin paths, showing how equal sound power is maintained for each note through even allocation of 1 note to each of four players. The parenthetic numbers (1) adjacent to each desk number indicate there is one player (one musician) per each desk.
Fig. 13 illustrates a two-note divisi among a section of eight first violin paths, four of which have single players (1) and four of which have two players(2) per desk. Here more of the higher note allocation is different from that in Fig 12 in order to maintain correct power balance; 6 musicians are playing the upper note and 6 musicians are playing the lower note even though 5 paths play the upper note and 3 paths play the lower note.
Fig. 14 illustrates an example of what may happen when no notes fall within range of a given path, this five-note divisi is applied to five paths. However no notes are within the playable range of the violas (Via.) and so they are excluded with no notes assigned to them.
Fig. 15 illustrates the set of notes shown in Fig 14, abstracted to a two- dimensional matrix (on the left) and the solution to that matrix (on the right) with actual notes allocated per path shown in black, possible but not allocated notes shown in gray.
Fig. 16 illustrates the matrix of possible placements and the solution thereof for the same notes shown in Figs 14 and 15, but in this instance a Force Octave Shift Down function is set for the violas. Notes that previously would not have been playable by the violas are now generated through downward transposition, as indicated by the dark cross hatch and light cross hatch boxes in the viola (Via.) rows.
Fig. 17 illustrates the solved matrix of Fig 16 (right), now depicted as an orchestral outcome on a multi-keyboard representation, with actual notes played by each path in black. Unlike Fig 14 where the violas had no notes to play, they now have a note due to the force octave shift down function being set for this path.
Fig. 18 illustrates the matrix of possible placements and the solution thereof for the same notes shown in Figs 14 and 15, but in this instance a Force Octave Shift Up function is set for the violas.
Fig. 19 illustrates the solved matrix of Fig 18 (right), now depicted as an orchestral outcome on a multi-keyboard representation.
Fig. 20 illustrates that it is possible to set both the Force Octave Shift Up and Force Octave Shift Down functions for any given path, and this illustration shows such a situation for the violas, given the same notes played and ranges as in the previous several illustrations. More possibilities exist for viola note allocation (left side) and while the solution (right) still gives them a single note to play as occurred in Fig 18, the overall DVZII note allocation is different here.
Fig. 21 illustrates the solved matrix of Fig 20 (right) now depicted as an orchestral outcome on a multi-keyboard representation.
Fig. 22 illustrates Level 1 divisi (DVZI), using the concept of priorities, per our referenced patent/PCT filings. Each path's set priority is shown in a box to the left of its keyboard. This and Figs 23 through 25 all show how priorities work when all the notes are within the playable range of the available paths. Here there are five paths, four different priorities set, and a single note played.
Fig. 23 illustrates DVZI with five paths, four different priorities set, and two notes played.
Fig. 24 illustrates DVZI with five paths, four different priorities set, and three notes played.
Fig. 25 illustrates DVZI with five paths, four different priorities set, and four notes played.
Fig. 26 illustrates DVZI when priorities conflict with playable ranges. The Cello path (Cb) is set to priority 1 but the note is out of that path's playable range, so instead it is allocated to both of the paths which are set to priority 2, in this case the first and second violins (VIn.1 and VIn. 2)
Fig. 27 illustrates two notes that are played and both are within range of the Celli, while neither is in range of the first or second violins; given the Cello path is Priority 1 they get the lowest note, but priority 2 is skipped due to the out-of-range condition so the second note goes to the violas whose path is priority 3.
Fig. 28 illustrates an examination of the interaction between priority and force octave shift functions. Here the Cello (Vc.) path is priority 1 and it has the force octave shift up set. The first (and only) note played is below the cello range and would otherwise be played by the basses (Cb.) but is instead transposed up an octave and given to the Cello path because it is now within range of this priority 1 path due to the force octave shift up function being set.
Fig. 29 is an example where all paths have both the Force Octave Shift Up and Down features set, and the system is set to Top Weighting. Two notes played below the range of the priority 1, 2 and 3 paths are thereby transposed and allocated to priority 1 and 2 paths in this example. That is, notes in the bass range instead go to the violins and cello.
Fig. 30 is similar to Fig 29 except now bottom weighting is set instead of top weighting. For this reason the lower note (D) is played by two stems instead of the higher note (E) as was done in Fig 29.
Fig. 31 illustrates an example of what happens with a mix of Force Octave Transpose settings and out-of-range notes. Here Force Octave Shift Up is set for the first violins (VIn. 1) and the Celli (Vc.) paths, but not for the second violins (VIn. 2). While both the first and second violins have the same Priority 2 value, the second violins cannot play either of the two notes since they remain out of range when their path's Force Octave Transpose Up feature is not set.
Fig. 32 is another example of the interaction between priority and Force Octave Shift functions; here the Force Octave Shift Up is set only for the Cello (Vc.) and Bass (Cb.) paths but for no others. With one of the two notes out of range for the Bass, and Priority 1 favored for the Cello path, a single transposition occurs to bring the upper note higher and into the Cello range.
Fig. 33 is an example where the priorities and Force Octave settings are the same as in Fig 32, but the one note (E) that is within range of the bass is the higher of the two original notes. Since transposing only the out-of-range (for the cello) D into the cello path would violate the rule of keeping the notes in the order played, both notes are transposed up an octave.
Fig. 34 illustrates an example of a processor for executing the method according to an embodiment of the invention. DETAILED DESCRIPTION DVZII With Crossovers (Playing Ranges) Overview
For simplification of reference, we use the initials DVZ to represent the divisi note allocation process in general. The term DVZI refers to a Level 1 divisi (the highest or most global note allocation), and the term DVZII refers to a Level 2 divisi (an allocation of notes to multiple players or desks within a single Level 1 divisi path). The following terms are either defined in the text as we proceed or evident by context: path, stem, player, voice, playable range, and crossover.
Each instrument or each path which addresses instruments can have a playable range, a span of notes which the instrument (or group of instruments) is capable of playing. The term crossover refers to what happens when notes fall outside the range of a given instrument or path, and are instead allocated to another instrument or path where the note are within the playable note range. For simplicity (fewer words), we sometimes use the term crossovers more-or-less interchangeably with playable note ranges even though, technically, they are not precisely the same thing. It should be understood by context what is meant here.
In order two understand DVZI with crossovers, first we should look at the simpler of the two methods or algorithms — simpler because it does not involve priority values - the DVZII with crossovers. The idea of DVZII is to keep the number of voices playing constant no matter how many notes are playing. Imagine, we have eight instruments. If we play one note, each instrument plays that note for a total of eight sounding voices. If we play two notes, the first note is played by the first four instruments, and the second note is played by the second four instruments for a total of eight sounding voices. If we play four notes, each note is played by two instruments for again a total of eight sounding voices.
DVZII with crossovers uses the same principle, but the playing ranges of the instruments involved are taken into account. In most cases, not all instruments involved in a DVZ will be able to participate. Some instruments may not have any notes in their playing ranges. When we perform a DVZII with crossovers, the goal is to distribute notes evenly across all the instruments participating. Fig. 2 shows the distribution of a three note chord that falls outside of the playing range of the bass. Fig. 3 shows the distribution of another three note chord that falls in the playing range of the top three path: violins I and II and violas.
When the number of notes exceeds the number of paths involved in the DVZ, multiple notes must be assigned to a single path. In Fig.4 Violins I is allocated two notes; if this path represents an eight chair violin section, then the first four violins would play the first note and the second four would play the second note. If Violins I were a single player, the two notes would be played as a double stop. Fig. 4 illustrates this distribution.
Distribution based on limitations of playing range
Fig. 5 illustrates a slightly more complicated five note DVZII. If we didn't take playing ranges into account, we would expect each note to be played by one path - this would be the optimal distribution of notes for a DVZ. Unfortunately, the playing ranges of the instruments prohibit such a uniform distribution. Instead, because the third note from the highest is above the range of the third path (Violas), the Violins I have to take two of the notes, and the fourth note has to be doubled and given to both the violas and the cellos.
When playing ranges prohibit use of an ideal distribution, we determine how notes will be orchestrated by abstracting the problem to a two dimensional matrix. Fig. 6 shows the all possible placements of the five notes with the instruments we are using, and their ranges, per Fig. 5. Horizontal rows represent instruments, and vertical columns represent notes as indicated by the labels next to them. If a note falls in the playing range of an instrument, we set the box (here shown in black) in the matrix at the row and column representing that note and instrument. For clarification, Fig. 7 shows this matrix of possible note placements on keyboards. To obtain our actual DVZ note distribution we solve the matrix. This usually looks like finding the straightest path from the top left corner of the matrix to the bottom right corner, although the method is more complex than such a convenient conceptualization, involving a number of iterative processes. Then we translate this matrix-based solution back onto paths that correspond to the instruments, as shown in Fig. 9.
Weighting
There are often cases, as we have illustrated above, where an odd distributions of notes occurs, such as three notes split among the Violins I and Violins II or the two bottom notes split between the violas, cellos, and basses. How do we decided where to distribute notes in these cases? The DVZ process includes a method called weighting. DVZs can either be top-weighted or bottom-weighted. With top weighting, odd distributions lean towards the higher pitch range instruments (or the higher notes for a single type of instrument), giving more of those instruments the notes which cannot be evenly distributed. That is how we decided to give two notes to the first violins instead of the second violins and how we decided to let the violas and cellos share the fourth note rather than letting the cellos and basses share the fifth note. Bottom weighting is the inverse, giving the extra notes to the lower pitch range instruments (or lower notes within the range of a given set of instruments). Fig. 10 shows the solution to our matrix of possible placements with bottom weighting instead of top weighting. Fig. 11 shows this bottom- weighted matrix solution translated back into a keyboard representation of our orchestra.
Desks and voices
The inventive method of DVZ described in this application takes into account desks and voices. At the instrument level, typically a Level II divisi (DVZII) within the string section, a desk (or player) is another term for a path. A voice is the number of musicians sounding at a desk. Some of the violin samples are single musician players, some are two musician players - for example two people with violins recorded in one channel (or converted into one sample) while playing simultaneously in unison. Since a two-voice player will have more sound power than a single-voice player, DVZ takes into account the number of voices (musicians) per desk when distributing notes.
We'll consider a violin section to explore how desks and so forth are handled in the present DVZ process. In the example of Fig. 12, we have eight single-voice violin desks in a violin section - eight one-musician players. The number of voices at a given desk is indicated in parenthesis on the figure to the right of the desk's name. If each desk has only one voice, then we have eight voices. If we send this violin section two notes, each note will be played by four voices.
Fig. 13 shows a violin section with eight desks again, but in this case, the first four desks are single voice players, and the second four desks are two-voice players. This gives us a total of twelve voices if each desk were to play one note. To maintain an equal power (equal number of voices) per note, when we play two notes in this setup, each note should be played by six voices. So here the first note gets sent to the first five desks and the second note gets sent to the last three desks.
Forcing paths to play
We may want to ensure that all paths play regardless of what the input notes happen to be, even if apparently out of range of some paths. This perhaps would be useful in sections we want richly orchestrated, or if we want the entire string section to play a unison line. For these and other situations there are two new divisi parameters that can be set for each path: force octave shift up and force octave shift down. These parameters work in the following way. If there is a given path with no notes in range and that path has either of the force octave flags set, points in the matrix of possible placements will be filled in before performing the DVZ. The modified matrix is solved, and when converting the matrix back to MIDI, those notes assigned to paths that fall outside the playing range of those paths are transposed by whatever minimum number of octaves is necessary so they now fall within the range of the specified path.
The same notes played (input) as used in Fig. 14 will be the input for all examples in this section through Fig. 21. Fig. 14 shows a five-note DVZ. None of the notes lies within playing range of the violas, and neither force octave shift up nor force octave shift down is enabled. The resulting note distribution is shown by the dotted keys on the 5 string instrument paths. Fig. 15 shows the matrix of possible placements and its solution for this situation.
What if force octave shift down is set for the violas? Fig. 16 shows the matrix of possible placements and its solution for this situation. As illustrated, possible placements are borrowed from the immediately previous path, in this case Violins II, to fill in the viola's row. Then the matrix is solved. Fig. 16 shows the note distribution matrix with the possible note allocations on the left, and the solved transpositions and allocations on the right, using the setup described above. Compare this to the possibilities and solution without Force Octave Shift down, as illustrated in Fig. 15.
Now suppose force octave shift up were set for the violas. Possible placements would be borrowed instead from the cellos as seen in the matrix possibilities and solution of Fig. 18. Fig. 19 shows the note distribution with transpositions for the solution from Fig. 18.
If both force octave shift up and force octave shift down are set, we borrow both from the row above and the row below; the matrix and its solution for this situation are shown in Fig. 20. The note distribution with transpositions for the solution from Fig. 20 is shown in Fig. 21.
DVZI Priorities Overview
Paths can be given priority numbers such as 1 , 2, 3 and so forth, and the same number can be given to more than one path; priority number values cannot be skipped, they must be contiguous. When priorities are set and fewer notes are played than the number of paths to which notes may be assigned, those paths with lowest numbered priorities will be first in line to play notes, those with higher numbered priorities then play additional notes. If one arpeggiates a chord, then successively higher numbered paths play successively played notes, increasing the number of instruments involved with each added note; this is not like standard DVZ where there are always a constant number of instruments playing. However, when there are as many or more notes being played as there are path priority values, then the priorities cease to have a function and the standard constant player count DVZ process ensues. The addition of the concept of playable note ranges in this spec somewhat complicates the way priorities function and requires additional logical steps to perform correct note allocations.
Figures 22 through 25 illustrate the sequence of note assignments to priorities if all notes fall in playing range of all paths. This is how DVZI without playing ranges works. Priorities for each path are listed in the boxes next to the path labels.
With DVZ priority and no playing ranges involved, if we were to play just one note, that note would be assigned to all paths whose priorities are set to one. If we play two notes, notes will be allocated to those paths with priorities set to one or two. The top note will go to the higher path(s), and the bottom note will go to the lower path(s) regardless of whether they're set to priority one or two. What happens now that we have playing ranges active for the paths, we play one note, and it is out of range of all paths with priority one? It goes to whatever path(s) has the lowest priority number and where it is not out of the path's range.
Fig. 26 shows the same priority setup as the previous several figures: five paths with four priorities. Here one note is sounding. Since there is only one note, it should go to the cello path, whose priority is set to one. But since the note is out of the playing range of the cello, it has to go somewhere else. The only paths that can play it are violins I, violins II, and violas. Violins I and II are both set to priority two and violas is set to priority three, so the note is assigned to violins I and II.
Fig. 27 illustrates a similar situation ; two notes are sounding. The higher of the two notes can be played by priorities one, three, and four. The lower of the two notes can be played by priorities one and four. If playing ranges were not taken into consideration, these notes would be assigned to priorities one and two. Since priority one is still in play, we know we must use priority one. There are two combinations of distributions that involve priority one: assigning the notes to priorities one and three or assigning the notes to priorities one and four. Since three is a lower priority than four, the method of solving for note allocation assigns the top note to priority three and the bottom note to priority four.
Priorities and octave transposition
Paths that have force octave transposition enabled will always play notes provided that notes can be transposed in the correct direction (we point out here that transpose up and transpose down may be enabled separately, and that either, neither or both may be enabled per path). This means that if notes can be played on paths with lower priorities with transposition, then notes will be transposed and may not sound where played on any path. For the next example we assume that force octave transposition up is set for the cello path, which is set to priority one. Even though the input note falls only within the playable range of the basses, it gets transposed into the cello range. This is illustrated in Fig. 28.
Here's another example, per Fig. 29; all paths have transpose up and transpose down set (activated). Two notes are played, both in the bass range, which is priority 4. Since both can be transposed such that they become within the playable range of priority one and priority two paths, this is done. No note is now sounding in its originally played octave.
Remember, if the DVZ is set to bottom weighting, the D and not the E will be doubled because the method solves the DVZ without taking any transpositions into account, and the D is the lower note at the input. Refer to Fig. 30.
What if violins I is set to force octave shift up but not violins II. Refer to Fig. 31. We have two notes. Neither input note is within range of a priority one or two path. Because Force Octave Shift UP is active for the violins I and the Celli, both notes are transposed up, but into the celli and the first violins, not into the second violins. Even though second violins and first violins have the same priority and would otherwise play a given note, second violins cannot because the note is out of their range.
What if we play two notes that both are below the Priority One and two playable ranges, and Force Octave Shift Up (transposition) is on for the celli, but not anything else, per Fig. 32. Since a note can be transposed to be played by the priority one celli, the method must do this. The next highest priority that can play a note (the basses) are set to priority four; since the method must play the second note at another priority and no others have transposition enabled, that note goes to the basses.
In the next example, per Fig. 33, let's assume force octave shift up is enabled for both the celli and the basses, but not anything else. We play two notes: one note is out of range of all instruments, and one note is in range of the basses. Since there are two notes playing, the method must try to use priority one, which it can. This leaves only priority four left as a within playable range path so the two notes will be assigned to priorities one and four. One of the notes can be played without transposition by priority four, the E. If the system were to do this, however, then the lower note (the D) would have to be transposed above the playable-as-input E. This is not allowed or the melodic intent would be violated; higher input notes have to remain Ugnci, at icdM wmi ic&pcwi ιυ aubuiuic (note letter) value if not octave value, so both notes are transposed.
Fig. 34 illustrates an example of an apparatus 3400 for executing the method according to an embodiment of the invention. The note assignment processor 3402 comprises a note input for receiving a notes-to-be-played signal from a note input source 3410. A central processing unit (CPU) 3404 performs steps according to embodiments of the invention, including detecting the signal, determining the number of notes to be played simultaneously, and performing iterative process to assign each note to a selected channel. A note register 3405 is provided for storing the total number of notes to be played simultaneously, while a note list register 3415 is provided for storing the notes to be played simultaneously in a pitch order. A current note register 3420 is used for storing the identity of the current note processed by the central processing unit 3404. A channel register 3425 is used for storing the total number of channels available for note assignment, while a channel list register 3430 is used for storing the channels in a specified order and a channel pitch range register 3435 is used for storing lowest and highest playable pitches per each channel.
When implementing transposition, a transpose up register 3440 is used for each channel to indicate upward note transposition for that channel and a transpose down register 3445 s used for each channel to indicate downward note transposition for that channel. A weighting preference register 3450 is used to store top or bottom weighted assignment of notes to channels when such is utilized. A channel priority register 3455 is used to store a value corresponding to the order in which notes played will be assigned to channels in which they are playable, when this feature is utilized.
While the particular embodiment discussed herein involves MIDI (Musical Instrument Digital Interface) note definitions, implementation of the methods using any other system that defines and controls musical note generation would equally fall within the envisioned scope of this system and method.

Claims

We claim the following:
1. A note assignment processor for assigning notes to selected channels to be played by said channels, comprising: an input for receiving a notes-to-be-played signal; a central processing unit for detecting said signal, determining the number of notes to be played simultaneously, and performing iterative process to assign each note to a selected channel; a note register for storing the total number of notes to be played simultaneously; a note list register for storing the notes to be played simultaneously in a pitch order; a current note register for storing the identity of the current note processed by said central processing unit; a channel register for storing the total number of channels available for note assignment; a channel list register for storing the channels in a specified order; a channel pitch range register for storing lowest and highest playable pitches per each channel.
2. The note assignment processor of claim 1, further comprising: a transpose up register for each channel to indicate upward note transposition for that channel; a transpose down register for each channel to indicate downward note transposition for that channel.
3. The note assignment processor of claim 1, further comprising: a weighting preference register to store top or bottom weighted assignment of notes to channels.
4. The note assignment processor of claim 1 , further comprising a channel priority register to store a value corresponding to the order in which notes played will be assigned to channels in which they are playable.
5. The note assignment processor of claim i, iuiuici tumpusing upciaung me processor to designate actual notes to be played by one or more particular channels, which are determined to be capable of playing the notes, by filling out the array in accordance with the specified playable range, transposition enabling register and top- bottom weighting preference for each channel.
6. The note assignment processor of claim 1, wherein the total number of channels remains constant for the entire duration of a music piece played.
7. The note assignment processor of claim 1 , wherein the total number of notes at each playing instance does not exceed the total number of channels.
8. The note assignment processor of claim 1, wherein said processor performs an iterative process to determine to which available channels played notes may possibly be assigned according to the note pitch and each channel's allowable ranges, as designated by the channel's stored pitch range limits and as may be extended by virtue of any stored transposition up-down register values.
9. The note assignment processor of claim 1 , wherein when the total number of channels is fixed.
10. The note assignment processor of claim 1 , wherein the total number of channels may vary from zero up to the number of available channels as more notes are played after which number of notes the number of channels does not increase with additional notes played and instead an overflow iterative process assigns remaining unassigned notes to an already assigned channel, to thereby assign at least one channel to play at least two notes.
11. The note assignment processor of claim 1 , wherein the order in which notes are assigned to channels accords with the specified channel priority values.
12. A method for assigning notes to selected channels to be played by said channels, comprising: designating a plurality of channels, each channel emulating an audio instrument; defining a note range for each channel; receiving instructions to play a plurality of defined notes simultaneously; allocating each of the plurality of notes to at least one of the channels according to note range assigned for each channel.
13. The method of claim 12, wherein each channel emulates a plurality of musical instruments of the same kind.
14. The method of claim 13, further comprising performing one of top-weighting or bottom weighting note allocation, wherein top-weighting comprises injecting preference to higher sounding musical instrument and bottom- weighting comprises injecting preference to lower sounding musical instruments.
15. The method of claim 13, wherein when one channel has no note within its range, performing transposition of one of the note so as to bring the transposed note within the range on the channel.
16. The method of claim 13, further comprising assigning priority value to each of the channels, and assigning notes to channels according to the priority.
17. A method of assigning a sequence of sounds, each sound comprising a plurality of notes, the method comprising: assigning a plurality of channels; assigning a number of voices to each channel to play the sequence of sounds; forcing the number of voices in each channel to remain constant throughout the sequence, regardless of the number of notes assigned to each channel throughout the sequence; defining a notes range for each of the channels; assigning each note to one of the channels according to whether the note falls within note range assigned to the channel.
18. The method of claim 17, wherein voices within a given channel emulate a musical instrument of the same kind.
19. The method of claim 18, further comprising performing one of top- weighting or bottom weighting note allocation, wherein top-weighting comprises injecting preference to higher sounding musical instrument and bottom-weighting comprises injecting preference to lower sounding musical instruments.
20. The method of claim 18, wherein when one channel has no note within its range, performing transposition of one of the note so as to bring the transposed note within the range on the channel.
21. The method of claim 18, further comprising assigning priority value to each of the channels, and assigning notes to channels according to the priority.
EP08724644.3A 2007-01-18 2008-01-18 Real time divisi with path priority, defined note ranges and forced octave transposition Active EP2122606B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88541007P 2007-01-18 2007-01-18
PCT/US2008/000718 WO2008094415A2 (en) 2007-01-18 2008-01-18 Real time divisi with path priority, defined note ranges and forced octave transposition

Publications (3)

Publication Number Publication Date
EP2122606A2 true EP2122606A2 (en) 2009-11-25
EP2122606A4 EP2122606A4 (en) 2012-08-15
EP2122606B1 EP2122606B1 (en) 2013-10-02

Family

ID=39674679

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08724644.3A Active EP2122606B1 (en) 2007-01-18 2008-01-18 Real time divisi with path priority, defined note ranges and forced octave transposition

Country Status (2)

Country Link
EP (1) EP2122606B1 (en)
WO (1) WO2008094415A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104575472A (en) * 2013-10-12 2015-04-29 雅马哈株式会社 Display of the tones of an automated selection for parts of a music chord harmony out of multiple keyboard input tones
CN104575472B (en) * 2013-10-12 2018-06-01 雅马哈株式会社 Sound generates state display method and sound generation state display device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9418641B2 (en) 2013-07-26 2016-08-16 Audio Impressions Swap Divisi process
JP2015075754A (en) 2013-10-12 2015-04-20 ヤマハ株式会社 Sounding assignment program, device, and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1617406A1 (en) * 2004-07-15 2006-01-18 Yamaha Corporation Tone generation processing apparatus and tone generation assignment method therefor
US20060236848A1 (en) * 2003-10-10 2006-10-26 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2979848B2 (en) * 1992-07-01 1999-11-15 ヤマハ株式会社 Electronic musical instrument
EP0743631B1 (en) * 1995-05-19 2002-03-06 Yamaha Corporation Tone generating method and device
US5850051A (en) * 1996-08-15 1998-12-15 Yamaha Corporation Method and apparatus for creating an automatic accompaniment pattern on the basis of analytic parameters
JP3743231B2 (en) * 1999-11-26 2006-02-08 ヤマハ株式会社 Song data display control apparatus and method
US7109406B2 (en) * 2003-10-10 2006-09-19 Stone Christopher L System and method for dynamic note assignment for musical synthesizers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236848A1 (en) * 2003-10-10 2006-10-26 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers
EP1617406A1 (en) * 2004-07-15 2006-01-18 Yamaha Corporation Tone generation processing apparatus and tone generation assignment method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2008094415A2 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104575472A (en) * 2013-10-12 2015-04-29 雅马哈株式会社 Display of the tones of an automated selection for parts of a music chord harmony out of multiple keyboard input tones
CN104575472B (en) * 2013-10-12 2018-06-01 雅马哈株式会社 Sound generates state display method and sound generation state display device

Also Published As

Publication number Publication date
WO2008094415A9 (en) 2008-10-16
WO2008094415A2 (en) 2008-08-07
EP2122606A4 (en) 2012-08-15
WO2008094415A3 (en) 2009-12-30
EP2122606B1 (en) 2013-10-02

Similar Documents

Publication Publication Date Title
US7728213B2 (en) System and method for dynamic note assignment for musical synthesizers
JP3582359B2 (en) Music score allocating apparatus and computer readable recording medium recording music score allocating program
Meier The score, the orchestra, and the conductor
EP2122606B1 (en) Real time divisi with path priority, defined note ranges and forced octave transposition
JPH0437992B2 (en)
EP2015855B1 (en) System and method for dynamic note assignment for musical synthesizers
US7109406B2 (en) System and method for dynamic note assignment for musical synthesizers
Sluchin et al. Open form and two combinatorial musical models: The cases of Domaines and Duel
WO2007123549A1 (en) System and method for dynamic note assignment for musical synthesizers
Malt et al. 15. Game Theory and Formal Structure in Iannis Xenakis’s Duel (1959)
Geis et al. Creating melodies and baroque harmonies with ant colony optimization
US9418641B2 (en) Swap Divisi process
Begovic SEVEN TRADITIONAL FOLK PIECES FROM THE BALKAN REGION ARRANGED FOR GUITAR
Saunders Mutual effects: organization and interaction in the orchestral music of Christian Wolff
Klink Oases for Orchestra: The Application of Igor Stravinsky's Rotational Arrays to Musical Structure
Morris Structure and Infra-Structure in Milton Babbitt's Music: Listening to Babbitt's Concerti for Orchestra
Rivest John Cage's Concert for Piano and Orchestra 1
James Orchestration at A level
Groot A New Graded Repertoire: A Pedagogical Analysis of Works for Viola by Underrepresented Composers
Johnson An American Port of Call: Score Analysis and Transcription for Wind Ensemble
Vitkauskaitė Chrysalis
Feeney Festina Lente, for Flute, Clarinet, Violin, and Cello: Influences, Methods, and Analysis
WO2022222240A1 (en) Apparatus and method for scale arrangement of electronic plucked string instrument
Humfeld STOMP by John Corigliano: A Wind Band Transcription
Werry AQA A level AoS1: Baroque solo concerto

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090729

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

R17D Deferred search report published (corrected)

Effective date: 20091230

RIC1 Information provided on ipc code assigned before grant

Ipc: G10H 1/22 20060101AFI20100114BHEP

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602008027894

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G10H0007000000

Ipc: G10H0001220000

A4 Supplementary search report drawn up and despatched

Effective date: 20120713

RIC1 Information provided on ipc code assigned before grant

Ipc: G10H 1/22 20060101AFI20120709BHEP

17Q First examination report despatched

Effective date: 20121030

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20130507

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 634965

Country of ref document: AT

Kind code of ref document: T

Effective date: 20131015

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602008027894

Country of ref document: DE

Effective date: 20131128

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 634965

Country of ref document: AT

Kind code of ref document: T

Effective date: 20131002

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20131002

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140102

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140202

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140203

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008027894

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: LU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140118

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

26N No opposition filed

Effective date: 20140703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602008027894

Country of ref document: DE

Effective date: 20140703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140131

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140131

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20140930

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140131

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140118

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140101

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140103

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20131002

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20080118

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20240130

Year of fee payment: 17

Ref country code: GB

Payment date: 20240124

Year of fee payment: 17