WO2001077846A1 - Expert system for play list generation - Google Patents

Expert system for play list generation Download PDF

Info

Publication number
WO2001077846A1
WO2001077846A1 PCT/US2001/011106 US0111106W WO0177846A1 WO 2001077846 A1 WO2001077846 A1 WO 2001077846A1 US 0111106 W US0111106 W US 0111106W WO 0177846 A1 WO0177846 A1 WO 0177846A1
Authority
WO
WIPO (PCT)
Prior art keywords
pieces
attributes
piece
computer
library
Prior art date
Application number
PCT/US2001/011106
Other languages
French (fr)
Inventor
Nick Wilson
Mick Lord
Bernadette Curran
Original Assignee
Aei Music Network, Inc.
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 Aei Music Network, Inc. filed Critical Aei Music Network, Inc.
Priority to AU2001251347A priority Critical patent/AU2001251347A1/en
Publication of WO2001077846A1 publication Critical patent/WO2001077846A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/04Sound-producing devices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves

Definitions

  • the expert divides the pieces into a number of types or genres and provides a default set of sequence selection rules.
  • the music programmer selects a single genre or a sequence of genres for time slots during the day, perhaps varying by day of the week or day of the year, and adjusts the sequence selection rules.
  • the system then automatically selects pieces within the specified genre either randomly or according to which piece has not been played for the longest time or with weighting to play certain pieces more often and, in addition, applies sequence selection rules.
  • the sequence selection rules include:
  • Pieces of the same style may be separated with a maximum number to be played in a row or a number of minutes between songs of the style or number of song positions between songs of the style.
  • Energy Level Each piece is designated as having an energy level. The programmer can specify that pieces of a certain energy level will have a maximum number in a row or a certain number of minutes between them or a certain number of positions between them.
  • Each piece is designated as having a mood level.
  • the programmer can specify that pieces of a certain mood level will have a maximum number in a row or a certain number of minutes between them or a certain number of positions between them.
  • Time Slots The programmer can flag certain pieces such that they will not be played during certain time slots of the day or certain days of the week or certain days of the year.
  • Each piece can be designated as relating to a certain theme, such as Christmas music.
  • the programmer can specify that only pieces of a certain theme will be played.
  • an expert programmer must be employed to specify all of the pieces for each play list for each part of the day.
  • the expert is then practicing an art that is highly particular to the individual expert.
  • the expert applies his or her knowledge of the characteristic of the intended audience and the intended ambiance for the establishment as well as the time of the day and the day of the week, along with an artistic sense of which pieces should follow which other pieces to produce a pleasing sequence that meets the client's objectives.
  • the invention is a system and method for delivering audio visual content to customers for playing to audiences. It uses expert system components to leverage the skills of music programmers to serve many clients through the system rather than requiring hands on attention by a music programmer to every song on every play list.
  • the expert system By assigning for each part of the day, for each zone, for each customer establishment, attributes which identify the target audience and the character of the establishment selected from a long list of possible attributes, the expert system is able to identify pieces of music appropriate for that particular situation.
  • the pieces are not selected based on "genres” like in the prior art systems. They are selected based on whether their characteristics (attributes assigned by an expert) satisfy a definition of a "stream".
  • Each piece of music (or video or text or other material) can typically be placed in many different streams. One stream might focus on the instruments used in the piece, while another stream focuses on the composer, while another stream focuses on the style, while another stream focuses on the artist, while another stream focuses on the period, et cetera.
  • an expert defines a boolean specifier for each stream, as described above, along with playback rules to be applied when the system at the client premises selects pieces to be played.
  • the expert specifies a sequence of streams, a "stream order", whereby one piece from each steam in the sequence is played in turn and then the sequence is repeated.
  • the specified stream order makes up a "scenario”. While defining a stream order for the scenario, the expert also specifies additional playback rules associated with the scenario and weightings for use by the expert systems to choose a scenario for a particular target audience.
  • the expert system which selects pieces for a particular target audience is operated by assigning to the audience one or more attributes characterizing the audience selected from a long list of possible audience / establishment attributes.
  • the selected attributes are stored in a memory associated with an identification of the target audience for the client.
  • An expert has previously assigned weightings to each of many scenarios, each scenario effectively comprising a set of pieces out of the master library which match the boolean specifiers of each stream within the scenario.
  • the expert has assigned positive weightings to selected ones of the attributes from the set of possible audience / establishment attributes which indicates that the expert believes the scenario is suitable for an audience characterized by that attribute.
  • the list of attributes which are positively weighted by the expert is stored in a computer memory associated with the scenario (set of pieces).
  • the computer selects scenarios which have positive weightings which have been generated from the attributes which matches the attributes associated with the audience. Totals of the positively weighted attributes are computed and the scenario with the highest total is selected.
  • the scenario now specifies which pieces out of a library of pieces are suitable for the target audience.
  • the system can be used with a large library to select pieces specified by the previously designated stream order for performing the scenario.
  • the entire library of pieces is much too large to provide at a customer site and it is impractical to provide a constantly operating data link between the customer site and the immense master library. Therefore, the boolean specifiers within the scenario are used to select pieces from the master library to make up a subset library (client library) from which the pieces are to be selected for presentation.
  • each of the pieces in the master library has been assigned one or more attributes characterizing the piece selected from a list of possible attributes, and the list of attributes was stored in the master library associated with an identification of the piece.
  • the system therefore operates by selecting for a subset library piece identifiers from the master library which are associated with attributes that satisfy one or more of the boolean specifiers of the various streams which make up the scenario.
  • the stream order of the scenario is consulted and the boolean specifier for each stream is used for selecting the pieces in proportion to a relative number of times the stream appears within the stream order of the scenario.
  • the subset library When the subset library is created, it is downloaded to the client's system, either by a computer to computer connection or by distribution of a recording medium such as a CD-ROM or DVD.
  • the client's system then operates by using an expert system based on the previously designated playback rules to choose pieces from the subset library for playing at each point in time.
  • the playback rules can operate on any of the piece attributes to prohibit the playing of a piece with a specified attribute more than n times in succession, or more than n times within a specified time period, or following a piece that has another specified attribute within a specified time, or to force a piece with attribute 'A' to follow a piece with attribute 'B' ('A' and 'B' can represent the same attribute).
  • This allows the very attractive feature that the ending of a piece, which is entered into the system as one of the piece attributes, can be used to select or avoid a certain type of beginning for the following piece, to create a pleasant flow from one piece to another for the audience.
  • Figure 1 shows the System Overview.
  • Figure 2 shows the process of building the Master Library.
  • Figure 3 shows the relational database structure of the Master Piece
  • Figure 4 shows the relational database structure for the Scenario Database.
  • Figure 5 shows how the Scenario Expert System selects the Scenario for each zone and Daypart to assemble a SoundScape for each zone with one Scenario for each Daypart.
  • Figure 6 shows the data structure of Soundscapes as held on each Client Machine.
  • the items to be played for an audience by the system may be pieces of any type, including music, other audio, video, still image pieces, or text pieces. Because the most common application is music and pieces of music are commonly referred to as "songs", in this document, each piece may be referred to as a "song”.
  • the system is comprised of a Master System 1 operated by the company that provides the music or other pieces and a large number of Client Systems 2 operated by the clients.
  • the clients are commercial establishments providing background music, or music with video, or a series of still images for viewing by a target audience, typically customers of the client.
  • the components of the Client System 2 include an audio or video play back system for playing each piece, step 14.
  • the remaining hardware components of each Client System are typically general purpose computer components for storing the pieces in digital form and storing the set of rules and other data which drive the selection of the pieces, step 13.
  • the Client System includes a large memory containing a Client Piece Library 12 of pieces to be played.
  • the system is usually implemented with the Client Piece Library stored in digital form on a hard disk. However, it can equally be implemented with storage on optical disks such as CDs or with analog media such as videotape or with film transparencies for showing with a slide projector.
  • the final component of the Client System is a memory, which stores the SoundScape data 11 which is a set of rules for operating the Expert Selection System in step 13.
  • the Master System 1 operated by the content provider includes a Master Piece Database 5.
  • This database is typically stored in digital format in a large set of hard disks. Alternatively, the pieces may be stored on optical disks or analog videotape.
  • the Master System automatically selects pieces from the Master Piece Database 5 for download to each client based on Soundscapes selected for the client, step 8. The Soundscapes in turn are selected by a Scenario Expert System, step 7.
  • the Scenario Expert System receives input from a Scenario Database with Expert Weightings for each scenario 3 and from Attributes relating to the client and the client audience 4.
  • the Master Piece Database 5 and the Scenario Database 3 together make up the Master Library 6.
  • Figure 2 shows the process of building the Master Piece Database 5.
  • descriptive information for each piece is added, consisting of: an identification number for each piece, a group identification number which specifies an identification for the artist or group of artists, the artist's name, and the title of each piece.
  • a human expert listens to (or views) each piece to determine which Attributes from a standard list of possible Piece Attributes 22 should be assigned to the piece, step 23.
  • An example of the standard Piece Attributes which illustrates all of the types of attributes of the preferred embodiment but has been edited to delete some redundancy of attribute types, is shown in Table 1 below.
  • the structure of the Master Piece Database is shown in Figure 3.
  • the structure includes an Artist Table 41, which relates each artist name to a group identifier. It also includes a Piece Table 42 with a one- to-many relationship from the Group ID in the Artist Table to the Group ID in the Piece Table.
  • the primary index for the Piece Table is a Piece ID.
  • This table also includes, for each Piece ID, the name of the file in which the piece content is stored as well as the title of the piece.
  • the Piece ID of the piece table is related by a one- to-many relationship to a Joining Table 43 which, for each Piece ID, specifies a Node ID.
  • Each Node ID of the joining table is related with a many-to-one relationship to a Node ID that is the primary key of an Attribute Tree Table 44.
  • the Attribute Tree Table specifies a Description and potentially a Parent Node ID .
  • the Parent Node ID specifies a many-to-one relationship with each Node ID. This is required because certain generic attributes, such as "Pop” include many sub- “attributes such as “Top Forty”, “Acoustic Base Pop", and “Soft Rock” as shown in Table 1.
  • each sub-attribute implies each of the higher level attributes up the tree.
  • an expert begins by identifying many different "Streams"26, each of which specifies a type or character of music.
  • the Streams are each defined by a Boolean Specifier specifying the set of pieces that have or do not have attributes selected from the list of Piece Attributes, step 25.
  • the Boolean Specifier for one of the Streams will have an ending with a particular sound, a particular emotive appeal to the music, and a particular set of instruments. All of the customary Boolean set operations are possible, including union, intersection, and subtraction, with grouping of operations using parentheses to specify the order of operations.
  • Each of the possible Piece Attributes can be used to specify sets in the Boolean Specifier.
  • Each Stream 26 consists of Playback Rules, if any (described below), and a single Boolean Specifier comprised of Piece Attributes, Boolean operators, and parentheses.
  • each Scenario the expert specifies a sequence of Streams to be repeated, step 31 , and writes Playback Rules (described below) to be used in selecting the Scenario.
  • the repetition of Streams is typically in a pattern such as ABACABAD, where A,B,C, and D each specify a Stream by its identifier.
  • This pattern is stored in the Scenario Clock Table 56 in Figure 4.
  • a Database of Scenarios 3 is assembled.
  • a Current Attribute This is used to determine if the rule is to take effect to exclude a piece.
  • the rule is only active if the currently selected potential song (which was selected at random from the songs of the designated Stream that have not yet been played) has a Piece Attribute matching the Current Attribute.
  • a Target Attribute This is a Piece Attribute that is searched for in pieces that have already been played since the list of played pieces was last reset to zero.
  • a rule can specify one of the following three possibilities a. If the current potential song is selected, then the Target Attribute will have occurred more than n times in succession. b. If the current potential song is selected, then the Target Attribute will have occurred twice within a specified time period n. c. If the current potential song is selected, then the piece immediately before it does not have the Target Attribute. 4) A Value: When n is used in the rule, this value is used for n.
  • each rule therefore acts in a negative or exclusionary way.
  • the system can be modified to work with positive rules such as: a song with beginning ("intro") Y shall follow a song with ending X.
  • the database structure to store the Scenario Database is shown in Figure 4. This is a component of the Master Library 5.
  • the Scenario is named in the Scenario Table 54.
  • Each Scenario can have a number of Attributes attached to it in the Scenario Attributes Table 53, these attributes are assigned by a music specialist as part of step 31 from the list of Audience / Establishment Attributes 29 to show who the scenario is intended for.
  • the definitions of the attributes are copied from the list 29 and held in the Attribute Definition Table 58.
  • each record in the Attribute Definition Table 58 contains a reference to the node above it (its parent). If the ParentNodelD does not contain a valid value (usually represented by NULL in a relational database, or possibly an invalid value, like a negative number) then that Node is considered to be the root item of a tree.
  • weightings to be used as part of the selection process are calculated based on the attributes selected by the music specialist.
  • the weightings are calculated in the following manner. First, a seed weighting is assigned to all of the attributes that the music specialist has selected. This seed weighting is simply an arbitrary number, preferably 5.
  • the system will then attach weightings to all other attributes in the list of Audience / Establishment Attributes 29 by following the following steps: 1. All parent nodes that do not have a weighting assigned to them by the music specialist are assigned a number that is one less than the weighting number given to any child. 2. All child nodes are given the same weighting number as a parent unless they already have a weighting assigned by the music specialist.
  • the following is an example of a part of the attribute tree with weightings assigned as stored in the Attribute Tree Table 44.
  • the bold numbers are the seed weightings.
  • the italic numbers are the calculated weightings. I n this e xample, we have used 5 as the seed weighting.
  • a Scenario also has a Clock associated with it.
  • a Clock defines the ordering of Stream playback.
  • Each element of the Clock is stored in the ScenarioClock table 56.
  • Each Stream is defined as a Boolean Expression used by the system to select pieces, and it is defined in the Stream Table 57.
  • a Rules Table 55 allows a number of rules to be attached to each Scenario and Stream. This is achieved by having a column "ApplyTo" which identifies whether the value "ApplyTolD" refers to either a Scenario or a Stream.
  • the Rules Table 55 also includes two references to the Attribute Definition Table 58 to represent the Current Attribute and the Target Attribute.
  • the Rule Type column identifies which of the three rule types this rule belongs to (3a or 3b or 3c above), and the Value provides the n value for the Rule. Operation of the Scenario Selection Expert System The final input to the Scenario Selection Expert System 7 is the set of client
  • a client will have more than one zone that requires media playback, for example, a client may have a restaurant and a bar and a requirement for playing music with a family feel in the restaurant and more adult music in the bar.
  • Each zone is provided with a different SoundScape. For the purposes of system operation, each zone is effectively treated as a separate client.
  • the client attribute collection is selected by a sales person for the content provider touring the target establishment or asking the proprietor of the establishment a long series of questions. From this interview, the sales person will select a number of Attributes from the establishment attribute tree shown in Table 2 which accurately describe both the client and the client's target audience demographic. These are then input into the expert system that will pick applicable scenarios for the client. This is a simple procedure that is performed by searching all scenarios and calculating a sum of weighting for each scenario for each node of the attribute tree that has been selected as describing the customer site. The scenarios with the largest totals are presumed to be the most applicable for that client. The expert also constructs any Playback Rules that are appropriate for the particular SoundScape.
  • a SoundScape there may be different times of the day when the pieces to be presented should be selected to correspond with the time. For example, if a Scenario is intended for a restaurant, the lunchtime music might be quite different from the after work music.
  • the objective of the system is to create a different "Scenario" for each time of day ("Daypart"65). As shown in Figure 5, there is one Scenario for each Daypart, and all of the Scenarios together with the dayparting information and Playback Rules for the SoundScape, if any, make up a SoundScape 67.
  • the music specification that is provided to a client consists of one SoundScape for each zone.
  • Each SoundScape is made up of one Scenario for each Daypart and Playback Rules, if any.
  • each Scenario consists of an ordered sequence of Streams and Playback Rules, if any.
  • a Stream consists of a Boolean Specifier for the Stream specifying a set of desired Attributes and undesired Attributes and an optional set of Playback Rules.
  • the Stream, the Scenario and the SoundScape are generic as to a type of music. They do not specify particular pieces but only specify the character of the music to be played.
  • each SoundScape is made up of one or more Scenarios; each Scenario is made up of one or more Streams; each Stream is made up of a Boolean Specifier; and each of these items can have an optional set of Playback Rules.
  • the selection of a Scenario for a daypart is done based on the client specified criteria for the desired clientele during that daypart. If there is no good match between the pre created Scenarios and the client's requirements automatically generated by the Weightings, then the request is passed on to a music consultant employed by the content provider who will create a Scenario specifically for that client's demographic.
  • the system takes the attributes attached to all the scenarios and generates weightings for every tree node as described earlier. Then, for each corresponding node that has been selected as describing the client, the weights are totaled. The higher the total, the more appropriate the given scenario.
  • An ideal score would be one that is calculated to be the seed weight multiplied by the number of attributes attached to a customer. This would indicate that the Scenario matched point for point the attributes attached to the customer.
  • the human musical specialist would examine the request and determine if:
  • the final part of the Master System is a component that is responsible for selecting pieces for download to the client 8.
  • This component looks at the Scenario selected by the expert system for the client (or zone) and uses that as a guide for selecting pieces from the Master Piece Database, along with a record of pieces sent to the client in the past and Negative Filters provided by the client, to select the pieces for download.
  • Negative Filters for the client are also identified by the sales person during the same tour or interview when the attributes are identified.
  • a Negative filter allows a client to specify that they do not want a specific type of music. For example, if the system had recommended a mixture of 60's and 70's music, and the client had said they did not want to hear any Carpenters music for personal reasons, this allows the system to construct a SoundScape without having a music specialist create a new client specific Stream or Scenario. As long as a piece matches the attribute, historical, and filter selection requirements, it is irrelevant which piece is picked, and so the pieces are picked at random.
  • the system is also capable of dividing the refresh quantity between the streams according to their relative usage so that, for example, if a SoundScape for a client specifies three Streams, two during the first half of the day and one for the last half of the day, and a refresh quantity of 100 pieces is desired, the system prepares for delivery 25 songs from each of the first two Streams and 50 from the third. This ensures that the content refresh is spread evenly throughout the SoundScape's performance. Operation of the Client System
  • the client can begin execution of the performance.
  • the structure of the data held on the client machine is shown in Figure 6. All of the information that is specific to the client in the Master System is downloaded and represented in the Client Piece Library 12 or in the client set of Soundscapes 11 , as shown in Figure 6.
  • This information includes the Zone information in the Zone Table 80, as the system allows one playback device to serve multiple zones.
  • the structure of the Soundscapes data 11 is similar to the structure of the Scenario Database in the Master System shown in Figure 4.
  • the Zone Table 80 describes the different zones in the client's establishment. This is required as a playback device is capable of serving more than one Zone.
  • the Zone Table links to the SoundScape Table 82 which is used to name each SoundScape.
  • the SoundScape Table links to the Daypart Table 84 which specifies which Scenario will play during a given part of the day.
  • the Daypart Table gives both a start and end time for a daypart and no sequence information because a Daypart does not need to be succeeded by or replaced with a different Daypart.
  • the Daypart Table links to the Scenario Table 88 which provides the names of the Scenarios.
  • the Scenario Table links to the Scenario Clock Table 94 which provides the ordering of Streams within a Scenario. This is done using a sequence to determine the playback order.
  • a Stream Contents Table 92 provides a flattened version of the Master Piece Library (as described in relation to Figure 3), in addition to marking which streams a piece belongs to.
  • each piece that was downloaded is associated with a particular Stream in the Stream Contents Table 92.
  • the structure of the Client Piece Library is the same as the structure of the Master Piece Library shown in Figure 3 except that parts of the structure have been flattened. This means that instead of maintaining a relationship between a piece definition and an artist name, the relationship is flattened so that the artist name is moved into the piece definition table as shown in the Stream Contents Table 92. Also, the attribute tree is not sent to the client machine and instead, the joining table is flattened into the piece table in the same way. Because the attribute descriptions are only necessary on the Master System where they are viewed by humans, this flattening does not compromise the operation of the system and means that large amounts of redundant and indeed confidential information is not transmitted to the client. Selection of Pieces Based on Playback Rules
  • the client machine can begin execution of the performance.
  • the client machine (at the correct time) can begin execution of the performance.
  • the client machine (at the correct time) can begin execution of the performance.
  • the client machine (at the correct time) can begin execution of the performance.
  • the following is a description of how pieces are selected for playback.
  • a specific SoundScape is selected from the SoundScape Table 82.
  • This SoundScape may have a number of rules specified in the Rule Table 86. If it does, then these rules are added to the list of rules to apply when selecting a piece.
  • the Scenario provides a specific sequence of Streams from the Scenario Clock Table 94. Based on a current stream indicator, a specific Stream is selected. The Stream may also have a number of rules that are added to the current rule list. All of the unplayed pieces belonging to a specific Stream are then selected.
  • the first available unplayed piece is considered and checked against the Playback Rules. If a piece does not break any rules, it is selected, played and marked as played. If the piece breaks any rules, the piece is discarded and the next available piece is tested against the rules until either one is found and played or all available pieces are exhausted. If all available pieces break at least one rule, then the first piece available is played and marked as played, even though it breaks at least one rule, and the process repeats.
  • An advantage of the method of using playback rules which operate with the detailed list of piece attributes is that any of a very large list of attributes can be used for a rule. For example, because the beginnings and endings of each piece are specified in the list of possible attributes, a rule can be specified that a piece with a certain beginning attribute shall or shall not follow a piece with a certain ending attribute.

