EP2252994A2 - Procede de gestion de flux audionumeriques - Google Patents

Procede de gestion de flux audionumeriques

Info

Publication number
EP2252994A2
EP2252994A2 EP09728947A EP09728947A EP2252994A2 EP 2252994 A2 EP2252994 A2 EP 2252994A2 EP 09728947 A EP09728947 A EP 09728947A EP 09728947 A EP09728947 A EP 09728947A EP 2252994 A2 EP2252994 A2 EP 2252994A2
Authority
EP
European Patent Office
Prior art keywords
default
tracks
elements
digital audio
constraint
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.)
Withdrawn
Application number
EP09728947A
Other languages
German (de)
English (en)
Inventor
Owen Nicolas Marie Lagadec
Fabien Paul André GALLOT
Ivan Duchemin
Myriam Desainte-Catherine
Sylvain Marchand
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.)
L'Ecole Nationale De L'Electronique Informatique& Radiocommunications De Bordeaux
Centre National de la Recherche Scientifique CNRS
Universite des Sciences et Tech (Bordeaux 1)
IKLAX MEDIA
Original Assignee
L'Ecole Nationale De L'Electronique Informatique& Radiocommunications De Bordeaux
Centre National de la Recherche Scientifique CNRS
Universite des Sciences et Tech (Bordeaux 1)
IKLAX MEDIA
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
Priority claimed from FR0851618A external-priority patent/FR2928766B1/fr
Priority claimed from FR0859067A external-priority patent/FR2940483B1/fr
Application filed by L'Ecole Nationale De L'Electronique Informatique& Radiocommunications De Bordeaux, Centre National de la Recherche Scientifique CNRS, Universite des Sciences et Tech (Bordeaux 1), IKLAX MEDIA filed Critical L'Ecole Nationale De L'Electronique Informatique& Radiocommunications De Bordeaux
Publication of EP2252994A2 publication Critical patent/EP2252994A2/fr
Withdrawn legal-status Critical Current

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/46Volume control
    • 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/0008Associated control or indicating means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/106Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters using icons, e.g. selecting, moving or linking icons, on-screen symbols, screen regions or segments representing musical elements or parameters

