WO2002003371A2 - Electronic musical accompaniment - Google Patents

Electronic musical accompaniment Download PDF

Info

Publication number
WO2002003371A2
WO2002003371A2 PCT/GB2001/002927 GB0102927W WO0203371A2 WO 2002003371 A2 WO2002003371 A2 WO 2002003371A2 GB 0102927 W GB0102927 W GB 0102927W WO 0203371 A2 WO0203371 A2 WO 0203371A2
Authority
WO
WIPO (PCT)
Prior art keywords
accompaniment
soundtrack
unit
data
electronic
Prior art date
Application number
PCT/GB2001/002927
Other languages
French (fr)
Other versions
WO2002003371A3 (en
Inventor
Malcolm Messiter
Original Assignee
The Virtual Orchestra Company Limited
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 The Virtual Orchestra Company Limited filed Critical The Virtual Orchestra Company Limited
Priority to AU2001266222A priority Critical patent/AU2001266222A1/en
Publication of WO2002003371A2 publication Critical patent/WO2002003371A2/en
Publication of WO2002003371A3 publication Critical patent/WO2002003371A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Definitions

  • the present invention relates to the electronic provision of musical accompaniment.
  • the invention relates to an electronic unit for providing musical accompaniment and methods of operation of such a unit, and to a system for providing access to musical accompaniment soundtracks.
  • Musicians often wish to play music accompanied by other musicians. This may be for practise, for example a skilled violinist may wish to practise a violin concerto accompanied by a full orchestra or a pianist playing a reduced arrangement of the full score. The same situation arises across the entire range of musical instruments and musician skills.
  • a student of the violin for example, may wish to practise pieces for examination accompanied by a pianist, or musicians of any skill level may wish merely to play accompanied music for their own pleasure and amusement.
  • the tempo of the music is fixed, and the musician might prefer to play the music more slowly, for example to practise.
  • the vinyl record, tape or CD media which might be used have limited lifetimes, as well as associated production and distribution costs dictating, for example, minimum viable production and sale quantities. Furthermore, such media may be easily copied without the permission of the supplier, or otherwise misused.
  • the present invention addresses these and other problems of the related prior art.
  • Embodiments of the invention allow a user to download musical accompaniment datasets from a network or data carrying medium to an accompaniment unit, which may conveniently be a suitably programmed personal computer.
  • Musical notation and/or song lyrics may be included with an accompaniment dataset.
  • Embodiments of the invention allow such datasets to be licensed for use on a single accompaniment unit or personal computer, and provide protection against misuse of parts or all of such a dataset.
  • a musical accompaniment unit (which may be a suitably programmed and equipped personal computer) according to the preferred embodiment of the invention is operable to audibly play a downloaded musical accompaniment soundtrack, to simultaneously display downloaded musical notation and/or song lyrics, and to simultaneously record one or more solo soundtracks.
  • the unit is also operable to decrypt parts of an accompaniment dataset if and when necessary.
  • the above-mentioned unit according to the preferred embodiment is also operable to play back one or more recorded solo soundtracks synchronously with an accompaniment soundtrack and to carry out various operations on the soundtracks, such as remixing, pitch shifting, tone shifting, compression and communication over a network.
  • the invention provides a system for providing musical accompaniment, the system comprising: a data routing network; a soundtrack archive comprising one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; an electronic musical accompaniment unit connected to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment soundtrack from a dataset containing the soundtrack; and a transaction server connected to said network; whereby in use the system operates by: sending a permission request message across said network to said transaction server; said transaction server receiving said permission request message and processing the permission request message to determine if access permission should be granted to said accompaniment unit, said transaction server on determining that permission should be granted then sending an access approval message across said network to said accompaniment unit; said accompaniment unit being further adapted, on receipt of said access approval message, to enable playback of the accompaniment soundtrack contained in at least one of said datasets.
  • each accompaniment unit may be provided by a personal computer suitably equipped and programmed, and software to program such a personal computer for use as an accompaniment unit may be made available, for example by download, over the network.
  • a plurality of soundtrack archives may be made available to users of the system.
  • soundtrack archives are provided by soundtrack archive servers connected to the data network.
  • soundtrack archives may be provided by computer readable media readable locally by an accompaniment unit.
  • each accompaniment unit is provided with a data storage area, and is operable to copy a selected one of said datasets from said soundtrack archive to said data storage area.
  • said permission request message and said access approval message relate to said selected one of said datasets, and said accompaniment unit is operable, on receipt of said access approval message, to enable playback of the accompaniment soundtrack contained within said selected dataset.
  • the accompaniment soundtrack in each dataset is encrypted.
  • the accompaniment unit is operable, on receipt of said access approval message from said transaction server system, to: generate a first license code from locally available source data including data unique to the selected dataset and data unique to the accompaniment unit; and to store said first license code in said data storage area.
  • the accompaniment unit is operable, when requested to play an accompaniment soundtrack contained within a chosen dataset, to: generate a second license code from locally available source data including data unique to the chosen dataset and data unique to the accompaniment unit; retrieve from the data storage area a stored license code associated with the chosen dataset; compare said stored license code the second licence code; and to play the accompaniment soundtrack only if the stored and second license codes match, decrypting the accompaniment soundtrack if necessary.
  • the accompaniment unit is operable to enable a user soundtrack to be recorded synchronously to the playback of one of said accompaniment soundtracks.
  • Accompaniment datasets may also contains lyrics and lyrics timing information, the accompaniment unit being adapted to display the lyrics synchronously with the playback of the associated accompaniment soundtrack.
  • Datasets may also contains images and image timing information, the accompaniment unit being adapted to display the images synchronously with the playback of the associated accompaniment soundtrack.
  • the invention also provides an electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; memory for storing an accompaniment soundtrack in an encoded electronic format, and for storing a user soundtrack in an encoded electronic format; the unit being operable to decode and route the accompaniment soundtrack stored in the memory to the one or more audio outputs for playback thereby, and to receive the user soundtrack from the one or more audio inputs and encode and route the user soundtrack to said memory for storage therein, whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack input through the one or more audio inputs.
  • the invention also provides an electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; a first area of memory for storing an accompaniment soundtrack in an encoded electronic format; a second area of memory for storing a user soundtrack in an encoded electronic format; a playback module for decoding and routing the accompaniment soundtrack stored in the first area of memory to the one or more audio outputs for playback thereby; and a recording module for receiving the user soundtrack from the one or more audio inputs and for encoding and routing the user soundtrack to said second area of memory for storage therein, whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack input through the one or more audio inputs.
  • Soundtracks may be electronically encoded in a variety of ways familiar to the person skilled in the art, for example in the ".wav”, "MP3", or other digital formats, which may be suitably compressed or not, and have any selected sampling rate, frequency range and so on.
  • a variety of ancillary data components may conveniently be transferred and stored with each accompaniment dataset, such as images, lyrics, timing information, licensing information and so on.
  • accompaniment soundtracks are stored in an encrypted form in said first area of memory.
  • the accompaniment unit further comprises: a third area of memory for storing a stored license code associated with said accompaniment soundtrack; a license checking module for using said stored license code to establish if the accompaniment unit is entitled to decrypt the accompaniment soundtrack; and a decryption module for receiving the encrypted accompaniment soundtrack from the first area of memory and for decrypting and routing the accompaniment soundtrack to said playback module.
  • the accompaniment unit further comprises a license code generating module for scrambling locally available source data to generate a generated license code, the license checking module establishing that the accompaniment soundtrack may be played, and decrypted if necessary, if the stored license code and the generated license code match.
  • the locally available source data includes data unique to the encrypted accompaniment soundtrack and data unique to the unit.
  • the data unique to the unit may include the electronically available serial number of a hard disk drive or other component connected to or forming a part of the unit .
  • Other possibilities include using a serial number or other unique piece of information about a motherboard or microprocessor.
  • data such as a password unique to a user of the unit, a uniquely programmed smart card or other source of verification could be used.
  • the unit further comprises a transaction module for receiving a licensing permission message from a remote transaction server through a network, generating a license code for said accompaniment track using said license code generating module in the manner mentioned above and storing said license code in said third area of memory.
  • the transaction module is further adapted to carry out an integrity check to ensure the integrity of the accompaniment soundtrack and the associated playback data before generating a license code.
  • the unit further comprises a dataset download module for connecting to a remote soundtrack archive server through a network, and downloading one or more accompaniment soundtracks in an encoded electronic format from said server.
  • the accompaniment unit further comprises a visual display. The unit may then be provided with an image display module adapted to display on said visual display, synchronously with the playback of an associated accompaniment soundtrack, images contained within image data associated with said accompaniment soundtrack.
  • the image data further includes image timing data referenced to the timing of said associated accompaniment soundtrack
  • the image display module is adapted to display a particular one or more of said images during an interval of the playback of said accompaniment soundtrack determined by said image timing data.
  • the image data may conveniently include images depicting musical notation. However, the image data may comprise other images for display during play back of the accompaniment soundtrack. Musical notation may also be stored in a non-image form for subsequent display.
  • the unit may also be provided with a lyrics display module adapted to route to the visual display lyrics contained within lyrics data associated with said accompaniment soundtrack synchronously with the play back of an associated accompaniment soundtrack
  • the lyrics data also includes lyrics timing data referenced to the timing of said associated accompaniment soundtrack, the lyrics display module being adapted to display a subset of said lyrics during a timing interval of the playback of said associated accompaniment soundtrack determined by said lyrics timing data.
  • the lyrics display module is adapted to highlight a subset of the displayed lyrics during a timing interval of the playback of the associated accompaniment soundtrack determined by said lyrics timing data.
  • the unit is adapted to receive a user soundtrack from the recording module and to combine it with the synchronously played accompaniment soundtrack before storing the mixed soundtrack in said second area of memory, or playing the mixed soundtrack using the audio outputs. This process may conveniently be carried out in the playback module and volume control and various digital effects applied as desired.
  • the unit further comprises a compression module for receiving a soundtrack from said second area of memory or from the playback module or elsewhere in the unit, compressing said soundtrack and storing the compressed soundtrack in a fourth area of memory .
  • a compression module for receiving a soundtrack from said second area of memory or from the playback module or elsewhere in the unit, compressing said soundtrack and storing the compressed soundtrack in a fourth area of memory .
  • the compression module may be adapted to accept a user selected compression degree parameter, to calculate a sound quality parameter related to the expected quality of an audio signal reproduced from a soundtrack compressed using the selected compression degree parameter, and to route a symbol indicative of the sound quality parameter to a visual output, to thereby assist the user in the choice of compression degree parameter.
  • the compression module is further adapted to accept a data rate parameter representative of the data rate at which a compressed soundtrack is expected to be transmitted over a network, to calculate an estimated transmission time from the available parameters, and to route said estimate transmission time to a visual display.
  • the unit also includes an e-mail module for forwarding a compressed soundtrack from the unit, for example from said fourth area of memory, over a network to a remote recipient computer.
  • an e-mail module for forwarding a compressed soundtrack from the unit, for example from said fourth area of memory, over a network to a remote recipient computer.
  • the unit also includes a media writing module for writing a compressed or uncompressed soundtrack to a computer readable medium such as a floppy disk or optical disk.
  • a media writing module for writing a compressed or uncompressed soundtrack to a computer readable medium such as a floppy disk or optical disk.
  • the invention also provides a data compression unit, preferably implemented in software under the control of an operating system providing a graphical user interface, for receiving an audio data file in an electronic format, compressing said audio data file and outputting the compressed audio file, the data compression unit having a visual output and being adapted to: accept a user selected compression degree parameter; calculate a sound quality parameter related to the expected quality of an audio signal that would be reproduced from an audio file compressed using the selected compression degree parameter; and to route a symbol indicative of- the sound quality parameter to the visual output, thereby assisting the user of the data compression unit in the choice of compression degree parameter.
  • the data compression unit is further adapted to: accept a data rate parameter representative of the data rate at which a compressed audio file may be transmitted over a network; calculate an estimated transmission time using the compression degree parameter, the size of the audio data file and the data rate parameter, and to route said estimated transmission time to the visual output.
  • the invention also provides a method of providing musical accompaniment using a data routing network, the method comprising the steps of: providing a soundtrack archive comprising one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; providing an electronic musical accompaniment unit connected to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment soundtrack from a dataset containing the soundtrack; providing a transaction server connected to said network; sending a permission request message from said accompaniment unit across said network to said transaction server; at said transaction server, receiving said permission request message and processing the permission request message to determine if access permission should be granted to said accompaniment unit; on determining that permission should be granted, sending an access approval message from said transaction server across said network to said accompaniment unit; and following receipt of said access approval message by said accompaniment unit, enabling playback by said accompaniment unit of the accompaniment soundtrack contained in at least one of said datasets.
  • the invention also provides a method of electronically providing musical accompaniment comprising the steps of: storing an accompaniment soundtrack in an encoded electronic format in a first area of memory; decoding said accompaniment soundtrack and routing it to one of more audio outputs for playback thereby; receiving a user soundtrack from one or more audio inputs synchronously with the playback of said accompaniment soundtrack; and encoding said user soundtrack into an electronic format and storing it in a second area of memory.
  • the invention also provides computer programs, computer program elements, and computer readable media carrying such programs and program elements, for carrying out the steps of the methods of the invention and for implementing suitable elements of apparatus of the invention on suitable computer and communications equipment.
  • Figure 1 is a schematic diagram of a system for providing access to musical accompaniment soundtracks according to the preferred embodiment of the present invention
  • Figure 2 is a schematic diagram of data elements contained in a musical accompaniment dataset according to the preferred embodiment of the invention
  • Figure 3 is a schematic diagram of an electronic musical accompaniment unit according to the preferred embodiment
  • Figure 4 shows a dataset download window provided by an accompaniment unit according to the preferred embodiment
  • Figure 5 shows an image display window provided by an accompaniment unit according to the preferred embodiment, the window displaying a musical notation image
  • Figure 6 shows a lyrics display window provided by an accompaniment unit according to the preferred embodiment
  • Figure 7 shows a recording control window provided by an accompaniment unit according to the preferred embodiment
  • Figure 8 shows a solo soundtrack archive window provided by an accompaniment unit according to the preferred embodiment
  • Figure 9 shows a compression module control window provided by an accompaniment unit according to the preferred embodiment
  • Figure 10 shows a compressed soundtrack archive window provided by an accompaniment unit according to the a preferred embodiment.
  • Figure 11A shows an interface for use in setting up timing parameters for a count-in facility
  • Figure 11B shows an interface for use in setting up operation of a count-in facility
  • Figures 11C, 11D and HE show various display modes of the count-in facility set up using the interfaces of figures HA and 11B.
  • the system comprises one or more electronic musical accompaniment units 10, a transaction server 30 and a soundtrack archive server 50. These elements are able to communicate with each other, for example to transfer data, over a data network 40.
  • Each accompaniment unit 10 is provided with a visual display 12, one or more audio outputs 14, one or more audio inputs 16, one or more data entry devices 18, some data storage 20, typically including one or more hard disk devices and integrated circuit random access memory, and, preferably, a media reading device 22.
  • each electronic musical accompaniment unit 10 is provided by a personal computer.
  • the visual display 12 is provided by the computer monitor.
  • the data entry devices 18 are provided by the computer keyboard and mouse.
  • the audio outputs 14 are provided by one or more loud speakers with suitable driving circuitry and software.
  • the audio input devices 16 are provided by one or more microphones with suitable electronic circuitry and software.
  • the media reading device 22 is provided by a device such as a CD-Rom drive or a DVD drive.
  • the electronic musical accompaniment unit 10 is adapted to read audio data from one of the one or more accompaniment datasets 60 stored in the data storage 20, and to play back an accompaniment soundtrack contained in a dataset 60 using the audio output 14.
  • the accompaniment unit 10 is configured, while playing back a soundtrack, to simultaneously route to the visual display 12 musical notation, images, song lyrics or other information associated with the accompaniment soundtrack and provided within the accompaniment dataset 60.
  • the accompaniment unit 10 provides facilities for the user to record one or more solo soundtracks using the audio input 16, and in particular the facility to do so synchronously with the play back of an accompaniment soundtrack.
  • Accompaniment datasets 60 may be downloaded from computer readable media such as a CD-ROM read using a local media reading device 22, or may be downloaded over the network 40 from the remote soundtrack archives server 50.
  • Solo soundtracks can be mixed with accompaniment soundtracks, optionally using various digital effects, and the resulting soundtrack e-mailed or otherwise distributed to third parties.
  • the accompaniment soundtrack data held in each accompaniment dataset 60 is encrypted to make the audio data unplayable without authorisation, for example by unauthorised accompaniment units or other unauthorised devices.
  • the accompaniment unit 10 To decrypt and play an accompaniment soundtrack, the accompaniment unit 10 must obtain authorisation by communicating over the network with the transaction server 30. These communications may entail providing the transaction server 30 with particular details of the accompaniment unit 10, the user of the unit, financial information such as payment details and so forth.
  • the accompaniment unit In order to provide a sample of a soundtrack, the accompaniment unit may be enabled to decrypt and play a part of an encrypted soundtrack without any authorisation having been granted by the transaction server. A sample of an accompaniment soundtrack lasting about 10 seconds may be sufficient for this purpose, and other functions of the unit such as image or lyrics display, or recording, may be disabled for this purpose.
  • Both the transaction server 30 and the soundtrack archive server 50 may be provided by computer systems having appropriate network connections and data storage facilities. A plurality of either of these types of systems may be provided. Equally, the functionality of a transaction server 30 and a soundtrack archive server 50 may be combined in a single system.
  • the network 40 may be a local or private network, but more conveniently will be at least partly provided by the publicly accessible Internet. In this way, access to accompaniment datasets 60 may be provided to a large number of consumers.
  • Figure 2 illustrates the components that make up an accompaniment dataset 60 in the preferred embodiment of the invention.
  • the various components may be stored together or separately in any convenient form on a soundtrack archive server 50 or on a computer readable medium.
  • the various components of the accompaniment dataset 60 are preferably concatenated together to form a single concatenated data file.
  • This concatenated file begins with a header 62 and also contains an accompaniment soundtrack file 64, optionally one or more image files 66, optionally a lyrics file 68, a control data file 70 and a check sum 72.
  • the header 62 contains information denoting the dataset length, contents, creation and other identification and house keeping information.
  • the checksum 72 contains information allowing the components of the accompaniment dataset 60 to be checked for integrity.
  • the accompaniment soundtrack file 64 contains audio data preferably encoded into a suitably compressed format to reduce data storage and communication requirements.
  • the "MP3" compression scheme is used. This is the MPEG-1 Layer 3 (Moving Pictures Expert Group) format for storing digital audio data.
  • the accompaniment soundtrack file 64 is also encrypted to prevent unauthorised users from making use of the audio data.
  • the one or more image files 66 contain graphical data for display by an accompaniment unit 10 when the accompaniment soundtrack is being played. These image files may contain images depicting musical notation corresponding to the accompaniment soundtrack, and in particular musical notation representing the solo musical part that is absent from the accompaniment soundtrack, and that is to be played by the user of the unit 10.
  • the dataset 60 could contain data specifying musical notation logically, for example in the form of a code using numbers and/or characters, rather than, or as well as, by means of an image.
  • the image files 66 may also contain decorative images or other data.
  • the lyrics file 68 contains text. This text provides the lyrics to be sung by the user of the accompaniment unit 10 when the accompaniment soundtrack is being played, for example if the accompaniment dataset relates to a song.
  • the control data file 70 is a text file containing information relating to the play back of the accompaniment dataset, simultaneous presentation of associated play back data, and other control data.
  • the control data file is organised into a number of sections.
  • the "main" section contains general information relating to the accompaniment dataset 60. This information may include a price or price code to provide the user of the accompaniment unit 10 with information as to the financial price that will be charged by the transaction server 30 to provide information to decrypt and play the accompaniment soundtrack. It may also include title information, information relating to the composer of the accompaniment music, information relating to the solo instrument omitted from the accompaniment soundtrack, and information relating to the technical difficulty level of the music.
  • the "accompaniment" section of the control data file 70 contains information relating to the accompaniment soundtrack file 64, and in particular the name of this file. ' License code information is also written to this section by the accompaniment unit 10 when permission has been granted to decrypt the accompaniment soundtrack file 64.
  • the "notation" section of the control data file 70 includes information relating to the image file 66 which may contain musical notation images, and in particular the names of the files containing the musical notation or other images.
  • the "timing" section of the control data file 70 contains information relating to when each image file, and in particular each image file containing musical notation should be displayed on the display unit. These timing details allow the display of the musical notation images to be synchronised with the play back of the accompaniment soundtrack.
  • the "lyrics" section of the control data file 70 contains timing and other information relating to the presentation of the words contained in the lyrics file 68. This timing information enables the accompaniment unit 10 to display appropriate groups of lyrics and to highlight particular words, in synchronisation with the play back of the accompaniment soundtrack. This section may also contain details relating to the print style, colour etc in which the lyrics words are to be presented.
  • the "takes" section of the control data file 70 initially contains no information.
  • details relating to the user soundtrack are entered in this section of the control data file 70.
  • the "levels” section of the control data file 70 contains default volume levels at which solo and accompaniment soundtracks may be mixed together to produce a user soundtrack for storage and subsequent play back.
  • the "playback” section contains default details as to how user soundtracks recorded by the user are played back or ' further compressed or stored.
  • the "reverb”, “tempo” and “pitch” sections contain further default or user defined parameters for the processing and playback of soundtracks.
  • control data file 70 may be written to by an accompaniment unit to change various parameters, in particular to adjust default values of record and play back volume levels and to keep a record of user soundtracks.
  • FIG 3 is a schematic diagram illustrating the processes that an electronic musical accompaniment unit 10 according to the preferred embodiment is adapted to carry out. Accordingly, for the purposes of explanation and illustration, the data processing functionality has been divided into a number of modules, and the data storage 20 shown in figure 1 has been divided into a number of areas of memory.
  • the accompaniment unit 10 shown in figure 3 includes a dataset download module 104 that is provided to download accompaniment datasets either - from a local media reading device 22 or from a remote soundtrack archive ' server 50 accessible via the network 40.
  • a network port 102 is provided to enable the dataset download module 104 and other components of the accompaniment unit 10 to connect to the network 40.
  • Datasets 60 obtained by the dataset download module 104 are checked for integrity using the checksum data 72 incorporated into each dataset 60 before being split up into separate component files and written to a first area of memory 106.
  • the first area of memory is provided by a hard disk drive or other permanent data storage device, and the component files of each accompaniment dataset 60 are written to a sub- directory created to. " contain only files relating to that dataset.
  • the first area of memory 106 may contain a number of different datasets 60 without confusing the various component files.
  • the accompaniment soundtrack file 64, a number of image files 66, a lyrics file 68, and a control data file 70 are shown in the first area of memory 106 in figure 3.
  • other files relevant to the dataset may also be present, and
  • a key token 121 is shown included in accompaniment dataset 60 stored in the first area of memory 106. In the preferred embodiment, this key
  • 15 token is not downloaded by the dataset download module 104 as part of the accompaniment dataset, but is obtained subsequently by the transaction module when permission to decrypt the soundtrack 64 has been obtained.
  • a different key token 121 is used for each
  • the permission request message may provide the transaction server 30 with a number of different pieces of information such as details regarding the particular accompaniment unit 10, details of the accompaniment dataset 60 for which decryption permission is requested, and payment for other financial transaction details. If the transaction server 30 approves the request for permission to decrypt then this is communicated across the network 40 to the transaction module 108 via the network port 102. The transaction module 108 then instructs a license generating module 110 to generate a license code for the particular accompaniment dataset 60. Also, after approval, the transaction server communicates a key token 121, required to decrypt part or all of the subject accompaniment dataset 60, to the accompaniment unit.
  • the accompaniment unit may store this key token 121 along with the rest of the accompaniment dataset 60 in the first area of memory 106, for example within the control data file 70, as illustrated in figure 2.
  • the key token could be stored or hidden elsewhere in the memory of the accompaniment unit, for example within an operating system registry file.
  • the key token 121 may itself be coded, scrambled or encrypted to make unauthorised use more difficult.
  • the license generating module 110 generates the license code by scrambling together local system data 112 particular or unique to the individual accompaniment unit 10, with information particular or unique to the selected accompaniment dataset 60 for which access permission has been granted.
  • three pieces of data are scrambled together, preferably in an irreversible manner, so that none of the starting datu s can be unambiguously derived from the license code. This may be achieved in an ad hoc but reproducible manner, or in a variety of ways or using a variety of algorithms familiar to the person skilled in the art, so as to obtain a license code that is, for all practical purposes, unique to the pieces of starting data.
  • the local system data 112 particular to the individual accompaniment unit 10 is the electronically available serial number of a 5 hard disk drive forming a part of or connected to the unit 10.
  • This serial number is typically an eight character code such as "E010-1004".
  • Another locally available datum could, of course, be used instead, such as a microprocessor serial number or other
  • the local system data is provided by a removable smart card or other data carrying device which is difficult to tamper with, and may be protected using encryption techniques
  • the data particular to the data element is provided by a file name or library catalogue number unique to the particular ... dataset and by the length of the accompaniment
  • the license code generated by the license generating module 110 may be written to the control data file 70 belonging to the accompaniment dataset 60, stored in the first area of memory 106.
  • 35 license code could be hidden or encrypted in some way, if desired, or located elsewhere within the unit 10, for example in a registry file of an operating system.
  • the accompaniment soundtrack file 64 must first be decrypted by decryption module 120. 5 Permission to decrypt the accompaniment soundtrack file 64 is obtained from a license checking module 122.
  • the license checking module 122 instructs the license generating module 110 to generate a further license code based on the local system data 112 and
  • This newly generated license code is compared with the license code already written to the control data file 70. If the two license codes match, i.e. are sufficiently close or are identical, as required, then
  • the accompaniment soundtrack file 64 is decrypted using a key generated from key token 121, which in the preferred embodiment is a 128 character string. This . key token is transformed multiple times, each time
  • the accompaniment soundtrack file 64 decrypted by the decryption module 120 is passed to a play back module 124 which arranges for the soundtrack to be reproduced using the one or more audio outputs 14.
  • one or more image files 66 are available in the accompaniment dataset 60, these are routed to the visual display 12 by an image display module 130.
  • the timing of the display of the various images is determined by the timing data provided in the "timing" section of the control data file 70. This timing data may be used, for example, to ensure that the musical 5 notation image appropriate to a particular part of the accompaniment soundtrack is displayed shortly before and for the duration of that part of the soundtrack. If lyrics data is available in a lyrics file 68 then this data may be routed to the visual display 12
  • lyrics display module 132 The timing of the display of various groups of words contained in the lyrics data is determined by information contained within the "lyrics" section of the control data file 70. Thus, a group of words to be sung by the user of
  • the accompaniment unit 10 may be displayed shortly before the accompaniment soundtrack reaches the point at which these words are to be sung. Furthermore, each word of the lyrics may be highlighted on the visual display 12 at the moment or shortly before it
  • the lyrics display module 132 is also adapted to display a count down bar which is illustrative of the length of time remaining before the next group of lyric words is to be sung. This count down bar may be
  • ⁇ 25 used, for example, ' during intervals of the accompaniment soundtrack when no words are to be sung.
  • the duration and timing of the presentation of such a count down bar may also be controlled by data contained within the "lyrics" section of the control
  • the accompaniment unit 10 provides facilities for recording one or more solo soundtracks 78, in particular while the accompaniment soundtrack is being played.
  • a recording module 140 accepts audio data
  • any of the solo soundtracks 78 stored in the second area of memory may be subsequently routed to the playback module 124, where one or more solo soundtracks may be combined with the appropriate accompaniment soundtrack, provided by the 5 decryption module 120.
  • control data file 70 may be used to control the playback module 124.
  • the user is able to adjust the relative volume levels of
  • the playback module also provides facilities for applying pitch shifting, tempo changing, reverberation
  • Parameters to control such effects are stored in the "playback", "reverb", “tempo”, “pitch” and other relevant sections of the control data file 70, and/or
  • a mixed soundtrack 80 can be routed from the playback module 124 to be stored in a third area of memory 144, or to the audio output, or both of these . options simultaneously.
  • the third area of memory may
  • a mixed soundtrack 80 stored in the third area of memory 144 may be subsequently replayed or routed
  • the compression module 150 is controlled by a user interface that allows the user to adjust various parameters such as the degree of compression.
  • the " compression module 150 compresses the mixed soundtrack 80 ' into a compressed mixed soundtrack 90.
  • a wide number of different compression techniques and formats familiar to the skilled person could be used by the compression module 150, but in the preferred embodiment the "MP3" format is used.
  • the compressed mixed soundtrack 90 is written to a fourth area of memory 152 which is used to store an archive of such soundtracks.
  • This fourth area of memory may be provided by the same hard disk drive unit that provides any of the above mentioned areas of memory.
  • Compressed mixed soundtracks 90 held in the fourth area of memory 152 may be written to a local media writing device, which could be the same device as the media reading device 22.
  • an e-mail module 154 is provided with which the user of the accompaniment unit may forward a compressed mixed soundtrack by e-mail over the network 40, via the network port 102.
  • a remote user archive computer may be provided.
  • Compressed soundtrack files may be forwarded from the accompaniment unit to the user archive computer, for example using FTP or another file transfer protocol or system.
  • soundtrack files may be made available to third parties, for example by means of a universal resource locator (URL) emailed from the accompaniment unit to the third party.
  • URL universal resource locator
  • a third party can receive an email notifying them of the location of the soundtrack, and need only download the soundtrack as and when required.
  • soundtracks held on the user archive computer may be protected by a password or by other suitable means.
  • the electronic musical accompaniment unit 10 is operated, in the preferred embodiment, using the data entry devices 18 in conjunction with the visual display 12.
  • the accompaniment unit 10 of the preferred embodiment provides a number of interface windows which may be selectively displayed on the visual display 12. .A number of these interface windows will now be described.
  • Figure 4 illustrates a download window 200 that enables the user of an accompaniment unit 10 to download accompaniment datasets 60 from a remote soundtrack archive server 50, over the network 40 or from a local media reading device 22.
  • One or more filter controls 202 provide the user with the facility to view only a subset of the accompaniment datasets 60 available from the soundtrack archive server 50.
  • the user has selected datasets containing accompaniment soundtracks intended to accompany a violin solo.
  • a number of other filter controls could, of course, be provided.
  • Information relating to the accompaniment datasets 60 selected by the filter control 202 ' is presented in the dataset display area 204.
  • eight accompaniment datasets 60 are listed. Useful details about each dataset are provided in the data display area 204.
  • the details shown in figure 4 include the dataset title, the composer of the music, a music examination grade indicative of difficulty, a price, the number of pages of musical notation, and the instrument for which the accompaniment soundtrack is intended.
  • datasets shown in the dataset area 204 may be highlighted using the data entry devices 18. Selected datasets 206 may then be transferred to the data storage 20 of the accompaniment unit 10 by using a download control 210.
  • payment for use of a dataset, and in particular for permission to decrypt a soundtrack file is not required at the time of downloading the dataset.
  • a similar interface window is used to control communication with the transaction server 30 in order to obtain the necessary key token 121 and permission to decrypt an accompaniment soundtrack file 64, to thus make use of
  • Such a window may provide facilities for the user to pay for the permission granted to use a selected one or more datasets listed in a dataset display area, these datasets being already present on the data storage 20
  • An image display window 230 is shown in figure 5. This window is used to present images contained in one . or more image files 66 associated with an accompaniment dataset 60. The display of the images is synchronised with the play back of the
  • accompaniment soundtrack by means of the timing data contained in the "timing" section of the control data file 70.
  • the image shown in figure 5 is a musical notation image presenting the solo part corresponding to the accompaniment soundtrack. Also provided in the
  • 30 image display window 230 are a number of control buttons 234. These allow the user to control various functions of the accompaniment unit.
  • the load music button 236 is used to initiate the license checking and decryption sequences carried out
  • the record button 238 launches or activates a recording interface window enabling a number of recording parameters to be set, as well as providing a start record button.
  • the play button may be used to instruct the play back module 124 to begin the play back of the accompaniment soundtrack, at the same time instructing the image display module 130 and/or lyrics display module 132 to simultaneously display the relevant available lyrics and/or graphical images .
  • Other ones of the control buttons 234 may provide the user access to the soundtrack processing functions provided by the playback module 124 and the compression functions provided by the compression module 150.
  • Other control buttons may provide access to interface windows allowing manipulation of solo, mixed and compressed mixed soundtracks contained in the second, third and fourth areas of memory 141,144,152.
  • a lyrics display window 250 is shown in figure 6.
  • This window displays lyrics 252 routed to the visual display 12 by the lyrics display module 132.
  • the particular lyrics 252 displayed during a particular time interval of the play back of the accompaniment soundtrack are determined by the timing information contained within the "lyrics" section of the control data file 70.
  • One of displayed words 254 of the lyrics is a highlighted word 254. Which word is highlighted at any particular time during play back of the accompaniment soundtrack is also controlled by the above mentioned timing data. This highlighting feature may be used to indicate when each word should be sung in time with the accompaniment soundtrack.
  • An incidental image 256, taken from a selected one of the image files 66 is also presented in the illustrated image display window 250.
  • a recording control window 270 is presented in figure 7. This control window provides the user with facilities for adjusting parameters used to control the playback and recording modules.
  • the accompaniment soundtrack level control 272 may be used to control the level of accompaniment soundtrack played by the audio outputs 14, and the solo soundtrack level control 274 may be used to adjust the level of a solo soundtrack recorded and stored in the second area of memory 141.
  • the level of the recorded solo soundtrack 78 is shown in the solo soundtrack level indicator 276.
  • a restart button 278 is provided to enable the user to instruct the lyrics display module 132, the image display module 30, the play back module 134 and the recording module 140 simultaneously to begin again from the start of the accompaniment soundtrack.
  • a delay control 280 allows the user to delay playback by a chosen period of time following a start command issued, for example, using the restart button 278.
  • a solo soundtrack archive window 290 illustrated in figure 8 provides the user with details of the solo soundtracks 78 held in the second area of memory 144. In the window shown in figure 8 the details of four different solo soundtracks 78 are shown, in the solo soundtrack display area 292. The solo soundtracks displayed all correspond to the accompaniment dataset 60 currently accessible by the play back module 124, and correspond to four different "takes". Details of these takes, such as the date and time of recording, and a user description are held in the "takes" section of the control data file 70.
  • a play button 294 may be used to instruct the playback module 124 to play back the solo soundtrack highlighted in the solo soundtrack display area 292, by routing it along with the appropriate accompaniment soundtrack to the one or more audio outputs 14.
  • a playback module control window is provided, although not illustrated in the figures, which enables the user to adjust the 'mix levels of the chosen solo and accompaniment soundtracks, to add various digital effects such as reverberation, and to choose whether to store the resulting mixed soundtrack in the third area of memory.
  • a compression module control window 310 is illustrated in figure 9. This window is used to control the compression module 150 which is adapted to accept mixed soundtracks 80 from the third area of memory 144 and to compress them into compressed mixed soundtracks 90 to be stored in the fourth area of memory 152.
  • a transmission rate parameter control 312 allows the user to set a transmission rate parameter that is an estimate of the rate at which data may be transmitted over the network 40.
  • This transmission rate parameter may indicate, for example, the speed at which the network port 102 may be expected to transmit data to the .network 40.
  • a compression degree control 314 is provided to allow the user to select a parameter to control the degree of compression to be applied to a mixed soundtrack by the compression module 150. In the preferred embodiment, this compression degree- parameter is converted to a compression ratio and displayed by a compression ratio indicator 316 which indicates the expected ratio of sizes of a mixed soundtrack 80 and a corresponding compressed mixed soundtrack 90.
  • a sound quality indicator 318 provides a simple graphical representation of the likely audio quality of a soundtrack reproduced from an audio file compressed using the current parameters. In the present embodiment, this sound quality indicator takes the form of a small face, the expression of which changes from happy through a number of intermediate stages to sad. Of course, other graphical images could equally well be used.
  • a compressed file size indicator 320 indicates the expected size of the currently selected mixed soundtrack 80 when compressed using the current compression parameters into a compressed mixed soundtrack 90 by the compression module 150.
  • the estimated time to send the compressed file at the transmission rate indicated by the transmission rate parameter indicator 312 is displayed by a transmission time indicator 322.
  • a compress button 324 is provided to allow the user to instruct the compression module 150 to carry out compression of a mixed soundtrack 80 to produce a compressed mixed soundtrack 90 using the currently selected parameters and to store the compressed mixed soundtrack 90 in the fourth area of memory 152.
  • a compressed soundtrack archive window 330 for listing and providing facilities for manipulating compressed mixed soundtracks 90 held in the fourth area of memory 152, is shown in figure 10. Details of each of the compressed mixed soundtracks 90 held in the fourth area of memory 152 are displayed in a compressed soundtrack display area 332.
  • a number of control buttons 334 may be used to initiate actions relating to the soundtracks listed in the display area 332. These include a play button 336, to initiate decompression and playing of a selected soundtrack, and an e-mail button 338 to open an e-mail interface window for e-mailing a selected soundtrack using the e-mail module 154.
  • An e-mail time indicator 340 indicates the estimated time that it will take to transmit each compressed mixed soundtrack by e-mail over the network 40, and a file size indicator 342 indicates the approximate size of each compressed mixed soundtrack.
  • the accompaniment unit may provide a count-in facility, preferably presented in a graphical, and/or audible form.
  • a count-in facility preferably presented in a graphical, and/or audible form.
  • One such presentation may take the form of a graphical representation of a human orchestral conductor, having various user-adaptable aspects.
  • An alternative representation may take the form of a count in using digits.
  • a default setup for the count- in facility may be provided in the control file 70.
  • Some parameters relating to the count-in facility which may be stored in the control file 70, for example under a section heading "COUNT IN" are: chosen image (or default) , beats in the bar, number of bars to beat, when to start beating, the relative start times of the graphical display and the musical output, the frame-rate of the graphical display, whether to display beat-numbers and/or the conductor, and whether an audible click in the manner of a metronome is to be played.
  • Figure 11a shows a count-in facility setup interface window for adjusting count-in facility control parameters.
  • the setup may be carried out by the provider of an accompaniment soundtrack, and incorporated in an accompaniment dataset. Alternatively, or additionally, such a setup may be carried out by an end user of an accompaniment dataset, using the facilities provided by an accompaniment unit.
  • the count-in facility timing parameters are set up by playing the- accompaniment soundtrack and beating time on the graphical representation of a drum 360 from a specific point in the solo line.
  • Beating on the drum may be effected by clicking on it using a pointing device such as a computer mouse, whereupon a graphical representation of a hit ' drum is momentarily displayed for the user's reassurance that the drum has been hit, and a metronome click may also be played.
  • a tempo (MM mark) parameter displayed with an "MM mark" interface element 362 is determined by averaging out the beats on the drum, and the point at which the count-in facility starts beating time is calculated by comparing the moment of the first beat with the moment of the accompaniment soundtrack start.
  • the number of beats in the bar and the number of bars to count may be entered manually using the up-down buttons of the appropriate interface elements 364,366.
  • a delay interface element 368 shows:
  • Very accurate timing can be manually effected using this facility.
  • a Test button 370 is provided to view the results of the count-in setup process. Once the user is satisfied that the parameters of the count-in facility are correct, he may press a "Save” button 372 to record the new details in the control file 70 or elsewhere. A “Retry” button 374 gives the user the opportunity to start again, for example if the drum was not correctly struck resulting in a wrong tempo reading. The user may also use an "Exit” control 376 without saving, reverting to the previously stored count-in facility Setup. An interface control 378 marked “»” displays a second interface window presenting aspects of the operational interface of the count-in facility, such as a graphical representation of a human orchestral conductor as mentioned above, as well as further options.
  • This second interface window, shown in figure 11B is intended for use on an accompaniment unit to allow a user some control as to how the count-in facility operates.
  • the "Smoother beating" control 380 allows the user to reduce the number of graphical frames of a conductor or other image sequence that are displayed in a given time interval or musical beat in order to allow the computer system to keep up. This may be particularly useful if the tempo is quite fast (typically more than 112 beats per minute) . Generally this will be decided automatically by the system but can be overridden by the user if the user's system is particularly fast or slow.
  • a "Conductor" control 382 allows the user to choose whether or not the human conductor should be displayed.
  • a "Beat numbers” control 384 allows the user the choice of a visual count of the beats in the bar, with or without the conductor or other graphical display.
  • An "Audible click” control 386 provides a click in the fashion of a metronome, if this is made available. When the click is not available, this control is disabled, and set to Off.
  • the unit could be manufactured as a dedicated hardware unit making suitable use of dedicated hardware and generic or specially written software.
  • the preferred embodiment makes use of a personal computer running a operating system providing a graphical user interface, such as a variant of Microsoft Windows (TM) .
  • TM Microsoft Windows
  • the various described functional modules or a functionally similar design are preferably implemented in software, interfacing where necessary with the operating system and the appropriate hardware as will be familiar to the person skilled in the art.
  • Data storage 20, and memory areas 104, 144 and 152 may be provided by any suitable mixture of available memory devices such as static or dynamic microchip-based memory and hard disk drives.
  • the software may conveniently be written in a high level language providing convenient window interface facilities, such as Microsoft Visual Basic. Access to the datasets 60 held by the remote soundtrack archive server 50 may be provided using the Internet File Transfer Protocol (FTP) , for which software toolkits are available commercially. Similarly, software toolkits are currently commercially available providing facilities for encoding and decoding "MP3" audio files, or for handling other compression formats, and formats for audio, image, video and other data.
  • FTP Internet File Transfer Protocol
  • Multiple skin functionality may be provided to conveniently allow a user, programmer or technician to select from a variety of graphical user interfaces, interface styles and so on.
  • Communications with the transaction server 30 may conveniently make use of the hypertext markup language or a variant thereof.
  • An Internet browser providing a ' variety of Internet communication facilities based on common standards such as the hypertext transport protocol and FTP may be incorporated within the personal computer or other embodiment of the accompaniment unit for providing many of the communication facilities.
  • datasets 60 are downloaded to the accompaniment unit 10 and checked for integrity before permission to decrypt a accompaniment soundtrack datafile 64 is requested. This has the advantage of ensuring that the user has received a workable copy of the dataset before the permission granting transaction takes place. ' However, it would be possible for the transfer of a dataset from a soundtrack server to be delayed until permission has been granted to use the dataset. Indeed, it may be envisaged that datasets are not stored permanently on the accompaniment unit, being downloaded for use only when required. Such an arrangement may be particularly appealing if the datasets are locally available, for example on a CD- ROM or other computer readable medium.
  • a single common key token could simply be stored ab initio in each accompaniment unit 10.
  • the preferred- embodiment makes use of transactions between the accompaniment unit 10 and the transaction server 30 that relate to a particular single dataset. However, it may be desirable to carry out such transactions in relation to an unspecified dataset, in particular to an unspecified dataset within a specified category such as a pricing category, or for a number of specified or unspecified datasets simultaneously. However, it may be advantageous for the transaction server 30 and the operator thereof to maintain details of which units have been granted permission to use which datasets.
  • the transaction server 30 may be permitted to issue a 5 fresh permission approval message to the unit.
  • the preferred embodiment makes use of accompaniment datasets incorporating a range of data types. Clearly, not all of these data types need be included in each dataset. For example, datasets

Abstract

An arrangement for providing and licensing for use a dataset comprising a musical accompaniment soundtrack is disclosed. The dataset is forwarded to a musical accompaniment unit over a data routing network. The musical accompaniment unit then seeks a license for use of the dataset from a transaction server, and stores a license code allowing the dataset to be used only on that unit. The unit is adapted to play an accompaniment soundtrack from the dataset and to simultaneously record and store one or m ore soundtracks. These can be mixed with the accompaniment soundtracks as required. The dataset may also comprise images, musical notation, lyrics and other supporting material.

Description

■ ELECTRONre MUSICAL ACCOMPANIMENT
BACKGROUND OF THE INVENTION
The present invention relates to the electronic provision of musical accompaniment. In particular, the invention relates to an electronic unit for providing musical accompaniment and methods of operation of such a unit, and to a system for providing access to musical accompaniment soundtracks. Musicians often wish to play music accompanied by other musicians. This may be for practise, for example a skilled violinist may wish to practise a violin concerto accompanied by a full orchestra or a pianist playing a reduced arrangement of the full score. The same situation arises across the entire range of musical instruments and musician skills. A student of the violin, for example, may wish to practise pieces for examination accompanied by a pianist, or musicians of any skill level may wish merely to play accompanied music for their own pleasure and amusement.
Music recordings, for example on vinyl record or cassette tape, have been available for many years, providing accompaniment soundtracks for musicians. For example, recordings of jazz bands from which a single instrument has been removed, allowing the musician to play the part of that instrument accompanied by the rest of the jazz band, are known.
There are a number of limitations to the use of this type of recording. For example, the tempo of the music is fixed, and the musician might prefer to play the music more slowly, for example to practise. The vinyl record, tape or CD media which might be used have limited lifetimes, as well as associated production and distribution costs dictating, for example, minimum viable production and sale quantities. Furthermore, such media may be easily copied without the permission of the supplier, or otherwise misused.
SUMMARY OF THE INVENTION
The present invention addresses these and other problems of the related prior art.
Embodiments of the invention allow a user to download musical accompaniment datasets from a network or data carrying medium to an accompaniment unit, which may conveniently be a suitably programmed personal computer. Musical notation and/or song lyrics may be included with an accompaniment dataset. Embodiments of the invention allow such datasets to be licensed for use on a single accompaniment unit or personal computer, and provide protection against misuse of parts or all of such a dataset.
A musical accompaniment unit (which may be a suitably programmed and equipped personal computer) according to the preferred embodiment of the invention is operable to audibly play a downloaded musical accompaniment soundtrack, to simultaneously display downloaded musical notation and/or song lyrics, and to simultaneously record one or more solo soundtracks. The unit is also operable to decrypt parts of an accompaniment dataset if and when necessary. The above-mentioned unit according to the preferred embodiment is also operable to play back one or more recorded solo soundtracks synchronously with an accompaniment soundtrack and to carry out various operations on the soundtracks, such as remixing, pitch shifting, tone shifting, compression and communication over a network.
Accordingly, the invention provides a system for providing musical accompaniment, the system comprising: a data routing network; a soundtrack archive comprising one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; an electronic musical accompaniment unit connected to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment soundtrack from a dataset containing the soundtrack; and a transaction server connected to said network; whereby in use the system operates by: sending a permission request message across said network to said transaction server; said transaction server receiving said permission request message and processing the permission request message to determine if access permission should be granted to said accompaniment unit, said transaction server on determining that permission should be granted then sending an access approval message across said network to said accompaniment unit; said accompaniment unit being further adapted, on receipt of said access approval message, to enable playback of the accompaniment soundtrack contained in at least one of said datasets. Typically, a plurality of accompaniment units will form a part of the system. Each accompaniment unit may be provided by a personal computer suitably equipped and programmed, and software to program such a personal computer for use as an accompaniment unit may be made available, for example by download, over the network.
By providing play back permission checking facilities in each accompaniment unit, misuse of licenses to play back a soundtrack is more easily controlled.
A plurality of soundtrack archives may be made available to users of the system. Preferably, soundtrack archives are provided by soundtrack archive servers connected to the data network. Alternatively, or additionally, soundtrack archives may be provided by computer readable media readable locally by an accompaniment unit. Preferably, each accompaniment unit is provided with a data storage area, and is operable to copy a selected one of said datasets from said soundtrack archive to said data storage area. Preferably, said permission request message and said access approval message relate to said selected one of said datasets, and said accompaniment unit is operable, on receipt of said access approval message, to enable playback of the accompaniment soundtrack contained within said selected dataset.
Preferably, the accompaniment soundtrack in each dataset is encrypted.
Preferably, the accompaniment unit is operable, on receipt of said access approval message from said transaction server system, to: generate a first license code from locally available source data including data unique to the selected dataset and data unique to the accompaniment unit; and to store said first license code in said data storage area. Preferably also, the accompaniment unit is operable, when requested to play an accompaniment soundtrack contained within a chosen dataset, to: generate a second license code from locally available source data including data unique to the chosen dataset and data unique to the accompaniment unit; retrieve from the data storage area a stored license code associated with the chosen dataset; compare said stored license code the second licence code; and to play the accompaniment soundtrack only if the stored and second license codes match, decrypting the accompaniment soundtrack if necessary.
Preferably, the accompaniment unit is operable to enable a user soundtrack to be recorded synchronously to the playback of one of said accompaniment soundtracks.
Accompaniment datasets may also contains lyrics and lyrics timing information, the accompaniment unit being adapted to display the lyrics synchronously with the playback of the associated accompaniment soundtrack.
Datasets may also contains images and image timing information, the accompaniment unit being adapted to display the images synchronously with the playback of the associated accompaniment soundtrack.
The invention also provides an electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; memory for storing an accompaniment soundtrack in an encoded electronic format, and for storing a user soundtrack in an encoded electronic format; the unit being operable to decode and route the accompaniment soundtrack stored in the memory to the one or more audio outputs for playback thereby, and to receive the user soundtrack from the one or more audio inputs and encode and route the user soundtrack to said memory for storage therein, whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack input through the one or more audio inputs. The invention also provides an electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; a first area of memory for storing an accompaniment soundtrack in an encoded electronic format; a second area of memory for storing a user soundtrack in an encoded electronic format; a playback module for decoding and routing the accompaniment soundtrack stored in the first area of memory to the one or more audio outputs for playback thereby; and a recording module for receiving the user soundtrack from the one or more audio inputs and for encoding and routing the user soundtrack to said second area of memory for storage therein, whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack input through the one or more audio inputs.
Comments already made above in respect of the musical accompaniment unit apply. Soundtracks may be electronically encoded in a variety of ways familiar to the person skilled in the art, for example in the ".wav", "MP3", or other digital formats, which may be suitably compressed or not, and have any selected sampling rate, frequency range and so on. A variety of ancillary data components may conveniently be transferred and stored with each accompaniment dataset, such as images, lyrics, timing information, licensing information and so on.
Preferably, accompaniment soundtracks are stored in an encrypted form in said first area of memory. Preferably, the accompaniment unit further comprises: a third area of memory for storing a stored license code associated with said accompaniment soundtrack; a license checking module for using said stored license code to establish if the accompaniment unit is entitled to decrypt the accompaniment soundtrack; and a decryption module for receiving the encrypted accompaniment soundtrack from the first area of memory and for decrypting and routing the accompaniment soundtrack to said playback module. Preferably, the accompaniment unit further comprises a license code generating module for scrambling locally available source data to generate a generated license code, the license checking module establishing that the accompaniment soundtrack may be played, and decrypted if necessary, if the stored license code and the generated license code match. Preferably, the locally available source data includes data unique to the encrypted accompaniment soundtrack and data unique to the unit. The data unique to the unit may include the electronically available serial number of a hard disk drive or other component connected to or forming a part of the unit . Other possibilities include using a serial number or other unique piece of information about a motherboard or microprocessor. As another alternative, data such as a password unique to a user of the unit, a uniquely programmed smart card or other source of verification could be used.
Preferably, the unit further comprises a transaction module for receiving a licensing permission message from a remote transaction server through a network, generating a license code for said accompaniment track using said license code generating module in the manner mentioned above and storing said license code in said third area of memory. Preferably, the transaction module is further adapted to carry out an integrity check to ensure the integrity of the accompaniment soundtrack and the associated playback data before generating a license code. Preferably, the unit further comprises a dataset download module for connecting to a remote soundtrack archive server through a network, and downloading one or more accompaniment soundtracks in an encoded electronic format from said server. Preferably, the accompaniment unit further comprises a visual display. The unit may then be provided with an image display module adapted to display on said visual display, synchronously with the playback of an associated accompaniment soundtrack, images contained within image data associated with said accompaniment soundtrack.
Preferably, the image data further includes image timing data referenced to the timing of said associated accompaniment soundtrack, and the image display module is adapted to display a particular one or more of said images during an interval of the playback of said accompaniment soundtrack determined by said image timing data.
The image data may conveniently include images depicting musical notation. However, the image data may comprise other images for display during play back of the accompaniment soundtrack. Musical notation may also be stored in a non-image form for subsequent display.
The unit may also be provided with a lyrics display module adapted to route to the visual display lyrics contained within lyrics data associated with said accompaniment soundtrack synchronously with the play back of an associated accompaniment soundtrack
Preferably, the lyrics data also includes lyrics timing data referenced to the timing of said associated accompaniment soundtrack, the lyrics display module being adapted to display a subset of said lyrics during a timing interval of the playback of said associated accompaniment soundtrack determined by said lyrics timing data. Preferably, the lyrics display module is adapted to highlight a subset of the displayed lyrics during a timing interval of the playback of the associated accompaniment soundtrack determined by said lyrics timing data. Preferably, the unit is adapted to receive a user soundtrack from the recording module and to combine it with the synchronously played accompaniment soundtrack before storing the mixed soundtrack in said second area of memory, or playing the mixed soundtrack using the audio outputs. This process may conveniently be carried out in the playback module and volume control and various digital effects applied as desired.
Preferably, the unit further comprises a compression module for receiving a soundtrack from said second area of memory or from the playback module or elsewhere in the unit, compressing said soundtrack and storing the compressed soundtrack in a fourth area of memory .
Advantageously, the compression module may be adapted to accept a user selected compression degree parameter, to calculate a sound quality parameter related to the expected quality of an audio signal reproduced from a soundtrack compressed using the selected compression degree parameter, and to route a symbol indicative of the sound quality parameter to a visual output, to thereby assist the user in the choice of compression degree parameter.
Preferably, the compression module is further adapted to accept a data rate parameter representative of the data rate at which a compressed soundtrack is expected to be transmitted over a network, to calculate an estimated transmission time from the available parameters, and to route said estimate transmission time to a visual display.
Preferably, the unit also includes an e-mail module for forwarding a compressed soundtrack from the unit, for example from said fourth area of memory, over a network to a remote recipient computer.
Preferably, the unit also includes a media writing module for writing a compressed or uncompressed soundtrack to a computer readable medium such as a floppy disk or optical disk.
The invention also provides a data compression unit, preferably implemented in software under the control of an operating system providing a graphical user interface, for receiving an audio data file in an electronic format, compressing said audio data file and outputting the compressed audio file, the data compression unit having a visual output and being adapted to: accept a user selected compression degree parameter; calculate a sound quality parameter related to the expected quality of an audio signal that would be reproduced from an audio file compressed using the selected compression degree parameter; and to route a symbol indicative of- the sound quality parameter to the visual output, thereby assisting the user of the data compression unit in the choice of compression degree parameter. Preferably, the data compression unit is further adapted to: accept a data rate parameter representative of the data rate at which a compressed audio file may be transmitted over a network; calculate an estimated transmission time using the compression degree parameter, the size of the audio data file and the data rate parameter, and to route said estimated transmission time to the visual output.
The invention also provides a method of providing musical accompaniment using a data routing network, the method comprising the steps of: providing a soundtrack archive comprising one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; providing an electronic musical accompaniment unit connected to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment soundtrack from a dataset containing the soundtrack; providing a transaction server connected to said network; sending a permission request message from said accompaniment unit across said network to said transaction server; at said transaction server, receiving said permission request message and processing the permission request message to determine if access permission should be granted to said accompaniment unit; on determining that permission should be granted, sending an access approval message from said transaction server across said network to said accompaniment unit; and following receipt of said access approval message by said accompaniment unit, enabling playback by said accompaniment unit of the accompaniment soundtrack contained in at least one of said datasets.
The invention also provides a method of electronically providing musical accompaniment comprising the steps of: storing an accompaniment soundtrack in an encoded electronic format in a first area of memory; decoding said accompaniment soundtrack and routing it to one of more audio outputs for playback thereby; receiving a user soundtrack from one or more audio inputs synchronously with the playback of said accompaniment soundtrack; and encoding said user soundtrack into an electronic format and storing it in a second area of memory.
The invention also provides computer programs, computer program elements, and computer readable media carrying such programs and program elements, for carrying out the steps of the methods of the invention and for implementing suitable elements of apparatus of the invention on suitable computer and communications equipment.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic diagram of a system for providing access to musical accompaniment soundtracks according to the preferred embodiment of the present invention;
Figure 2 is a schematic diagram of data elements contained in a musical accompaniment dataset according to the preferred embodiment of the invention; Figure 3 is a schematic diagram of an electronic musical accompaniment unit according to the preferred embodiment; Figure 4 shows a dataset download window provided by an accompaniment unit according to the preferred embodiment;
Figure 5 shows an image display window provided by an accompaniment unit according to the preferred embodiment, the window displaying a musical notation image;
Figure 6 shows a lyrics display window provided by an accompaniment unit according to the preferred embodiment;
Figure 7 shows a recording control window provided by an accompaniment unit according to the preferred embodiment;
Figure 8 shows a solo soundtrack archive window provided by an accompaniment unit according to the preferred embodiment;
Figure 9 shows a compression module control window provided by an accompaniment unit according to the preferred embodiment; Figure 10 shows a compressed soundtrack archive window provided by an accompaniment unit according to the a preferred embodiment.
Figure 11A shows an interface for use in setting up timing parameters for a count-in facility; Figure 11B shows an interface for use in setting up operation of a count-in facility; and
Figures 11C, 11D and HE show various display modes of the count-in facility set up using the interfaces of figures HA and 11B.
Detailed Description of Embodiments of the Invention
Turning now to figure 1, there is shown a system for providing access to music accompaniment soundtracks and associated play back data. The system comprises one or more electronic musical accompaniment units 10, a transaction server 30 and a soundtrack archive server 50. These elements are able to communicate with each other, for example to transfer data, over a data network 40.
Each accompaniment unit 10 is provided with a visual display 12, one or more audio outputs 14, one or more audio inputs 16, one or more data entry devices 18, some data storage 20, typically including one or more hard disk devices and integrated circuit random access memory, and, preferably, a media reading device 22. In the preferred embodiment of the invention each electronic musical accompaniment unit 10 is provided by a personal computer. The visual display 12 is provided by the computer monitor. The data entry devices 18 are provided by the computer keyboard and mouse. The audio outputs 14 are provided by one or more loud speakers with suitable driving circuitry and software. The audio input devices 16 are provided by one or more microphones with suitable electronic circuitry and software. The media reading device 22 is provided by a device such as a CD-Rom drive or a DVD drive.
The electronic musical accompaniment unit 10 is adapted to read audio data from one of the one or more accompaniment datasets 60 stored in the data storage 20, and to play back an accompaniment soundtrack contained in a dataset 60 using the audio output 14.
The accompaniment unit 10 is configured, while playing back a soundtrack, to simultaneously route to the visual display 12 musical notation, images, song lyrics or other information associated with the accompaniment soundtrack and provided within the accompaniment dataset 60.
The accompaniment unit 10 provides facilities for the user to record one or more solo soundtracks using the audio input 16, and in particular the facility to do so synchronously with the play back of an accompaniment soundtrack. Accompaniment datasets 60 may be downloaded from computer readable media such as a CD-ROM read using a local media reading device 22, or may be downloaded over the network 40 from the remote soundtrack archives server 50. Solo soundtracks can be mixed with accompaniment soundtracks, optionally using various digital effects, and the resulting soundtrack e-mailed or otherwise distributed to third parties.
The accompaniment soundtrack data held in each accompaniment dataset 60 is encrypted to make the audio data unplayable without authorisation, for example by unauthorised accompaniment units or other unauthorised devices. To decrypt and play an accompaniment soundtrack, the accompaniment unit 10 must obtain authorisation by communicating over the network with the transaction server 30. These communications may entail providing the transaction server 30 with particular details of the accompaniment unit 10, the user of the unit, financial information such as payment details and so forth. In order to provide a sample of a soundtrack, the accompaniment unit may be enabled to decrypt and play a part of an encrypted soundtrack without any authorisation having been granted by the transaction server. A sample of an accompaniment soundtrack lasting about 10 seconds may be sufficient for this purpose, and other functions of the unit such as image or lyrics display, or recording, may be disabled for this purpose.
Both the transaction server 30 and the soundtrack archive server 50 may be provided by computer systems having appropriate network connections and data storage facilities. A plurality of either of these types of systems may be provided. Equally, the functionality of a transaction server 30 and a soundtrack archive server 50 may be combined in a single system.
The network 40 may be a local or private network, but more conveniently will be at least partly provided by the publicly accessible Internet. In this way, access to accompaniment datasets 60 may be provided to a large number of consumers. Figure 2 illustrates the components that make up an accompaniment dataset 60 in the preferred embodiment of the invention. The various components may be stored together or separately in any convenient form on a soundtrack archive server 50 or on a computer readable medium. For transmission over the network 40 or for reading from a media reading device 22, the various components of the accompaniment dataset 60 are preferably concatenated together to form a single concatenated data file. This concatenated file begins with a header 62 and also contains an accompaniment soundtrack file 64, optionally one or more image files 66, optionally a lyrics file 68, a control data file 70 and a check sum 72. The header 62 contains information denoting the dataset length, contents, creation and other identification and house keeping information. The checksum 72 contains information allowing the components of the accompaniment dataset 60 to be checked for integrity.
The accompaniment soundtrack file 64 contains audio data preferably encoded into a suitably compressed format to reduce data storage and communication requirements. In the presently preferred embodiment, the "MP3" compression scheme is used. This is the MPEG-1 Layer 3 (Moving Pictures Expert Group) format for storing digital audio data. The accompaniment soundtrack file 64 is also encrypted to prevent unauthorised users from making use of the audio data.
The one or more image files 66 contain graphical data for display by an accompaniment unit 10 when the accompaniment soundtrack is being played. These image files may contain images depicting musical notation corresponding to the accompaniment soundtrack, and in particular musical notation representing the solo musical part that is absent from the accompaniment soundtrack, and that is to be played by the user of the unit 10. Of course, the dataset 60 could contain data specifying musical notation logically, for example in the form of a code using numbers and/or characters, rather than, or as well as, by means of an image. The image files 66 may also contain decorative images or other data.
The lyrics file 68 contains text. This text provides the lyrics to be sung by the user of the accompaniment unit 10 when the accompaniment soundtrack is being played, for example if the accompaniment dataset relates to a song.
The control data file 70 is a text file containing information relating to the play back of the accompaniment dataset, simultaneous presentation of associated play back data, and other control data. The control data file is organised into a number of sections. The "main" section contains general information relating to the accompaniment dataset 60. This information may include a price or price code to provide the user of the accompaniment unit 10 with information as to the financial price that will be charged by the transaction server 30 to provide information to decrypt and play the accompaniment soundtrack. It may also include title information, information relating to the composer of the accompaniment music, information relating to the solo instrument omitted from the accompaniment soundtrack, and information relating to the technical difficulty level of the music.
The "accompaniment" section of the control data file 70 contains information relating to the accompaniment soundtrack file 64, and in particular the name of this file. 'License code information is also written to this section by the accompaniment unit 10 when permission has been granted to decrypt the accompaniment soundtrack file 64.
The "notation" section of the control data file 70 includes information relating to the image file 66 which may contain musical notation images, and in particular the names of the files containing the musical notation or other images.
The "timing" section of the control data file 70 contains information relating to when each image file, and in particular each image file containing musical notation should be displayed on the display unit. These timing details allow the display of the musical notation images to be synchronised with the play back of the accompaniment soundtrack.
The "lyrics" section of the control data file 70 contains timing and other information relating to the presentation of the words contained in the lyrics file 68. This timing information enables the accompaniment unit 10 to display appropriate groups of lyrics and to highlight particular words, in synchronisation with the play back of the accompaniment soundtrack. This section may also contain details relating to the print style, colour etc in which the lyrics words are to be presented.
The "takes" section of the control data file 70 initially contains no information. When a user soundtrack is recorded using an accompaniment unit, details relating to the user soundtrack are entered in this section of the control data file 70.
The "levels" section of the control data file 70 contains default volume levels at which solo and accompaniment soundtracks may be mixed together to produce a user soundtrack for storage and subsequent play back. The "playback" section contains default details as to how user soundtracks recorded by the user are played back or 'further compressed or stored. The "reverb", "tempo" and "pitch" sections contain further default or user defined parameters for the processing and playback of soundtracks.
Other sections may be provided, to store other parameters and information required for the functioning of the accompaniment unit. The control data file 70 may be written to by an accompaniment unit to change various parameters, in particular to adjust default values of record and play back volume levels and to keep a record of user soundtracks.
Figure 3 is a schematic diagram illustrating the processes that an electronic musical accompaniment unit 10 according to the preferred embodiment is adapted to carry out. Accordingly, for the purposes of explanation and illustration, the data processing functionality has been divided into a number of modules, and the data storage 20 shown in figure 1 has been divided into a number of areas of memory.
The accompaniment unit 10 shown in figure 3 includes a dataset download module 104 that is provided to download accompaniment datasets either - from a local media reading device 22 or from a remote soundtrack archive' server 50 accessible via the network 40. A network port 102 is provided to enable the dataset download module 104 and other components of the accompaniment unit 10 to connect to the network 40. Datasets 60 obtained by the dataset download module 104 are checked for integrity using the checksum data 72 incorporated into each dataset 60 before being split up into separate component files and written to a first area of memory 106. In the preferred embodiment, the first area of memory is provided by a hard disk drive or other permanent data storage device, and the component files of each accompaniment dataset 60 are written to a sub- directory created to." contain only files relating to that dataset. Thus, the first area of memory 106 may contain a number of different datasets 60 without confusing the various component files. 5 The accompaniment soundtrack file 64, a number of image files 66, a lyrics file 68, and a control data file 70 are shown in the first area of memory 106 in figure 3. However, it will be appreciated that other files relevant to the dataset may also be present, and
10 that certain ones of the files shown may be omitted if not required for a particular dataset.
A key token 121 is shown included in accompaniment dataset 60 stored in the first area of memory 106. In the preferred embodiment, this key
15 token is not downloaded by the dataset download module 104 as part of the accompaniment dataset, but is obtained subsequently by the transaction module when permission to decrypt the soundtrack 64 has been obtained. A different key token 121 is used for each
20 accompaniment dataset 60 stored by the archive server 50 to make unauthorised decryption of a soundtrack more difficult.
Before the accompaniment soundtrack can be decrypted and played by the accompaniment unit 10,
25. permission to decrypt the accompaniment soundtrack file 64 must be obtained from the transaction server 30 shown in figure 1. This permission is obtained by a transaction module 108. The transaction module confirms the integrity of the accompaniment dataset 60
30 using the checksum data and then sends a permission request message via the network port 102, across the network 40 to the transaction server 30. Communications between the accompaniment unit and the transaction server may be in HTML or any other
35 appropriate form. The permission request message may provide the transaction server 30 with a number of different pieces of information such as details regarding the particular accompaniment unit 10, details of the accompaniment dataset 60 for which decryption permission is requested, and payment for other financial transaction details. If the transaction server 30 approves the request for permission to decrypt then this is communicated across the network 40 to the transaction module 108 via the network port 102. The transaction module 108 then instructs a license generating module 110 to generate a license code for the particular accompaniment dataset 60. Also, after approval, the transaction server communicates a key token 121, required to decrypt part or all of the subject accompaniment dataset 60, to the accompaniment unit. The accompaniment unit may store this key token 121 along with the rest of the accompaniment dataset 60 in the first area of memory 106, for example within the control data file 70, as illustrated in figure 2. However, the key token could be stored or hidden elsewhere in the memory of the accompaniment unit, for example within an operating system registry file. The key token 121 may itself be coded, scrambled or encrypted to make unauthorised use more difficult.
The license generating module 110 generates the license code by scrambling together local system data 112 particular or unique to the individual accompaniment unit 10, with information particular or unique to the selected accompaniment dataset 60 for which access permission has been granted. In the preferred embodiment three pieces of data are scrambled together, preferably in an irreversible manner, so that none of the starting datu s can be unambiguously derived from the license code. This may be achieved in an ad hoc but reproducible manner, or in a variety of ways or using a variety of algorithms familiar to the person skilled in the art, so as to obtain a license code that is, for all practical purposes, unique to the pieces of starting data.
In the preferred embodiment the local system data 112 particular to the individual accompaniment unit 10 is the electronically available serial number of a 5 hard disk drive forming a part of or connected to the unit 10. This serial number is typically an eight character code such as "E010-1004". Another locally available datum could, of course, be used instead, such as a microprocessor serial number or other
10 electronically available tag of a hardware component. Software serial numbers, such as that of an operating system could be used, but might be easier to change in order to defeat the licensing procedure. Multiple items of local system data may be used in conjunction
15 if required.
In an alternative embodiment, the local system data is provided by a removable smart card or other data carrying device which is difficult to tamper with, and may be protected using encryption techniques
20 familiar to the person skilled in the art.
In the preferred embodiment the data particular to the data element is provided by a file name or library catalogue number unique to the particular ... dataset and by the length of the accompaniment
25. soundtrack, in .its "encoded and encrypted form, measured in bytes. Clearly other features of a dataset could be used, including any other logical dimension of the accompaniment soundtrack, or a sample of a few bytes or a digital fingerprint of the encoded
30 and encrypted soundtrack.
The license code generated by the license generating module 110 may be written to the control data file 70 belonging to the accompaniment dataset 60, stored in the first area of memory 106. The
35 license code could be hidden or encrypted in some way, if desired, or located elsewhere within the unit 10, for example in a registry file of an operating system. When the user of the accompaniment unit 10 provides instructions to play back an accompaniment soundtrack, the accompaniment soundtrack file 64 must first be decrypted by decryption module 120. 5 Permission to decrypt the accompaniment soundtrack file 64 is obtained from a license checking module 122. The license checking module 122 instructs the license generating module 110 to generate a further license code based on the local system data 112 and
10 the data particular to the accompaniment dataset 60.
This newly generated license code is compared with the license code already written to the control data file 70. If the two license codes match, i.e. are sufficiently close or are identical, as required, then
15 this indicates that the license code read from the control data file 70 is valid for the relevant soundtrack file 64 on the present accompaniment unit 10. Thus, permission to decrypt the accompaniment soundtrack file 64 may be provided to the decryption
20 module 120.
The accompaniment soundtrack file 64 is decrypted using a key generated from key token 121, which in the preferred embodiment is a 128 character string. This . key token is transformed multiple times, each time
25. encrypting the token and concatenating the result to the original token. The resulting key corresponds to the key used to originally encrypt the accompaniment soundtrack file 64. Of course, many different encryption/decryption schemes are known in the art,
30 and any suitable scheme could be used.
The accompaniment soundtrack file 64 decrypted by the decryption module 120 is passed to a play back module 124 which arranges for the soundtrack to be reproduced using the one or more audio outputs 14.
35 If one or more image files 66 are available in the accompaniment dataset 60, these are routed to the visual display 12 by an image display module 130. The timing of the display of the various images is determined by the timing data provided in the "timing" section of the control data file 70. This timing data may be used, for example, to ensure that the musical 5 notation image appropriate to a particular part of the accompaniment soundtrack is displayed shortly before and for the duration of that part of the soundtrack. If lyrics data is available in a lyrics file 68 then this data may be routed to the visual display 12
10 by a lyrics display module 132. The timing of the display of various groups of words contained in the lyrics data is determined by information contained within the "lyrics" section of the control data file 70. Thus, a group of words to be sung by the user of
15 the accompaniment unit 10 may be displayed shortly before the accompaniment soundtrack reaches the point at which these words are to be sung. Furthermore, each word of the lyrics may be highlighted on the visual display 12 at the moment or shortly before it
20 is to be sung.
The lyrics display module 132 is also adapted to display a count down bar which is illustrative of the length of time remaining before the next group of lyric words is to be sung. This count down bar may be
25 used, for example, ' during intervals of the accompaniment soundtrack when no words are to be sung. The duration and timing of the presentation of such a count down bar may also be controlled by data contained within the "lyrics" section of the control
30 data file 70.
The accompaniment unit 10 provides facilities for recording one or more solo soundtracks 78, in particular while the accompaniment soundtrack is being played. A recording module 140 accepts audio data
35 from the one or more audio inputs 16, and routes this data to a second area of memory 141, where the solo soundtrack 78 is stored. Any of the solo soundtracks 78 stored in the second area of memory may be subsequently routed to the playback module 124, where one or more solo soundtracks may be combined with the appropriate accompaniment soundtrack, provided by the 5 decryption module 120.
Various parameters provided in the "levels" section of the control data file 70 may be used to control the playback module 124. In particular, the user is able to adjust the relative volume levels of
10 the accompaniment soundtrack and any solo soundtracks that are to be mixed together to produce the playback soundtrack.
The playback module also provides facilities for applying pitch shifting, tempo changing, reverberation
15 and other effects to the soundtracks. Parameters to control such effects, which may be varied by the user of the accompaniment unit, are stored in the "playback", "reverb", "tempo", "pitch" and other relevant sections of the control data file 70, and/or
20 provided for by a suitable user interface.
A mixed soundtrack 80 can be routed from the playback module 124 to be stored in a third area of memory 144, or to the audio output, or both of these . options simultaneously. The third area of memory may
25. conveniently be provided by the same hard disk drive that provides the first 106 and/or second 141 areas of memory. User specified and/or accompaniment unit specified details of each mixed soundtrack such as the title of the associated accompaniment soundtrack, the
30 date and time of the recording, and the name of the solo performer are recorded in the "takes" section of the control data file 70.
A mixed soundtrack 80 stored in the third area of memory 144 may be subsequently replayed or routed
35 to a compression module 150. The compression module 150 is controlled by a user interface that allows the user to adjust various parameters such as the degree of compression. The" compression module 150 compresses the mixed soundtrack 80 'into a compressed mixed soundtrack 90. A wide number of different compression techniques and formats familiar to the skilled person could be used by the compression module 150, but in the preferred embodiment the "MP3" format is used.
The compressed mixed soundtrack 90 is written to a fourth area of memory 152 which is used to store an archive of such soundtracks. This fourth area of memory may be provided by the same hard disk drive unit that provides any of the above mentioned areas of memory.
Compressed mixed soundtracks 90 held in the fourth area of memory 152 may be written to a local media writing device, which could be the same device as the media reading device 22. In the preferred embodiment, an e-mail module 154 is provided with which the user of the accompaniment unit may forward a compressed mixed soundtrack by e-mail over the network 40, via the network port 102.
Since even compressed soundtrack files may be large and require long transmission times across the network 40 or other communications routes, a remote user archive computer may be provided. Compressed soundtrack files may be forwarded from the accompaniment unit to the user archive computer, for example using FTP or another file transfer protocol or system. From the user archive computer, soundtrack files may be made available to third parties, for example by means of a universal resource locator (URL) emailed from the accompaniment unit to the third party. In this way, a third party can receive an email notifying them of the location of the soundtrack, and need only download the soundtrack as and when required. If necessary, soundtracks held on the user archive computer may be protected by a password or by other suitable means. The electronic musical accompaniment unit 10 is operated, in the preferred embodiment, using the data entry devices 18 in conjunction with the visual display 12. The accompaniment unit 10 of the preferred embodiment provides a number of interface windows which may be selectively displayed on the visual display 12. .A number of these interface windows will now be described.
Figure 4 illustrates a download window 200 that enables the user of an accompaniment unit 10 to download accompaniment datasets 60 from a remote soundtrack archive server 50, over the network 40 or from a local media reading device 22. One or more filter controls 202 provide the user with the facility to view only a subset of the accompaniment datasets 60 available from the soundtrack archive server 50. In figure 4, the user has selected datasets containing accompaniment soundtracks intended to accompany a violin solo. A number of other filter controls could, of course, be provided.
Information relating to the accompaniment datasets 60 selected by the filter control 202' is presented in the dataset display area 204. In the download window 200 illustrated in figure 4, eight accompaniment datasets 60 are listed. Useful details about each dataset are provided in the data display area 204. The details shown in figure 4 include the dataset title, the composer of the music, a music examination grade indicative of difficulty, a price, the number of pages of musical notation, and the instrument for which the accompaniment soundtrack is intended.
Particular ones of datasets shown in the dataset area 204 may be highlighted using the data entry devices 18. Selected datasets 206 may then be transferred to the data storage 20 of the accompaniment unit 10 by using a download control 210. In the presently preferred embodiment, payment for use of a dataset, and in particular for permission to decrypt a soundtrack file, is not required at the time of downloading the dataset. 5 A similar interface window, not shown in any of the figures, is used to control communication with the transaction server 30 in order to obtain the necessary key token 121 and permission to decrypt an accompaniment soundtrack file 64, to thus make use of
10 an accompaniment dataset 60. Such a window may provide facilities for the user to pay for the permission granted to use a selected one or more datasets listed in a dataset display area, these datasets being already present on the data storage 20
15 of the accompaniment unit 10. When the user has made use of such an interface window to obtain permission to use an accompaniment dataset, a license code is generated by the accompaniment unit 10 as described above with reference to figure 3.
20 An image display window 230 is shown in figure 5. This window is used to present images contained in one . or more image files 66 associated with an accompaniment dataset 60. The display of the images is synchronised with the play back of the
25. accompaniment soundtrack by means of the timing data contained in the "timing" section of the control data file 70. The image shown in figure 5 is a musical notation image presenting the solo part corresponding to the accompaniment soundtrack. Also provided in the
30 image display window 230 are a number of control buttons 234. These allow the user to control various functions of the accompaniment unit. In particular, the load music button 236 is used to initiate the license checking and decryption sequences carried out
35 by the license checking 122 and the decryption module 120, in order that a particular soundtrack may then be played back. The record button 238 launches or activates a recording interface window enabling a number of recording parameters to be set, as well as providing a start record button. The play button may be used to instruct the play back module 124 to begin the play back of the accompaniment soundtrack, at the same time instructing the image display module 130 and/or lyrics display module 132 to simultaneously display the relevant available lyrics and/or graphical images . Other ones of the control buttons 234 may provide the user access to the soundtrack processing functions provided by the playback module 124 and the compression functions provided by the compression module 150. Other control buttons may provide access to interface windows allowing manipulation of solo, mixed and compressed mixed soundtracks contained in the second, third and fourth areas of memory 141,144,152.
A lyrics display window 250 is shown in figure 6. This window displays lyrics 252 routed to the visual display 12 by the lyrics display module 132. The particular lyrics 252 displayed during a particular time interval of the play back of the accompaniment soundtrack are determined by the timing information contained within the "lyrics" section of the control data file 70. One of displayed words 254 of the lyrics is a highlighted word 254. Which word is highlighted at any particular time during play back of the accompaniment soundtrack is also controlled by the above mentioned timing data. This highlighting feature may be used to indicate when each word should be sung in time with the accompaniment soundtrack. An incidental image 256, taken from a selected one of the image files 66 is also presented in the illustrated image display window 250.
A recording control window 270 is presented in figure 7. This control window provides the user with facilities for adjusting parameters used to control the playback and recording modules. Thus, the accompaniment soundtrack level control 272 may be used to control the level of accompaniment soundtrack played by the audio outputs 14, and the solo soundtrack level control 274 may be used to adjust the level of a solo soundtrack recorded and stored in the second area of memory 141. The level of the recorded solo soundtrack 78 is shown in the solo soundtrack level indicator 276. A restart button 278 is provided to enable the user to instruct the lyrics display module 132, the image display module 30, the play back module 134 and the recording module 140 simultaneously to begin again from the start of the accompaniment soundtrack.
A delay control 280 allows the user to delay playback by a chosen period of time following a start command issued, for example, using the restart button 278. A solo soundtrack archive window 290 illustrated in figure 8 provides the user with details of the solo soundtracks 78 held in the second area of memory 144. In the window shown in figure 8 the details of four different solo soundtracks 78 are shown, in the solo soundtrack display area 292. The solo soundtracks displayed all correspond to the accompaniment dataset 60 currently accessible by the play back module 124, and correspond to four different "takes". Details of these takes, such as the date and time of recording, and a user description are held in the "takes" section of the control data file 70. A play button 294 may be used to instruct the playback module 124 to play back the solo soundtrack highlighted in the solo soundtrack display area 292, by routing it along with the appropriate accompaniment soundtrack to the one or more audio outputs 14.
A playback module control window is provided, although not illustrated in the figures, which enables the user to adjust the 'mix levels of the chosen solo and accompaniment soundtracks, to add various digital effects such as reverberation, and to choose whether to store the resulting mixed soundtrack in the third area of memory.
A compression module control window 310 is illustrated in figure 9. This window is used to control the compression module 150 which is adapted to accept mixed soundtracks 80 from the third area of memory 144 and to compress them into compressed mixed soundtracks 90 to be stored in the fourth area of memory 152.
A transmission rate parameter control 312 allows the user to set a transmission rate parameter that is an estimate of the rate at which data may be transmitted over the network 40. This transmission rate parameter may indicate, for example, the speed at which the network port 102 may be expected to transmit data to the .network 40. A compression degree control 314 is provided to allow the user to select a parameter to control the degree of compression to be applied to a mixed soundtrack by the compression module 150. In the preferred embodiment, this compression degree- parameter is converted to a compression ratio and displayed by a compression ratio indicator 316 which indicates the expected ratio of sizes of a mixed soundtrack 80 and a corresponding compressed mixed soundtrack 90. A sound quality indicator 318 provides a simple graphical representation of the likely audio quality of a soundtrack reproduced from an audio file compressed using the current parameters. In the present embodiment, this sound quality indicator takes the form of a small face, the expression of which changes from happy through a number of intermediate stages to sad. Of course, other graphical images could equally well be used.
A compressed file size indicator 320 indicates the expected size of the currently selected mixed soundtrack 80 when compressed using the current compression parameters into a compressed mixed soundtrack 90 by the compression module 150. The estimated time to send the compressed file at the transmission rate indicated by the transmission rate parameter indicator 312 is displayed by a transmission time indicator 322. A compress button 324 is provided to allow the user to instruct the compression module 150 to carry out compression of a mixed soundtrack 80 to produce a compressed mixed soundtrack 90 using the currently selected parameters and to store the compressed mixed soundtrack 90 in the fourth area of memory 152.
A compressed soundtrack archive window 330, for listing and providing facilities for manipulating compressed mixed soundtracks 90 held in the fourth area of memory 152, is shown in figure 10. Details of each of the compressed mixed soundtracks 90 held in the fourth area of memory 152 are displayed in a compressed soundtrack display area 332. A number of control buttons 334 may be used to initiate actions relating to the soundtracks listed in the display area 332. These include a play button 336, to initiate decompression and playing of a selected soundtrack, and an e-mail button 338 to open an e-mail interface window for e-mailing a selected soundtrack using the e-mail module 154. An e-mail time indicator 340 indicates the estimated time that it will take to transmit each compressed mixed soundtrack by e-mail over the network 40, and a file size indicator 342 indicates the approximate size of each compressed mixed soundtrack.
Some musical accompaniment soundtracks may not provide a musical lead in or other introduction before the time at which the solo line should begin. In these cases, some form of count-in is desirable to enable a user of the system to synchronize the solo audio input with the accompaniment soundtrack towards the beginning of the soundtrack. For this purpose, the accompaniment unit may provide a count-in facility, preferably presented in a graphical, and/or audible form. One such presentation may take the form of a graphical representation of a human orchestral conductor, having various user-adaptable aspects. An alternative representation may take the form of a count in using digits. A default setup for the count- in facility may be provided in the control file 70.
Some parameters relating to the count-in facility which may be stored in the control file 70, for example under a section heading "COUNT IN" are: chosen image (or default) , beats in the bar, number of bars to beat, when to start beating, the relative start times of the graphical display and the musical output, the frame-rate of the graphical display, whether to display beat-numbers and/or the conductor, and whether an audible click in the manner of a metronome is to be played.
Figure 11a shows a count-in facility setup interface window for adjusting count-in facility control parameters. The setup may be carried out by the provider of an accompaniment soundtrack, and incorporated in an accompaniment dataset. Alternatively, or additionally, such a setup may be carried out by an end user of an accompaniment dataset, using the facilities provided by an accompaniment unit. Initially, the count-in facility timing parameters are set up by playing the- accompaniment soundtrack and beating time on the graphical representation of a drum 360 from a specific point in the solo line. Beating on the drum may be effected by clicking on it using a pointing device such as a computer mouse, whereupon a graphical representation of a hit' drum is momentarily displayed for the user's reassurance that the drum has been hit, and a metronome click may also be played. Thus it is also possible to introduce a count-in to a solo entry after the accompaniment has started. A tempo (MM mark) parameter displayed with an "MM mark" interface element 362 is determined by averaging out the beats on the drum, and the point at which the count-in facility starts beating time is calculated by comparing the moment of the first beat with the moment of the accompaniment soundtrack start. The number of beats in the bar and the number of bars to count may be entered manually using the up-down buttons of the appropriate interface elements 364,366.
A delay interface element 368 shows:
(a) (If positive) the amount of centiseconds before the accompaniment track starts to play,
(b) (If negative) The amount of centiseconds of accompaniment track to play before the count-in function starts beating time.
Very accurate timing can be manually effected using this facility.
A Test button 370 is provided to view the results of the count-in setup process. Once the user is satisfied that the parameters of the count-in facility are correct, he may press a "Save" button 372 to record the new details in the control file 70 or elsewhere. A "Retry" button 374 gives the user the opportunity to start again, for example if the drum was not correctly struck resulting in a wrong tempo reading. The user may also use an "Exit" control 376 without saving, reverting to the previously stored count-in facility Setup. An interface control 378 marked "»" displays a second interface window presenting aspects of the operational interface of the count-in facility, such as a graphical representation of a human orchestral conductor as mentioned above, as well as further options. This second interface window, shown in figure 11B is intended for use on an accompaniment unit to allow a user some control as to how the count-in facility operates. The "Smoother beating" control 380 allows the user to reduce the number of graphical frames of a conductor or other image sequence that are displayed in a given time interval or musical beat in order to allow the computer system to keep up. This may be particularly useful if the tempo is quite fast (typically more than 112 beats per minute) . Generally this will be decided automatically by the system but can be overridden by the user if the user's system is particularly fast or slow.
A "Conductor" control 382 allows the user to choose whether or not the human conductor should be displayed.
A "Beat numbers" control 384 allows the user the choice of a visual count of the beats in the bar, with or without the conductor or other graphical display. An "Audible click" control 386 provides a click in the fashion of a metronome, if this is made available. When the click is not available, this control is disabled, and set to Off.
Figures lie, lid and He show the count-in facility operating on an accompaniment unit following the choice of various display options. If no display options are selected, the conductor will be disabled. Clearly, there are a number of ways in which the electronic musical accompaniment unit 10 described above could be implemented. The unit could be manufactured as a dedicated hardware unit making suitable use of dedicated hardware and generic or specially written software. However, the preferred embodiment makes use of a personal computer running a operating system providing a graphical user interface, such as a variant of Microsoft Windows (TM) . The various described functional modules or a functionally similar design are preferably implemented in software, interfacing where necessary with the operating system and the appropriate hardware as will be familiar to the person skilled in the art. Data storage 20, and memory areas 104, 144 and 152 may be provided by any suitable mixture of available memory devices such as static or dynamic microchip-based memory and hard disk drives.
The software may conveniently be written in a high level language providing convenient window interface facilities, such as Microsoft Visual Basic. Access to the datasets 60 held by the remote soundtrack archive server 50 may be provided using the Internet File Transfer Protocol (FTP) , for which software toolkits are available commercially. Similarly, software toolkits are currently commercially available providing facilities for encoding and decoding "MP3" audio files, or for handling other compression formats, and formats for audio, image, video and other data.
Multiple skin functionality may be provided to conveniently allow a user, programmer or technician to select from a variety of graphical user interfaces, interface styles and so on.
Communications with the transaction server 30 may conveniently make use of the hypertext markup language or a variant thereof. An Internet browser providing a' variety of Internet communication facilities based on common standards such as the hypertext transport protocol and FTP may be incorporated within the personal computer or other embodiment of the accompaniment unit for providing many of the communication facilities.
A number of alternative arrangements may be envisaged for the system depicted in figure 1. There may be any number of soundtrack archive servers 50 and transaction servers 30, and the two functions may be combined into one or more single computer systems . In the preferred embodiment, datasets 60 are downloaded to the accompaniment unit 10 and checked for integrity before permission to decrypt a accompaniment soundtrack datafile 64 is requested. This has the advantage of ensuring that the user has received a workable copy of the dataset before the permission granting transaction takes place.' However, it would be possible for the transfer of a dataset from a soundtrack server to be delayed until permission has been granted to use the dataset. Indeed, it may be envisaged that datasets are not stored permanently on the accompaniment unit, being downloaded for use only when required. Such an arrangement may be particularly appealing if the datasets are locally available, for example on a CD- ROM or other computer readable medium.
Instead of using a different key token 121 for each accompaniment dataset 60 stored by the archive server, a single common key token could simply be stored ab initio in each accompaniment unit 10. The preferred- embodiment makes use of transactions between the accompaniment unit 10 and the transaction server 30 that relate to a particular single dataset. However, it may be desirable to carry out such transactions in relation to an unspecified dataset, in particular to an unspecified dataset within a specified category such as a pricing category, or for a number of specified or unspecified datasets simultaneously. However, it may be advantageous for the transaction server 30 and the operator thereof to maintain details of which units have been granted permission to use which datasets. In this way, if a user loses a license code, changes the accompaniment unit in a way that affects the generation of license codes, or in some other way loses access to a dataset for which he has paid, the transaction server 30 may be permitted to issue a 5 fresh permission approval message to the unit. The preferred embodiment makes use of accompaniment datasets incorporating a range of data types. Clearly, not all of these data types need be included in each dataset. For example, datasets
10 relating to only instrumental music will contain no lyrics data, and some datasets relating to songs may contain no musical notation images. Timing and other data may be omitted if not required.
In the preferred embodiment the accompaniment
15 soundtrack is encrypted. While this is clearly desirable for the protection of the commercial interests of a commercial or other provider of the datasets, arrangements not using such encryption are clearly possible. Other means of discouraging
20 unlicensed use of soundtracks could be used instead, such as hiding files, or partially encrypting to reduce sound quality on play back by a user lacking, the necessary codes.
25.

Claims

1. A system for providing musical accompaniment, the system comprising: a data routing network; a soundtrack archive comprising one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; an electronic musical accompaniment unit connected to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment • soundtrack from a dataset containing the soundtrack; arid'.. a transaction server connected to said network; the accompaniment unit being adapted to send a permission request message across said network to said transaction server; said transaction server being adapted to receive said permission request message, to process the permission request message to determine if access permission should be granted to said accompaniment unit, and, on determining that permission should be granted, to then send an access approval message across said network to said accompaniment unit; said accompaniment unit being further adapted, on receipt of said access approval message, to enable audible playback of the accompaniment soundtrack contained in at least one of said datasets.
2. The system of claim 1 wherein said soundtrack archive is provided by a soundtrack archive server connected to said data network.
3. The system of claim 1 wherein said soundtrack archive is provided by a computer readable medium readable locally by said accompaniment unit.
4. The system of any preceding claim wherein said unit is provided with a data storage area, and is adapted to copy a selected one of said datasets from said soundtrack archive to said data storage area.
5. The system of claim 4 wherein said permission request message and said access approval message relate to said selected one of said datasets, and said accompaniment unit is adapted, on receipt of said access approval message, to enable playback of the accompaniment soundtrack contained within said selected dataset.
6. The system of claim 5 wherein the accompaniment soundtrack in each dataset is encrypted.
7. The system of claim 6 wherein said transaction server, on determining that permission should be granted, is adapted to send a key token for decryption of said encrypted accompaniment soundtrack across said network to said accompaniment unit, said accompaniment unit being adapted to decrypt said encrypted accompaniment soundtrack using said key token.
8. The system of any of claims 5 to 7, wherein said accompaniment unit is further adapted, on receipt of said access approval message from said transaction server system, to: generate a first license code from locally available source data including data unique to the selected dataset and data unique to the accompaniment unit; and to store said first license code in said data storage area.
9. The system of claim 8, wherein said accompaniment unit is further adapted, when requested to play an accompaniment soundtrack contained within a chosen dataset, to: generate a second license code from locally available source data including data unique to the 5 chosen dataset and data unique to the accompaniment unit; retrieve from the data storage area a stored license code associated with the chosen dataset; compare said stored license code with the second 10 licence code; and decrypt and play the accompaniment soundtrack only if the stored and second license codes match.
10. The system of any preceding claim wherein the
15 accompaniment unit is further adapted to enable a user soundtrack to be recorded synchronously to the playback of one of said accompaniment soundtracks.
11. The system of any preceding claim wherein each 20 dataset also contains lyrics and lyrics timing information, the accompaniment unit being adapted to display the lyrics synchronously with the playback of the associated accompaniment soundtrack.
25.
12. The system of' any preceding claim wherein each dataset also contains images and image timing information, the accompaniment unit being adapted to display the images synchronously with the playback of the associated accompaniment soundtrack.
30
13. Use of a personal computer as an electronic musical accompaniment unit in a system as claimed in any one of claims 1 to 12.
35 14. An electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; a first area of memory for storing an accompaniment soundtrack in an encoded electronic format; a second area of memory for storing a user soundtrack in an encoded electronic format; a playback module for decoding and routing the accompaniment soundtrack stored in the first area of memory to the one or more audio outputs for playback thereby; a recording module for receiving the user soundtrack from the one or more audio inputs and for encoding and routing the user soundtrack to said second area of memory for storage .therein; the unit being adapted to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack input through the one or more audio inputs.
15. The unit of claim 14 further comprising: a third area of memory for storing a stored license code associated with said accompaniment soundtrack; and a license checking module for using said stored license code to establish if the accompaniment unit is entitled to playback the accompaniment soundtrack through the one or more audio outputs.
16. The unit of claim 15 further comprising a license code generating module for scrambling locally available source data to generate a generated license code, the license checking module establishing that the accompaniment soundtrack may be played through the one or more audio outputs if the stored license code and the generated license code match.
17. The unit of claim 16 wherein the locally available source data includes data unique to the accompaniment soundtrack and data unique to the unit.
18. The unit of claim 17 wherein the data unique to the unit includes the electronically available serial number of a hardware component connected to or forming a part of the unit.
19. The unit of claim 17 further comprising a transaction module for receiving a licensing permission message from a remote transaction server through 'a network, generating a license code for said accompaniment track using said license code generating module and storing said license code in said third area of memory.
20. The unit of claim 19, the transaction module being further adapted to carry out an integrity check to ensure the integrity of the accompaniment soundtrack and the associated playback data before generating a license code.
21. The unit of any of claims 14 to 20 wherein the - accompaniment soundtrack is stored in an encrypted form in said first "area of memory, and the accompaniment unit further comprises a decryption module for receiving the encrypted accompaniment soundtrack from the first area of memory and for decrypting and routing the accompaniment soundtrack to said playback module.
22. The unit of any of claims 14 to 21 further comprising a soundtrack download module for connecting to a remote soundtrack archive server through a network, and downloading one or more accompaniment soundtracks in an encoded electronic format from said server.
23. The unit of any- of claims 14 to 22 further comprising: a visual display; and an image display module; the image display module being adapted to display on said visual display, synchronously with the playback of an associated accompaniment soundtrack, images contained within image data associated with said accompaniment soundtrack.
24. The unit of claim 23 wherein the image data further includes image timing data referenced to the timing of said associated accompaniment soundtrack, and the image display module is adapted to display a particular one or more of said images during an interval of the playback of said accompaniment soundtrack determined by said image timing data.
25. The unit of claim 24 wherein the image data includes images depicting musical notation.
26. The unit of any of claims 14 to 25 further comprising: a visual display; and a lyrics display module; the lyrics display module being adapted to display on said visual display, synchronously with the playback of an associated accompaniment soundtrack, lyrics contained within lyrics data associated with said accompaniment soundtrack.
27. The unit of claim 26 wherein the lyrics data also includes lyrics timing data referenced to the timing of said associated accompaniment soundtrack, the lyrics display module being adapted to display a subset of said lyrics during a timed interval of the playback of said associated accompaniment soundtrack determined by said lyrics timing data.
28. The unit of claim 27 wherein the lyrics display module is adapted to highlight a subset of the displayed lyrics during a timing interval of the playback of the associated accompaniment soundtrack determined by said lyrics timing data.
29. The unit of any of claims 14 to 28, further adapted to receive one or more user soundtracks from the recording module and to combine them with the synchronously played accompaniment soundtrack before storing the mixed soundtrack in said second area of memory or forwarding it to the one or more audio outputs.
30. The unit of any of claims 14 to 29 further comprising a compression module adapted to receive a soundtrack from said second area of memory, to compress said soundtrack and to store the compressed soundtrack in a fourth area of memory.
31. The unit of claim 30 wherein the compression , module is adapted to accept a user selected compression degree" parameter, to calculate a sound quality parameter related to the expected quality of an audio signal reproduced from a soundtrack compressed using the selected compression degree parameter, and to route a symbol indicative of the sound quality parameter to a visual output, to thereby assist the user in the choice of compression degree parameter.
32. The unit of either claims 30 or 31 wherein the compression module is further adapted to accept a data rate parameter representative of the data rate at which a compressed soundtrack is expected to be transmitted over a network, to calculate an estimated transmission time from the available parameters, and to route said estimate transmission time to a visual display.
33. The unit of any of claims 30 to 32 further comprising an e-mail module for forwarding a compressed soundtrack from said fourth area of memory over a network to a remote recipient computer.
34. The unit of any of claims 30 to 33 further comprising a media writing module for writing a compressed soundtrack to a computer readable medium.
35. A data compression unit for receiving an audio data file in an electronic format, compressing said audio data file and outputting the compressed audio file, the data compression unit having a visual output and being adapted to: accept a user selected compression degree parameter; calculate a sound quality parameter related to the expected quality of an audio signal that would be - reproduced from an audio file compressed using the selected compression degree parameter; and to route a symbol indicative of the sound quality parameter to the visual output, thereby assisting the user of the data compression unit in the choice of compression degree parameter.
36. The data compression unit of claim 35 wherein the unit is further adapted to: accept a data rate parameter representative of the data rate at which a compressed audio file may be transmitted over a network; calculate an estimated transmission time using the compression degree parameter, the size of the audio data file and the 'data rate parameter, and to route said estimated transmission time to the visual output .
37. A method of providing musical accompaniment using a data routing network, the method comprising the steps of: storing in a soundtrack archive one or more musical accompaniment datasets, each dataset containing an accompaniment soundtrack in an encoded electronic format; connecting an electronic musical accompaniment unit to said network, said accompaniment unit having access to said soundtrack archive and being operable to play audibly an accompaniment soundtrack from a dataset containing the soundtrack; connecting a transaction server to said network; sending a permission request message from said accompaniment unit across said network to said transaction server; receiving at said transaction server said permission request message and processing the - permission request message to determine if access permission should be granted to said accompaniment unit; on determining that permission should be granted, said transaction server sending an access approval message across said network to said accompaniment unit; and following receipt of said access approval message by said accompaniment unit, enabling playback by said accompaniment unit of the accompaniment soundtrack contained in at least one of said datasets.
38. The method of claim 37 wherein said soundtrack archive is stored by a soundtrack server connected to said data network, the method comprising the step of transmitting a selected 'one of said datasets from said soundtrack server to said accompaniment unit.
5 39. The method of claim 37 wherein said soundtrack archive is stored by a computer readable medium readable locally by said accompaniment unit, the method comprising the step of loading a selected one of said datasets from said computer readable medium 10 into said accompaniment unit.
40. The method of either of claims 38 or 39 wherein said permission request message and said access approval message relate to said selected one of said
15 datasets, and said step of enabling playback enables playback of the accompaniment soundtrack contained within said selected dataset.
41. The method of any of claims 37 to 40 wherein the 20 accompaniment soundtrack in each dataset is encrypted.
42. The method of claim 41, further comprising the steps of: said transaction server, after determining that 25. permission should be granted, sending a key token for decryption of said encrypted accompaniment soundtrack across said network to said accompaniment unit; and said accompaniment unit decrypting said encrypted accompaniment soundtrack using said key token. 30
43. The method of any of claims 40 to 42 further comprising the steps of: on receipt of said access approval message from said transaction server system, said accompaniment 35 unit generating a first license code from locally available source data including data unique to the selected dataset and data unique to the accompaniment unit ; and said accompaniment unit storing said first license code.
44. The method of claim 43 further comprising the following steps carried out by the accompaniment unit: receiving a request to play an accompaniment soundtrack contained within a chosen dataset; generating a second license code from source data available locally to the accompaniment unit including data unique to the chosen dataset and data unique to the accompaniment unit; retrieving a stored license code associated with the chosen dataset; comparing said stored licence code with the second licence code; and decrypting and playing the accompaniment soundtrack only if the stored and second license codes match.
45. The method of any of claims 37 to 44, further comprising the step of the accompaniment unit recording a user soundtrack synchronously to the playback of one of said accompaniment soundtracks.
46. The method of any of claims 37 to 45, further comprising the step of displaying the lyrics contained within an accompaniment dataset synchronously with the playback of the associated accompaniment soundtrack.
47. The method of any of claims 37 to 46, further comprising the step of displaying images contained within an accompaniment dataset synchronously with the playback of the associated accompaniment soundtrack.
48. Use of a personal computer as an electronic musical accompaniment unit in a method as claimed in any one of claims 37 "to 47.
49. A method of electronically providing musical accompaniment comprising the steps of: storing an accompaniment soundtrack in an encoded electronic format in a first area of memory of an electronic accompaniment unit; decoding said accompaniment soundtrack and routing it to one of more audio outputs of the electronic accompaniment unit for playback thereby; receiving a user soundtrack from one or more audio inputs of the electronic accompaniment unit synchronously with the playback of said accompaniment soundtrack; and encoding said user soundtrack into an electronic format and storing it in a second area of memory of the electronic accompaniment unit.
50. The method of claim 49 further comprising the steps of: storing a stored license code associated with said accompaniment soundtrack in a third area of memory of the electronic accompaniment unit; and using said stored license code to establish entitlement to playback the accompaniment soundtrack through the one or more audio outputs.
51. The method of claim 50 further comprising the steps of: the electronic accompaniment unit scrambling locally available source data to generate a generated license code; and the electronic accompaniment unit establishing if the accompaniment soundtrack may be played through the one or more audio outputs by comparing the stored license code and the generated license code.
52. The method of either of claims 50 or 51, further comprising the steps of: the electronic accompaniment unit receiving a licensing permission message from a remote transaction server over a network; the electronic accompaniment unit generating the stored license code for said accompaniment track by scrambling locally available source data; and the electronic accompaniment unit storing said stored license code in said third area of memory.
53. The method of either of claims 51 or 52 wherein the locally available source data includes data unique to the accompaniment soundtrack and data unique to the electronic accompaniment unit.
54. The method of claim 33 wherein the data unique to the apparatus used to carry out the method includes the electronically available serial number of a hard disk drive or other hardware or software element connected to or forming a part of the electronic accompaniment unit .
55. The method of any of claims 52 to 54, further comprising the step of the electronic accompaniment unit carrying out an integrity check to ensure the integrity of the accompaniment soundtrack and the associated playback data before generating a license code.
56. The method of any of claims 49 to 55 wherein the accompaniment soundtrack is stored by the electronic accompaniment unit in an encrypted form in said first area of memory, and the method further comprises the step of the electronic accompaniment unit decrypting the accompaniment soundtrack before routing the decrypted soundtrack to said one or more audio outputs .
57. The method of claim 56 wherein the step of decrypting is only carried out by the electronic accompaniment unit if the step of using the stored license code to establish entitlement to playback is successful.
58. The method of any of claims 49 to 57 further comprising the steps of: connecting the electronic accompaniment unit to a remote soundtrack archive server through a network; and downloading to the electronic accompaniment unit one or more accompaniment soundtracks in an encoded electronic format from said server.
59. The method of any of claims 49 to 58 comprising the step of the electronic accompaniment unit displaying images contained within image data associated with an accompaniment soundtrack synchronously with the playback of the accompaniment soundtrack.
60. The method of claim 59 wherein the image data further includes image timing data referenced to the timing of said associated accompaniment soundtrack, the method comprising the step of the electronic accompaniment unit displaying a particular one or more of said images during a timed interval of the playback of said accompaniment soundtrack determined by said image timing data.
61. The method of claim 60 wherein the image data includes images depicting musical notation.
62. The method of any of claims 49 to 61 further comprising the step of the electronic accompaniment unit displaying lyrics contained within lyrics data associated with an accompaniment soundtrack, synchronously with the playback of an associated accompaniment soundtrack.
63. The method of claim 62 wherein the lyrics data also includes lyrics timing data referenced to the timing of said associated accompaniment soundtrack, the method comprising the step of the electronic accompaniment unit displaying a subset of said lyrics during a timed interval of the playback of said associated accompaniment soundtrack determined by said lyrics timing data.
64. The method of claim 63 further comprising the step of the electronic accompaniment unit highlighting a subset of the displayed lyrics during a timed interval of the playback of the associated accompaniment soundtrack determined by said lyrics timing data.
65. The method of any of claims 49 to 64 further comprising the step of: the electronic accompaniment unit combining one or more user soundtracks synchronously with an accompaniment soundtrack before storing the mixed soundtrack in the second area of memory.
66. The method of any of claims 49 to 65 further comprising the step of the electronic accompaniment unit compressing a soundtrack and storing the compressed soundtrack in a fourth area of memory.
67. The method of claim 66 wherein the soundtrack is a mixed soundtrack received from said second area of memory.
68. The method of either of claims 66 or 67 further comprising the steps of: the electronic accompaniment unit accepting a user selected compression degree parameter; 5 the electronic accompaniment unit calculating a sound quality parameter related to the expected quality of an audio signal reproduced from a soundtrack compressed using the selected compression degree parameter; and 10 the electronic accompaniment unit routing a symbol indicative of the sound quality parameter to a visual output, to thereby assist the user in the choice of compression degree parameter.
15 69. The method of any of claims 66 to 68 further comprising the steps of: the electronic accompaniment unit accepting a data rate parameter representative of the data rate at which a compressed soundtrack is expected to be 20 transmitted over a network; the electronic accompaniment unit calculating an estimated transmission time from the available parameters; and the electronic accompaniment unit routing said 25. estimated transmission time to a visual display.
70. Use of a personal computer as an electronic accompaniment unit in a method as claimed in any one claims 49 to 69.
30
71. A method of operating a data compression unit for receiving an audio data file in an electronic format, compressing said audio data file and outputting the compressed audio file, the data compression unit
35 having a visual output, the method comprising the steps of: the data compression unit accepting a user selected compression." degree parameter; the data compression unit calculating a sound quality parameter related to the expected quality of an audio signal that would be reproduced from an audio file compressed using the selected compression degree parameter; and the data compression unit routing a symbol indicative of the sound quality parameter to the visual output, thereby assisting the user of the data compression unit in the choice of compression degree parameter.
72. The method of claim 71 further comprising the steps of: the data compression unit accepting a data rate parameter representative of the data rate at which a compressed audio file may be transmitted over a network; the data compression unit calculating an estimated transmission time using the compression degree parameter, the size of the audio data file and the data rate parameter; and the data compression unit routing said estimated transmission time to the visual output.
73. A computer readable medium comprising computer readable code operable, when executed on one or more computers, to carry out the steps of a method according to any of claims 37 to 47, 49 to 69, 71 or 72.
74. A computer program comprising executable code which, when executed on one or more computers, is operable to carry out the steps of the method of any of claims 37 to 47, 49 to 69, 71 or 72.
75. An electronic musical accompaniment unit comprising: one or more audio inputs; one or more audio outputs; memory for storing an accompaniment soundtrack in an encoded electronic format, and for storing a user soundtrack in an encoded electronic format; the unit being operable to decode and route the accompaniment soundtrack stored in the memory to the one or more audio outputs for playback thereby, and to receive the user soundtrack from the one or more audio inputs and encode and route the user soundtrack to said memory for storage therein; whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack through the one or more audio inputs.
76. A computer readable medium having a computer program product encoded thereon, the computer program product, when executed on a computer system comprising one or more audio inputs, one or more audio outputs and a memory, being operable to: decode and route an accompaniment soundtrack stored in said memory to the one or more audio outputs for playback thereby; receive a user soundtrack from the one or more audio inputs and encode and route the user soundtrack to said memory for storage therein; whereby a user of the unit is enabled to play the accompaniment soundtrack through the one or more audio outputs and to simultaneously record the user soundtrack through the one or more audio inputs.
PCT/GB2001/002927 2000-06-30 2001-07-02 Electronic musical accompaniment WO2002003371A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001266222A AU2001266222A1 (en) 2000-06-30 2001-07-02 Electronic musical accompaniment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60749600A 2000-06-30 2000-06-30
US09/607,496 2000-06-30

Publications (2)

Publication Number Publication Date
WO2002003371A2 true WO2002003371A2 (en) 2002-01-10
WO2002003371A3 WO2002003371A3 (en) 2002-06-13

Family

ID=24432525

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/GB2001/002927 WO2002003371A2 (en) 2000-06-30 2001-07-02 Electronic musical accompaniment
PCT/GB2001/002962 WO2002003176A2 (en) 2000-06-30 2001-07-02 Apparatus and method for licensing digital data

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/002962 WO2002003176A2 (en) 2000-06-30 2001-07-02 Apparatus and method for licensing digital data

Country Status (2)

Country Link
AU (2) AU2001266222A1 (en)
WO (2) WO2002003371A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651666B1 (en) * 2002-07-23 2003-11-25 Norman L. Owens Variable cuff pressure adapter
AU2002361121A1 (en) * 2002-12-19 2004-07-14 Allegroassai S.P.A. Method for program code authentication
EP1505476A3 (en) 2003-08-06 2010-06-30 Yamaha Corporation Method of embedding permanent identification code into musical apparatus
US8306918B2 (en) * 2005-10-11 2012-11-06 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
US8224751B2 (en) 2006-05-03 2012-07-17 Apple Inc. Device-independent management of cryptographic information
US9311492B2 (en) 2007-05-22 2016-04-12 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
WO1994011858A1 (en) * 1992-11-16 1994-05-26 Multimedia Systems Corporation System and apparatus for interactive multimedia entertainment
WO1996012257A1 (en) * 1994-10-12 1996-04-25 Technical Maintenance Corporation Method of communication for an intelligent digital audiovisual playback system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866769A (en) * 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
US5652793A (en) * 1995-05-08 1997-07-29 Nvidia Corporation Method and apparatus for authenticating the use of software
WO1999026123A1 (en) * 1997-11-18 1999-05-27 Christopher Benjamin Wakely Improvements relating to software protection systems
US6389541B1 (en) * 1998-05-15 2002-05-14 First Union National Bank Regulating access to digital content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
WO1994011858A1 (en) * 1992-11-16 1994-05-26 Multimedia Systems Corporation System and apparatus for interactive multimedia entertainment
WO1996012257A1 (en) * 1994-10-12 1996-04-25 Technical Maintenance Corporation Method of communication for an intelligent digital audiovisual playback system
WO1996012258A1 (en) * 1994-10-12 1996-04-25 Technical Maintenance Corporation Intelligent digital audiovisual playback system

Also Published As

Publication number Publication date
AU2001266231A1 (en) 2002-01-14
WO2002003176A2 (en) 2002-01-10
AU2001266222A1 (en) 2002-01-14
WO2002003371A3 (en) 2002-06-13
WO2002003176A3 (en) 2003-05-30

Similar Documents

Publication Publication Date Title
US10056062B2 (en) Systems and methods for the creation and playback of animated, interpretive, musical notation and audio synchronized with the recorded performance of an original artist
US6570080B1 (en) Method and system for supplying contents via communication network
US5773741A (en) Method and apparatus for nonsequential storage of and access to digital musical score and performance information
KR100722356B1 (en) Method and apparatus for information processing, and medium for storing information
US20100095829A1 (en) Rehearsal mix delivery
JP2002197069A (en) Contents providing service system, server device, and client device
US20100082768A1 (en) Providing components for multimedia presentations
US20080229909A1 (en) Electronic musical apparatus for reproducing received music content
JP4326669B2 (en) Beat information distribution system
CN1661668B (en) Electronic music apparatus capable of reproducing composite music file and method thereof
WO2002003371A2 (en) Electronic musical accompaniment
JP2004046452A (en) Information recording device, information reproduction device and program therefor
KR100422110B1 (en) Portable multimedia learning apparatus and method
JP3812437B2 (en) System and program for providing music media composed of auto verbs and compositions via communication network
JP4370725B2 (en) Electronic information processing method and apparatus
GB2363227A (en) Analysing music to determine a characteristic portion for a sample.
JP3727573B2 (en) Karaoke recording device
JPH10301588A (en) Karaoke device with singing scoring function
JP2002063383A (en) Method, system, and recording medium for centralized mediation in created musical work
JPH11219173A (en) Music reproducing method, music reproducing device and communication karaoke device using the device
JPH09146568A (en) Karaoke device
JPH0869294A (en) 'karaoke' singing equipment
JP2002222287A (en) Centralized intermediary method, system and record medium for created music piece

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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 EC 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 US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

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 EC 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 US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

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

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