Abstract

An expert system for delivering audio visual pieces selected from a large library of pieces to customers for playing to audiences and selecting which piece to play when. Each customer establishment is divided into zones and each zone is divided into day parts. Characteristics of the target audience for each zone and day part are identified by choosing from a long list of possible attributes (22). The expert system uses the selected attributes to choose pieces with certain characteristics which would be suitable for that target audience. An expert listens to each piece that is placed in the library and assigns to the piece many attributes selected from a long list of possible piece attributes (23). To choose pieces that are suitable for a particular type of target audience, an expert creates a boolean specifyer which operates on piece attributes to select pieces (25). A method is provided for pieces from the library to be selected for download to a particular client such that the pieces can be updated with a new set of pieces regularly without duplicating content. From the client subset library, pieces are selected by applying a set of playback rules which was assembled from several levels of expert input (31). The playback rules cause the pieces to be played back in a pleasing sequence.

Description

EXPERT SYSTEM FOR PLAY LIST GENERATION
Technical Field:
The invention is an improved system for generating play lists for presenting music or other temporal works of art such as video to audiences. Such systems are used primarily for background or foreground music in commercial establishments and for radio station play lists, but also for assembling a play sequence of video pieces, still image pieces, text pieces, or audio pieces other than music.
BACKGROUND OF THE INVENTION It is well known for a person who is very familiar with a body of music (an expert) to specify a sequence of pieces of music to be played for a radio audience or for a commercial establishment that wants background music. Similar expertise is applied to selecting a sequence of still images for presentations to an audience or for selection of a sequence of video pieces, such as MTV. Automated systems for a music programmer to perform such selections within parameters established by an expert have been developed. The most sophisticated of these work essentially as follows.
The expert divides the pieces into a number of types or genres and provides a default set of sequence selection rules. The music programmer then selects a single genre or a sequence of genres for time slots during the day, perhaps varying by day of the week or day of the year, and adjusts the sequence selection rules. The system then automatically selects pieces within the specified genre either randomly or according to which piece has not been played for the longest time or with weighting to play certain pieces more often and, in addition, applies sequence selection rules. The sequence selection rules include:
1) Roles. The possible roles are male vocal, female vocal, , duet, group vocals, a cappella, instrumental, or user defined: do not play two pieces with a specified role within N positions of each other; do not play more than N pieces in a row of the same role. 2) Artist / Group This parameter can be set to consider the banding of artists together so that, for example, a piece by Wings would be separated from a piece by The Beatles because they both include Paul McCartney: do not play pieces by the same artist within M minutes of each other or within N positions of each other or more than N pieces in a row. 3) Style Each piece is designated as having a certain style or sound code. Pieces of the same style may be separated with a maximum number to be played in a row or a number of minutes between songs of the style or number of song positions between songs of the style. 4) Energy Level Each piece is designated as having an energy level. The programmer can specify that pieces of a certain energy level will have a maximum number in a row or a certain number of minutes between them or a certain number of positions between them.
5) Mood Each piece is designated as having a mood level. The programmer can specify that pieces of a certain mood level will have a maximum number in a row or a certain number of minutes between them or a certain number of positions between them.
6) Time Slots The programmer can flag certain pieces such that they will not be played during certain time slots of the day or certain days of the week or certain days of the year.
7) Themes Each piece can be designated as relating to a certain theme, such as Christmas music. The programmer can specify that only pieces of a certain theme will be played.
In the prior art, there are only three parameters that the programmer can manipulate to cause the system to generate music with a desired emotive appeal. These parameters are the type or genre from which all pieces will be selected, the energy level that is preferred (or the sequence of energy levels to be followed), and the mood that is preferred (or the sequence of moods to be followed). Consequently, the system can generate only a relatively small number of distinctly different emotive appeals for each automatically generated play list. The system cannot be used to generate suitable play lists where the desired emotive appeal is highly selective. Consequently, it does not work well for commercial establishments; it only works well for formats such as top 40 pop radio.
Where the client for a play list desires a greater refinement of selected music, an expert programmer must be employed to specify all of the pieces for each play list for each part of the day. The expert is then practicing an art that is highly particular to the individual expert. The expert applies his or her knowledge of the characteristic of the intended audience and the intended ambiance for the establishment as well as the time of the day and the day of the week, along with an artistic sense of which pieces should follow which other pieces to produce a pleasing sequence that meets the client's objectives.
SUMMARY OF THE INVENTION The invention is a system and method for delivering audio visual content to customers for playing to audiences. It uses expert system components to leverage the skills of music programmers to serve many clients through the system rather than requiring hands on attention by a music programmer to every song on every play list.
By assigning for each part of the day, for each zone, for each customer establishment, attributes which identify the target audience and the character of the establishment selected from a long list of possible attributes, the expert system is able to identify pieces of music appropriate for that particular situation. Within the system, the pieces are not selected based on "genres" like in the prior art systems. They are selected based on whether their characteristics (attributes assigned by an expert) satisfy a definition of a "stream". Each piece of music (or video or text or other material) can typically be placed in many different streams. One stream might focus on the instruments used in the piece, while another stream focuses on the composer, while another stream focuses on the style, while another stream focuses on the artist, while another stream focuses on the period, et cetera. The content of each stream is in turn specified not by a list of pieces themselves but instead by a boolean specifier which operates on attributes assigned by experts to each piece. The boolean specifier is a rule written with boolean set operations specifying inclusion or exclusion based on having or not having various piece attributes. When new pieces are added to the system, this method allows the experts to merely characterize each new piece by selecting appropriate piece attributes from a long list of piece attributes rather than placing the piece into one or a few categories. The computerized system then automatically places each new piece into the appropriate streams based on the boolean specifier for each stream. There are three processes by which experts build their expertise into the system. First, an expert listens to each piece and assigns attributes as described above.
Second, an expert defines a boolean specifier for each stream, as described above, along with playback rules to be applied when the system at the client premises selects pieces to be played. Third, to regulate the relative amounts of pieces from each stream that are played at the client premises, and to provide an overall creative flow to the music, the expert specifies a sequence of streams, a "stream order", whereby one piece from each steam in the sequence is played in turn and then the sequence is repeated. The specified stream order makes up a "scenario". While defining a stream order for the scenario, the expert also specifies additional playback rules associated with the scenario and weightings for use by the expert systems to choose a scenario for a particular target audience.
The expert system which selects pieces for a particular target audience is operated by assigning to the audience one or more attributes characterizing the audience selected from a long list of possible audience / establishment attributes. The selected attributes are stored in a memory associated with an identification of the target audience for the client. An expert has previously assigned weightings to each of many scenarios, each scenario effectively comprising a set of pieces out of the master library which match the boolean specifiers of each stream within the scenario. For each scenario, the expert has assigned positive weightings to selected ones of the attributes from the set of possible audience / establishment attributes which indicates that the expert believes the scenario is suitable for an audience characterized by that attribute. The list of attributes which are positively weighted by the expert is stored in a computer memory associated with the scenario (set of pieces). When the attributes of an audience for the particular time of day and zone at a particular customer location are input to the system, the computer selects scenarios which have positive weightings which have been generated from the attributes which matches the attributes associated with the audience. Totals of the positively weighted attributes are computed and the scenario with the highest total is selected.
The scenario now specifies which pieces out of a library of pieces are suitable for the target audience. The system can be used with a large library to select pieces specified by the previously designated stream order for performing the scenario. However, in the preferred embodiment, the entire library of pieces is much too large to provide at a customer site and it is impractical to provide a constantly operating data link between the customer site and the immense master library. Therefore, the boolean specifiers within the scenario are used to select pieces from the master library to make up a subset library (client library) from which the pieces are to be selected for presentation.
As described above, each of the pieces in the master library has been assigned one or more attributes characterizing the piece selected from a list of possible attributes, and the list of attributes was stored in the master library associated with an identification of the piece. The system therefore operates by selecting for a subset library piece identifiers from the master library which are associated with attributes that satisfy one or more of the boolean specifiers of the various streams which make up the scenario. To ensure that the client library is populated with an appropriate balance of pieces, the stream order of the scenario is consulted and the boolean specifier for each stream is used for selecting the pieces in proportion to a relative number of times the stream appears within the stream order of the scenario.
When the subset library is created, it is downloaded to the client's system, either by a computer to computer connection or by distribution of a recording medium such as a CD-ROM or DVD. The client's system then operates by using an expert system based on the previously designated playback rules to choose pieces from the subset library for playing at each point in time. The playback rules can operate on any of the piece attributes to prohibit the playing of a piece with a specified attribute more than n times in succession, or more than n times within a specified time period, or following a piece that has another specified attribute within a specified time, or to force a piece with attribute 'A' to follow a piece with attribute 'B' ('A' and 'B' can represent the same attribute). This allows the very attractive feature that the ending of a piece, which is entered into the system as one of the piece attributes, can be used to select or avoid a certain type of beginning for the following piece, to create a pleasant flow from one piece to another for the audience.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows the System Overview. Figure 2 shows the process of building the Master Library. Figure 3 shows the relational database structure of the Master Piece
Database.
Figure 4 shows the relational database structure for the Scenario Database. Figure 5 shows how the Scenario Expert System selects the Scenario for each zone and Daypart to assemble a SoundScape for each zone with one Scenario for each Daypart.
Figure 6 shows the data structure of Soundscapes as held on each Client Machine.
DETAILED DESCRIPTION OF THE INVENTION Following is a detailed description of the invented expert system. The items to be played for an audience by the system may be pieces of any type, including music, other audio, video, still image pieces, or text pieces. Because the most common application is music and pieces of music are commonly referred to as "songs", in this document, each piece may be referred to as a "song".
Referring to Figure 1 , the system is comprised of a Master System 1 operated by the company that provides the music or other pieces and a large number of Client Systems 2 operated by the clients. Typically, the clients are commercial establishments providing background music, or music with video, or a series of still images for viewing by a target audience, typically customers of the client.
Referring to Figure 1 , the components of the Client System 2 include an audio or video play back system for playing each piece, step 14. The remaining hardware components of each Client System are typically general purpose computer components for storing the pieces in digital form and storing the set of rules and other data which drive the selection of the pieces, step 13. The Client System includes a large memory containing a Client Piece Library 12 of pieces to be played. The system is usually implemented with the Client Piece Library stored in digital form on a hard disk. However, it can equally be implemented with storage on optical disks such as CDs or with analog media such as videotape or with film transparencies for showing with a slide projector. The final component of the Client System is a memory, which stores the SoundScape data 11 which is a set of rules for operating the Expert Selection System in step 13.
The Master System 1 operated by the content provider includes a Master Piece Database 5. This database is typically stored in digital format in a large set of hard disks. Alternatively, the pieces may be stored on optical disks or analog videotape. The Master System automatically selects pieces from the Master Piece Database 5 for download to each client based on Soundscapes selected for the client, step 8. The Soundscapes in turn are selected by a Scenario Expert System, step 7. The Scenario Expert System receives input from a Scenario Database with Expert Weightings for each scenario 3 and from Attributes relating to the client and the client audience 4. The Master Piece Database 5 and the Scenario Database 3 together make up the Master Library 6. In Figure 1 , as shown by the two arrows passing from the Master System 1 to the Client System 2, the input for each Client System consists of pieces selected from the Master Piece Database, arrow 18, as well as Soundscapes for the client which can be separately transmitted, arrow 17. These collections of data may be conveyed with optical discs such as CDs or via a computer network connection, including the Internet, or any other method of communicating piece data, including wireless.
Building the Master Piece Database
Figure 2 shows the process of building the Master Piece Database 5. As new pieces 21 are added to the Master Piece Database, in addition to the content of each piece, descriptive information for each piece is added, consisting of: an identification number for each piece, a group identification number which specifies an identification for the artist or group of artists, the artist's name, and the title of each piece. A human expert listens to (or views) each piece to determine which Attributes from a standard list of possible Piece Attributes 22 should be assigned to the piece, step 23. An example of the standard Piece Attributes, which illustrates all of the types of attributes of the preferred embodiment but has been edited to delete some redundancy of attribute types, is shown in Table 1 below.
TABLE 1 - SAMPLE PIECE ATTRIBUTES
• InstrumentationA ocals
• Vocal Attributes
• Female Vocal
• Solo Female Vocal
• Group Female Vocals • Male Vocal
• Solo Male Vocal
• Group Male Vocals
• Duet
• Group Vocal • Vocal Effects
Includes synthesized vocals or non-word vocal stylings. • Spoken Segment
Spoken word portions within a song.
• Acapella
Voices only - no instrumentation. 5 • Instrumentation Attributes
• Solo Instrument
• Piano
• Woodwind
• Oboe 10 • Clarinet
• Flute
• Bassoon
• Guitar
• Electric 15 • Acoustic
• Harpsichord
• Brass
• Saxophone
• Trumpet
20 • French Horn
• Tuba
• Quartet
• Chamber Orchestra
• Symphony 25 • Keyboard
• Piano
• Synth Sounds
• Organ
• Strings
30 • Violin
• Viola
• Cello
• Double Bass
• Harp 35 • Horns/Brass
• Saxophone
• Trumpet
• French Horn
• Percussion 40 • Drums
• Drum Machine/Synth Drum
• Steel Drums
• Bongos
• Timpani 45 • Xylophone
• Vibraphone
• Glockenspiel Tambourine
Washboard
Cymbals
Rainstick
Maracas
Twin Malleted Marimba
Hand-Clap
Finger Snap
• Bass Driven • Instrumental
100% Instrumental piece - no vocals.
• Sound Effects
• Sample Driven
• Trad. Jazz: Piano/Upright Bass/Drum • Country: Steel/Slide Guitar, Drum & Bass
• Cont. Jazz: Keyboard, Smooth Bass, Drums
• Big Band Sounds
• Live Performance
• Language Attributes • English
• Spanish
• Spanglish
• French
• Energy Level • Mild
• Mild/Medium
• Medium
• Medium/Mixed
• Mixed • Mixed/Uptempo
• Uptempo
• Hot
• Song Intro
• Cold Start • Fade in
• Percussion Intro
• Drum Intro
• Timpani Intro
• Bongo Drum Intro • Finger Snap Intro
• Chimes Intro
• Marimba Intro
• Guitar Intro
• Electric Guitar Intro • Acoustic Guitar Intro
• Nylon String Guitar Intro
• Mandolin Intro Keyboard Intro
• Piano Intro
• Synth Intro
• Organ Intro Strings Intro
• Harp Intro
• Violin Intro
• Viola Intro
• Cello Intro
• Double Bass Intro Horn Section Intro
• Sax Intro
• Trumpet Intro
• French Horn Intro Woodwind Intro
• Flute Intro
• Oboe Intro
• Clarinet Intro Vocals Intro
• Male Vocal Intro
• Female Vocal Intro
• Group Vocal Intro
• Vocal Effects Includes synthesized vocals or non-word vocal stylings.
• Duo Intro Bass Intro Sound Effect Intro Applause Intro Whistle Intro Chimes Intro
Emotive Appeal Elegant Conservative Traditional Romantic Natural Organic Relaxed Comfortable Casual Fun
Friendly Youthful Bright Energetic Exciting Festive Familiar Cultured Mellow Tropical Feminine Masculine Chic Uplifting Ethnic Motivating
Inspirational/Spiritual Campy Bittersweet Sad Angry Dark Sexy Funky Airy Light
Sophisticated Song End
Cold End Fade End
• Quick Fade
• Slow Fade
• Sustain Percussion Ending
• Drum End
• Timpani End
• Hand Clap End
• Spoon End
• Bongo Drum End
• Finger Snap End
• Chimes End
• Marimba End Guitar Ending
• Electric Guitar End
• Acoustic Guitar End
• Slide Guitar End
• Nylon String Guitar End Keyboard Ending
• Piano End
• Synth End
• Organ End String Ending
• Harp Ending • Violin End
• Viola End
• Cello End
• Horn Ending • Saxophone End
• Trumpet End
• French Horn End
• Woodwind Ending
• Oboe End • Flute End
• Clarinet End
• Vocal Ending
• Male Vocal End
• Female Vocal End • Group Vocal End
• Vocal Effects
• Duo End
• Bass Ending
• Sound Effect End • Synth Wash
• Applause End
• Whistle End
• False End
• Clipped End • Chimes End
• Lyric Rating
• G Rating
• PG Rating
• R Rating • X Rating
The structure of the Master Piece Database, along with some example values, is shown in Figure 3. The structure includes an Artist Table 41, which relates each artist name to a group identifier. It also includes a Piece Table 42 with a one- to-many relationship from the Group ID in the Artist Table to the Group ID in the Piece Table. The primary index for the Piece Table is a Piece ID. This table also includes, for each Piece ID, the name of the file in which the piece content is stored as well as the title of the piece. The Piece ID of the piece table is related by a one- to-many relationship to a Joining Table 43 which, for each Piece ID, specifies a Node ID. Each Node ID of the joining table is related with a many-to-one relationship to a Node ID that is the primary key of an Attribute Tree Table 44. For each Node ID, the Attribute Tree Table specifies a Description and potentially a Parent Node ID . The Parent Node ID, in turn, specifies a many-to-one relationship with each Node ID. This is required because certain generic attributes, such as "Pop" include many sub- "attributes such as "Top Forty", "Acoustic Base Pop", and "Soft Rock" as shown in Table 1. As a result of the tree structure, each sub-attribute implies each of the higher level attributes up the tree.
Building the Scenario Database
As shown in Figure 2, to build the database of Scenarios 3, an expert begins by identifying many different "Streams"26, each of which specifies a type or character of music. The Streams are each defined by a Boolean Specifier specifying the set of pieces that have or do not have attributes selected from the list of Piece Attributes, step 25. For example, the Boolean Specifier for one of the Streams will have an ending with a particular sound, a particular emotive appeal to the music, and a particular set of instruments. All of the customary Boolean set operations are possible, including union, intersection, and subtraction, with grouping of operations using parentheses to specify the order of operations. Each of the possible Piece Attributes can be used to specify sets in the Boolean Specifier. Each Stream 26 consists of Playback Rules, if any (described below), and a single Boolean Specifier comprised of Piece Attributes, Boolean operators, and parentheses.
To build the Scenario Database 3, a second list of possible attributes relating to both a hypothetical intended audience and a hypothetical establishment where the pieces are to be presented is assembled and stored in a list of possible Audience / Establishment Attributes 29, a sample portion of which is presented below in Table 2. This information is stored in a similar way to the Piece Attributes in Table 1. Each lower nested attribute implies each higher attribute in the tree. Table 2 below shows all of the types of attributes of the preferred embodiment but it has been edited to delete some redundancy of attribute types.
TABLE 2 - AUDIENCE / ESTABLISHMENT ATTRIBUTES
Establishment Attributes and Initial Weightings (n): Type {Retailer, Service Provider, Food & Beverage )
Retailer
Antiques
Art Gallery
Arts & Crafts Automobile Dealership Automobile Parts Body Products
Bath & Shower Perfume 5 Cosmetics
Books
Used
Other Products Sold Coffee/Bakery 10 CDs/Tapes/Music
Gifts New Candy Store Clothing 15 Family Fashions
Female Fashions Young Adult Urban Suburban 20 Business-wear
Upscale Fashions Casual
Intimate Apparel Maternity 25 Accessories
Bridal Men's Fashions
Young Adult Urban 30 Suburban
Business-wear Upscale Fashions Casual Accessories 35 Kids' Fashions
Boys Girls Toddlers Infants 40 Outerwear
Sports
Swim wear Skiing wear Hiking wear 45 All-purpose sports wear
Western Apparel Department Store Electronics/Appliances Florist 50 Greenhouse Gas Station
General
Gift Shop
Grocery Fresh Food Market
Hardware
Health/Nutrition
Home Furnishings Furniture Linens
Accessories
Jewelry
Housewares
Imports Leather Goods/Products
Liquor Store
Luggage
Office Supply
Pet Shop Pet Supplies
Pharmacy/Drug Store
Recreational Vehicle Dealership
Shoes
Family Men's
Women's
Children's
Athletic
Sporting Goods Stationery Stores
Tobacco
Toys
Warehouse Club/Superstores
Mature/Adult Entertainment Service Provider
Airlines
Airports
Automotive Repair
Banks/Financial Business
Car Wash
Child Care
Education
Funeral Home Health Club
Gym
High Energy Medium Energy
Hotel B&B Hotel Lobbies
Resort Laundromat Nursing Home Medical
Clinic
Chiropractor
Dentist
Optometrist Podiatrist
Family Planning
Psychiatrist
Rehabilitation
Substance Abuse Hospital
Veterinarian Movie Theater Museum Recreation Amusement Park
Arcade
Casino/Gambling
Miniature Golf
Pool Hall Rental Supplies
Repair Shop Spa
Beauty
Day Tourism
Cruises
Sightseeing
Historical Travel Agency Real Estate Agency
Salon
Beauty
Tanning
Hair Food/Beverage
Bagel Shop Bakery Bar BBQ Billiards & Brew
Bistro
Brew Pub Restaurant Buffet
Casual Restaurant Cafe Cocktail Lounge Coffeehouse Diner
Dinner Theater Donut Shop
Ethnic
Asian
Chinese Japanese Thai
Korean Indian Cajύn French German
Greek Irish Italian
Traditional Upscale
Pizza Parlor Mid-East
Pakistani Lebanese Southwestern
Spanish
Mexican South American Family Restaurant Fast Foods
Eat-In Take-Out Car Hop Ice Cream Yogurt Parlor Sandwich Shop/Deli
Snack Bar Steakhouse Seafood Tavern Upscale General
Catering Hall Cost Index
Discount Moderate Upscale
Emotive Appeal Elegant Sophisticated Conservative Traditional Romantic Natural Organic Peaceful Relaxed
Comfortable Casual Fun
Friendly Trendy
Alternative Youthful Uplifting Mellow Bright
Energetic Exciting Festive Familiar Tropical
Ethnic Feminine Masculine Camp Target Audience / Demographics
Gender
Male Female Both M/F Ages under 12 12-17 18-25 26-34 35-44
45-60 60+ Lifestyle
Single no kids Single w/ Kids
Married no kids Married w/ Kids Homosexual
Gay Male Lesbian
Education
High School Some College College Grad Post Grad Trade School Profession
Clerical
Computer Employment Services
Engineering
Finance/Insurance
Healthcare
Hospitality Management
Manufacturing
Misc.
Professional
Retail Sales
Student
Retired Household Income
Under $30k $30k-$50k
$50k-$70k
As shown in Figure 2, to specify each Scenario, the expert specifies a sequence of Streams to be repeated, step 31 , and writes Playback Rules (described below) to be used in selecting the Scenario. The repetition of Streams is typically in a pattern such as ABACABAD, where A,B,C, and D each specify a Stream by its identifier. This pattern is stored in the Scenario Clock Table 56 in Figure 4. By this process, a Database of Scenarios 3 is assembled.
The Playback Rules for each Stream and Scenario are built by an expert using the following elements:
1 ) A Current Attribute: This is used to determine if the rule is to take effect to exclude a piece. When constructing a playback sequence, the rule is only active if the currently selected potential song (which was selected at random from the songs of the designated Stream that have not yet been played) has a Piece Attribute matching the Current Attribute.
2) A Target Attribute: This is a Piece Attribute that is searched for in pieces that have already been played since the list of played pieces was last reset to zero.
3) The Rule: A rule can specify one of the following three possibilities a. If the current potential song is selected, then the Target Attribute will have occurred more than n times in succession. b. If the current potential song is selected, then the Target Attribute will have occurred twice within a specified time period n. c. If the current potential song is selected, then the piece immediately before it does not have the Target Attribute. 4) A Value: When n is used in the rule, this value is used for n.
If any one of the rules is true, then the potential song is rejected and a new one is chosen at random from the same Stream. In the preferred embodiment, each rule therefore acts in a negative or exclusionary way. Alternatively, the system can be modified to work with positive rules such as: a song with beginning ("intro") Y shall follow a song with ending X.
The database structure to store the Scenario Database is shown in Figure 4. This is a component of the Master Library 5. The Scenario is named in the Scenario Table 54. Each Scenario can have a number of Attributes attached to it in the Scenario Attributes Table 53, these attributes are assigned by a music specialist as part of step 31 from the list of Audience / Establishment Attributes 29 to show who the scenario is intended for. The definitions of the attributes are copied from the list 29 and held in the Attribute Definition Table 58. In order to capture the hierarchical structure of the Attribute Tree, each record in the Attribute Definition Table 58 contains a reference to the node above it (its parent). If the ParentNodelD does not contain a valid value (usually represented by NULL in a relational database, or possibly an invalid value, like a negative number) then that Node is considered to be the root item of a tree.
As part of the Scenario Attributes Table 53, weightings to be used as part of the selection process are calculated based on the attributes selected by the music specialist.. The weightings are calculated in the following manner. First, a seed weighting is assigned to all of the attributes that the music specialist has selected. This seed weighting is simply an arbitrary number, preferably 5. The system will then attach weightings to all other attributes in the list of Audience / Establishment Attributes 29 by following the following steps: 1. All parent nodes that do not have a weighting assigned to them by the music specialist are assigned a number that is one less than the weighting number given to any child. 2. All child nodes are given the same weighting number as a parent unless they already have a weighting assigned by the music specialist. The following is an example of a part of the attribute tree with weightings assigned as stored in the Attribute Tree Table 44. The bold numbers are the seed weightings. The italic numbers are the calculated weightings. I n this e xample, we have used 5 as the seed weighting.
Establishment Attributes and Initial Weightings (n):
Type {Retailer, Service Provider, Food & Beverage) 2
Retailer 3
Antiques 3
Art Gallery 3
Arts & Crafts 3
Automobile Dealership 3
Automobile Parts 3
Body Products 4
Bath & Shower 5
Perfume 5
Cosmetics 4
Books 3
Used 3
Other Products Sold 3
Coffee/Bakery 3
CDs/Tapes/Music 3
Gifts 3
New 3
Candy Store 3
Clothing 3
Family Fashions 3
Female Fashions 3
Young Adult 3
Urban 3
Suburban 3
Business-wear 3
Upscale Fashions 3
Casual 3
Intimate Apparel 3
Maternity 3
Accessories 3
Bridal 3
Men's Fashions 3
These weighting are used for the automatic selection of scenarios.
A Scenario also has a Clock associated with it. A Clock defines the ordering of Stream playback. Each element of the Clock is stored in the ScenarioClock table 56. Each Stream is defined as a Boolean Expression used by the system to select pieces, and it is defined in the Stream Table 57. In addition to the above structure, a Rules Table 55 allows a number of rules to be attached to each Scenario and Stream. This is achieved by having a column "ApplyTo" which identifies whether the value "ApplyTolD" refers to either a Scenario or a Stream. In order to support the definition of rules as specified above, the Rules Table 55 also includes two references to the Attribute Definition Table 58 to represent the Current Attribute and the Target Attribute. The Rule Type column identifies which of the three rule types this rule belongs to (3a or 3b or 3c above), and the Value provides the n value for the Rule. Operation of the Scenario Selection Expert System The final input to the Scenario Selection Expert System 7 is the set of client
Attributes describing a specific client as illustrated in Figure 5. In many cases a client will have more than one zone that requires media playback, for example, a client may have a restaurant and a bar and a requirement for playing music with a family feel in the restaurant and more adult music in the bar. Each zone is provided with a different SoundScape. For the purposes of system operation, each zone is effectively treated as a separate client.
The client attribute collection is selected by a sales person for the content provider touring the target establishment or asking the proprietor of the establishment a long series of questions. From this interview, the sales person will select a number of Attributes from the establishment attribute tree shown in Table 2 which accurately describe both the client and the client's target audience demographic. These are then input into the expert system that will pick applicable scenarios for the client. This is a simple procedure that is performed by searching all scenarios and calculating a sum of weighting for each scenario for each node of the attribute tree that has been selected as describing the customer site. The scenarios with the largest totals are presumed to be the most applicable for that client. The expert also constructs any Playback Rules that are appropriate for the particular SoundScape.
Within a SoundScape there may be different times of the day when the pieces to be presented should be selected to correspond with the time. For example, if a Scenario is intended for a restaurant, the lunchtime music might be quite different from the after work music. The objective of the system is to create a different "Scenario" for each time of day ("Daypart"65). As shown in Figure 5, there is one Scenario for each Daypart, and all of the Scenarios together with the dayparting information and Playback Rules for the SoundScape, if any, make up a SoundScape 67.
The music specification that is provided to a client consists of one SoundScape for each zone. Each SoundScape is made up of one Scenario for each Daypart and Playback Rules, if any. Within the Scenario Database, each Scenario consists of an ordered sequence of Streams and Playback Rules, if any. A Stream consists of a Boolean Specifier for the Stream specifying a set of desired Attributes and undesired Attributes and an optional set of Playback Rules. The Stream, the Scenario and the SoundScape are generic as to a type of music. They do not specify particular pieces but only specify the character of the music to be played. Thus, each SoundScape is made up of one or more Scenarios; each Scenario is made up of one or more Streams; each Stream is made up of a Boolean Specifier; and each of these items can have an optional set of Playback Rules. The selection of a Scenario for a daypart is done based on the client specified criteria for the desired clientele during that daypart. If there is no good match between the pre created Scenarios and the client's requirements automatically generated by the Weightings, then the request is passed on to a music consultant employed by the content provider who will create a Scenario specifically for that client's demographic. In order to determine which of the pre created Scenarios is a good match, the system takes the attributes attached to all the scenarios and generates weightings for every tree node as described earlier. Then, for each corresponding node that has been selected as describing the client, the weights are totaled. The higher the total, the more appropriate the given scenario. An ideal score would be one that is calculated to be the seed weight multiplied by the number of attributes attached to a customer. This would indicate that the Scenario matched point for point the attributes attached to the customer. In order to determine if a non perfect score was good enough, the human musical specialist would examine the request and determine if:
1. The best match was good enough for the customer; 2. Should a new Scenario be created to fulfill the customer's request;
3. Should an existing Scenario (possibly the highest scorer) be reclassified (probably by having additional attributes added) because it is discovered to be appropriate for a customer that had not been considered at the time of the Scenarios original classification. Selection of Pieces for Download Based on Soundscapes and Negative Filters
The final part of the Master System is a component that is responsible for selecting pieces for download to the client 8. This component looks at the Scenario selected by the expert system for the client (or zone) and uses that as a guide for selecting pieces from the Master Piece Database, along with a record of pieces sent to the client in the past and Negative Filters provided by the client, to select the pieces for download.
Negative Filters for the client are also identified by the sales person during the same tour or interview when the attributes are identified. A Negative filter allows a client to specify that they do not want a specific type of music. For example, if the system had recommended a mixture of 60's and 70's music, and the client had said they did not want to hear any Carpenters music for personal reasons, this allows the system to construct a SoundScape without having a music specialist create a new client specific Stream or Scenario. As long as a piece matches the attribute, historical, and filter selection requirements, it is irrelevant which piece is picked, and so the pieces are picked at random. Because a client will typically arrange for content refresh by piece count, the system is also capable of dividing the refresh quantity between the streams according to their relative usage so that, for example, if a SoundScape for a client specifies three Streams, two during the first half of the day and one for the last half of the day, and a refresh quantity of 100 pieces is desired, the system prepares for delivery 25 songs from each of the first two Streams and 50 from the third. This ensures that the content refresh is spread evenly throughout the SoundScape's performance. Operation of the Client System
Once the pieces along with their associated attributes and a SoundScape have been transmitted to the Client System 2, the client (at the correct time) can begin execution of the performance. The structure of the data held on the client machine is shown in Figure 6. All of the information that is specific to the client in the Master System is downloaded and represented in the Client Piece Library 12 or in the client set of Soundscapes 11 , as shown in Figure 6. This information includes the Zone information in the Zone Table 80, as the system allows one playback device to serve multiple zones. As shown in Figure 6, the structure of the Soundscapes data 11 is similar to the structure of the Scenario Database in the Master System shown in Figure 4. At the top level, the Zone Table 80 describes the different zones in the client's establishment. This is required as a playback device is capable of serving more than one Zone. The Zone Table links to the SoundScape Table 82 which is used to name each SoundScape. The SoundScape Table links to the Daypart Table 84 which specifies which Scenario will play during a given part of the day. The Daypart Table gives both a start and end time for a daypart and no sequence information because a Daypart does not need to be succeeded by or replaced with a different Daypart. The Daypart Table links to the Scenario Table 88 which provides the names of the Scenarios. The Scenario Table links to the Scenario Clock Table 94 which provides the ordering of Streams within a Scenario. This is done using a sequence to determine the playback order. A Stream Contents Table 92 provides a flattened version of the Master Piece Library (as described in relation to Figure 3), in addition to marking which streams a piece belongs to.
In addition to the above tables, there is a final table, the Rule Table 86, which defines the rules in the same way as the Rule Table in Figure 4.
The Boolean Specifier that was used to select pieces for download for each Stream is not included. Instead, each piece that was downloaded is associated with a particular Stream in the Stream Contents Table 92.
The structure of the Client Piece Library is the same as the structure of the Master Piece Library shown in Figure 3 except that parts of the structure have been flattened. This means that instead of maintaining a relationship between a piece definition and an artist name, the relationship is flattened so that the artist name is moved into the piece definition table as shown in the Stream Contents Table 92. Also, the attribute tree is not sent to the client machine and instead, the joining table is flattened into the piece table in the same way. Because the attribute descriptions are only necessary on the Master System where they are viewed by humans, this flattening does not compromise the operation of the system and means that large amounts of redundant and indeed confidential information is not transmitted to the client. Selection of Pieces Based on Playback Rules
Once the pieces along with their associated attributes, and a Scenario are transmitted to the client machine, then the client machine (at the correct time) can begin execution of the performance. Referring to Figure 6, the following is a description of how pieces are selected for playback. First, using the zone information from the Zone Table 80, a specific SoundScape is selected from the SoundScape Table 82. This SoundScape may have a number of rules specified in the Rule Table 86. If it does, then these rules are added to the list of rules to apply when selecting a piece. Second, based on the dayparting information from the Daypart Table 84, a specific scenario is selected. This Scenario also could have a number of rules to be added to the rules list. The Scenario provides a specific sequence of Streams from the Scenario Clock Table 94. Based on a current stream indicator, a specific Stream is selected. The Stream may also have a number of rules that are added to the current rule list. All of the unplayed pieces belonging to a specific Stream are then selected.
This is done based upon a Stream identifier attached to the piece information as shown in the Stream Contents Table 92. On the client machine, the pieces are marked as being attached to specific Streams (rather than using a Boolean expression to select a piece for a stream). This ensures that a specific piece belongs to only one Stream to minimize the amount of replay of a specific piece. The end result of this process is the following information:
1. A collection of rules, each rule originating from either the current SoundScape, Scenario or Stream; and
2. A collection of unplayed pieces from the specific Stream. If there is only one piece available, then that piece is played and all pieces in the
Stream are marked as unplayed for the next iteration of the process. If there is more than one piece available, then the following process happens:
The first available unplayed piece is considered and checked against the Playback Rules. If a piece does not break any rules, it is selected, played and marked as played. If the piece breaks any rules, the piece is discarded and the next available piece is tested against the rules until either one is found and played or all available pieces are exhausted. If all available pieces break at least one rule, then the first piece available is played and marked as played, even though it breaks at least one rule, and the process repeats. An advantage of the method of using playback rules which operate with the detailed list of piece attributes is that any of a very large list of attributes can be used for a rule. For example, because the beginnings and endings of each piece are specified in the list of possible attributes, a rule can be specified that a piece with a certain beginning attribute shall or shall not follow a piece with a certain ending attribute.
While a particular preferred embodiment with some variation of components has been described, many other variations on particular components or steps in the method can easily be designed. All of the obvious variations and equivalent components or method steps are contemplated to be within the scope of the above described inventions.