Definitions

  • the present invention relates to a method for managing digital audio streams as well as to a digital audio file format.
  • a musical work and more generally an audio stream may be in the form of a digital file, for example a WAV, MP3 or other type of file.
  • an audio stream in the form of a digital file is called a digital audio stream.
  • the creator At the time of creation, the creator has several tracks, each corresponding to one or more instruments and / or voices.
  • the creator acts on the acoustic characteristics of each track and groups all the tracks to generate a single digital audio stream.
  • This digital audio stream is then made available to the public recorded on various media, for example on a CD.
  • the digital audio stream may be in the form of a computer file that can be downloaded to a computer network.
  • the computer file can have different formats depending on the compression software used.
  • the computer file When listening to the digital audio stream, the computer file is transformed into a sound signal by a reader. According to a known listening mode, the listener can adjust the volume, the balance and with the aid of an equalizer, adjust the volume of certain frequency ranges. As a result, the auditor's room for maneuver is very small. For example, he can not remove one or more instruments.
  • the digital audio stream is divided into successive time sections called blocks. Each of these blocks can be processed to modify the corresponding sound signal, for example using computer software.
  • the digital audio stream is reconstituted by arranging the blocks one after the other.
  • This technique offers the listener a wide range of interventions. However, this great latitude leads most of the time to an inaudible piece of music, no longer respecting the work of the creator. If one seeks to obtain an audible reconstituted digital audio stream, it is necessary to treat the upstream and downstream edges of each block so that the end of each block can coincide with the beginning of the next block. This signal processing is complex and the results obtained are generally not consistent with the work of the creator. In addition, this signal processing is long in computing time and requires significant computing power, which is not compatible with the majority of listeners listening devices.
  • the present invention aims to overcome the disadvantages of the prior art by providing a digital audio flow management method to obtain interactive and audible listening, not requiring a significant calculation time.
  • the subject of the invention is a method for managing digital audio flows of a musical work, consisting in creating digital audio streams called tracks of the same musical work, said tracks having a duration substantially equal to the musical work , each of said streams ⁇ udionumériques corresponding to a sound signal, characterized in that it consists, at the time of creation, in grouping said tracks in at least two sets, the tracks and the sets being called elements, to establish constraints relating to the elements, to check that each new constraint is compatible with the previous constraints thanks to a constraint resolution engine, to encapsulate the tracks and the constraints in a single computer file, and at the moment of listening, to choose the tracks that the listener wants to hear respecting the constraints and obtain a sound signal from the chosen tracks.
  • FIG. 1 is a diagram illustrating the different tracks likely to be contained in a musical work
  • FIG. 2 is a simplified diagram of the different groups and tracks of a musical work according to the invention
  • FIG. 3 is a table illustrating an example of constraints applied to the tracks of FIG. 2, and
  • FIG. 4 is a diagram illustrating the display of the tracks when the listener chooses before listening to the tracks illustrated in FIG. 2.
  • a musical work can include n tracks, where n is an integer. In known manner, each track can be arranged according to the wish of the creator.
  • the tracks are grouped by the creator into at least two sets G.
  • the sets can correspond to groups G which can be divided into SG subgroups which can themselves be subdivided into subgroups SSG.
  • the musical work comprises five groups, called “stringed instruments” Gl 1 "wind instruments” GZ 1 "percussion instruments” (53, “electromagnetic instruments” (54 , “Voice” (55.
  • the names of groups and their numbers are determined by the creator.
  • the group (51 comprises four sub-groups, referred to as "low” SGl.1, "guitars” SGlZ 1 "piano” SG1.3 and "string instruments” SGLA. This splits into a first sub-group “violins” SSGl AX and into a second sub-group “double bass” SSGl A.2.
  • the group (52 is divided into two subgroups "flutes” SGZX and "saxophones” SG2.2
  • the group (55 is divided into two subgroups "soloists” SG5.1 and “choirs” S ⁇ 55.2.
  • subgroup SGlX comprises tracks 1 to 3, subgroup SG1Z tracks 4 and 5, subgroup SG1.3 track 6, sub-group SSG1AX lanes 7 and 8, sub-subgroup SSGlAZ lane 9, subgroup SGZX lane 10, subgroup SGZZ lanes 11 and 12, group (53 lanes 13 to 15, group 54 lanes 16 and 17, subgroup SG5.1 lane 18 and subgroup S ⁇ 55.2 lanes 19 to 21.
  • the tracks are divided into sets according to three levels, namely groups, subgroups and subgroups. However, the invention is not limited in number of levels. For the rest of the description, the tracks and sets are defined as elements.
  • element is understood to mean a track, a group of tracks, a group of track (s) and group (s) or a group of groups.
  • a parent element p of a child element e corresponds to the group that is hierarchically above the element e.
  • the creator defines constraints relating to at least one element that are listed in a table or register. This phase of the creation is implemented in particular on a computer coupled to a sound reproduction system such as speakers. For the rest of the description of the invention, this is done with regard to a simplified case, illustrated in FIG. 2, comprising two groups (51 and (52 respectively comprising the tracks pi to p3 for (51 and p4 , p5 for (52.
  • the constraints can be of different types.
  • the creator can set for at least one set, preferably each set, the minimum and / or maximum numbers of elements of the set played simultaneously.
  • the elements of a given group include the group's tracks as well as the groups of the lower level. In the case of a grouping of tracks with a number of levels greater than one, the constraints related to the groups of the different levels must be coherent.
  • the minimum number of elements played simultaneously is 0 and the maximum number is 2.
  • the minimum number is 1 and the maximum number is 2.
  • the creator can set implications, namely elements that must be played simultaneously.
  • the track pi must be played simultaneously with the tracks p4 and p5, the track p2 must be played with the track p4.
  • Implications can be elements of the same set or different sets.
  • the implications can be related to tracks or sets of tracks.
  • the tracks of a first set (group, subgroup, subgroup) must be played simultaneously with the tracks of a second set.
  • the creator can provide for exclusions, namely elements that can not be played simultaneously.
  • the track p2 is incompatible and must not be played with the track p5. Exclusions may affect elements of the same set or different sets.
  • Exclusions can be relative to tracks or sets of tracks.
  • the tracks of a first set (group, subgroup, subgroup) can not be played simultaneously with the tracks of a second set.
  • the creator can provide that at least one element must always be in the active state.
  • Implication constraints, exclusion constraints, forcing constraints and min / max constraints are called selection constraints.
  • Other constraints may be envisaged, for example constraints may be imposed on the elements, in particular the minimum and maximum volume.
  • mixing constraints it is possible to provide another set of constraints called mixing constraints to control any changes made by the listener on the volumes of elements (tracks / groups) broadcast.
  • the creator can set a relative default volume
  • Default for a given element ie a sound volume defined by the creator for the given element.
  • the relative volume Vr of a given element is the sound volume of said given element that can be adjusted during listening by the listener.
  • Va (e) Vr (e).
  • Vc By current volume Vc is meant the relative volume or the relative volume by default.
  • the tidal volume is equal to the relative volume of the given element. Otherwise, the tidal volume is equal to the default relative volume.
  • the creator may impose a minimum relative volume and / or a maximum relative volume.
  • the creator may impose an equivalence constraint between at least two elements and define whether this equivalence constraint is applicable to all the elements or only to those selected by the listener during the listening. Depending on the case, an equivalence constraint may apply even if the constrained elements are not selected when listening to the work.
  • Vc (a) / Vc (b) Default (a) / Default (b).
  • Vc (a) / Vc (b) Vc (a).
  • constraints of equivalence can concern the volumes of elements of the same group or different groups.
  • the creator can impose a superiority constraint between two elements and define whether this superiority constraint is applicable to all the elements or only to those selected by the listener during the listening. Depending on the case, a superiority constraint may apply even if the constrained elements are not selected when listening to the work.
  • Vc (b) Vc (a) + Default (b) - Vrdéfaut (a).
  • the constraints of superiority can concern the volumes of elements of the same group or different groups.
  • the creator can impose an inferiority constraint between two elements and define whether this inferiority constraint is applicable to all the elements or only to those selected by the listener during the listening.
  • an inferiority constraint may apply even if the constrained elements are not selected when listening to the work.
  • a first type of inferiority constraint known as inferiority by maintaining the ratios, for the sound volumes of at least two elements a and b, one aims at preserving the inequality Vc (a) / Vc (b) ⁇ Default (a) / Vrdéfaut (b).
  • Vc (a) Vc (a) + Default (b) - Vrdéfaut (a).
  • Inferiority constraints can concern the volumes of elements of the same group or different groups.
  • the method of the invention comprises means for testing whether the constraints are compatible. These means are subsequently called the constraint resolution engine and will be detailed later.
  • the method tests with the constraint resolution engine if this new constraint is compatible with the previous ones. If yes, the new constraint is validated and integrated in the constraints table. In case of inconsistency, a message informs the creator that this new constraint is not compatible with the previous ones and it is not integrated in the constraints table.
  • the tracks and the constraint table are encapsulated in a single computer file of a new type of format.
  • This computer file can be saved on any media.
  • this computer file can be stored in a database and downloaded via a computer network.
  • the listener has a reader including the constraint resolution engine and for extracting from the computer file according to the invention the tracks of the musical work and the table of constraints.
  • This player allows him to visualize the different tracks, to choose them while respecting the constraints imposed by the creator and finally to play the selected tracks.
  • this reader is of a virtual type and consists of a software allowing to visualize the different tracks, to choose them while respecting the constraints imposed by the creator and finally to play the selected tracks.
  • This listening phase is implemented in particular on a computer coupled to a sound reproduction system such as speakers.
  • the listener can dispose in addition to known means of the prior art such as an equalizer, a scale, a volume control or the like to modify the overall sound signal, the digital audio streams of at least one track and / or d at least one set of tracks. These means are not more detailed.
  • the tracks are displayed respecting the tree defined by the creator.
  • the listener can select the tracks he desires, for example by checking a box associated with each track. The selection is made respecting the constraints of the creator.
  • the constraint resolution engine makes it possible to check if the choice is possible and to complete the action of the listener.
  • the stress resolution engine will tick track 4 which is necessarily played as track 2 and make the choice impossible for the track # 5 which can not be played with Track # 2.
  • the listener can stop at this selection and start playback. Tracks # 2 and # 4 are played simultaneously. In another case, the listener may choose another track between track # 1 or # 3. If it selects track # 3, the constraint resolution engine checks whether this choice is possible. If so, it completes the listener's action by making the selection impossible for track # 1, with two or more tracks in group 61 being played simultaneously.
  • the constraint resolution engine checks whether this choice is possible. In this case, the choice of the track n ° 1 imposes the selection of the tracks n ° 4 and n ° 5. Track 5 can not be selected with Track 2 already selected. Therefore, the choice of runway # 1 is impossible. A message is given to the listener indicating that his choice is not possible.
  • the stress resolution engine validates the selection of the track No. 1 and checks the boxes of the tracks No. 1, No. 4 and No. 5 and makes it impossible to select the track No. 2. At the end of its selection, the listener can adjust the sound signal for each track by adjusting the volume, the balance or treating it with an equalizer.
  • the listener starts playing the digital audio stream, the selected tracks being played simultaneously to obtain an audible signal.
  • the constraint resolution engine allows in real time to supplement the listener's choice by adding or removing tracks according to constraints.
  • the digital audio flow management method according to the invention makes it possible to listen to a musical work interactive because the listener can choose tracks and thus act on the sound signal.
  • the method according to the invention does not require significant computing power because it processes tracks and not blocks that must be played successively, which makes it compatible with the majority of listening devices.
  • the sound signal from reading the digital audio streams is perfectly audible because the choice of tracks is framed by the constraints imposed by the creator.
  • the constraint resolution engine is now detailed. During the creation phase, the constraint resolution engine must make it possible to validate the choice of constraints that the creator wishes to impose.
  • the constraint resolution engine checks whether this new constraint is compatible with the constraints already imposed. To operate this control, all the tracks are put in the same state, preferably in the inactive state. By following, the constraint resolution engine verifies that all the tracks can change state and that all the constraints are respected. If this test is conclusive the new constraint is compatible with the constraints already imposed and validated in the table of constraints. If no solution has been found for all tracks to change state then the new constraint is not compatible with the constraints already imposed. A message informs the creator that this constraint is not compatible.
  • the constraint resolution engine makes it possible to check whether the choice of the listener is possible and respects all the constraints.
  • this change of state is automatically validated, but the constraint resolution engine determines in a given period of time the possible combination integrating this change of state closest to the preceding combination.
  • a first combination is said to be closest to a second combination if the number of active tracks of the first combination is the closest to the number of active tracks of the second combination.
  • the constraint resolution engine makes it possible to update the possible choices after a selection of the listener.
  • the constraint resolution engine checks the tracks that are imposed by this new choice because of the implications and makes it impossible to choose some possible tracks from this new choice because of the exclusions.
  • the structure of the interactive music format according to the invention is as follows: Box Table
  • the IM AF file format contains several Boxes that are based on the standard ISO file format for media. Two Box containers are described which encapsulate the Box Groups and the Boxes Constraints:
  • Boxes described by the IM AF format are a subset of boxes defined by the standard ISO file format for media. In this document, we detail two box containers.
  • the Box Container Groups gathers information about the composition of groups. Groups are used to provide a hierarchical structure to the tracks of an IM AF file.
  • the Box Container of Constraints allows to gather the constraints of selection and mixing applied on the elements (tracks and groups) of an audio file in IM AF format.
  • the Group Container Box defines the number of groups contained in a file. Each group is represented by a Group Box. Thus, a file can contain zero or more Box Groups (quantity defined by num groups).
  • Semantics num_groups - is an integer that specifies the number of groups contained in a file.
  • the Group Box gathers information specific to a particular group. It describes the structure of the group by listing its sub-elements. In this sense, a group can be composed of tracks and / or groups.
  • S semantic version - is an integer that describes the version of the box.
  • flags - is a binary integer (on 8 bits); the following values are defined: - display_disable & edit_disable indicate that the information contained in the box will not be displayed by the reader except group_name. The user will not be able to modify them.
  • the value of the lag is 0x01.
  • display_enable & edit_disable indicate that the information contained in the box will be displayed by the reader. The user will not be able to modify them.
  • the value of the lag is 0x02.
  • display_enable & edit_enable indicate that the information contained in the box can be displayed by the reader and modified by the user.
  • the value of the lag is 0x03.
  • group_iD - is an integer that uniquely identifies the group.
  • num_elements - is an integer that gives the number of elements contained in the group.
  • elements_iD [num_elements] - is an array.
  • Each box in the table contains an integer that represents an identifier describing a particular element of the group. These elements can be tracks and / or groups.
  • group_activation_mode - is an integer that defines how elements of a group are enabled when the group is activated.
  • the Constraints Container Box contains information about the constraints applied to the elements that make up an IM AF audio file. There are two main classes of constraints: selection constraints and mixing constraints. Thus, this box gives the number of constraints belonging to each class. In this sense, it may contain zero or more Selection Constraint Box and zero or more Mixture Constraint Box.
  • ConstraintsContainerBox extends Box ( ⁇ CNCO ') ⁇ unsigned int (16) num_Selection_Constraints; unsigned int (16) num_Mixing_Constraints;
  • num_Selection_Constraints - is an integer that specifies the number of selection constraints contained in a file.
  • num_Mixing_Constraints - is an integer that specifies the number of mixing constraints contained in a file.
  • the Selection Constraint Box contains information specific to a particular selection constraint. These constraints apply to the elements that make up an IM AF audio file. There are four types that are: the min / max constraint, the exclusion constraint, the forced force constraint and the implication constraint. Thus, the seiection_constraint_type parameter makes it possible to distinguish these different types. Each constraint is identified using a unique identifier (seiection_constraint_iD) and a summary description (seiection_constraint_description). The Selection Constraint Box therefore describes the parameters of a particular selection constraint according to its type.
  • num_key_elements ⁇ // IMPLY unsigned int (16) num_key_elements; unsigned int (32) key elements ID [num key elements];
  • S semantic version - is an integer that describes the version of the box.
  • selection_constraint_iD - is an integer that uniquely identifies a selection constraint.
  • selection_constraint_type - is an integer that identifies the type of the selection constraint.
  • num_elements - is an integer used to def iner the number of elements involved in this constraint.
  • element_iD [num_elements] - is an array. Each box of this array is an integer that describes an identifier to designate the elements involved in this selection constraint. These elements can be tracks and / or groups.
  • Selection_constraint_description - is a string of characters (UTF-8) that gives a description of the selection constraint.
  • Container Box Container of Constraints ('cnco') Compulsory: No Quantity: Zero or more
  • the Mixed Constraint Box contains information specific to a particular mix constraint applied to the elements that make up an IM AF audio file. There are four types of constraint: the equivalence constraint, the superiority constraint, the inferiority constraint and the min / max constraint.
  • the mixing_constraint_type parameter is used to distinguish the different types of constraint. Each constraint is identified by a name (mixing constraint iD), a summary description (mix_constDescription) and a unique identifier (mix_constiD).
  • a Mixed Constraint Box describes the parameters of a particular mixing constraint according to its type.
  • S semantic version - is an integer that describes the version of the box.
  • mixing_constraint_iD - is an integer that uniquely identifies a mix constraint.
  • mixing_constraint_type - is an integer that identifies the type of the mix constraint.
  • num_elements - is an integer used to define the number of elements involved in this constraint.
  • Element_iD [num_elements] - is an array. Each box of this array is an integer that describes an identifier to designate the elements involved in this selection constraint. These elements can be tracks and / or groups.
  • min volume - is an integer that indicates the index corresponding to the minimum volume gain of
  • volume_reference_volume - is an integer that indicates the index corresponding to the reference volume gain of the element.
  • volume_relation_mode - is an integer that identifies the relationship mode of equivalence or superiority (inferiority): ratio or difference.
  • num_key_elements - num_key_elements - is an integer used to represent the number of elements on which the constraint is applied.
  • key_elements_lD [num_key_elements] - is an array.
  • Each box in this array is an integer that represents an identifier to designate the elements on which the constraint is applied. These elements can be tracks and / or groups.
  • key_elements_reference_volume [num_key_elements] - is an integer that indicates the index corresponding to the reference volume gain of the element.
  • mixing_constraint_Description - is a string that gives a description of the mixing constraint.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

L'objet de l' invention est un procédé de gestion de flux αudionumériques d'une oeuvre musicale, consistant à créer des flux audionumériques appelés pistes (p1 à p21) d'une même oeuvre musicale, lesdites pistes ayant une durée sensiblement égale à l'œuvre musicale, chacun desdits flux audionumériques correspondant à un signal sonore, caractérisé en ce qu'il consiste, au moment de la création, à regrouper lesdites pistes en au moins deux ensembles (61 à G5), les pistes et les ensembles étant appelés éléments, à établir des contraintes relatives aux éléments, à vérif ier que chaque nouvelle contrainte est compatible avec les contraintes précédentes grâce à un moteur de résolution de contraintes, à encapsuler les pistes (p1 à p21) et les contraintes dans un fichier informatique unique, et au moment de l'écoute, à choisir les pistes que souhaite entendre l'auditeur en respectant les contraintes et obtenir un signal sonore à partir des pistes choisies.

Description

PROCEDE DE GESTION DE FLUX AUDIONUMERIQUES
La présente invention se rapporte à un procédé de gestion de flux audionumériques ainsi qu'à un format de fichier audionumérique. Une oeuvre musicale et plus généralement un flux audio peut se présenter sous la forme d'un fichier numérique, par exemple un fichier de type WAV, MP3 ou autre. Pour la suite de la description, un flux audio sous forme d'un fichier numérique est appelé un flux audionumérique.
Au moment de la création, le créateur dispose de plusieurs pistes, chacune correspondant à un ou plusieurs instruments et/ou voix. Lors du mixage, le créateur agit sur des caractéristiques acoustiques de chaque piste et regroupe l'ensemble des pistes afin de générer un flux audionumérique unique.
Il existe de nombreux documents traitant du mixage si bien que cette partie n'est pas plus détaillée.
Même s'il existe des aides pour effectuer ce travail, le mixage nécessite des compétences technique, artistique et musicale pour rendre le flux audionumérique audible.
Ce flux audionumérique est ensuite mis à la disposition du public enregistré sur différents supports, par exemple sur un CD. En variante, le flux audionumérique peut se présenter sous la forme d'un fichier informatique qui peut être téléchargé sur un réseau informatique. Le fichier informatique peut avoir différents formats en fonction du logiciel de compression utilisé.
Lors de l'écoute du flux audionumérique, le fichier informatique est transformé en signal sonore grâce à un lecteur. Selon un mode d'écoute connu, l'auditeur peut ajuster le volume, la balance et à l'aide d'un équaliseur, ajuster le volume de certaines plages de fréquences. Par conséquent, la marge de manoeuvre de l'auditeur est très réduite. Ainsi, à titre d'exemple, il ne peut pas retirer un ou plusieurs instruments.
Pour permettre à l'auditeur de modifier le flux audionumérique et rendre l'écoute interactive, il existe des traitements du signal tel que par exemple décrits dans le document US-5.877.445. Dans ce cas, le flux audionumérique est découpé en tronçons de temps successifs appelés blocs. Chacun de ces blocs peut être traité afin de modifier le signal sonore correspondant, par exemple à l'aide d'un logiciel informatique. Le flux audionumérique est reconstitué en disposant les blocs les uns à la suite des autres.
Cette technique offre à l'auditeur un large choix d'intervention. Cependant, cette grande latitude conduit la majorité du temps à un morceau de musique inaudible, ne respectant plus l'œuvre du créateur. Si l'on cherche à obtenir un flux audionumérique reconstitué audible, il est nécessaire de traiter les bords amont et aval de chaque bloc afin que la fin de chaque bloc puisse coïncider asec le début du bloc suivant. Ce traitement du signal est complexe et les résultats obtenus ne sont généralement pas conformes à l'œuvre du créateur. De plus, ce traitement du signal est long en temps de calcul et requiert une puissance de calcul importante, qui n'est pas compatible asec la majorité des appareils d'écoute des auditeurs.
Aussi, la présente invention vise à pallier les inconvénients de l'art antérieur en proposant un procédé de gestion de flux audionumériques permettant d'obtenir une écoute interactive et audible, ne nécessitant pas un temps de calcul important. A cet effet, l'invention a pour objet un procédé de gestion de flux audionumériques d'une œuvre musicale, consistant à créer des flux audionumériques appelés pistes d'une même œuvre musicale, lesdites pistes ayant une durée sensiblement égale à l'œuvre musicale, chacun desdits flux αudionumériques correspondant à un signal sonore, caractérisé en ce qu'il consiste, au moment de la création, à regrouper lesdites pistes en au moins deux ensembles, les pistes et les ensembles étant appelés éléments, à établir des contraintes relatives aux éléments, à vérifier que chaque nouvelle contrainte est compatible avec les contraintes précédentes grâce à un moteur de résolution de contraintes, à encapsuler les pistes et les contraintes dans un fichier informatique unique, et au moment de l'écoute, à choisir les pistes que souhaite entendre l'auditeur en respectant les contraintes et obtenir un signal sonore à partir des pistes choisies. D'autres caractéristiques et avantages ressortiront de la description qui va suivre de l'invention, description donnée à titre d'exemple uniquement, en regard des dessins annexés sur lesquels :
- la figure 1 est un schéma illustrant les différentes pistes susceptibles d'être contenues dans une oeuvre musicale, - la figure 2 est un schéma simplifié des différents groupes et pistes d'une oeuvre musicale selon l'invention,
- la figure 3 est un tableau illustrant un exemple de contraintes appliquées aux pistes de la figure 2, et
- la figure 4 est schéma illustrant l'affichage des pistes lors des choix de l'auditeur préalablement à l'écoute des pistes illustrées sur la figure 2.
Sur la figure 1, on a représenté de pi à p21 des pistes d'une oeuvre musicale. Par oeuvre musicale, on entend toute création musicale quels qu'en soient le genre, la forme, la durée,...
Par piste, on entend un signal sonore correspondant à un ou plusieurs instruments, à une ou plusieurs voix ou un mélange d'instruments et/ou de voix. Ces pistes ont une durée sensiblement égale à l'œuvre musicale. Une oeuvre musicale peut comprendre n pistes, n étant un entier. De manière connue, chaque piste peut être arrangée conformément au souhait du créateur.
Lors de la création, les pistes sont regroupées par le créateur en au moins deux ensembles G. les ensembles peuvent correspondre à des groupes G qui peuvent être divisés en sous-groupes SG qui peuvent être eux-mêmes divisés en sous sous-groupes SSG.
A titre d'exemple, comme illustré sur la figure 1, l'œuvre musicale comprend cinq groupes, dénommés « instruments à cordes » Gl1 « instruments à vent » GZ1 « instruments de percussion » (53, « instruments élecroanalogiques » (54, « voix » (55.
Les noms des groupes et leurs nombres sont déterminés par le créateur. Selon l'exemple illustré sur la figure 1, le groupe (51 comprend quatre sous- groupes, dénommés «basses» SGl.1, «guitares» SGlZ1 «piano» SG1.3 et «instruments à cordes frottées » SGlA. Ce dernier se divise en un premier sous sous-groupe « violons » SSGl AX et en un second sous sous-groupe « contrebasse » SSGl A.2.
Le groupe (52 se divise en deux sous-groupes « flûtes » SGZX et « saxophones » SG2.2. Le groupe (55 se divise en deux sous-groupes « solistes » SG5.1 et « choeurs » S<55.2.
Selon l'exemple illustré sur la figure 1, le sous-groupe SGlX comprend les pistes 1 à 3, le sous-groupe SGlZ les pistes 4 et 5, le sous-groupe SG1.3 la piste 6, le sous sous-groupe SSGlAX les pistes 7 et 8, le sous sous-groupe SSGlAZ la piste 9, le sous-groupe SGZX la piste 10, le sous-groupe SGZZ les pistes 11 et 12, le groupe (53 les pistes 13 à 15, le groupe (54 les pistes 16 et 17, le sous-groupe SG5.1 la piste 18 et le sous-groupe S<55.2 les pistes 19 à 21. Selon l'exemple illustré sur la figure 1, les pistes sont réparties dans des ensembles selon trois niveaux à savoir des groupes, des sous-groupes et des sous sous-groupes. Toutefois, l'invention n'est pas limitée en nombre de niveaux. Pour la suite de la description, les pistes et les ensembles sont définis comme des éléments.
Pour la suite de la description, on entend par élément une piste, un groupe de pistes, un groupe de piste(s) et de groupe(s) ou un groupe de groupes. Un élément père p d'un élément fils e correspond au groupe qui se situe hiérarchiquement au-dessus de l'élément e. Après avoir réparti les pistes en au moins deux ensembles, le créateur définit des contraintes relatives à au moins un élément qui sont répertoriées dans un tableau ou registre. Cette phase de la création est mise en oeuvre notamment sur un ordinateur couplé à un système de reproduction du son tel que des enceintes. Pour la suite de la description de l'invention, celle-ci est faite au regard d'un cas simplifié, illustré sur la figure 2, comprenant deux groupes (51 et (52 comprenant respectivement les pistes pi à p3 pour (51 et p4, p5 pour (52. Les contraintes peuvent être de différents types.
Selon un premier type de contraintes cl, appelée contrainte min/max, le créateur peut fixer pour au moins un ensemble, de préférence chaque ensemble, les nombres minimal et/ou maximal d'éléments de l'ensemble joués de manière simultanée. Les éléments d'un groupe donné comprennent les pistes du groupe ainsi que les groupes du niveau inférieur. Dans le cas d'un regroupement de pistes asec un nombre de niveaux supérieur à un, les contraintes liées aux groupes des différents niveaux doivent être cohérentes.
A titre d'exemple, pour le groupe 1, le nombre minimal d'éléments joués simultanément est 0 et le nombre maximal est 2. Pour le groupe 2, le nombre minimal est 1 et le nombre maximal est 2. Selon un deuxième type de contraintes c2, le créateur peut fixer des implications à savoir des éléments qui doivent être joués simultanément. Selon l'exemple illustré, la piste pi doit être jouée simultanément avec les pistes p4 et p5, la piste p2 doit être jouée avec la piste p4. Les implications peuvent concernées des éléments d'un même ensemble ou de différents ensembles.
Les implications peuvent être relatives à des pistes ou à des ensembles de pistes. Ainsi, les pistes d'un premier ensemble (groupe, sous-groupe, sous sous-groupe) doivent être jouées simultanément avec les pistes d'un second ensemble. Selon un troisième type de contraintes c3, le créateur peut prévoir des exclusions à savoir des éléments qui ne peuvent pas être joués de manière simultanée. Ainsi, selon l'exemple illustré la piste p2 est incompatible et ne doit pas être jouée avec la piste p5. Les exclusions peuvent concernées des éléments d'un même ensemble ou de différents ensembles.
Les exclusions peuvent être relatives à des pistes ou à des ensembles de pistes. Ainsi, les pistes d'un premier ensemble (groupe, sous-groupe, sous sous-groupe) ne peuvent pas être jouées simultanément avec les pistes d'un second ensemble. Selon un autre type de contrainte dite de forçage, le créateur peut prévoir qu'au moins un élément doit être toujours à l'état actif.
Les contraintes d'implication, les contraintes d'exclusion, les contraintes de forçage et les contraintes min/max sont appelées des contraintes de sélection. D'autres contraintes peuvent être envisagées comme par exemple des contraintes peuvent être imposées aux éléments, notamment le volume mini et maxi.
Ainsi, il est possible de prévoir une autre série de contraintes dites contraintes de mixage permettant de contrôler les modifications éventuelles opérés par l'auditeur sur les volumes des éléments (pistes/groupes) diffusés. Pour chaque élément, le créateur pourra définir un volume relatif par défaut
Vrdéfaut pour un élément donné, à savoir un volume sonore défini par le créateur pour l'élément donné.
Le volume relatif Vr d'un élément donné est le volume sonore dudit élément donné susceptible d'être ajusté lors de l'écoute par l'auditeur.
Pour la suite de la description, on entend par volume absolu d'un élément la valeur Va(e)=Vr(e).Va(p), Va(e) étant le volume absolu de l'élément e, Vr(e) étant le volume relatif de l'élément e, Va(p) étant le volume absolu de l'élément p qui est le père de l'élément e. Lorsque l'élément n'a pas de père Va(e)=Vr(e). Ainsi, lorsqu'un auditeur modifie le volume d'un élément à savoir le volume relatif d'un élément, le volume absolu dudit élément est calculé ainsi que les volumes absolus des fils dudit élément s'il en a.
On entend par volume courant Vc, le volume relatif ou le volume relatif par défaut. Ainsi, si l'auditeur a modifié le volume sonore d'un élément donné, le volume courant est égal au volume relatif de l'élément donné. Dans le cas contraire, le volume courant est égal au volume relatif par défaut. Pour chaque piste ou pour certaines, le créateur pourra imposer un volume relatif minimal et/ou un volume relatif maximal. Selon une autre contrainte de mixage, le créateur pourra imposer une contrainte d'équivalence entre au moins deux éléments et définir si cette contrainte d'équivalence est applicable à tous les éléments ou uniquement à ceux sélectionnés par l'auditeur lors de l'écoute. Selon les cas, une contrainte d'équivalence peut s'appliquer même si les éléments contraints ne sont pas sélectionnés lors de l'écoute de l'œuvre. Selon un premier type de contrainte d'équivalence dite d'équivalence par maintien des rapports, on conserve le rapport entre les volumes sonores d'au moins deux éléments a et b. Ainsi Vc(a)/Vc(b)=Vrdéfaut(a)/Vrdéfaut(b). Ainsi, si l'auditeur modifie le volume sonore de a Vc(a), alors Vc(b)=Vc(a).Vrdéfaut(b)/Vrdéfaut(a). Selon un second type de contrainte d'équivalence dite d'équivalence par maintien des différences, on conserve les différences entre les volumes sonores d'au moins deux éléments a et b. Ainsi Vc(a)-Vc(b)=Vrdéfaut(a)-Vrdéfaut(b). Si l'auditeur modifie le volume sonore de a Vc(a), alors Vc(b)=Vc(a)+Vrdéfaut(b)- Vrdéfaut(a).
Ainsi, si un élément est lié à plusieurs autres éléments ou s'il existe plusieurs contraintes d'équivalence liant des éléments communs, il faut propager les calculs.
Les contraintes d'équivalence peuvent concerner les volumes d'éléments d'un même groupe ou de groupes différents.
Selon une autre contrainte de mixage, le créateur pourra imposer une contrainte de supériorité entre deux éléments et définir si cette contrainte de supériorité est applicable à tous les éléments ou uniquement à ceux sélectionnés par l'auditeur lors de l'écoute. Selon les cas, une contrainte de supériorité peut s'appliquer même si les éléments contraints ne sont pas sélectionnés lors de l'écoute de l'œuvre.
Selon un premier type de contrainte de supériorité dite de supériorité par maintien des rapports, pour les volumes sonores d'au moins deux éléments a et b, on vise à conserver l'inégalité Vc(a)/Vc(b)>Vrdéfaut(a)/Vrdéfaut(b). Ainsi, si l'auditeur modifie le volume sonore de a Vc(a) deux solutions sont envisageables. S'il augmente le volume sonore de a Vc(a), alors le volume sonore de b Vc(b) reste inchangé car l'inégalité est respectée. S'il diminue le volume sonore de a Vc(a) alors il convient de calculer le volume sonore de b Vc(b) afin de respecter l'inégalité et choisir Vc(b)=Vc(a).Vrdéfaut(b)/Vrdéfaut(a). Selon un second type de contrainte de supériorité dite de supériorité par maintien des différences, pour les volumes sonores d'au moins deux éléments a et b, on vise à conserver l'inégalité Vc(a)-Vc(b)>Vrdéfaut(a)-Vrdéfaut(b). Ainsi, si l'auditeur modifie le volume sonore de a Vc(a) deux solutions sont envisageables. S'il augmente le volume sonore de a Vc(a), alors le volume sonore de b Vc(b) reste inchangé car l'inégalité est respectée. S'il diminue le volume sonore de a Vc(a) alors il convient de calculer le volume sonore de b Vc(b) afin de respecter l'inégalité et choisir Vc(b)=Vc(a)+Vrdéfaut(b)-Vrdéfaut(a). si l'auditeur modifie le volume sonore de b Vc(b) deux solutions sont envisageables. S'il augmente le volume sonore de b Vc(b), alors il convient de calculer le volume sonore de a Vc(a) afin de respecter l'inégalité et choisir Vc(a)=Vc(b)+Vrdéfaut(a)-Vrdéfaut(b). S'il diminue le volume sonore de ba Vc(b) alors le volume de a Vc(a) reste inchangé. Ainsi, si un élément est lié à plusieurs autres éléments ou s'il existe plusieurs contraintes de supériorité liant des éléments communs, il faut propager les calculs.
Les contraintes de supériorité peuvent concerner les volumes d'éléments d'un même groupe ou de groupes différents. Selon une autre contrainte de mixage, le créateur pourra imposer une contrainte d'infériorité entre deux éléments et définir si cette contrainte d'infériorité est applicable à tous les éléments ou uniquement à ceux sélectionnés par l'auditeur lors de l'écoute. Selon les cas, une contrainte d'infériorité peut s'appliquer même si les éléments contraints ne sont pas sélectionnés lors de l'écoute de l'œuvre. Selon un premier type de contrainte d'infériorité dite d'infériorité par maintien des rapports, pour les volumes sonores d'au moins deux éléments a et b, on vise à conserver l'inégalité Vc(a)/Vc(b)<Vrdéfaut(a)/Vrdéfaut(b). Ainsi, si l'auditeur modifie le volume sonore de a Vc(a) deux solutions sont envisageables. S'il diminue le volume sonore de a Vc(a), alors le volume sonore de b Vc(b) reste inchangé car l'inégalité est respectée. S'il augmente le volume sonore de a Vc(a) alors il convient de calculer le volume sonore de b Vc(b) afin de respecter l'inégalité et choisir Vc(b)=Vc(a).Vrdéfaut(b)/Vrdéfaut(a). Selon un second type de contrainte d'infériorité dite d'infériorité par maintien des différences, pour les volumes sonores d'au moins deux éléments a et b, on vise à conserver l'inégalité Vc(a)-Vc(b)<Vrdéfaut(a)-Vrdéfaut(b). Ainsi, si l'auditeur modifie le volume sonore de a Vc(a) deux solutions sont envisageables. S'il diminue le volume sonore de a Vc(a), alors le volume sonore de b Vc(b) reste inchangé car l'inégalité est respectée. S'il augmente le volume sonore de a Vc(a) alors il convient de calculer le volume sonore de b Vc(b) afin de respecter l'inégalité et choisir Vc(b)=Vc(a)+Vrdéfaut(b)-Vrdéfaut(a).
Ainsi, si un élément est lié à plusieurs autres éléments ou s'il existe plusieurs contraintes d'infériorité liant des éléments communs, il faut propager les calculs.
Les contraintes d'infériorité peuvent concerner les volumes d'éléments d'un même groupe ou de groupes différents.
Bien entendu, les contraintes imposées par le créateur doivent être compatibles entre elles. Ainsi, le procédé de l'invention comprend des moyens visant à tester si les contraintes sont compatibles. Ces moyens sont appelés par la suite moteur de résolution de contraintes et seront détaillés ultérieurement.
De préférence, lorsque le créateur impose une nouvelle contrainte, le procédé teste grâce au moteur de résolution de contraintes si cette nouvelle contrainte est compatible avec les précédentes. Dans l'affirmative, la nouvelle contrainte est validée et Intégrée dans le tableau de contraintes. En cas d'incohérence, un message informe le créateur que cette nouvelle contrainte n'est pas compatible avec les précédentes et elle n'est pas Intégrée dans le tableau de contraintes.
Lorsque le tableau de contraintes est achevé, les pistes et le tableau de contraintes sont encapsulés dans un fichier informatique unique d'un nouveau type de format. Ce fichier informatique peut être enregistré sur tous supports.
En variante, ce fichier informatique peut être stocké dans une base de données et être téléchargé via un réseau informatique. Lorsqu'il veut écouter l'œuvre musicale, l'auditeur dispose d'un lecteur comprenant le moteur de résolution de contraintes et permettant d'extraire du fichier informatique selon l'invention les pistes de l'œuvre musicale et le tableau des contraintes. Ce lecteur lui permet de visualiser les différentes pistes, de les choisir en respectant les contraintes imposées par le créateur et enfin de jouer les pistes sélectionnées. Selon un mode de réalisation, ce lecteur est de type virtuel et consiste en un logiciel permettant de visualiser les différentes pistes, de les choisir en respectant les contraintes imposées par le créateur et enfin de jouer les pistes sélectionnées. Cette phase d'écoute est mise en œuvre notamment sur un ordinateur couplé à un système de reproduction du son tel que des enceintes.
L'auditeur peut disposer en complément de moyens connus de l'art antérieur tel qu'un équaliseur, une balance, un réglage du volume ou autre pour modifier le signal sonore global, les flux audionumériques d'au moins une piste et/ou d'au moins un ensemble de pistes. Ces moyens ne sont pas plus détaillés.
Avantageusement, les pistes sont affichées en respectant l'arborescence définie par le créateur.
Comme illustré sur la figure 4, l'auditeur peut sélectionner les pistes qu'il désire, par exemple en cochant une case associée à chaque piste. La sélection est opérée en respectant les contraintes du créateur. Le moteur de résolution de contraintes permet de vérifier si le choix est possible et de compléter l'action de l'auditeur.
Ainsi, à titre d'exemple, si l'auditeur coche la piste n°2, le moteur de résolution de contraintes va cocher la piste n°4 qui est nécessairement jouée asec la piste n°2 et rendre le choix impossible pour la piste n°5 qui ne peut pas être jouée asec la piste n°2.
L'auditeur peut s'arrêter à cette sélection et lancer la lecture. Les pistes n°2 et n°4 sont jouées simultanément. Selon un autre cas, l'auditeur peut choisir une autre piste entre la piste n°l ou n°3. S'il sélectionne la piste n°3, le moteur de résolution de contraintes vérifie si ce choix est possible. Dans l'affirmative, il complète l'action de l'auditeur en rendant le choix impossible pour la piste n°l, deux pistes au maximum du groupe 61 pouvant être jouées simultanément.
S'il sélectionne la piste n°l, le moteur de résolution de contraintes vérifie si ce choix est possible. Dans ce cas, le choix de la piste n°l impose la sélection des pistes n°4 et n°5. Or, la piste n°5 ne peut pas être sélectionnée avec la piste n°2 déjà sélectionnée. Par conséquent, le choix de la piste n°l est impossible. Un message est donné à l'auditeur lui indiquant que son choix n'est pas possible. En variante, le moteur de résolution de contraintes valide la sélection de la piste n°l et coche les cases des pistes n°l, n°4 et n°5 et rend impossible la sélection de la piste n°2. A la fin de sa sélection, l'auditeur peut pour chaque piste ajuster le signal sonore en réglant le volume, la balance ou en le traitant grâce à un équaliseur.
A la fin du paramétrage, l'auditeur lance la lecture du flux audionumérique, les pistes sélectionnées étant jouées simultanément de manière à obtenir un signal sonore.
En variante, lors de l'écoute, l'auditeur peut modifier son choix de pistes. Le moteur de résolution de contraintes permet en temps réel de compléter le choix de l'auditeur en ajoutant ou supprimant des pistes en fonction des contraintes. On note que le procédé de gestion de flux audionumériques selon l'invention permet de rendre l'écoute d'une oeuvre musicale interactive car l'auditeur peut choisir des pistes et agir ainsi sur le signal sonore émis. Selon un autre avantage, le procédé selon l'invention ne nécessite pas une puissance de calcul importante, car il traite des pistes et non des blocs qui doivent être joués successivement, ce qui le rend compatible avec la majorité des appareils d'écoute. Le signal sonore découlant de la lecture des flux audionumériques est parfaitement audible car le choix des pistes est encadré par les contraintes imposées par le créateur. Le moteur de résolution de contraintes est maintenant détaillé. Lors de la phase de création, le moteur de résolution de contraintes doit permettre de valider le choix de contraintes que souhaite imposer le créateur. Lorsque le créateur impose une nouvelle contrainte, le moteur de résolution de contrainte vérifie si cette nouvelle contrainte est compatible avec les contraintes déjà imposées. Pour opérer ce contrôle, toutes les pistes sont mises au même état, de préférence à l'état inactif. En suivant, le moteur de résolution de contraintes vérifie que toutes les pistes peuvent changer d'état et que l'ensemble des contraintes est respecté. Si ce test est concluant la nouvelle contrainte est compatible avec les contraintes déjà imposées et validée dans le tableau des contraintes. Si aucune solution n'a été trouvée pour que toutes les pistes changent d'état alors la nouvelle contrainte n'est pas compatible avec les contraintes déjà imposées. Un message informe le créateur que cette contrainte n'est pas compatible.
Lors de la phase d'écoute, le moteur de résolution de contraintes permet de vérifier si le choix de l'auditeur est possible et respecte l'ensemble des contraintes.
Soit n pistes qui sont à différents états actif ou inactif définissant une combinaison d'état, le choix de l'auditeur conduit à un changement d'état de la piste i (comprise dans les n pistes). Le moteur de résolution de contraintes vérifie que cette nouvelle combinaison avec ce nouvel état de la piste i est possible et respecte l'ensemble des contraintes. Dans l'affirmative, le changement d'état de la piste i est validé. Si cette combinaison n'est pas possible, deux solutions peuvent être envisagées. La première solution consiste à informer que ce changement d'état n'est pas possible.
Selon une solution préférée, ce changement d'état est automatiquement validé, mais le moteur de résolution de contraintes détermine dans un laps de temps donné la combinaison possible intégrant ce changement d'état la plus proche de la combinaison précédente. Une première combinaison est dite la plus proche d'une seconde combinaison si le nombre de pistes à l'état actif de la première combinaison est le plus proche du nombre de pistes à l'état actif de la seconde combinaison. Lors de la phase d'écoute, le moteur de résolution de contraintes permet de mettre à jour les choix possibles après une sélection de l'auditeur. Ainsi, après avoir vérifié que le choix est possible, le moteur de résolution de contraintes coche les pistes qui sont imposées de part ce nouveau choix en raison des implications et rend impossible le choix d'éventuellement certaines pistes de part ce nouveau choix en raison des exclusions.
La structure du format de musique interactive selon l'invention est la suivante : La Table des Box
Le format de fichier IM AF contient plusieurs Box qui se basent sur le format de fichier ISO type concernant les médias. On décrit deux conteneurs de Box qui encapsulent les Box Groupes et les Box Contraintes :
'grco' : la Box Conteneur de Groupes ;
'cnco' : la Box Conteneur de Contraintes.
Syntaxes et Sémantiques des Box
Les box décrites par le format IM AF constituent un sous-ensemble de box définies par le format de fichier ISO type concernant les médias. Dans ce document, nous détaillons deux conteneurs de box.
La Box Conteneur de Groupes réunit des informations à propos de la composition des groupes. Les groupes permettent d'apporter une structure hiérarchique aux pistes d'un fichier au format IM AF. La Box Conteneur de Contraintes permet de rassembler les contraintes de sélection et de mixage appliquées sur les éléments (pistes et groupes) d'un fichier audio au format IM AF. Box Conteneur de Groupes
Nom de la Box : 'grco' Conteneur : Movie Box ('moov') Obligatoire : Oui
Quantité : Exactement une
La Box conteneur de Groupe définit le nombre de groupes contenus dans un fichier. Chaque groupe étant représenté par une Box de Groupe. Ainsi, un fichier peut contenir zéro ou plusieurs Box Groupe (quantité définie par num groups).
S syntaxe aligned(8) class GroupsContainerBox extends Box(λgrco') { unsigned int(8) num_groups;
}
S sémantique num_groups - est un entier qui spécifie le nombre de groupes contenus dans un fichier.
Box Groupe
Nom de la Box : 'grup'
Conteneur : La Box Conteneur de Groupes ('grco') Obligatoire : Non Quantité : Zéro ou plus
La Box Groupe regroupe des informations spécifiques à un groupe particulier. Elle décrit la structure du groupe en établissant la liste des sous-éléments qui le compose. En ce sens, un groupe peut être composé de pistes et/ou de groupes.
S syntaxe aligned(8) class GroupBox extends FullBox ( λgrup' , version = 0, flags) { unsigned int(32) group_ID; unsigned int(16) num_elements; unsigned int(32) éléments ID[num éléments] ; unsigned int(8) group_activation_mode; string group_name; String group_description;
}
S sémantique version - est un entier qui décrit la version de la box. flags - est un entier binaire (sur 8 bits) ; les valeurs suivantes sont définies : - display_disable & edit_disable indiquent que les informations contenues dans la box ne seront pas affichées par le lecteur excepté group_name. L'utilisateur ne pourra pas les modifier. Pour cette option, la valeur du f lag est 0x01. display_enable & edit_disable indiquent que les informations contenues dans la box seront affichées par le lecteur. L'utilisateur ne pourra pas les modifier. Pour cette option, la valeur du f lag est 0x02. display_enable & edit_enable indiquent que les informations contenues dans la box pourront être affichées par le lecteur et modifiées par l'utilisateur. Pour cette option, la valeur du f lag est 0x03.
group_iD - est un entier qui identifie de manière unique le groupe. num_elements - est un entier qui donne le nombre d'éléments contenus dans le groupe. elements_iD [num_elements ] - est un tableau. Chaque case du tableau contient un entier qui représente un identifiant décrivant un élément particulier du groupe. Ces éléments peuvent être des pistes et/ou des groupes. group_activation_mode - est un entier qui définit la façon dont les éléments d'un groupe sont activés lorsqu'on active le groupe.
Box Conteneur de Contraintes Nom de la Box : 'cnco'
Conteneur : Movie Box ('moov')
Obligatoire : Oui
Quantité : Exactement une
Le Box Conteneur de Contraintes contient des informations sur les contraintes appliquées aux éléments qui composent un fichier audio au format IM AF. On distingue deux grandes classes de contrainte : les contraintes de sélection et les contraintes de mixage. Ainsi, cette box donne le nombre de contraintes appartenant à chaque classe. En ce sens, elle pourra contenir zéro ou plusieurs Box Contrainte de Sélection et zéro ou plusieurs Box Contrainte de Mixage.
S syntaxe aligned(8) class ConstraintsContainerBox extends Box(λcnco'){ unsigned int(16) num_Selection_Constraints; unsigned int(16) num_Mixing_Constraints;
S sémantique num_Selection_Constraints - est un entier qui spécifie le nombre de contraintes de sélection contenues dans un fichier. num_Mixing_Constraints - est un entier qui spécifie le nombre de contraintes de mixage contenues dans un fichier.
Box Contrainte de Sélection Nom de la Box : 'cnsc
Conteneur : Box Conteneur de Contraintes ('cnco') Obligatoire : Non Quantité : Zéro ou plus La Box Contrainte de Sélection contient des informations propres à une contrainte de sélection particulière. Ces contraintes sont applicables sur les éléments qui composent un fichier audio au format IM AF. On en distingue quatre types qui sont : la contrainte min/max, la contrainte d'exclusion, la contrainte de forçage à l'état actif et la contrainte d'implication. Ainsi, le paramètre seiection_constraint_type permet de distinguer ces différents types. Chaque contrainte est identifiée à l'aide d'un identifiant unique (seiection_constraint_iD) et d'une description sommaire (seiection_constraint_description). La Box Contrainte de Sélection décrit donc les paramètres d'une contrainte de sélection particulière en fonction de son type.
S syntaxe aligned(8) class SelectionConstraintBox extends FullBox ( λcnsc' , version = 0) { unsigned int(16) selection_constraint_ID; unsigned int(8) selection_constraint_type; unsigned int(16) num_elements; unsigned int(32) éléments ID[num éléments] ;
if (sélection constraint type==0) { // only MINMAX unsigned int(16) rain_num_elements ; unsigned int(16) max num éléments;
} else (selection_constraint_type==3) { // IMPLY unsigned int(16) num_key_elements; unsigned int(32) key éléments ID [num key éléments];
}
String sélection_constraint_description }
S sémantique version - est un entier qui décrit la version de la box. selection_constraint_iD - est un entier qui identifie de façon unique une contrainte de sélection. selection_constraint_type - est un entier qui identifie le type de la contrainte de sélection.
num_elements - est un entire utilise pour def iner le nombre d'éléments impliqués dans cette contrainte. element_iD [num_elements ] - est un tableau. Chaque case de ce tableau est un entier qui décrit un identifiant permettant de désigner les éléments impliqués dans cette contrainte de sélection. Ces éléments peuvent être des pistes et/ou des groupes. min_num_elements - est un entier utilisé uniquement par la contrainte min/max (c'est à dire quand selection_constraint_type=0). Ce paramètre permet de spécifier Ie nombre minimum d'éléments qui peuvent se trouver dans l'état actif simultanément. Ce nombre est appliqué sur un ensemble d'éléments décrit et défini par les paramètres suivants : num_elements & element_ID. maχ_num_elements - est un entier utilisé uniquement par la contrainte min/max (c'est à dire quand selection_constraint_type=0). Ce paramètre permet de Spécifier le nombre maximum d'éléments qui peuvent se trouver dans l'état actif simultanément. Ce nombre est appliqué sur un ensemble d'éléments décrit et défini par les paramètres suivants : num_elements & element_iD. Il est important de noter que la relation suivante Sera toujours vérifiée : max_num_elements ≥ min_num_elements. num_key_elements - est un entier utilisé pour représenter le nombre d'éléments sur lesquels la contrainte est appliquée. Ce paramètre est utilisé seulement par la contrainte d'implication (c'est-à-dire quand selection_constraint_type=3). key_elements_lD [num_key_elements ] - est un tableau. Chaque case de ce tableau est un entier qui représente un identifiant permettant de désigner les éléments sur lesquels la contrainte est appliquée. Ces éléments peuvent être des pistes et/ou des groupes. Ce paramètre est utilisé uniquement par la contrainte d'implication (c'est-à-dire quand sélect ion_constraint_type=3).
Selection_constraint_description - est une chaîne de caractères (UTF-8) qui donne une description de la contrainte de sélection.
La Box Contrainte de Mixage
Nom de la Box : 'cnmx'
Conteneur : Box Conteneur de Contraintes ('cnco') Obligatoire : Non Quantité : Zéro ou plus
La Box Contrainte de Mixage contient les informations propres à une contrainte de mixage particulière appliquée aux éléments qui composent un fichier audio au format IM AF. On distingue quatre types de contrainte : la contrainte d'équivalence, la contrainte de supériorité, la contrainte d'infériorité ainsi que la contrainte min/max. Le paramètre mixing_constraint_type permet de distinguer les différentes types de contrainte. Chaque contrainte est identifiée par un nom (mixing constraint iD), une description sommaire (mix_constDescription) et un identifiant unique (mix_constiD). Une Box Contrainte de Mixage décrit donc les paramètres d'une contrainte de mixage particulière en fonction de son type.
S syntaxe aligned(8) class MixingConstraintBox extends FuilBox ( λcnmx' , version 0) { unsigned int(16) mixing_constraint_ID; unsigned int(8) mixing constraint type; unsigned int(16) num_elements; unsigned int(32) éléments ID[num éléments]; if (mixing_constraint_type==3) { // only LIMITS unsigned int(8) min_volume; unsigned int(8) max volume; } else{ //EQUIV, UPPER or LOWER unsigned int(16) éléments reference-volume [num éléments]; unsigned int(8) volume_relation_mode; // Ratio or différence } if (mixing constraint type==l & mixing constraint type==2) {
// UPPER or LOWER unsigned int(16) num key éléments; unsigned int(32) key_elements_ID [num_key_elements] ; unsigned int(16) key éléments référence volume [num key élément];
} string mixing_constraint_Description
S sémantique version - est un entier qui décrit la version de la box. mixing_constraint_iD - est un entier qui permet d'identifier de manière unique une contrainte de mixage. mixing_constraint_type - est un entier qui permet d'identifier le type de la contrainte de mixage.
num_elements - est un entier utilise pour définir le nombre d'éléments impliqués dans cette contrainte. Element_iD [num_elements ] - est un tableau. Chaque case de ce tableau est un entier qui décrit un identifiant permettant de désigner les éléments impliqués dans cette contrainte de sélection. Ces éléments peuvent être des pistes et/ou des groupes. min volume - est un entier qui indique l'index correspondant au gain de volume minimum de
[élément. Ce paramètre est uniquement utilisé par la contrainte LIMITS. max volume - est un entier qui indique l'index correspondant au gain de volume maximum de l'élément. Ce paramètre est uniquement utilisé par la contrainte LIMITS. elements_reference_volume - est un entier qui indique l'index correspondant au gain de volume de référence de l'élément. volume_relation_mode - est un entier qui identifie le mode de relation d'équivalence ou de supériorité (infériorité): ratio ou différence. num_key_elements - num_key_elements - est un entier utilisé pour représenter le nombre d'éléments sur lesquels la contrainte est appliquée. key_elements_lD [num_key_elements ] - est un tableau. Chaque case de ce tableau est un entier qui représente un identifiant permettant de désigner les éléments sur lesquels la contrainte est appliquée. Ces éléments peuvent être des pistes et/ou des groupes. key_elements_reference_volume [num_key_elements ] - est un entier qui indique l'index correspondant au gain de volume de référence de l'élément. mixing_constraint_Description - est une chaîne de caractères qui permet de donner une description de la contrainte de mixage.

Claims

REVENDICATIONS
1. Procédé de gestion de flux αudionumériques d'une oeuvre musicale, consistant à créer des flux audionumériques appelés pistes (pi à p21) d'une même oeuvre musicale, lesdites pistes ayant une durée sensiblement égale à l'œuvre musicale, chacun desdits flux audionumériques correspondant à un signal sonore, caractérisé en ce qu'il consiste, au moment de la création, à regrouper lesdites pistes en au moins deux ensembles [Q)1 les pistes et les ensembles étant appelés éléments, à établir des contraintes (cl à c3) relatives aux éléments, à vérifier que chaque nouvelle contrainte est compatible avec les contraintes précédentes grâce à un moteur de résolution de contraintes, à encapsuler les pistes (pi à p21) et les contraintes (cl à c3) dans un fichier informatique unique, et au moment de l'écoute, à choisir les pistes que souhaite entendre l'auditeur en respectant les contraintes (cl à c3) et obtenir un signal sonore à partir des pistes choisies.
2. Procédé de gestion de flux audionumériques selon la revendication 1, caractérisé en ce qu'il consiste à fixer pour au moins un ensemble, de préférence chaque ensemble, les nombres minimal et/ou maximal d'éléments de l'ensemble joués de manière simultanée.
3. Procédé de gestion de flux audionumériques selon la revendication 1 ou 2, caractérisé en ce qu'il consiste à fixer des implications entre éléments, lesdits éléments liés devant être joués simultanément.
4. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à fixer des exclusions entre éléments, lesdits éléments liés ne pouvant pas être joués de manière simultanée.
5. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver le rapport entre les volumes sonores d'au moins deux éléments a et b de manière à conserver
Vc(a)/Vc(b)=Vrdéfaut(a)/Vrdéfaut(b) avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
6. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver les différences entre les volumes sonores d'au moins deux éléments a et b de manière à Vc(a)- Vc(b)=Vrdéfaut(a)-Vrdéfaut(b), avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
7. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver l'inégalité Vc(a)/Vc(b)>Vrdéfaut(a)/Vrdéfaut(b) avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
8. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver l'inégalité Vc(a)-
Vc(b)>Vrdéfaut(a)-Vrdéfaut(b) avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
9. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver l'inégalité Vc(a)/Vc(b)<Vrdéfaut(a)/Vrdéfaut(b) avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
10. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à conserver l'inégalité Vc(a)- Vc(b)<Vrdéfaut(a)-Vrdéfaut(b) avec Vc(a) le volume courant de l'élément a, Vc(b) le volume courant de l'élément b, Vrdéfaut(a) le volume par défaut donné par le créateur de l'élément a et Vrdéfaut(b) le volume par défaut donné par le créateur de l'élément b.
11. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications précédentes, caractérisé en ce que lorsque le créateur impose une nouvelle contrainte, le moteur de résolution de contrainte vérifie si cette nouvelle contrainte est compatible avec les contraintes déjà imposées.
12. Procédé de gestion de flux audionumériques selon la revendication 11, caractérisé en ce que le moteur de résolution de contraintes vérifie que toutes les pistes peuvent changer d'état et que les contraintes sont respectées.
13. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications précédentes, caractérisé en ce que, lors de la phase d'écoute, le moteur de résolution de contraintes vérifie si une combinaison d'états de pistes déterminée par l'auditeur est possible et respecte l'ensemble des contraintes.
14. Procédé de gestion de flux audionumériques selon la revendication 13, caractérisé en ce que si le changement d'état d'une piste choisi par l'auditeur ne respecte pas l'ensemble des contraintes, le changement d'état de ladite piste est automatiquement validé et en ce que le moteur de résolution de contraintes détermine dans un laps de temps donné une combinaison possible intégrant ce changement d'état la plus proche de la combinaison avant ce changement d'état.
15. Procédé de gestion de flux audionumériques selon l'une quelconque des revendications précédentes, caractérisé en ce que le moteur de résolution de contraintes met à jour les choix possibles après une sélection de l'auditeur.
EP09728947A 2008-03-12 2009-03-11 Procede de gestion de flux audionumeriques Withdrawn EP2252994A2 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR0851618A FR2928766B1 (fr) 2008-03-12 2008-03-12 Procede de gestion de flux audionumeriques
US12/186,550 US20090234475A1 (en) 2008-03-12 2008-08-06 Process for managing digital audio streams
FR0859067A FR2940483B1 (fr) 2008-12-24 2008-12-24 Procede de gestion de flux audionumeriques
PCT/FR2009/050403 WO2009122059A2 (fr) 2008-03-12 2009-03-11 Procede de gestion de flux audionumeriques

Publications (1)

Publication Number Publication Date
EP2252994A2 true EP2252994A2 (fr) 2010-11-24

Family

ID=41135979

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09728947A Withdrawn EP2252994A2 (fr) 2008-03-12 2009-03-11 Procede de gestion de flux audionumeriques

Country Status (3)

Country Link
US (1) US20110190914A1 (fr)
EP (1) EP2252994A2 (fr)
WO (1) WO2009122059A2 (fr)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515524A (en) * 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US5693902A (en) * 1995-09-22 1997-12-02 Sonic Desktop Software Audio block sequence compiler for generating prescribed duration audio sequences
US7078607B2 (en) * 2002-05-09 2006-07-18 Anton Alferness Dynamically changing music
US7343210B2 (en) * 2003-07-02 2008-03-11 James Devito Interactive digital medium and system
US7634776B2 (en) * 2004-05-13 2009-12-15 Ittiam Systems (P) Ltd. Multi-threaded processing design in architecture with multiple co-processors
US8260893B1 (en) * 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
FR2903804B1 (fr) * 2006-07-13 2009-03-20 Mxp4 Procede et dispositif pour la composition automatique ou semi-automatique d'une sequence multimedia.
US8032353B1 (en) * 2007-03-30 2011-10-04 Teradici Corporation Method and apparatus for providing peripheral connection management in a remote computing environment
US8255069B2 (en) * 2007-08-06 2012-08-28 Apple Inc. Digital audio processor

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
WO2009122059A2 (fr) 2009-10-08
US20110190914A1 (en) 2011-08-04
WO2009122059A3 (fr) 2009-12-10

Similar Documents

Publication Publication Date Title
JP7265987B2 (ja) 強化型コンテンツ追跡システム及び方法
US7732697B1 (en) Creating music and sound that varies from playback to playback
US8173883B2 (en) Personalized music remixing
US8457977B2 (en) Advanced encoding of music files
FR2903804A1 (fr) Procede et dispositif pour la composition automatique ou semi-automatique d&#39;une sequence multimedia.
FR2959037A1 (fr) Procede de creation d&#39;une sequence media par groupes coherents de fichiers medias
US20080134866A1 (en) Filter for dynamic creation and use of instrumental musical tracks
US20130269504A1 (en) Music Application Systems and Methods
WO2006027957A1 (fr) Support d’enregistrement, dispositif d’enregistrement, procede d’enregistrement, dispositif de sortie de donnees, procede de sortie de donnees et systeme de distribution/circulation de donnees
FR2974226A1 (fr) Procede de generation d&#39;effet sonore dans un logiciel de jeu, programme d&#39;ordinateur associe et systeme informatique pour executer des instructions du programme d&#39;ordinateur.
WO2021216115A1 (fr) Système, procédé et support de stockage lisible par ordinateur non transitoire pour collaborer sur une composition musicale sur un réseau de communication
EP1754189A1 (fr) Procede de telechargement avec insertion publicitaire et player specifique
US8572487B2 (en) Application of ratings to digital music and playback of digital music conforming to a rating level
FR2928766A1 (fr) Procede de gestion de flux audionumeriques
WO2009122059A2 (fr) Procede de gestion de flux audionumeriques
FR3039349A1 (fr) Procede de synchronisation d&#39;un flux d&#39;images avec des evenements audio
FR2940483A1 (fr) Procede de gestion de flux audionumeriques
Miller The ultimate digital music guide
McGranahan Bastards and booties: Production, copyright, and the mashup community
Spencer Wheels of the World: Irish Trad Recordings
Bruel Remastering Music and Cultural Heritage: Case Studies from Iconic Original Recordings to Modern Remasters
JP2008225232A (ja) 信号処理方法および音声コンテンツ配信方法
EP2800017A2 (fr) Génération d&#39;un document sonore personnalisé relatif à un évènement
Imawan et al. Tarling Music Industry Ecosystem in The Digitalization Arena
Luini et al. Streaming audio: the FezGuys' guide

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: 20100909

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 MK MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20101208