WO2002003176A2 - Apparatus and method for licensing digital data - Google Patents

Apparatus and method for licensing digital data Download PDF

Info

Publication number
WO2002003176A2
WO2002003176A2 PCT/GB2001/002962 GB0102962W WO0203176A2 WO 2002003176 A2 WO2002003176 A2 WO 2002003176A2 GB 0102962 W GB0102962 W GB 0102962W WO 0203176 A2 WO0203176 A2 WO 0203176A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
data element
accompaniment
code
unit
Prior art date
Application number
PCT/GB2001/002962
Other languages
French (fr)
Other versions
WO2002003176A3 (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 AU2001266231A priority Critical patent/AU2001266231A1/en
Publication of WO2002003176A2 publication Critical patent/WO2002003176A2/en
Publication of WO2002003176A3 publication Critical patent/WO2002003176A3/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 licensing of data elements for use by a particular apparatus or user, and in particular, but not exclusively, to the licensing of data elements supplied in encrypted form over a network, such as encrypted music files supplied over the Internet.
  • Data-based commodities in digital form such as digitally encoded audio and video files, can generally be copied and transmitted to other parties at negligible cost, and in very little time. This makes the control and working of intellectual property associated with such commodities, in particular copyright, difficult. Consequently, much ingenuity and expertise has been spent in developing methods for preventing unauthorised copying and use of data commodities.
  • the present invention seeks to provide a new and improved method of preventing unauthorised use of a data commodity, which addresses problems and disadvantages of the related prior art.
  • a particular example of a practical use of the invention is the provision of musical accompaniment data files for use " by a musician.
  • 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
  • Illustrative embodiments of the invention allow a user to download musical accompaniment datasets over a network or from a data carrying medium to an accompaniment or playback unit, which may conveniently be a suitably programmed personal computer.
  • musical accompaniment datasets over a network or from a data carrying medium to an accompaniment or playback unit, which may conveniently be a suitably programmed personal computer.
  • 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
  • the invention provides apparatus for receiving and carrying out an operation on a data element, the apparatus being operable to:
  • 35 generate, using an algorithm, a first license code using data particular, individual or unique to the data element and data particular, individual or unique to the apparatus; and to store said first ' license code in association with said data element.
  • the apparatus may be provided by a 5 personal computer.
  • the data element which may be, for example, an unencrypted or encrypted audio or video, text or other data file or data structure or stream, may be downloaded over a network and stored at the apparatus, or may be held on a computer readable 10 medium, or stored in a location remote from the apparatus.
  • the generated first license code may advantageously be used to check that a subsequent request to carry out an operation on the data element 15 is being made on the same apparatus and for the same data element for which the first license code was generated. Subsequent copying of the first license code, along with the associated data element, to a different apparatus, for example, will be easily 20 detectable because of inconsistency between the license code and the relevant data particular, individual or unique to the different apparatus.
  • the first license code may be associated with the . data element in a variety of ways, for example by 25. means of a common reference or file name component, a pointer arrangement or index, storage in a common file or file structure and so on. It may be stored at the apparatus itself, or remotely.
  • the apparatus is further operable to: 30 generate using said algorithm a second license code from said data particular to the data element and data particular to the apparatus; compare said first license code with said second license code; and 35 carry out said operation with said data element only if the first and second license codes match.
  • a match will typically be found only if the first and second license codes " are materially or substantially identical.
  • the algorithm carries out an irreversible transformation, such that the data particular to the data element and the data particular to the apparatus are not unambiguously derivable from a generated license code.
  • This may be carried out by an irreversible ad hoc series of scrambling steps, or using a particular suitable encryption or scrambling technique, a large number of which are known in the art.
  • the operation may comprise, for example, copying or decryption of said data element. It may also comprise audio playback if the data element comprises audio data, visual playback if the data element comprises video or other graphical data, or other end uses of the data element.
  • the data particular to said apparatus comprises an electronically available tag of a hardware component of said apparatus, such as the electronically available serial number of a hard disk drive or other hardware component provided as a part of or connected to the apparatus.
  • the tag is data not easily modified by a user.
  • a separate smart card or similar device could also be used to provide the data particular to the apparatus, or a user password could be used.
  • said data particular to said data element comprises data derived from a logical dimension of said data element, such as the length of the element in bytes or words.
  • Digital fingerprints, selected sub-elements of the data element, file name fragments and other data objects could also be used, alone or in combination.
  • the invention provides a system for licensing use of a data element over a data routing network, comprising: a transaction server connectable to the network, operable to transmit a permission granting message; and the apparatus described above, the apparatus described being connectable to said network and operable to receive said permission granting message, the apparatus being further operable to generate said first license code only after receiving said permission granting message.
  • the apparatus is further operable to send a permission request message to the transaction server, and advantageously, the transaction server may be adapted to retain a record of the permission granting process.
  • the transaction server which may be a single computer system or a distributed set of systems, and which may communicate with apparatus on which data elements are to be used using the Internet or telephone networks or other communications channels, is then able to retain records and control of which apparatus are licenses to use which data elements.
  • permission granting messages may be issued for classes or groups of data elements, rather than single data elements, and license codes generated accordingly.
  • the data element or elements are stored in an archive server, which may or may not be physically or logically associated with the transaction server, and downloaded to the apparatus as required.
  • the data elements may be provided on computer readable media, for example optical disks for the apparatus to access locally.
  • the data element or elements are preferably encrypted, decryption being carried out by the apparatus only on valid ' matching of the first and second generated license codes.
  • the data elements may therefore be stored and transmitted to or loaded by the apparatus in an encrypted form in order to make unauthorised use of the data elements more difficult. Encryption and decryption may be carried out using a variety of techniques and algorithms known to the person skilled in the art.
  • the data element is stored in said server and transmitted to said apparatus in an encrypted form for storage therein.
  • the invention provides a method of licensing a data element for use by a unit, the method comprising the steps of: generating, using an algorithm, a first license code using data particular, individual or unique to the data element and data particular, individual or unique to the unit; and storing said first license code in association with said data element.
  • the data element may first be received and stored at the unit .
  • the method may be carried out at the unit itself, or elsewhere.
  • license generation could be carried out at a remote computer system in communication with the unit.
  • the invention provides a system for providing and carrying out an operation on a data element, the system comprising: a data routing network; an archive comprising one or more data elements; a client unit connected to said network, said client unit having access to said archive and being operable to carry out an operation on any of said data elements; and a transaction server connected to said network; the client unit being adapted to send an access permission request message relating to a selected data element 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 client unit in respect of said selected data element, and, on determining that permission should be granted, to then send an access approval message across said network to said client unit; said client unit being further adapted, on receipt of said access approval message from said transaction server, to: generate a first license code from locally available source data including data particular to the selected data element and data particular to the client unit; and to store said first license code in a data storage area, to thereby license said operation to be
  • said client unit is further adapted, when requested to carry out said operation on said selected data element, to: generate a second license code from said locally available source data including said data particular to the selected data element and said data particular to the client unit; retrieve the first license code from the data storage area; compare the first license code with the second licence code; and to carry out said operation on said selected data element only if the first and second license codes match.
  • the archive is provided by an archive server connected to " said data network.
  • the client unit comprises an accompaniment unit
  • said data element comprises an accompaniment soundtrack
  • said operation comprises playback and/or decryption of said soundtrack on said accompaniment unit.
  • 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 .
  • a preferred embodiment of 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.
  • 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.
  • the permission request message and said access approval message relate to said selected one of said datasets, and the 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 of the preferred embodiment 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 also 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 preferred embodiment of 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.
  • the accompaniment unit of the preferred embodiment 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 .
  • This accompaniment unit also 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 particular or unique to the encrypted accompaniment soundtrack and data particular or unique to the unit.
  • the data particular 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 also 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 also 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.
  • 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 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 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 .
  • FIG. 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 subdirectory 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. However, it will be appreciated that other files relevant to the dataset may also be present, and 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.
  • this key 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 accompaniment dataset 60 stored by the archive server 50 to make unauthorised decryption of a soundtrack more difficult.
  • 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 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 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.
  • 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.
  • 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.
  • three pieces of data are scrambled together, preferably in an irreversible manner, so that none of the starting datums 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 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 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 if required.
  • 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 familiar to the person skilled in the art.
  • 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 soundtrack, in its encoded and encrypted form, measured in bytes.
  • a file name or library catalogue number unique to the particular dataset and by the length of the accompaniment 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 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 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 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. 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 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 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 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 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.
  • key token 121 which in the preferred embodiment is a 128 character string.
  • 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. 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 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 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.
  • 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.
  • each word of the lyrics may be highlighted on the visual display 12 at the moment or shortly before it 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 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 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 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 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.
  • the user is able to adjust the relative volume levels of 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 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 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 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 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 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 5 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
  • 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
  • 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
  • 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
  • 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. 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.
  • 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 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 of the accompaniment unit 10.
  • a license code is generated by the accompaniment unit 10 as described above with reference to figure 3.
  • 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 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 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.
  • 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.
  • soundtrack archive servers 50 and transaction servers 30 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.
  • datasets 60 are downloaded to the accompaniment unit 10 and checked for integrity before permission to decrypt a accompaniment soundtrack datafile 64 is requested.
  • 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 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 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.
  • accompaniment 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 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.

Abstract

Apparatus and methods for licensing the use of a data element by a particular device are disclosed. An algorithm is used to generate a first license code using data particular to the data element and data particular to the device. The first license code is checked against a second license code subsequently generated in order to validate a subsequent operation on the data element, such as decryption and audio reproduction of an audio data file.

Description

LICENSING DATA USE
BACKGROUND OF THE INVENTION
The present invention relates to the licensing of data elements for use by a particular apparatus or user, and in particular, but not exclusively, to the licensing of data elements supplied in encrypted form over a network, such as encrypted music files supplied over the Internet. Data-based commodities in digital form, such as digitally encoded audio and video files, can generally be copied and transmitted to other parties at negligible cost, and in very little time. This makes the control and working of intellectual property associated with such commodities, in particular copyright, difficult. Consequently, much ingenuity and expertise has been spent in developing methods for preventing unauthorised copying and use of data commodities. The present invention seeks to provide a new and improved method of preventing unauthorised use of a data commodity, which addresses problems and disadvantages of the related prior art.
A particular example of a practical use of the invention is the provision of musical accompaniment data files for use "by a musician.
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 5 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
10 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
15 quantities. Furthermore, such media may be easily copied without the permission of the supplier, or otherwise misused.
SUMMARY OF THE INVENTION
20 Illustrative embodiments of the invention allow a user to download musical accompaniment datasets over a network or from a data carrying medium to an accompaniment or playback unit, which may conveniently be a suitably programmed personal computer. Musical
25. 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
30 dataset.
According to a first aspect, the invention provides apparatus for receiving and carrying out an operation on a data element, the apparatus being operable to:
35 generate, using an algorithm, a first license code using data particular, individual or unique to the data element and data particular, individual or unique to the apparatus; and to store said first' license code in association with said data element.
Typically, the apparatus may be provided by a 5 personal computer. The data element, which may be, for example, an unencrypted or encrypted audio or video, text or other data file or data structure or stream, may be downloaded over a network and stored at the apparatus, or may be held on a computer readable 10 medium, or stored in a location remote from the apparatus.
The generated first license code may advantageously be used to check that a subsequent request to carry out an operation on the data element 15 is being made on the same apparatus and for the same data element for which the first license code was generated. Subsequent copying of the first license code, along with the associated data element, to a different apparatus, for example, will be easily 20 detectable because of inconsistency between the license code and the relevant data particular, individual or unique to the different apparatus.
The first license code may be associated with the . data element in a variety of ways, for example by 25. means of a common reference or file name component, a pointer arrangement or index, storage in a common file or file structure and so on. It may be stored at the apparatus itself, or remotely.
Preferably, the apparatus is further operable to: 30 generate using said algorithm a second license code from said data particular to the data element and data particular to the apparatus; compare said first license code with said second license code; and 35 carry out said operation with said data element only if the first and second license codes match. A match will typically be found only if the first and second license codes "are materially or substantially identical.
Preferably, the algorithm carries out an irreversible transformation, such that the data particular to the data element and the data particular to the apparatus are not unambiguously derivable from a generated license code. This may be carried out by an irreversible ad hoc series of scrambling steps, or using a particular suitable encryption or scrambling technique, a large number of which are known in the art.
The operation may comprise, for example, copying or decryption of said data element. It may also comprise audio playback if the data element comprises audio data, visual playback if the data element comprises video or other graphical data, or other end uses of the data element.
Preferably, the data particular to said apparatus comprises an electronically available tag of a hardware component of said apparatus, such as the electronically available serial number of a hard disk drive or other hardware component provided as a part of or connected to the apparatus. Preferably, the tag is data not easily modified by a user. A separate smart card or similar device could also be used to provide the data particular to the apparatus, or a user password could be used.
Preferably, said data particular to said data element comprises data derived from a logical dimension of said data element, such as the length of the element in bytes or words. Digital fingerprints, selected sub-elements of the data element, file name fragments and other data objects could also be used, alone or in combination. According to a second aspect, the invention provides a system for licensing use of a data element over a data routing network, comprising: a transaction server connectable to the network, operable to transmit a permission granting message; and the apparatus described above, the apparatus described being connectable to said network and operable to receive said permission granting message, the apparatus being further operable to generate said first license code only after receiving said permission granting message.
Preferably, the apparatus is further operable to send a permission request message to the transaction server, and advantageously, the transaction server may be adapted to retain a record of the permission granting process.
In this way, the granting of licenses to use data elements can be handled centrally and/or remotely from each apparatus on which the data elements are to be used. The transaction server, which may be a single computer system or a distributed set of systems, and which may communicate with apparatus on which data elements are to be used using the Internet or telephone networks or other communications channels, is then able to retain records and control of which apparatus are licenses to use which data elements.
If required, permission granting messages may be issued for classes or groups of data elements, rather than single data elements, and license codes generated accordingly. Preferably, the data element or elements are stored in an archive server, which may or may not be physically or logically associated with the transaction server, and downloaded to the apparatus as required. Alternatively, the data elements may be provided on computer readable media, for example optical disks for the apparatus to access locally. The data element or elements are preferably encrypted, decryption being carried out by the apparatus only on valid 'matching of the first and second generated license codes. The data elements may therefore be stored and transmitted to or loaded by the apparatus in an encrypted form in order to make unauthorised use of the data elements more difficult. Encryption and decryption may be carried out using a variety of techniques and algorithms known to the person skilled in the art. Preferably, the data element is stored in said server and transmitted to said apparatus in an encrypted form for storage therein.
According to a third aspect, the invention provides a method of licensing a data element for use by a unit, the method comprising the steps of: generating, using an algorithm, a first license code using data particular, individual or unique to the data element and data particular, individual or unique to the unit; and storing said first license code in association with said data element.
The data element may first be received and stored at the unit . The method may be carried out at the unit itself, or elsewhere. For example, license generation could be carried out at a remote computer system in communication with the unit.
According to a fourth aspect the invention provides a system for providing and carrying out an operation on a data element, the system comprising: a data routing network; an archive comprising one or more data elements; a client unit connected to said network, said client unit having access to said archive and being operable to carry out an operation on any of said data elements; and a transaction server connected to said network; the client unit being adapted to send an access permission request message relating to a selected data element 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 client unit in respect of said selected data element, and, on determining that permission should be granted, to then send an access approval message across said network to said client unit; said client unit being further adapted, on receipt of said access approval message from said transaction server, to: generate a first license code from locally available source data including data particular to the selected data element and data particular to the client unit; and to store said first license code in a data storage area, to thereby license said operation to be carried out on said selected data element.
Preferably, said client unit is further adapted, when requested to carry out said operation on said selected data element, to: generate a second license code from said locally available source data including said data particular to the selected data element and said data particular to the client unit; retrieve the first license code from the data storage area; compare the first license code with the second licence code; and to carry out said operation on said selected data element only if the first and second license codes match.
Preferably, the archive is provided by an archive server connected to "said data network.
In a preferred embodiment the client unit comprises an accompaniment unit, said data element comprises an accompaniment soundtrack, and said operation comprises playback and/or decryption of said soundtrack on said accompaniment unit.
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 .
A preferred embodiment of 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. 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.
The permission request message and said access approval message relate to said selected one of said datasets, and the 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.
The accompaniment unit of the preferred embodiment 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 also 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 preferred embodiment of 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. The accompaniment unit of the preferred embodiment 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 .
This accompaniment unit also 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 particular or unique to the encrypted accompaniment soundtrack and data particular or unique to the unit. The data particular 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.
The unit also 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 also 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.
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 subdirectory 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.
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 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 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 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, 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 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 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 datums 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 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 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 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 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 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 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 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. 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 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 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 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 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, 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. 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 5 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
10 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
15 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
2.0 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
25 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
30 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
35 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.
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 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 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. 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 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 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 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 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 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 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.

Claims

1. Apparatus for receiving and carrying out an operation on a data element, the apparatus being operable to: generate, using an algorithm, a first license code using data particular to the data element and data particular to the apparatus; and to store said first license code in association with said data element.
2. The apparatus of claim 1, wherein the apparatus is further operable to: generate using said algorithm a second license code from said data particular to the data element and data particular to the apparatus; compare said first license code with said second license code; and carry out said operation with said data element only if the first and second license codes match.
3. The apparatus of either of claims 1 or 2 wherein the algorithm carries out an irreversible transformation, such that the data particular to the data element and the data particular to the apparatus are not unambiguously derivable from a generated license code.
4. The apparatus of any of claims 1 to 3 wherein said operation comprises decryption of said data element .
5. The apparatus of any of claims 1 to 4 wherein said data particular to said apparatus comprises an electronically available tag of a hardware component of said apparatus.
6. The apparatus of claim 5 wherein said tag is the electronically available serial number of a hard disk drive of said apparatus.
7. The apparatus of any of claims 1 to 6 wherein said data particular to said data element comprises data derived from a logical dimension of said data element .
8. A system for licensing use of a data element over a data routing network, comprising: a transaction server connectable the network and operable to transmit a permission granting message; and the apparatus of any of claims 1 to 7, the apparatus being connectable to said network and operable to receive said permission granting message, the apparatus being further operable to generate said first license code only after receiving said permission granting message.
9. The system of claim 8 wherein the apparatus is further operable to send a permission request message - to said transaction server.
10. The system of either of claims 8 or 9 wherein the transaction server is adapted to maintain a record of a permission granting process giving rise to said permission granting message.
11. The system of any of claims 8 to 10, further comprising: an archive server connectable to said network and comprising said data element, the apparatus being adapted to receive said data element from said archive server.
12. The system of claim 11 wherein said data element is stored in said server and transmitted to said apparatus in an encrypted form for storage therein.
13. A method of licensing the use of a data element by a unit, the method comprising the steps of: generating, using an algorithm, a first license code using data particular to the data element and data particular to the unit; and storing said first license code in association with said data element.
14. The method of claim 13, further comprising the steps of: generating, using said algorithm, a second license code from said data particular to the data element and data particular to the unit; comparing said first license code with said second license code; and carrying out an operation with said data element only if the first and second license codes match.
15. The method of either of claims 13 or 14 wherein the algorithm carries out an irreversible transformation, such that the data particular to the data element and the data particular to the unit are not unambiguously derivable from the first or second license code.
16. The method of any of claims 13 to 15 wherein said step of carrying out said operation comprises a step of carrying out decryption of said data element.
17. The method of any of claims 13 to 16 wherein said data particular to said unit comprises an electronically available tag of a hardware component of said unit.
18. The method of claim 17 wherein said tag is the electronically available serial number of a hardware component of said unit.
19. The method of any of claims 13 to 18 wherein said data particular to said data element comprises data derived from a logical dimension of said data element.
20. A method of using a transaction server to license the use of a data element by a client unit, comprising the steps of: transmitting a permission routing message relating to a data element from the transaction server to the client unit; and the client unit carrying out the steps of any of claims 13 to 19, characterised in that the client unit only carries out the step of generating a first license code using data particular to the data element and data particular to the client unit following receipt of said permission granting message.
21. The method of claim 20 further comprising the step of transmitting a permission request message ' relating to said data element from the client unit to the transaction server.
22. The method of either of claims 20 or 21 further comprising the step of the transaction server maintaining a record of a permission granting process giving rise to said permission granting message.
23. The method of claim 22 wherein the transaction server maintains a record of which data elements have been licensed for use by which client units.
24. The method of any of claims 20 to 23, further comprising the steps of: transmitting the data element from an archive server to the client unit.
25. The method of claim 24 wherein the data element is stored at the archive server and transmitted to said client unit in an encrypted form.
26. A computer program product carrying computer program code operable, when executed on suitable computer and communications apparatus, to carry out the method steps of any of claims 10 to 25.
27. A system for storing, transmitting and licensing use of a data element, the system comprising: a data routing network; an archive comprising one or more data elements; a client unit connected to said network, said client unit having access to said archive and being operable' to carry out an operation any of said data elements; and a transaction server connected to said network; the client unit being adapted to send an access permission request message relating to a selected data element 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 client unit in respect of said selected data element, and, on determining that permission should be granted, to then send an access approval message across said network to said client unit; said client unit being further adapted, in response to said access approval message from said transaction server, to: generate a first license code from locally available source data including data individual to the selected data element and data individual to the client unit; and to store said first license code in a data storage area, whereby output by the client unit to a user of said selected data element is licensed.
28. The system of claim 27, wherein said client unit is further adapted, when requested by a user to output said selected data element, to: generate a second license code from said locally available source data including said data individual to the selected data element and said data individual to the client unit; retrieve the first license code from the data storage area; compare the first license code with the second licence code; and to output said selected data element only if the first and second license codes match.
29. The system of either of claims 27 or 28, wherein the archive is stored on an archive server connected to said data network, and remote from the client unit.
30. The system of any of claims 27 to 29 wherein said client unit comprises an accompaniment unit, said data element comprises an accompaniment soundtrack, and said operation comprises playback of said soundtrack on said accompaniment unit.
31. Electronic data storage apparatus comprising: memory means for storing a data element; output means for outputting the stored data element in response to a user request; and licence code generating means which generates, using a preprogrammed algorithm, a first licence code using data individual to the stored data element and data individual to the data storage apparatus; wherein: once generated the first licence code is stored by the memory means in association with the stored data element.
32. Electronic data storage apparatus as claimed in claim 31, which comprises: networking means enabling connection of the electronic data storage apparatus over- a telecommunications network with a remotely located transaction server; wherein: the licence code generating means will generate the first licence code only after a permission has been received via the telecommunications network from the transaction server.
33. Electronic data storage apparatus as claimed in claim 32 wherein when a user requests output of the stored data element then the licence code generating means generates, using the preprogrammed algorithm, a second licence code from said data individual to the data element and said data individual to the data storage apparatus and then comparator means of the electronic data storage apparatus compares the second licence code with the first licence code previously stored in association with the stored data element and the data storage apparatus outputs the stored data only if the comparator means finds that the second licence code matches the first licence code.
34. Electronic data storage apparatus as claimed in any one of claims 31 to 33 wherein the preprogrammed algorithm carries out an irreversible transformation, such that the data individual to the data element and the data individual to the apparatus are not unambiguously derivable from a generated licence code.
35. Electronic data storage apparatus as claimed in any of claims 31 to 34 wherein said data individual to said data storage apparatus comprises an electronically available tag of a hardware component of said apparatus.
36. Electronic data storage apparatus as claimed in claim 35 wherein said tag is the electronically available serial number of a hard disk drive of said apparatus.
37. Electronic data storage apparatus as claimed in any one of claims 31 to 36 wherein said data individual to said data element comprises data derived from a logical dimension of said data element.
38. A distributed computer system for providing a data element over a telecommunications network, comprising the data storage apparatus of claim 32 and a server connected to said telecommunications network which stores said data element, wherein the data storage apparatus is connectable to said network to download said data element from said server.
39. The system of claim 38 wherein said data element is stored in said server and transmitted to said apparatus in an encrypted form.
40. A method of licensing the use of a data element stored in memory means of electronic data storage apparatus, the method comprising the steps of: generating, using an algorithm, a first licence code using data individual to the stored data element and data individual to the electronic data apparatus; and storing in the memory means said first licence code in association with said data element.
41. The method of claim 40 further comprising the steps of: generating, using said algorithm, a second licence code from said data individual to the data element and said data individual to the electronic data storage apparatus; comparing said first licence code with said second licence code; and allowing output of said stored data element only if the first and second licence codes match.
42. The method of either of claims 40 or 41 wherein the algorithm carries out an irreversible transformation, such that the data individual to the data element and the data individual to the electronic data storage apparatus are not unambiguously derivable from the first or second licence code.
43. The method of any of claims 40 to 42 comprising additionally a step of decrypting said stored data element .
44. The method of any of claims 40 to 43 wherein said data particular to said electronic data storage apparatus comprises an electronically available tag of a hardware component of said apparatus.
45. The method of claim 44 wherein the tag used in the method is the electronically available serial number of a hardware component of said unit. - 41
46. The method of any of claims 40 to 45 wherein said data individual to said stored data element comprises data derived from a logical dimension of said data element .
47. A method of providing a data element stored by a remotely located server over a telecommunications network to electronic data storage apparatus comprising the steps of: transmitting the data element from the server over the network to the electronic data storage apparatus; and operating the electronic data storage apparatus according to the method of any of claims 40 to 46.
48. The method of claim 47 wherein the data element is stored by the server and transmitted to said electronic data storage apparatus in an encrypted form.
49. Use of a personal computer as electronic data storage apparatus in a method as claimed in any one of claims 40 to 48.
50. A computer program product carrying computer program code operable, when executed on suitable computer and communications apparatus, to carry out the method steps of any of claims 40 to 48.
PCT/GB2001/002962 2000-06-30 2001-07-02 Apparatus and method for licensing digital data WO2002003176A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001266231A AU2001266231A1 (en) 2000-06-30 2001-07-02 Apparatus and method for licensing digital data

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
WO2002003176A2 true WO2002003176A2 (en) 2002-01-10
WO2002003176A3 WO2002003176A3 (en) 2003-05-30

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 Before (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/002927 WO2002003371A2 (en) 2000-06-30 2001-07-02 Electronic musical accompaniment

Country Status (2)

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

Cited By (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
WO2004057448A1 (en) * 2002-12-19 2004-07-08 Allegroassai S.P.A. Method for program code authentication
EP1505476A2 (en) 2003-08-06 2005-02-09 Yamaha Corporation Method of embedding permanent identification code into musical apparatus
EP2315151A3 (en) * 2005-10-11 2011-12-28 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
US10574458B2 (en) 2007-05-22 2020-02-25 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0302710A2 (en) * 1987-08-05 1989-02-08 International Business Machines Corporation A method of controlling the use of computer programs
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
WO1999060458A2 (en) * 1998-05-15 1999-11-25 Deskgate Technologies, Inc. Regulating access to digital content

Family Cites Families (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
KR100291890B1 (en) * 1992-11-16 2001-06-01 더블유. 스코트 루이스 System and apparatus for interactive multimedia entertainment device
DK0786121T3 (en) * 1994-10-12 2000-07-03 Touchtunes Music Corp Digital, intelligent audio-visual reproduction system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0302710A2 (en) * 1987-08-05 1989-02-08 International Business Machines Corporation A method of controlling the use of computer programs
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
WO1999060458A2 (en) * 1998-05-15 1999-11-25 Deskgate Technologies, Inc. Regulating access to digital content

Cited By (11)

* 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
WO2004057448A1 (en) * 2002-12-19 2004-07-08 Allegroassai S.P.A. Method for program code authentication
EP1505476A2 (en) 2003-08-06 2005-02-09 Yamaha Corporation Method of embedding permanent identification code into musical apparatus
EP1505476A3 (en) * 2003-08-06 2010-06-30 Yamaha Corporation Method of embedding permanent identification code into musical apparatus
EP2315151A3 (en) * 2005-10-11 2011-12-28 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
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
US10296879B2 (en) 2005-10-11 2019-05-21 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
US11727376B2 (en) 2005-10-11 2023-08-15 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
US10417392B2 (en) 2006-05-03 2019-09-17 Apple Inc. Device-independent management of cryptographic information
US10574458B2 (en) 2007-05-22 2020-02-25 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures

Also Published As

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

Similar Documents

Publication Publication Date Title
US6570080B1 (en) Method and system for supplying contents via communication network
US7030311B2 (en) System and method for delivering a multimedia presentation to a user and to allow the user to play a musical instrument in conjunction with the multimedia presentation
US7081580B2 (en) Computing device to allow for the selection and display of a multimedia presentation of an audio file and to allow a user to play a musical instrument in conjunction with the multimedia presentation
US5773741A (en) Method and apparatus for nonsequential storage of and access to digital musical score and performance information
US6969797B2 (en) Interface device to couple a musical instrument to a computing device to allow a user to play a musical instrument in conjunction with a multimedia presentation
KR100720636B1 (en) Information processing system, information processing apparatus, and information processing method
JP3864881B2 (en) Electronic music system and program for electronic music system
US20100095829A1 (en) Rehearsal mix delivery
JP2002197069A (en) Contents providing service system, server device, and client device
JP4370800B2 (en) Music content utilization apparatus and program
US7877419B2 (en) Information processing apparatus and method, and program storage medium
US20090133565A1 (en) Electronic musical apparatus for recording and reproducing music content
JP4326669B2 (en) Beat information distribution system
CN1661668B (en) Electronic music apparatus capable of reproducing composite music file and method thereof
WO2002003176A2 (en) Apparatus and method for licensing digital data
US7274789B2 (en) Information recording/reproducing apparatus with security measure
WO2001090860A2 (en) Prerecorded media authentication and download system
JP4739669B2 (en) Multimedia presentation to assist users when playing musical instruments
JP4370725B2 (en) Electronic information processing method and apparatus
GB2363227A (en) Analysing music to determine a characteristic portion for a sample.
JP4788736B2 (en) Music content utilization apparatus and program
JP2002063383A (en) Method, system, and recording medium for centralized mediation in created musical work
JP2002222287A (en) Centralized intermediary method, system and record medium for created music piece
JPH11219173A (en) Music reproducing method, music reproducing device and communication karaoke device using the device

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)
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