Claims

What is claimed:
1. A computer method for selecting a set of pieces to be played for a target audience, comprising: a. storing in a computer memory an identification of a target audience and, associated therewith, one or more attributes characterizing the audience selected from a list of possible attributes; b. for each of a plurality of sets of pieces, receiving a set of audience attributes from the list of possible attributes to which weightings have been assigned for the set of pieces, which weightings indicate the suitability of the set of pieces for an audience characterized by the attribute, and storing in a computer memory an identification of each set of pieces and, associated therewith the attributes with assigned weightings; c. selecting one or more but less than all of the sets of pieces to be played for the target audience by selecting those sets of pieces with associated weighted attributes that match the attributes associated with the identification of the target audience.
2. A computer system for selecting a set of pieces to be played for a target audience, comprising: a. means for storing in a computer memory an identification of a target audience and, associated therewith, one or more attributes characterizing the audience selected from a list of possible attributes; b. means for receiving, for each of a plurality of sets of pieces, a set of audience attributes from the list of possible attributes to which weightings have been assigned for the set of pieces, which weightings indicate the suitability of the set of pieces for an audience characterized by the attribute, and storing in a computer memory an identification of each set of pieces and, associated therewith the attributes with assigned weightings; c. means for selecting one or more but less than all of the sets of pieces to be played for the target audience by selecting those sets of pieces with associated weighted attributes that match the attributes associated with the identification of the target audience.
3. A computer readable medium containing a computer program which, when run on a computer, causes the computer to perform steps of selecting a set of pieces to be played for a target audience, comprising: a. storing in a computer memory an identification of a target audience and, associated therewith, one or more attributes characterizing the audience selected from a list of possible attributes; b. for each of a plurality of sets of pieces, receiving a set of audience attributes from the list of possible attributes to which weightings have been assigned for the set of pieces, which weightings indicate the suitability of the set of pieces for an audience characterized by the attribute, and storing in a computer memory an identification of each set of pieces and, associated therewith the attributes with assigned weightings; c. selecting one or more but less than all of the sets of pieces to be played for the target audience by selecting those sets of pieces with associated weighted attributes that match the attributes associated with the identification of the target audience.
4. A method for using human expert input to select by computer a set of pieces to be played for a target audience, comprising: a. assigning to a target audience one or more attributes characterizing the audience selected from a list of possible audience attributes and storing in a computer memory an identification of the audience and, associated therewith, the selected attributes; b. identifying a plurality of sets of pieces and, for each set of pieces, assigning weightings to one or more of the attributes in the list of possible audience attributes which weightings indicate the suitability of the set of pieces for an audience characterized by the attribute, and storing in a computer memory an identification of each set of pieces and, associated therewith, the selected attributes to which weightings were assigned for that set of pieces; and c. by computer, associating one or more but less than all of the sets of pieces with the target audience by selecting those sets of pieces with associated weighted attributes that match the attributes associated with the audience.
5. A method for selecting by computer from a master library of pieces a subset of pieces to make up a subset library from which the pieces are to be presented to an audience, comprising: a. receiving for each of a plurality of pieces one or more attributes characterizing the piece selected from a list of possible attributes and, for each piece, storing in a computer memory for a master library an identification of each piece and, associated therewith, the selected attributes; b. receiving a boolean set specifier which specifies that pieces associated with one or more or the selected attributes are to be included or excluded; and c. selecting by computer for a subset library piece identifiers of the master library which are associated with attributes that satisfy the boolean specifier.
6. The method of claim 5 where two or more boolean specifiers are written and used, further comprising: d. receiving a specified repeating order for application of the boolean specifiers where a first one of the boolean specifiers is applied more than a second one of the boolean specifiers; and e. selecting for the subset library more piece identifiers associated with attributes that satisfy the first boolean specifier than piece identifiers associated with attributes that satisfy the second boolean specifier.
7. The method of claim 5 further comprising: d. copying the selected piece identifiers to a computer memory for the subset library.
8. A computer system for selecting from a master library of pieces a subset of pieces to make up a subset library from which the pieces are to be presented to an audience, comprising: a. means for receiving for each of a plurality of pieces one or more attributes characterizing the piece selected from a list of possible attributes and, for each piece, storing in a computer memory for a master library an identification of each piece and, associated therewith, the selected attributes; b. means for receiving a boolean set specifier which specifies that pieces associated with one or more or the selected attributes are to be included or excluded; and c. means for selecting by computer for a subset library piece identifiers of the master library which are associated with attributes that satisfy the boolean specifier.
9. The computer system of claim 8 where two or more boolean specifiers are written and used, further comprising: d. means for receiving a specified repeating order for application of the boolean specifiers where a first one of the boolean specifiers is applied more than a second one of the boolean specifiers; and e. means for selecting for the subset library more piece identifiers associated with attributes that satisfy the first boolean specifier than piece identifiers associated with attributes that satisfy the second boolean specifier.
10. The computer system of claim 8 further comprising: d. means for copying the selected piece identifiers to a computer memory for the subset library.
11. A computer readable medium containing a computer program which, when run on a computer, causes the computer to perform steps of selecting from a master library of pieces a subset of pieces to make up a subset library from which the pieces are to be presented to an audience, comprising: a. receiving for each of a plurality of pieces one or more attributes characterizing the piece selected from a list of possible attributes and, for each piece, storing in a computer memory for a master library an identification of each piece and, associated therewith, the selected attributes; b. receiving a boolean set specifier which specifies that pieces associated with one or more or the selected attributes are to be included or excluded; and c. selecting by computer for a subset library piece identifiers of the master library which are associated with attributes that satisfy the boolean specifier.
12. The computer readable medium containing a computer program of claim 11 wherein two or more boolean specifiers are written and used, further comprising the steps of: d. receiving a specified repeating order for application of the boolean specifiers where a first one of the boolean specifiers is applied more than a second one of the boolean specifiers; and e. selecting for the subset library more piece identifiers associated with attributes that satisfy the first boolean specifier than piece identifiers associated with attributes that satisfy the second boolean specifier.
13. The computer readable medium of claim 11 wherein the steps further comprise: d. copying the selected piece identifiers to a computer memory for the subset library.
14. A method for generating by computer a sequence of pieces to be played, comprising: a. receiving for each of a plurality of pieces identified in a library an assignment of a stream which is a category into which the piece has been placed, and storing in a computer memory an identification of each piece and, associated therewith, the assigned stream; b. receiving a stream order which specifies a sequence of streams to be followed and repeated, and storing the stream order in a computer memory; and c. generating by computer, from the pieces identified in the library, a sequence of pieces wherein pieces are selected one piece from each successive stream in the stream order and then the stream order is repeated.
15. A computer system for generating a sequence of pieces to be played, comprising: a. means for receiving for each of a plurality of pieces identified in a library an assignment of a stream which is a category into which the piece has been placed, and storing in a computer memory an identification of each piece and, associated therewith, the assigned stream; b. means for receiving a stream order which specifies a sequence of streams to be followed and repeated, and storing the stream order in a computer memory; and c. means for generating by computer, from the pieces identified in the library, a sequence of pieces wherein pieces are selected one piece from each successive stream in the stream order and then the stream order is repeated.
16. A computer readable medium containing a computer program which, when run on a computer, causes the computer to perform steps of generating by computer a sequence of pieces to be played, comprising: a. receiving for each of a plurality of pieces identified in a library an assignment of a stream which is a category into which the piece has been placed, and storing in a computer memory an identification of each piece and, associated therewith, the assigned stream; b. receiving a stream order which specifies a sequence of streams to be followed and repeated, and storing the stream order in a computer memory; and c. generating by computer, from the pieces identified in the library, a sequence of pieces wherein pieces are selected one piece from each successive stream in the stream order and then the stream order is repeated.
17. A computer method for selecting pieces from a library of pieces for presentation to an audience, comprising: a. receiving a definition of a first level grouping of pieces which specifies a plurality of pieces to be presented to an audience and storing said first level grouping definition in a computer memory; b. receiving a definition of a second level grouping comprised of a plurality of first level groupings and storing said second level grouping definition in a computer memory; c. receiving a specification of a second level grouping to be presented to a specific audience; and d. selecting from a library of pieces those pieces which satisfy the first level groupings specified by the second level grouping.
18. A computer system for selecting pieces from a library of pieces for presentation to an audience, comprising: a. means for receiving a definition of a first level grouping of pieces which specifies a plurality of pieces to be presented to an audience and storing said first level grouping definition in a computer memory; b. means for receiving a definition of a second level grouping comprised of a plurality of first level groupings and storing said second level grouping definition in a computer memory; c. means for receiving a specification of a second level grouping to be presented to a specific audience; and d. means for selecting from a library of pieces those pieces which satisfy the first level groupings specified by the second level grouping.
19. A computer readable medium containing a computer program which, when run on a computer, causes the computer to perform steps of selecting pieces from a library of pieces for presentation to an audience, comprising: a. receiving a definition of a first level grouping of pieces which specifies a plurality of pieces to be presented to an audience and storing said first level grouping definition in a computer memory; b. receiving a definition of a second level grouping comprised of a plurality of first level groupings and storing said second level grouping definition in a computer memory; c. receiving a specification of a second level grouping to be presented to a specific audience; and d. selecting from a library of pieces those pieces which satisfy the first level groupings specified by the second level grouping.
20. A computer method for generating a sequence of pieces to be played, comprising: a. receiving for each of a plurality of pieces identified in a library a beginning attribute selected from a list of possible attributes characterizing the piece's beginning and an ending attribute selected from a list of possible attributes characterizing the piece's ending, and storing in a computer memory an identification of each piece and, associated therewith, the selected attributes; b. receiving a rule which specifies that a piece with a selected beginning attribute shall or shall not follow a piece with a selected ending attribute and storing the rule in a computer memory; and c. generating, from the pieces identified in the library, a sequence of pieces which complies with the rule.
21. A computer system for generating a sequence of pieces to be played, comprising: a. means for receiving for each of a plurality of pieces identified in a library a beginning attribute selected from a list of possible attributes characterizing the piece's beginning and an ending attribute selected from a list of possible attributes characterizing the piece's ending, and storing in a computer memory an identification of each piece and, associated therewith, the selected attributes; b. means for receiving a rule which specifies that a piece with a selected beginning attribute shall or shall not follow a piece with a selected ending attribute and storing the rule in a computer memory; and c. means for generating, from the pieces identified in the library, a sequence of pieces which complies with the rule.
22. A computer readable medium containing a computer program which, when run on a computer, causes the computer to perform steps of generating a sequence of pieces to be played, comprising: a. receiving for each of a plurality of pieces identified in a library a beginning attribute selected from a list of possible attributes characterizing the piece's beginning and an ending attribute selected from a list of possible attributes characterizing the piece's ending, and storing in a computer memory an identification of each piece and, associated therewith, the selected attributes; b. receiving a rule which specifies that a piece with a selected beginning attribute shall or shall not follow a piece with a selected ending attribute and storing the rule in a computer memory; and c. generating, from the pieces identified in the library, a sequence of pieces which complies with the rule.
PCT/US2001/011106 2000-04-05 2001-04-04 Expert system for play list generation WO2001077846A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001251347A AU2001251347A1 (en) 2000-04-05 2001-04-04 Expert system for play list generation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54357600A 2000-04-05 2000-04-05
US09/543,576 2000-04-05

Publications (1)

Publication Number Publication Date
WO2001077846A1 true WO2001077846A1 (en) 2001-10-18

Family

ID=24168608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/011106 WO2001077846A1 (en) 2000-04-05 2001-04-04 Expert system for play list generation

Country Status (2)

Country Link
AU (1) AU2001251347A1 (en)
WO (1) WO2001077846A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1459211A1 (en) * 2001-11-01 2004-09-22 Syntonetic APS Automatic machine for production of sequences based on profiles as well as method for automatic production of sequences
US7840292B2 (en) 2004-12-10 2010-11-23 Koninklijke Philips Electronics N.V. Multiuser playlist generation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US5864868A (en) * 1996-02-13 1999-01-26 Contois; David C. Computer control system and user interface for media playing devices
US5995094A (en) * 1996-03-04 1999-11-30 U.S. Philips Corporation User-oriented multimedia presentation system for multiple presentation items that each behave as an agent
US6051770A (en) * 1998-02-19 2000-04-18 Postmusic, Llc Method and apparatus for composing original musical works
US6069310A (en) * 1998-03-11 2000-05-30 Prc Inc. Method of controlling remote equipment over the internet and a method of subscribing to a subscription service for controlling remote equipment over the internet
US6093880A (en) * 1998-05-26 2000-07-25 Oz Interactive, Inc. System for prioritizing audio for a virtual environment
US6121530A (en) * 1998-03-19 2000-09-19 Sonoda; Tomonari World Wide Web-based melody retrieval system with thresholds determined by using distribution of pitch and span of notes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US5864868A (en) * 1996-02-13 1999-01-26 Contois; David C. Computer control system and user interface for media playing devices
US5995094A (en) * 1996-03-04 1999-11-30 U.S. Philips Corporation User-oriented multimedia presentation system for multiple presentation items that each behave as an agent
US6051770A (en) * 1998-02-19 2000-04-18 Postmusic, Llc Method and apparatus for composing original musical works
US6069310A (en) * 1998-03-11 2000-05-30 Prc Inc. Method of controlling remote equipment over the internet and a method of subscribing to a subscription service for controlling remote equipment over the internet
US6121530A (en) * 1998-03-19 2000-09-19 Sonoda; Tomonari World Wide Web-based melody retrieval system with thresholds determined by using distribution of pitch and span of notes
US6093880A (en) * 1998-05-26 2000-07-25 Oz Interactive, Inc. System for prioritizing audio for a virtual environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1459211A1 (en) * 2001-11-01 2004-09-22 Syntonetic APS Automatic machine for production of sequences based on profiles as well as method for automatic production of sequences
US7840292B2 (en) 2004-12-10 2010-11-23 Koninklijke Philips Electronics N.V. Multiuser playlist generation

Also Published As

Publication number Publication date
AU2001251347A1 (en) 2001-10-23

Similar Documents

Publication Publication Date Title
Hernandez Bachata: a social history of a Dominican popular music
Guilbault Zouk: world music in the West Indies
Lornell Exploring American Folk Music: Ethnic, Grassroots, and Regional Traditions in the United States
Radbourne et al. The value of ‘being there’: How the live experience measures quality for the audience
Peterson et al. Alternative country: Origins, music, world‐view, fans, and taste in genre formation
Shope American popular music in Britain's Raj
San Miguel Tejano proud: Tex-Mex music in the twentieth century
Horsfall et al. Music sociology: Examining the role of music in social life
Ridwan The art of the arranger in pop Sunda, Sundanese popular music of West Java, Indonesia
Mizell Music Preferences in the US: 1982-2002.
Peterson et al. The Disembodied Muse
Dawson Rock Around the Clock: The Record that Started the Rock Revolution!
Pinckney Puerto Rican jazz and the incorporation of folk music: An analysis of new musical directions
Lanza The Sound of Cottage Cheese:(Why Background Music is the Real World Beat!)
Stephans Experiencing Jazz: A Listener's Companion
WO2001077846A1 (en) Expert system for play list generation
Rasmussen Individuality and social change in the music of Arab-Americans
Schaefer “Oh, You Didn't Think Just the Devil Writes Songs, Do Ya?” Music in American Evangelical Culture Today
Shunwei et al. Establishment Of Philippine Popular Music Industry
Mitsui Introduction: Embracing the West and Creating a Blend
Scales The North American Aboriginal Recording Industry
Van Belle Northern Afghanistan
Potisansuk ISAN FOLK PERFORMING ARTS: A CASE STUDY OF RABIEBWATHASIL MUSIC MORLAM BAND
Rantanen 5. Music and Migration: John Rosendahl as a Musical Entrepreneur in the United States in the 1920s and Early 1930s
Kinsella Soho After the Raids

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP