US20130346838A1 - Dynamic audio playback of soundtracks for electronic visual works - Google Patents

Dynamic audio playback of soundtracks for electronic visual works Download PDF

Info

Publication number
US20130346838A1
US20130346838A1 US14/010,286 US201314010286A US2013346838A1 US 20130346838 A1 US20130346838 A1 US 20130346838A1 US 201314010286 A US201314010286 A US 201314010286A US 2013346838 A1 US2013346838 A1 US 2013346838A1
Authority
US
United States
Prior art keywords
audio
cue
electronic visual
visual work
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/010,286
Inventor
William Russell Henshall
Graham Edward Lyus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dulcetta Inc
Original Assignee
Dulcetta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dulcetta Inc filed Critical Dulcetta Inc
Priority to US14/010,286 priority Critical patent/US20130346838A1/en
Publication of US20130346838A1 publication Critical patent/US20130346838A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/24
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/062Combinations of audio and printed presentations, e.g. magnetically striped cards, talking books, magnetic tapes with printed texts thereon
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel

Definitions

  • Electronic books are a kind of multimedia work that is primarily comprised of text, but also may include other visual media such as graphics and images. While text in an electronic book may be accompanied by other visual media, generally an electronic book is intended to be read from start to finish, although not necessarily in one sitting.
  • file formats used for electronic books including but not limited to various types of markup language document types (e.g., SGML, HTML, XML, LaTex and the like), and other data file types, such as .pdf files, plain text files, etc.
  • Various file formats are used with electronic book readers, such as the KINDLE reader from Amazon.com.
  • Such a book reader generally is a computer program designed to run on a platform such as a personal computer, notebook computer, laptop computer, tablet computer, mobile device or dedicated hardware system for reading electronic books (such as the KINDLE reader).
  • FIG. 1 is a dataflow diagram of an electronic book reader with a dynamic audio player.
  • FIG. 2 is a dataflow diagram of more details of the dynamic audio player of FIG. 1 .
  • FIG. 3 is an illustration of a cue list.
  • FIG. 4 is an illustration of an audio cue file.
  • FIG. 5 is a flow chart of the setup process when an electronic book is opened.
  • FIG. 6 is a flow chart describing how an audio cue file is used to create audio data of a desired duration.
  • FIG. 7 is a flow chart describing how reading speed is calculated.
  • FIG. 8 is a data flow diagram describing how a soundtrack can be automatically generated for an electronic book
  • FIG. 9 is a block diagram that illustrates a computer system upon which an embodiment of the invention may be implemented.
  • An electronic book is provided with a soundtrack, to which a reader can listen while reading the electronic book.
  • the purpose of the soundtrack is to accompany and enhance the reading experience, in which readers generally have images in their minds based on the story or other visual media that is part of the electronic book. Playback of the soundtrack is synchronized with the visual display of the electronic book.
  • Synchronizing playback of a soundtrack to the visual display of an electronic book while the book is read by a reader is a challenging problem. Different individuals read at different speeds, and different individuals will read at different speeds at different times.
  • the duration of the visual display of a portion of the electronic book varies in duration from reader to reader, and between different points in time. In other words, the duration of the visual display of the portion of an electronic book is variable, depending on the user interaction with the electronic book. Yet the playback of the soundtrack, a kind of time-dependent media, is synchronized with this visual display.
  • audio cues are associated with different points in the text and these cues are dynamically played back in synchronization with the visual display of the electronic book based on the interaction of the user with the electronic book.
  • the dynamic playback involves editing and playing an audio cue so that it has a duration that is based on a prediction of the duration of the portion of the electronic book with which the cue is synchronized.
  • the system starts playing an audio cue, it predicts when the next audio cue should start. The current cue is played for predicted duration and a transition to the next audio cue is initiated at an appropriate time.
  • Such a soundtrack generally is not just any music or sound; some music and sound could be distracting to the reader instead of enhancing the reading experience. Instead, the soundtrack includes music and sound designed to evoke emotions in the reader similar to those emotions that would be evoked by the text.
  • a soundtrack for an electronic book benefits when there are few bright transient sounds, no vocals, and a spare, somewhat hypnotic feel to the music. Genre-wise, music that is too fast or too intense can be distracting and difficult to read to.
  • the invention can be embodied in a computer-implemented process, a machine (such as an electronic device, or a general purpose computer or other device that provides a platform on which computer programs can be executed), processes performed by these machines, or an article of manufacture.
  • a machine such as an electronic device, or a general purpose computer or other device that provides a platform on which computer programs can be executed
  • Such articles can include a computer program product or digital information product in which a computer readable storage medium containing computer program instructions or computer readable data stored thereon, and processes and machines that create and use these articles of manufacture.
  • dynamic playback of audio involves receiving data about user interaction with a portion of an electronic visual work.
  • a section of audio to be played back associated with the portion of the electronic visual work is dynamically adjusted in length according to the user interaction with the electronic visual work.
  • the duration of the visual display of the portion of the electronic visual work is estimated according to the received data about user interaction with the portion of the electronic visual work.
  • a sequence of sub-mixes of audio associated with the portion of the electronic visual work is selected so as to provide audio elements that will match the estimated duration. This estimation can be done using a history of reading speeds.
  • a soundtrack is played in synchronization with display of an electronic visual work.
  • the electronic visual work is received into memory.
  • Information associating portions of the electronic visual work with tags also is received into memory. Portions of the electronic visual work are displayed in response to user interaction.
  • Audio files with tags are accessed. Audio files to be associated with portions of the electronic visual work are selected according to the tags associated with the portions of the electronic visual work.
  • Data about user interaction with the portion of an electronic visual work is received and the duration of playback of audio associated with that specific portion of the electronic visual work is dynamically adjusted according to the user interaction.
  • a soundtrack for an electronic visual work is generated.
  • the electronic visual work is received into memory.
  • the electronic visual work is processed in the memory such that portions of the electronic visual work are marked with tags that will associate to specific portions of tagged audio files. Audio files with the appropriate tags are then accessed, and the target audio files for portions of the electronic visual work are selected and associated to create and play back the resulting soundtrack.
  • the electronic visual work can includes text and the processing includes processing the text.
  • the tags can include emotional descriptors.
  • a cue list includes for each portion of an electronic visual work, an emotional descriptor, wherein the emotional descriptors correspond to emotional descriptors also associated with audio data.
  • an audio cue includes audio data for a plurality of submixes of the musical work (called “stems”) that can be mixed to provide audio data and information indicative of how the stems can be repeated and combined to create the final result heard by the reader.
  • stems submixes of the musical work
  • distribution of a soundtrack and its associated electronic visual work is done in a manner that enables the electronic visual work to be viewed in the same manner as if the soundtrack was not available.
  • a cue list is identified and read.
  • audio data is downloaded while a first cue in the soundtrack is played in synchronization with the display of the electronic visual work.
  • Soundtracks can be associated with any of a variety of electronic visual works, including electronic books.
  • the types of music or audio that could be used also likely would depend on the type of work.
  • the soundtrack will be similar in purpose to a movie soundtrack, i.e., to support the story—creating suspense, underpinning a love interest, or reaching a big climax.
  • the music may be similar to that used for cartoons, possibly including more sound effects, such as for when a page is being turned.
  • the soundtrack may include rhythms and tonalities known to enhance knowledge retention, such as material at about 128 or 132 beats per minute and using significant modal tonalities.
  • Some books designed to support meditation could have a soundtrack with sounds of nature, ambient sparse music, instruments with soft tones, and the like. Travel books could have music and sounds that are native to the locations being described. For magazines and newspapers, different sections or articles could be provided with different soundtracks and/or with different styles of music. Even reading different passes of the same page could have different soundtracks. Advertisers also could have their audio themes played during reading of such works. In such cases, the soundtracks could be selected in a manner similar to how text based advertisements are selected to accompany other material.
  • electronic content such as an electronic book 110 is input to an electronic device such as an electronic book reader 112 , which provides a visual display of the electronic book to an end user or reader.
  • the electronic content may also comprise any external content, such as a web page or other electronic document; therefore, the term electronic book in the present disclosure may encompass other types of electronic content as well.
  • the electronic device may also comprise any device capable of processing and/or displaying electronic content, such as a computer, tablet, smartphone, portable gaming platform or other device; therefore, the term electronic book reader in the present disclosure may encompass other types of electronic devices as well.
  • the electronic book 110 is one or more computer data files that contain at least text and are in a file format designed to enable a computer program to read, format and display the text.
  • file formats for electronic books including but not limited to various types of markup language document types (e.g., SGML, HTML, XML, LaTex and the like), and other document types, examples of which include, but are not limited to, EPUB, FictionBook, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, PDF, mobipocket, Calibre, Stanza, and plain-text.
  • markup language document types e.g., SGML, HTML, XML, LaTex and the like
  • other document types examples of which include, but are not limited to, EPUB, FictionBook, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, PDF, mobipocket, Calibre, Stanza, and plain-text.
  • Some file formats are proprietary and are designed to be used with dedicated electronic book readers. The invention is not limited to any particular file format.
  • the electronic book reader 112 can be any computer program designed to run on a computer platform, such as described above in connection with FIG. 13 , examples of which include, but are not limited to, a personal computer, tablet computer, mobile device or dedicated hardware system for reading electronic books and that receives and displays the contents of the electronic book 110 .
  • a computer platform such as described above in connection with FIG. 13
  • the invention is not limited to any particular electronic book reader.
  • the electronic book reader 112 also outputs data 114 indicative of the user interaction with the electronic book reader 112 , so that such data can be used by a dynamic audio player 116 .
  • data 114 indicative of the user interaction with the electronic book reader 112 , so that such data can be used by a dynamic audio player 116 .
  • Commercially or publicly available electronic book readers can be modified in accordance with the description herein to provide such outputs.
  • the data about the user interaction with the text can come in a variety of forms.
  • an identifier of the book being read such as an ISBN, e-ISBN number or hash code
  • the current position in the text can be provided.
  • the current position is tracked by the electronic book reader as the current “page” or portion of the electronic book that is being displayed.
  • the electronic book reader can output this information when it changes.
  • Other information that can be useful, if provided by the electronic book reader 112 includes, but is not limited to the word count for a current range of the document being display, an indication of when the user has exited the electronic book reader application, and an indication of whether the reader has paused reading or resumed reading after a pause.
  • the information and instructions exchanged between the electronic book reader and the dynamic audio player can be implemented through an application programming interface (API), so that the dynamic audio player can request that the electronic book reader provide status information, or perform some action, or so that the electronic book reader can control the other application program.
  • API application programming interface
  • the dynamic audio player can be programmed to implement this API as well.
  • An example implementation of the API includes, but is not limited to, two interfaces, one for calls from the electronic book reader application, and another for calls to the electronic book reader application.
  • Example calls that the electronic book reader can make to the dynamic audio player include:
  • “ebookClosed” This function is called by the electronic book reader when the application closes an electronic book. In response to this call, the dynamic audio player can free up memory and reset internal data.
  • “ebookRemoved” This function is called when the electronic book reader has removed an ebook from its library, so that soundtrack and audio files also can also be removed.
  • “displayedPositionRangeChanged” This function is called when the electronic book reader changes its display, for example, due to a page turn, orientation change, font change or the like, and provides parameters for the range of the work that is newly displayed. In response to this call the dynamic audio player can set up audio cues for the newly displayed range of the work.
  • ReadingResumed This function is called when the user has resumed reading after an extended period of inactivity, which the electronic book reader detects by receiving any of a variety of inputs from the user (such as a page turn command) after reading has been determined to be “paused.”
  • “fetchSoundtrack” This function is called by the electronic book reader to instruct the dynamic audio player to fetch and import the soundtrack file, or cue list, for the electronic book with a specified unique identifier (provided as a parameter of this function).
  • AudioVolume This function is called by the electronic book reader to instruct the dynamic audio player to set the volume of the audio playback.
  • “getCueLists” This function is called by the electronic book reader to retrieve information from the dynamic audio player about the cue lists and groups available for the currently opened electronic book. This function would allow the electronic book reader to present this information to the reader, for example.
  • cueListEnabled This function is called by the electronic book reader to instruct the dynamic audio player to enable or disable a particular cue list, e.g., an alternative soundtrack, sound effects, a recorded reader or text-to-speech conversion.
  • AudioIntensity This function is called by the electronic book reader to instruct the dynamic audio player to set the intensity of the audio playback, e.g., to make the audio composition quieter or mute a drum stem (submix).
  • AudioPreloadDefault This function is called to set a default number of hours of audio to download and keep on hand generally for electronic books.
  • AudioPreloadForEbook This function is called to set a number of hours of audio to download and keep for a specific ebook.
  • downloadEnabled This function is called to enable or disable audio downloading.
  • Example calls that the dynamic audio player can make to the electronic book reader include:
  • ReadingPaused This function is called by the dynamic audio player if it has not received a “displayedPositionRangeChanged” call from the electronic book reader within an expected time. From this information, it is assumed by the dynamic audio player that the user is no longer reading. After calling this function, the electronic book reader should call the “readingResumed” function when the user starts reading again.
  • “gotoPosition” This function is called by the dynamic audio player to instruct the electronic book reader to set the current position in the book, usually at the start point of the first cue the first time the electronic book is opened in response to the “ebookOpenedAtPath” function being called.
  • wordCountForRange This function is called by the dynamic audio player to instruct the electronic book reader to provide a number of words for a specified range of the electronic book, to be used in scheduling playlists and tracking reading speed as described in more detail below.
  • the electronic book 110 has an associated cue list 118 , described in more detail below in connection with FIG. 3 , which associates portions of the text with audio cues 120 .
  • an identifier used to uniquely identify the electronic book 110 is used to associate the cue list 118 to the book by either embedding the identifier in the cue list or having a form of lookup table or map that associates the identifier of the book with the cue list 118 .
  • An audio cue 120 is a computer data file that includes audio data.
  • an audio cue 120 associated with a portion of the text by the cue list 118 is played back while the reader is reading that portion of the text.
  • a portion of the text may be designated by a point in the text around which the audio cue should start playing, or a range in the text during which the audio cue should play.
  • the dynamic audio player 116 determines when and how to stop playing one audio cue and start playing another.
  • the dynamic audio player 116 receives data 114 about the user interaction with the electronic book reader 112 , as well as cues 120 and the cue list 118 . As will be described in more detail below, the dynamic audio player 116 uses the user interaction data 114 and the cue list 118 to select the audio cues 120 to be played, and when and how to play them, to provide an output audio signal 122 .
  • the dynamic audio player plays a current cue, associated with the portion of the text currently being read, and determines how and when to transition the next cue to be played, based on the data about the user interaction with the text.
  • the dynamic audio player 200 thus uses a current cue 204 and a next cue 210 to generate audio 206 .
  • the cues 204 and 210 to be played are determined through a cue lookup 208 , using the data 212 about the user interaction, and the cue list 202 .
  • the dynamic audio player While the dynamic audio player is playing the current cue 204 , it monitors the incoming data 212 to determine when the next cue should be played.
  • the current cue 204 may need to be played for a longer or shorter time than the cue's actual duration.
  • the dynamic audio player lengthens or shortens the current cue so as to fit the amount of time the user is taking to read the associated portion of the text, and then implements a transition, such as a cross fade, at the estimated time at which the user reaches the text associated with the next cue.
  • Audio cues are assigned to portions of the text. This assignment can be done using a meta-tag information file that associates portions of the text with audio files.
  • the association with an audio file may be direct or indirect, and may be statically or dynamically defined. For example, different portions of the text can be assigned different words or other labels indicative of emotions, moods or styles of music to be associated with those portions of the text. Audio files then can be associated with such words or labels.
  • the audio files can be selected and statically associated with the text, or they can be selected dynamically at the time of playback, as described in more detail below. Alternatively, different points in the text may be associated directly with an audio file.
  • the meta-tag information file is a list 300 of pairs 302 of data representing a cue.
  • Each pair 302 representing a cue includes a reference 304 to the text, such as a reference to a markup language element within a text document, an offset from the beginning of a text document, or a range within a text document.
  • the pair 302 also includes data 306 that specifies the cue. This data may be a word or label, such as an emotive tag, or an indication of an audio file, such as a file name, or any other data that may be used to select an audio file. How a composer or a computer program can create such cue lists will be described in more detail below.
  • the meta-tag information file can be implemented as a file that is an archive containing several metadata files. These files can be in JavaScript Object Notation (JSON) format.
  • JSON JavaScript Object Notation
  • the meta-tag information file can include a manifest file that contains general information about the soundtrack, such as the unique identifier of the electronic book with which it is associated, the title of the electronic book, a schema version, (for compatibility purposed, in case the format changes in the future), and a list of other files in the archive, with checksums for integrity checking.
  • the meta-tag information file also includes a cuelists file which contains the list of cue list descriptors available in the soundtrack.
  • Each cue list descriptor includes a display name, a unique identifier for lookup purposes and an optional group name of the cue list.
  • These cue lists might have a group name of “main,” whereas with a sound effects or “read to me” cue list it would be ok to play them all at that same time, and thus would not utilize the group name.
  • the meta-tag information file also includes a cues file that contains the list of cue descriptors for all of the cue lists.
  • Each cue descriptor includes a descriptive name given to the cue descriptor by a producer. This descriptor could be entered using another application for this purpose, and could include information such as a cue file name that is used to look up the location of the cue file in the list of cue files, and in and out points in the electronic book.
  • the meta-tag information file includes a “cuefiles” file that contains the list of cue file descriptors.
  • the cuefiles file specifies the network location of the cue files.
  • Each cue file descriptor includes a descriptive name given to the cuefile by a producer and used as the cue file name in the cue descriptor, a uniform resource locator (URL) for retrieving the cue file and the original file name of the cue file.
  • URL uniform resource locator
  • the audio cues ( 120 in FIG. 1 ) referred to in such a cue list contain audio data, which may be stored in audio file formats, such as AIFF, MP3, AAC, m4a or other file types.
  • An audio cue file 400 can include multiple “stems” (submixes) 402 , each of which is a separate audio file that provides one part of a multipart audio mix for the cue. The use of such stems allows the dynamic audio player to select from among the stems to repeat in order to lengthen the playback time of the cue.
  • An audio cue file also can include information that is helpful to the dynamic audio player to modify the duration for which the audio cue is played, such as loop markers 404 , bar locations 406 and recommended mix information 408 .
  • the recommended mix information includes a list of instructions for combining the audio stems, where each instruction indicates the stems and sections to be used, and any audio effects processing to be applied.
  • Other information such as a word or label indicative of the emotion or mood intended to be evoked by the audio or data indicative of genre, style, instruments, emotion, atmosphere, place, era—called descriptors 410 —also can be provided. Even more additional information, such as alternative keywords, cue volume, cross-fade or fade-in/out shape/intensity and recommended harmonic progression for successive cues also can be included.
  • the audio cue file can be implemented as an archive containing a metadata file in JSON format and one or more audio files for stems of the cue.
  • the metadata file contains a descriptor for the metadata associated with the audio files, which includes bar locations, loop markers, recommended mix information, emodes (emotional content meta-tags), audio dynamics control metadata (dynamic range compression), instruments, atmospheres and genres.
  • the audio files can include data compressed audio files and high resolution original audio files for each stem. Retaining the high resolution versions of each stem supports later editing using music production tools. A copy of the audio cue files without the original audio files can be made to provide for smaller downloads to electronic book readers.
  • the cue file contains the compressed audio files for the stems, which are the files used for playback in the end user applications.
  • the cue files can be created using a software tool that inputs a set of standard audio stems, adds descriptor, loop point and recommended mix meta information as a separate text file, optimizes and compresses the audio for network delivery and outputs a single package file that can be uploaded to a database.
  • An audio file can be analyzed using various analytic techniques to locate sections, beats, loudness information, fades, loop points and the link.
  • Cues can be selected using the descriptors “genre, style, instruments, emotion, place, era” and delivered over the network as they are used by the reader.
  • the cue lists and cue files can be individually encrypted and linked to a specific work for which they are the soundtrack. The same key would be used to access the work and its soundtrack. Thus files could be tied to the specific work or the specific viewing device through which the work was accessed, and can use digital rights management information associated with the work.
  • the electronic book reader calls 502 the “ebookOpenedwithUniqueID” function, indicating the book's unique identifier and whether the book had been opened before.
  • the dynamic audio player receives 504 the identifier of the electronic book, and downloads or reads 506 the cue list for the identified book.
  • the electronic book reader prompts the dynamic audio player for information about the cue list, by calling 508 the “getCueLists” function.
  • the dynamic audio player sends 510 the cue list, which the electronic book reader presents to the user to select 512 one of the soundtracks (if there is more than one soundtrack) for the book.
  • Such a selection could be enhanced by using a customer feedback rating system that allows users to rate soundtracks, and these ratings could be displayed to users when a selection of a soundtrack is requested by the system.
  • the “cueListEnabled” function is then called 514 to inform the dynamic audio player of the selected cue list, which the dynamic audio player receives 516 through the function call.
  • the “fetchSoundtrack” function is called 518 to instruct the dynamic audio player to fetch 520 the cues for playback.
  • the dynamic audio player has the starting cue and the cue list, and thus the current cue, for initiating playback. Playback can be started at about the time this portion of the electronic book is displayed by the electronic book reader.
  • the dynamic player determines, based on the data about the user interaction with the book, the next cue to play, when to play the cue, and how to transition to the next cue from the current cue.
  • the dynamic audio player extends or shortens the playback time of a cue's audio stem files to fit the estimated total cue duration.
  • This estimated cue duration can be computed in several ways. An example implementation uses an estimate of the reading speed, the computation of which is described in more detail below.
  • the current cue duration is updated in response to the data that describes the user interaction with the electronic book reader, such as provided at every page turn through the “displayedPositionRangeChanged” function call.
  • the playback time of a cue's audio stem files is modified by automatically looping sections of the audio stem files, varying the individual stem mixes and dynamically adding various effects such as reverb, delays and chorus.
  • the loop points and other mix automation data specific to the audio stem files are stored in the cue file's metadata.
  • the sections of the audio stems can be selected so that, when looped and remixed, they provide the most effective and interesting musical end user experience. This process avoids generating music that has obvious repetitions and maximizes the musical content to deliver a musically pleasing result that can have a duration many times that of the original piece(s) of audio.
  • the transition between the outgoing and the incoming audio is also managed by the same process, using the cue file metadata to define the style and placement of an appropriate cross fade to create a seamless musical transition.
  • a cue file contains four audio stems (a melody track, a sustained chordal or “pad” track, a rhythmic percussive (often drums) track and a rhythmic harmonic track) that would run for 4 minutes if played in a single pass. Further assume that this recording has 3 distinct sections, A, B and C.
  • the meta information in the cue file will include:
  • transition style i.e., slow, medium or quick fade-in, or stop previous cue with reverb tail and start new cue from beginning of cue
  • musical bar and beat markers so that the cross fade will be musically seamless
  • the cue producer's input on how the 4 stems can be remixed E.g., play stems 1, 2 and 3 only using section A, then play stems 1, 3 and 4 only using section A, add reverb to stem 3 and play it on its own using section B, then play stems 3 and 4 from section B, etc.
  • Having these kinds of instructions means that a typical four minute piece of audio can be extended up to 40 or more minutes without obvious repetition.
  • each mix is unique for the user and is created at the time of playback so unauthorized copying of the soundtrack is more difficult.
  • the duration of time until the next cue is to be played is determined ( 600 ).
  • An example way to compute this duration is provided in more detail below.
  • the cue producer's input is processed to produce a playlist of the desired duration.
  • the first instruction in the remix information is selected 602 and added to playlist. If this section of the audio stems has a duration less than the desired duration, determined at 604 , then the next instruction is selected 606 , and the process repeats until a playlist of the desired duration is completed 608 .
  • the transition information in the metadata for the next cue is used to select 610 a starting point in the current playlist to implement a cross-fade from the current cue to the next cue.
  • One way to estimate the duration of a cue is to estimate the reading speed of the reader (in words per minute) and, given the number of words in the cue, determine how much time the reader is likely to take to complete reading this portion of the book. This estimate can be computed from a history of reading speed information for the reader.
  • an initial reading speed of a certain number words per minute is assumed. This initial speed can be calculated from a variety of data about a user's previous reading speed history from reading previous books, which can be organized by author, by genre, by time of day, by location, and across all books. If no previous reading history is available, then an anonymous global tally of how other users have read this title can be used. If no other history is available a typical average of 400 words per minute is used.
  • the reading speed for the user is tracked each time the displayed position range is changed, as indicated by the “displayedPositionRangeChanged” function call. If this function call is received ( 700 ), then several conditions are checked 702 . These conditions can include, but are not limited to nor are all required: the user is actively reading, i.e., not in the reading paused state; the new displayed position range is greater than the previously displayed position range; the start of the newly displayed position range touches the end of the previously displayed position range; and the word count is above a minimum amount (currently 150 words). The time since the last change also should be within a sensible range, such as the standard deviation of the average reading speed to check the speed is within the normal expected variance.
  • the current time is recorded 704 .
  • the time since the last change to the displayed position range is computed and stored 706 , together with the word count for the previously displayed position range.
  • the reading speed for this section is computed 708 . From this historic data of measured reading speeds, an average reading speed can be computed and used to estimate cue durations.
  • the statistic used for the average reading speed is a 20 period exponential moving average (EMA), which smoothes out fluctuations in speed, while still considering recent page speeds more important.
  • EMA exponential moving average
  • the formula for calculating the EMA is:
  • M 0 S 0
  • M p n - 1 n + 1 ⁇ M p - 1 + 2 n + 1 ⁇ S p
  • n is the number of periods, i.e., 20.
  • This reading speed information can be stored locally on the user's electronic book reader application platform. Such information for multiple users can be compiled and stored on a server in an anonymous fashion. The application could look up reading speed information statistics to determine how fast others have read a work or portions of a work.
  • the data about the user interaction with the electronic book indicates that the reader has started reading from a point within the book. This happens often, as a reader generally does not read a book from start to finish in one sitting. In some cases, when a reader restarts reading at a point within the book, the audio level, or other level of “excitement,” of the audio in the soundtrack at that point might not be appropriate. That is, the audio could actually be distracting at that point.
  • the dynamic audio player can use an indication that the reader has started reading from a position within the book as an opportunity to select an alternative audio cue from the audio cue that has been selected for the portion of the book that includes the current reading position.
  • the reader may be reading the book by skipping around from section to section.
  • Other multimedia works may encourage such a manner of reading.
  • the audio cue associated with a section of a work is played when display of that section is initiated.
  • a brief cross-fade from the audio of the previously displayed section to the audio for the newly displayed section can be performed.
  • the dynamic playback engine can simply presume that the duration is indefinite and it can continue to generate audio based on the instructions in the cue file until an instruction is received to start another audio cue.
  • the audio cue files could be used to playback different sections of a cue file in response to user inputs.
  • popular songs could be divided into sections.
  • a user interface could be provided for controlling audio playback that would instruct the player to jump to a next section or to a specified section in response to a user input.
  • Creating a soundtrack for an electronic book involves associating audio files with portions of the text of the electronic book. There are several ways in which the soundtrack can be created.
  • a composer writes and records original music for each portion of the text.
  • Each portion of the text can be associated with individual audio files that are so written and recorded.
  • previously recorded music can be selected and associated directly with the portions of the text.
  • the audio file is statically and directly assigned to portions of the text.
  • audio files are indirectly assigned to portions of the text.
  • Tags such as words or other labels, are associated with portions of the text. Such tags may be stored in a computer data file or database and associated with the electronic book, similar to the cue list described above.
  • Corresponding tags also are associated with audio files. One or more composers write and record original music that is intended to evoke particular emotions or moods. Alternatively, previously recorded music can be selected.
  • These audio files also are associated with such tags, and can be stored in a database.
  • the tags associated with the portions of the text can be used to automatically select corresponding audio files with the same tags. In the event that multiple audio files are identified for a tag in the book, one of the audio files can be selected either by a computer or through human intervention.
  • This implementation allows audio files to be collected in a database, and the creation of a soundtrack to be completed semi-automatically, by automating the process of selecting audio files given the tags associated with the electronic book and with audio files.
  • the audio files also can be dynamically selected using the tags at a time closer to playback.
  • the process of associating tags with the electronic book also can be automated.
  • the text can be processed by a computer to associate emotional descriptors to portions of the text based on a semantic analysis of the words of the text.
  • Example techniques for such semantic analysis include, but are not limited to, those described in “Emotions from text: machine learning for text-based emotion prediction,” by Cecilia Ovesdotter Alm et al., in Proceedings of Human Language Technology Conference and Conference on Empirical Methods in Natural Language Processing (October 2005), pp. 579-586, and which is hereby incorporated by reference.
  • These tags can describe the emotional feeling or other sentiment that supports the section of the work being viewed.
  • these emotional feelings can include, but are not limited to, medium tension, love interest, tension, jaunty, macho, dark, brooding, ghostly, happy, sad, wistful, sexy moments, bright and sunny.
  • FIG. 8 is a data flow diagram that illustrates an example of a fully automated process for creating a soundtrack for an electronic book, given audio files that have tags associated with them.
  • An electronic book 800 is input to an emotional descriptor generator 802 that outputs the emotional descriptors and text ranges 804 for the book.
  • the emotional descriptors are used to lookup, in an audio database 806 , audio files 810 that match the emotional descriptors for each range in the book.
  • the audio selector 808 allows for automated, random or semi-automated selection of an audio file for each text range to generate a cue list 812 .
  • a unique identifier can be generated for the electronic book and stored with the cue list 812 .
  • Such electronic books and their soundtracks can be distributed in any of variety of ways, including but not limited to currently used ways for commercial distribution of electronic books.
  • the electronic book and the electronic book reader are distributed to end users using conventional techniques.
  • the distribution of the additional soundtrack and dynamic audio player is completed separately.
  • the distribution of the soundtrack is generally completed in two steps: first the cue list is downloaded, and then each audio file is downloaded.
  • the audio files can be downloaded on demand.
  • the dynamic audio player can include a file manager that maintains information about available cue files that may be stored on the same device on which the electronic book reader operates, or that may be stored remotely.
  • the electronic book is distributed to end users along with the cue list and dynamic audio player.
  • the electronic book and its associated cue list are distributed together.
  • the cue list is then used to download the audio files for the soundtrack as a background task.
  • the electronic book is downloaded first and the download of the cue list is initiated as a background task, and then the first audio file for the first cue is immediately downloaded.
  • the electronic book reader is a device with local storage that includes local generic cues, having a variety of emotional descriptors that can be selected for a playback in accordance with the cue list. These generic cues would allow playback of audio if a remote audio file became unavailable.
  • the electronic book reader application is loaded on a platform that has access to a network, such as the Internet, through which it can communicate with a distributor of electronic media.
  • a distributor may receive a request to purchase and/or download electronic media from users.
  • the distributor may retrieve the requested work and its accompanying soundtrack information from a database.
  • the retrieved electronic media can be encrypted and sent to the user of the electronic book reader application.
  • the electronic media may be encrypted such that the electronic media may be played only on a single electronic book reader.
  • the digital rights management information associated with the work also is applied to the soundtrack information.
  • the embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged.
  • a process is terminated when its operations are completed.
  • a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc., in a computer program. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or a main function.
  • mobile device includes, but is not limited to, a wireless device, a mobile phone, a mobile communication device, a user communication device, personal digital assistant, mobile hand-held computer, a laptop computer, an electronic book reader and reading devices capable of reading electronic contents and/or other types of mobile devices typically carried by individuals and/or having some form of communication capabilities (e.g., wireless, infrared, short-range radio, etc.).
  • FIG. 9 is a block diagram illustrating the internal functional architecture of a computer system 900 usable with one or more aspects of the systems and methods described in further detail below.
  • the computer system 900 may include a central processing unit (CPU) 914 for executing computer-executable process steps and interfaces with a computer bus 916 .
  • CPU central processing unit
  • FIG. 9 Also shown in FIG. 9 are a network interface 918 , a display device interface 920 , a keyboard or input interface 922 , a pointing device interface 924 , an audio interface 926 , a video interface 932 , and a hard disk drive 934 or other persistent storage.
  • the disk 934 may store operating system program files, application program files, web browsers, and other files. Some of these files may be stored on the disk 934 using an installation program.
  • the CPU 914 may execute computer-executable process steps of an installation program so that the CPU 914 can properly execute the application program.
  • a random access main memory (“RAM”) 936 may also interface to the computer bus 916 to provide the CPU 914 with access to memory storage.
  • the CPU 914 stores and executes the process steps out of the RAM 936 .
  • Data to be processed also can be read from such memory 936 or storage 934 , and stored in such memory 936 or storage 934 .
  • Read only memory (“ROM”) 938 may be provided to store invariant instruction sequences such as start-up instruction sequences or basic input/output operating system (BIOS) sequences for operation of the keyboard 922 .
  • BIOS basic input/output operating system
  • An electronic book reader, or other application for providing visual displays of electronic books and other multimedia works, can be implemented on a platform such as described in FIG. 9 .
  • an electronic book and an electronic book reader are used as examples of the kind of multimedia work and corresponding viewer with which playback of a soundtrack can be synchronized.
  • Other kinds of multimedia works in which the duration of the visual display of a portion of the work is dependent on user interaction with the work also can use this kind of synchronization.
  • the term electronic book is intended to encompass books, magazines, newsletters, newspapers, periodicals, maps, articles, and other works that are primarily text or text with accompanying graphics or other visual media
  • a storage medium may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information.
  • ROM read-only memory
  • RAM random access memory
  • magnetic disk storage mediums magnetic disk storage mediums
  • optical storage mediums flash memory devices and/or other machine readable mediums for storing information.
  • machine readable medium and “computer readable medium” include, but are not limited to portable or fixed storage devices, optical storage devices, and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
  • embodiments may be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof.
  • the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium such as a storage medium or other storage(s).
  • a processor may perform the necessary tasks.
  • a code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements.
  • a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, circuit, and/or state machine.
  • a processor may also be implemented as a combination of computing components, e.g., a combination of a DSP and a microprocessor, a number of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • a storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

An electronic book is provided with a soundtrack, to which a reader can listen while reading the electronic book. Playback of the soundtrack is synchronized with the visual display of the electronic book. Audio cues are associated with different points in the text and these cues are dynamically played back in synchronization with the visual display of the electronic book based on the interaction of the user with the electronic book. The dynamic playback involves editing and playing an audio cue so that it has a duration that is based on a prediction of the duration of the portion of the electronic book with which the cue is synchronized. When the system starts playing an audio cue, it predicts when the next audio cue should start. The current cue is played for predicted duration and a transition to the next audio cue is initiated at an appropriate time.

Description

    CLAIM OF PRIORITY AND RELATED APPLICATION DATA
  • This application is a continuation application of, and claims priority to, U.S. non-provisional patent application Ser. No. 12/943,917, filed Nov. 10, 2010, entitled “Dynamic Audio Playback of Soundtracks for Electronic Visual Works,” the contents of which are hereby incorporated by reference for all purposes as if fully set forth herein.
  • Note that U.S. non-provisional patent application Ser. No. 12/943,917 claims priority to US. Provisional patent application Ser. No. 61/259,995, filed on Nov. 10, 2009, the contents of which are hereby incorporated by reference for all purposes as if fully set forth herein.
  • BACKGROUND
  • Electronic books are a kind of multimedia work that is primarily comprised of text, but also may include other visual media such as graphics and images. While text in an electronic book may be accompanied by other visual media, generally an electronic book is intended to be read from start to finish, although not necessarily in one sitting.
  • There are several file formats used for electronic books, including but not limited to various types of markup language document types (e.g., SGML, HTML, XML, LaTex and the like), and other data file types, such as .pdf files, plain text files, etc. Various file formats are used with electronic book readers, such as the KINDLE reader from Amazon.com. Such a book reader generally is a computer program designed to run on a platform such as a personal computer, notebook computer, laptop computer, tablet computer, mobile device or dedicated hardware system for reading electronic books (such as the KINDLE reader).
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
  • FIG. 1 is a dataflow diagram of an electronic book reader with a dynamic audio player.
  • FIG. 2 is a dataflow diagram of more details of the dynamic audio player of FIG. 1.
  • FIG. 3 is an illustration of a cue list.
  • FIG. 4 is an illustration of an audio cue file.
  • FIG. 5 is a flow chart of the setup process when an electronic book is opened.
  • FIG. 6 is a flow chart describing how an audio cue file is used to create audio data of a desired duration.
  • FIG. 7 is a flow chart describing how reading speed is calculated.
  • FIG. 8 is a data flow diagram describing how a soundtrack can be automatically generated for an electronic book;
  • FIG. 9 is a block diagram that illustrates a computer system upon which an embodiment of the invention may be implemented.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Approaches for dynamic audio playback of soundtracks for electronic visual works are presented herein. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention described herein. It will be apparent, however, that the embodiments of the invention described herein may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form or discussed at a high level in order to avoid unnecessarily obscuring teachings of embodiments of the invention.
  • Functional Overview
  • An electronic book is provided with a soundtrack, to which a reader can listen while reading the electronic book. The purpose of the soundtrack is to accompany and enhance the reading experience, in which readers generally have images in their minds based on the story or other visual media that is part of the electronic book. Playback of the soundtrack is synchronized with the visual display of the electronic book.
  • Synchronizing playback of a soundtrack to the visual display of an electronic book while the book is read by a reader is a challenging problem. Different individuals read at different speeds, and different individuals will read at different speeds at different times. The duration of the visual display of a portion of the electronic book varies in duration from reader to reader, and between different points in time. In other words, the duration of the visual display of the portion of an electronic book is variable, depending on the user interaction with the electronic book. Yet the playback of the soundtrack, a kind of time-dependent media, is synchronized with this visual display.
  • To provide a good reading experience with a soundtrack in a manner that is applicable to multiple readers, audio cues are associated with different points in the text and these cues are dynamically played back in synchronization with the visual display of the electronic book based on the interaction of the user with the electronic book. The dynamic playback involves editing and playing an audio cue so that it has a duration that is based on a prediction of the duration of the portion of the electronic book with which the cue is synchronized. When the system starts playing an audio cue, it predicts when the next audio cue should start. The current cue is played for predicted duration and a transition to the next audio cue is initiated at an appropriate time.
  • Such a soundtrack generally is not just any music or sound; some music and sound could be distracting to the reader instead of enhancing the reading experience. Instead, the soundtrack includes music and sound designed to evoke emotions in the reader similar to those emotions that would be evoked by the text. Generally, a soundtrack for an electronic book benefits when there are few bright transient sounds, no vocals, and a spare, somewhat hypnotic feel to the music. Genre-wise, music that is too fast or too intense can be distracting and difficult to read to.
  • In its various aspects, the invention can be embodied in a computer-implemented process, a machine (such as an electronic device, or a general purpose computer or other device that provides a platform on which computer programs can be executed), processes performed by these machines, or an article of manufacture. Such articles can include a computer program product or digital information product in which a computer readable storage medium containing computer program instructions or computer readable data stored thereon, and processes and machines that create and use these articles of manufacture.
  • Accordingly, in one aspect, dynamic playback of audio involves receiving data about user interaction with a portion of an electronic visual work. A section of audio to be played back associated with the portion of the electronic visual work is dynamically adjusted in length according to the user interaction with the electronic visual work. In one implementation, the duration of the visual display of the portion of the electronic visual work is estimated according to the received data about user interaction with the portion of the electronic visual work. A sequence of sub-mixes of audio associated with the portion of the electronic visual work is selected so as to provide audio elements that will match the estimated duration. This estimation can be done using a history of reading speeds.
  • In another aspect, a soundtrack is played in synchronization with display of an electronic visual work. The electronic visual work is received into memory. Information associating portions of the electronic visual work with tags also is received into memory. Portions of the electronic visual work are displayed in response to user interaction. Audio files with tags are accessed. Audio files to be associated with portions of the electronic visual work are selected according to the tags associated with the portions of the electronic visual work. Data about user interaction with the portion of an electronic visual work is received and the duration of playback of audio associated with that specific portion of the electronic visual work is dynamically adjusted according to the user interaction.
  • In another aspect, a soundtrack for an electronic visual work is generated. The electronic visual work is received into memory. The electronic visual work is processed in the memory such that portions of the electronic visual work are marked with tags that will associate to specific portions of tagged audio files. Audio files with the appropriate tags are then accessed, and the target audio files for portions of the electronic visual work are selected and associated to create and play back the resulting soundtrack. The electronic visual work can includes text and the processing includes processing the text. The tags can include emotional descriptors.
  • In another aspect, a cue list includes for each portion of an electronic visual work, an emotional descriptor, wherein the emotional descriptors correspond to emotional descriptors also associated with audio data.
  • In another aspect, an audio cue includes audio data for a plurality of submixes of the musical work (called “stems”) that can be mixed to provide audio data and information indicative of how the stems can be repeated and combined to create the final result heard by the reader.
  • In another aspect, distribution of a soundtrack and its associated electronic visual work is done in a manner that enables the electronic visual work to be viewed in the same manner as if the soundtrack was not available. After a reader accesses an electronic visual work, a cue list is identified and read. As a background task, audio data is downloaded while a first cue in the soundtrack is played in synchronization with the display of the electronic visual work.
  • Yet other aspects are set forth in the following detailed description, and are provided by the various combinations of these different aspects of the invention.
  • Dynamic Audio Playback of Soundtracks for Electronic Visual Works
  • Soundtracks can be associated with any of a variety of electronic visual works, including electronic books. The types of music or audio that could be used also likely would depend on the type of work. For example, for works of fiction, the soundtrack will be similar in purpose to a movie soundtrack, i.e., to support the story—creating suspense, underpinning a love interest, or reaching a big climax. For children's books, the music may be similar to that used for cartoons, possibly including more sound effects, such as for when a page is being turned. For textbooks, the soundtrack may include rhythms and tonalities known to enhance knowledge retention, such as material at about 128 or 132 beats per minute and using significant modal tonalities. Some books designed to support meditation could have a soundtrack with sounds of nature, ambient sparse music, instruments with soft tones, and the like. Travel books could have music and sounds that are native to the locations being described. For magazines and newspapers, different sections or articles could be provided with different soundtracks and/or with different styles of music. Even reading different passes of the same page could have different soundtracks. Advertisers also could have their audio themes played during reading of such works. In such cases, the soundtracks could be selected in a manner similar to how text based advertisements are selected to accompany other material.
  • In particular, referring now to FIG. 1, electronic content such as an electronic book 110 is input to an electronic device such as an electronic book reader 112, which provides a visual display of the electronic book to an end user or reader. The electronic content may also comprise any external content, such as a web page or other electronic document; therefore, the term electronic book in the present disclosure may encompass other types of electronic content as well. The electronic device may also comprise any device capable of processing and/or displaying electronic content, such as a computer, tablet, smartphone, portable gaming platform or other device; therefore, the term electronic book reader in the present disclosure may encompass other types of electronic devices as well. The electronic book 110 is one or more computer data files that contain at least text and are in a file format designed to enable a computer program to read, format and display the text. There are various file formats for electronic books, including but not limited to various types of markup language document types (e.g., SGML, HTML, XML, LaTex and the like), and other document types, examples of which include, but are not limited to, EPUB, FictionBook, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, PDF, mobipocket, Calibre, Stanza, and plain-text. Some file formats are proprietary and are designed to be used with dedicated electronic book readers. The invention is not limited to any particular file format.
  • The electronic book reader 112 can be any computer program designed to run on a computer platform, such as described above in connection with FIG. 13, examples of which include, but are not limited to, a personal computer, tablet computer, mobile device or dedicated hardware system for reading electronic books and that receives and displays the contents of the electronic book 110. There are a number of commercially or publicly available electronic book readers, examples of which include, but are not limited to, the KINDLE reader from Amazon.com, the Nook reader from Barnes & Noble, the Stanza reader, and the FBReader software, an open source project. However, the invention is not limited to any particular electronic book reader.
  • The electronic book reader 112 also outputs data 114 indicative of the user interaction with the electronic book reader 112, so that such data can be used by a dynamic audio player 116. Commercially or publicly available electronic book readers can be modified in accordance with the description herein to provide such outputs.
  • The data about the user interaction with the text can come in a variety of forms. For example, an identifier of the book being read (such as an ISBN, e-ISBN number or hash code), and the current position in the text can be provided. Generally, the current position is tracked by the electronic book reader as the current “page” or portion of the electronic book that is being displayed. The electronic book reader can output this information when it changes. Other information that can be useful, if provided by the electronic book reader 112, includes, but is not limited to the word count for a current range of the document being display, an indication of when the user has exited the electronic book reader application, and an indication of whether the reader has paused reading or resumed reading after a pause.
  • The information and instructions exchanged between the electronic book reader and the dynamic audio player can be implemented through an application programming interface (API), so that the dynamic audio player can request that the electronic book reader provide status information, or perform some action, or so that the electronic book reader can control the other application program. The dynamic audio player can be programmed to implement this API as well. An example implementation of the API includes, but is not limited to, two interfaces, one for calls from the electronic book reader application, and another for calls to the electronic book reader application.
  • Example calls that the electronic book reader can make to the dynamic audio player include:
  • “ebookOpenedwithUniqueID”—This function is called by the electronic book reader when the application opens an electronic book. This function has parameters that specify the electronic book's unique identifier and whether the electronic book has been opened before. In response to this information the dynamic audio player sets the current cue. The first time an electronic book is opened, the current position will be set to the start of the first cue.
  • “ebookClosed”—This function is called by the electronic book reader when the application closes an electronic book. In response to this call, the dynamic audio player can free up memory and reset internal data.
  • “ebookRemoved”—This function is called when the electronic book reader has removed an ebook from its library, so that soundtrack and audio files also can also be removed.
  • “displayedPositionRangeChanged”—This function is called when the electronic book reader changes its display, for example, due to a page turn, orientation change, font change or the like, and provides parameters for the range of the work that is newly displayed. In response to this call the dynamic audio player can set up audio cues for the newly displayed range of the work.
  • “readingResumed”—This function is called when the user has resumed reading after an extended period of inactivity, which the electronic book reader detects by receiving any of a variety of inputs from the user (such as a page turn command) after reading has been determined to be “paused.”
  • “fetchSoundtrack”—This function is called by the electronic book reader to instruct the dynamic audio player to fetch and import the soundtrack file, or cue list, for the electronic book with a specified unique identifier (provided as a parameter of this function).
  • “audioVolume”—This function is called by the electronic book reader to instruct the dynamic audio player to set the volume of the audio playback.
  • “getCueLists”—This function is called by the electronic book reader to retrieve information from the dynamic audio player about the cue lists and groups available for the currently opened electronic book. This function would allow the electronic book reader to present this information to the reader, for example.
  • “cueListEnabled”—This function is called by the electronic book reader to instruct the dynamic audio player to enable or disable a particular cue list, e.g., an alternative soundtrack, sound effects, a recorded reader or text-to-speech conversion.
  • “audioIntensity”—This function is called by the electronic book reader to instruct the dynamic audio player to set the intensity of the audio playback, e.g., to make the audio composition quieter or mute a drum stem (submix).
  • “audioPreloadDefault”—This function is called to set a default number of hours of audio to download and keep on hand generally for electronic books.
  • “audioPreloadForEbook”—This function is called to set a number of hours of audio to download and keep for a specific ebook.
  • “downloadEnabled”—This function is called to enable or disable audio downloading.
  • Example calls that the dynamic audio player can make to the electronic book reader include:
  • “readingPaused”—This function is called by the dynamic audio player if it has not received a “displayedPositionRangeChanged” call from the electronic book reader within an expected time. From this information, it is assumed by the dynamic audio player that the user is no longer reading. After calling this function, the electronic book reader should call the “readingResumed” function when the user starts reading again.
  • “gotoPosition”—This function is called by the dynamic audio player to instruct the electronic book reader to set the current position in the book, usually at the start point of the first cue the first time the electronic book is opened in response to the “ebookOpenedAtPath” function being called.
  • “wordCountForRange”—This function is called by the dynamic audio player to instruct the electronic book reader to provide a number of words for a specified range of the electronic book, to be used in scheduling playlists and tracking reading speed as described in more detail below.
  • The use of these API calls is described in more detail below.
  • The electronic book 110 has an associated cue list 118, described in more detail below in connection with FIG. 3, which associates portions of the text with audio cues 120. In general, an identifier used to uniquely identify the electronic book 110 is used to associate the cue list 118 to the book by either embedding the identifier in the cue list or having a form of lookup table or map that associates the identifier of the book with the cue list 118. An audio cue 120 is a computer data file that includes audio data. In general, an audio cue 120 associated with a portion of the text by the cue list 118 is played back while the reader is reading that portion of the text. For example, a portion of the text may be designated by a point in the text around which the audio cue should start playing, or a range in the text during which the audio cue should play. The dynamic audio player 116 determines when and how to stop playing one audio cue and start playing another.
  • The dynamic audio player 116 receives data 114 about the user interaction with the electronic book reader 112, as well as cues 120 and the cue list 118. As will be described in more detail below, the dynamic audio player 116 uses the user interaction data 114 and the cue list 118 to select the audio cues 120 to be played, and when and how to play them, to provide an output audio signal 122.
  • During playback of the soundtrack, the dynamic audio player plays a current cue, associated with the portion of the text currently being read, and determines how and when to transition the next cue to be played, based on the data about the user interaction with the text. As shown in more detail in FIG. 2, the dynamic audio player 200 thus uses a current cue 204 and a next cue 210 to generate audio 206. The cues 204 and 210 to be played are determined through a cue lookup 208, using the data 212 about the user interaction, and the cue list 202. While the dynamic audio player is playing the current cue 204, it monitors the incoming data 212 to determine when the next cue should be played. The current cue 204 may need to be played for a longer or shorter time than the cue's actual duration. As described in more detail below, the dynamic audio player lengthens or shortens the current cue so as to fit the amount of time the user is taking to read the associated portion of the text, and then implements a transition, such as a cross fade, at the estimated time at which the user reaches the text associated with the next cue.
  • Referring now to FIG. 3, an example implementation of the cue list 118 of FIG. 1 will now be described in more detail. Audio cues, e.g., 120 in FIGS. 1 and 204, 210 in FIG. 2, are assigned to portions of the text. This assignment can be done using a meta-tag information file that associates portions of the text with audio files. The association with an audio file may be direct or indirect, and may be statically or dynamically defined. For example, different portions of the text can be assigned different words or other labels indicative of emotions, moods or styles of music to be associated with those portions of the text. Audio files then can be associated with such words or labels. The audio files can be selected and statically associated with the text, or they can be selected dynamically at the time of playback, as described in more detail below. Alternatively, different points in the text may be associated directly with an audio file.
  • An example meta-tag information file is shown in FIG. 3. The meta-tag information file is a list 300 of pairs 302 of data representing a cue. Each pair 302 representing a cue includes a reference 304 to the text, such as a reference to a markup language element within a text document, an offset from the beginning of a text document, or a range within a text document. The pair 302 also includes data 306 that specifies the cue. This data may be a word or label, such as an emotive tag, or an indication of an audio file, such as a file name, or any other data that may be used to select an audio file. How a composer or a computer program can create such cue lists will be described in more detail below.
  • The meta-tag information file can be implemented as a file that is an archive containing several metadata files. These files can be in JavaScript Object Notation (JSON) format. The meta-tag information file can include a manifest file that contains general information about the soundtrack, such as the unique identifier of the electronic book with which it is associated, the title of the electronic book, a schema version, (for compatibility purposed, in case the format changes in the future), and a list of other files in the archive, with checksums for integrity checking. In addition to the manifest file, the meta-tag information file also includes a cuelists file which contains the list of cue list descriptors available in the soundtrack. Each cue list descriptor includes a display name, a unique identifier for lookup purposes and an optional group name of the cue list. As an example, there may be several mutually exclusive main cue lists, from which it only makes sense to have a single one playing. These cue lists might have a group name of “main,” whereas with a sound effects or “read to me” cue list it would be ok to play them all at that same time, and thus would not utilize the group name.
  • The meta-tag information file also includes a cues file that contains the list of cue descriptors for all of the cue lists. Each cue descriptor includes a descriptive name given to the cue descriptor by a producer. This descriptor could be entered using another application for this purpose, and could include information such as a cue file name that is used to look up the location of the cue file in the list of cue files, and in and out points in the electronic book.
  • Finally, the meta-tag information file includes a “cuefiles” file that contains the list of cue file descriptors. The cuefiles file specifies the network location of the cue files. Each cue file descriptor includes a descriptive name given to the cuefile by a producer and used as the cue file name in the cue descriptor, a uniform resource locator (URL) for retrieving the cue file and the original file name of the cue file.
  • The audio cues (120 in FIG. 1) referred to in such a cue list contain audio data, which may be stored in audio file formats, such as AIFF, MP3, AAC, m4a or other file types. Referring now to FIG. 4, an example implementation of an audio cue file will be described. An audio cue file 400 can include multiple “stems” (submixes) 402, each of which is a separate audio file that provides one part of a multipart audio mix for the cue. The use of such stems allows the dynamic audio player to select from among the stems to repeat in order to lengthen the playback time of the cue. An audio cue file also can include information that is helpful to the dynamic audio player to modify the duration for which the audio cue is played, such as loop markers 404, bar locations 406 and recommended mix information 408. The recommended mix information includes a list of instructions for combining the audio stems, where each instruction indicates the stems and sections to be used, and any audio effects processing to be applied. Other information such as a word or label indicative of the emotion or mood intended to be evoked by the audio or data indicative of genre, style, instruments, emotion, atmosphere, place, era—called descriptors 410—also can be provided. Even more additional information, such as alternative keywords, cue volume, cross-fade or fade-in/out shape/intensity and recommended harmonic progression for successive cues also can be included.
  • As an example, the audio cue file can be implemented as an archive containing a metadata file in JSON format and one or more audio files for stems of the cue. The metadata file contains a descriptor for the metadata associated with the audio files, which includes bar locations, loop markers, recommended mix information, emodes (emotional content meta-tags), audio dynamics control metadata (dynamic range compression), instruments, atmospheres and genres. The audio files can include data compressed audio files and high resolution original audio files for each stem. Retaining the high resolution versions of each stem supports later editing using music production tools. A copy of the audio cue files without the original audio files can be made to provide for smaller downloads to electronic book readers. The cue file contains the compressed audio files for the stems, which are the files used for playback in the end user applications.
  • The cue files can be created using a software tool that inputs a set of standard audio stems, adds descriptor, loop point and recommended mix meta information as a separate text file, optimizes and compresses the audio for network delivery and outputs a single package file that can be uploaded to a database. An audio file can be analyzed using various analytic techniques to locate sections, beats, loudness information, fades, loop points and the link. Cues can be selected using the descriptors “genre, style, instruments, emotion, place, era” and delivered over the network as they are used by the reader.
  • The cue lists and cue files can be individually encrypted and linked to a specific work for which they are the soundtrack. The same key would be used to access the work and its soundtrack. Thus files could be tied to the specific work or the specific viewing device through which the work was accessed, and can use digital rights management information associated with the work.
  • Given the foregoing understanding of cue lists, the audio cues, and the interaction available with the electronic book reader, the dynamic audio player will now be described in more detail in connection with FIGS. 5-7.
  • To initiate playback when a book is first opened (500) by a reader, the electronic book reader calls 502 the “ebookOpenedwithUniqueID” function, indicating the book's unique identifier and whether the book had been opened before. The dynamic audio player receives 504 the identifier of the electronic book, and downloads or reads 506 the cue list for the identified book. The electronic book reader prompts the dynamic audio player for information about the cue list, by calling 508 the “getCueLists” function. The dynamic audio player sends 510 the cue list, which the electronic book reader presents to the user to select 512 one of the soundtracks (if there is more than one soundtrack) for the book. Such a selection could be enhanced by using a customer feedback rating system that allows users to rate soundtracks, and these ratings could be displayed to users when a selection of a soundtrack is requested by the system. The “cueListEnabled” function is then called 514 to inform the dynamic audio player of the selected cue list, which the dynamic audio player receives 516 through the function call. The “fetchSoundtrack” function is called 518 to instruct the dynamic audio player to fetch 520 the cues for playback.
  • After this setup process completes, the dynamic audio player has the starting cue and the cue list, and thus the current cue, for initiating playback. Playback can be started at about the time this portion of the electronic book is displayed by the electronic book reader. The dynamic player then determines, based on the data about the user interaction with the book, the next cue to play, when to play the cue, and how to transition to the next cue from the current cue.
  • The dynamic audio player extends or shortens the playback time of a cue's audio stem files to fit the estimated total cue duration. This estimated cue duration can be computed in several ways. An example implementation uses an estimate of the reading speed, the computation of which is described in more detail below. The current cue duration is updated in response to the data that describes the user interaction with the electronic book reader, such as provided at every page turn through the “displayedPositionRangeChanged” function call.
  • In general, the playback time of a cue's audio stem files is modified by automatically looping sections of the audio stem files, varying the individual stem mixes and dynamically adding various effects such as reverb, delays and chorus. The loop points and other mix automation data specific to the audio stem files are stored in the cue file's metadata. There can be several different loop points in a cue file. The sections of the audio stems can be selected so that, when looped and remixed, they provide the most effective and interesting musical end user experience. This process avoids generating music that has obvious repetitions and maximizes the musical content to deliver a musically pleasing result that can have a duration many times that of the original piece(s) of audio. When the next cue is triggered, the transition between the outgoing and the incoming audio is also managed by the same process, using the cue file metadata to define the style and placement of an appropriate cross fade to create a seamless musical transition.
  • As an example, assume a cue file contains four audio stems (a melody track, a sustained chordal or “pad” track, a rhythmic percussive (often drums) track and a rhythmic harmonic track) that would run for 4 minutes if played in a single pass. Further assume that this recording has 3 distinct sections, A, B and C. The meta information in the cue file will include:
  • 1. how to transition into the cue from a previous cue. This includes transition style (i.e., slow, medium or quick fade-in, or stop previous cue with reverb tail and start new cue from beginning of cue), musical bar and beat markers so that the cross fade will be musically seamless;
  • 2. The time positions where each of the A, B and C sections can be looped.
  • 3. The cue producer's input on how the 4 stems can be remixed. E.g., play stems 1, 2 and 3 only using section A, then play stems 1, 3 and 4 only using section A, add reverb to stem 3 and play it on its own using section B, then play stems 3 and 4 from section B, etc. Having these kinds of instructions means that a typical four minute piece of audio can be extended up to 40 or more minutes without obvious repetition. In addition, each mix is unique for the user and is created at the time of playback so unauthorized copying of the soundtrack is more difficult.
  • As an example, referring now to FIG. 6, this process will be described in more detail. Given a cue and a starting point, the duration of time until the next cue is to be played is determined (600). An example way to compute this duration is provided in more detail below. Given the duration, the cue producer's input is processed to produce a playlist of the desired duration. In other words, the first instruction in the remix information is selected 602 and added to playlist. If this section of the audio stems has a duration less than the desired duration, determined at 604, then the next instruction is selected 606, and the process repeats until a playlist of the desired duration is completed 608. At the end of the cue, the transition information in the metadata for the next cue is used to select 610 a starting point in the current playlist to implement a cross-fade from the current cue to the next cue.
  • One way to estimate the duration of a cue is to estimate the reading speed of the reader (in words per minute) and, given the number of words in the cue, determine how much time the reader is likely to take to complete reading this portion of the book. This estimate can be computed from a history of reading speed information for the reader.
  • When the user starts reading a book, an initial reading speed of a certain number words per minute is assumed. This initial speed can be calculated from a variety of data about a user's previous reading speed history from reading previous books, which can be organized by author, by genre, by time of day, by location, and across all books. If no previous reading history is available, then an anonymous global tally of how other users have read this title can be used. If no other history is available a typical average of 400 words per minute is used.
  • Referring now to FIG. 7, the reading speed for the user is tracked each time the displayed position range is changed, as indicated by the “displayedPositionRangeChanged” function call. If this function call is received (700), then several conditions are checked 702. These conditions can include, but are not limited to nor are all required: the user is actively reading, i.e., not in the reading paused state; the new displayed position range is greater than the previously displayed position range; the start of the newly displayed position range touches the end of the previously displayed position range; and the word count is above a minimum amount (currently 150 words). The time since the last change also should be within a sensible range, such as the standard deviation of the average reading speed to check the speed is within the normal expected variance. If these conditions are met, then the current time is recorded 704. The time since the last change to the displayed position range is computed and stored 706, together with the word count for the previously displayed position range. The reading speed for this section is computed 708. From this historic data of measured reading speeds, an average reading speed can be computed and used to estimate cue durations.
  • The formula for calculating the reading speed Sp (in words per second) for a page p is:
  • S p = W p T p
  • where Wp is the word count for the page and Tp is the time taken to read the page, in seconds. In one implementation, the statistic used for the average reading speed is a 20 period exponential moving average (EMA), which smoothes out fluctuations in speed, while still considering recent page speeds more important.
  • The formula for calculating the EMA is:
  • M 0 = S 0 M p = n - 1 n + 1 × M p - 1 + 2 n + 1 × S p
  • Where n is the number of periods, i.e., 20.
  • To calculate the variance in reading speeds we use Welford's method for calculating variance, over the last 20 values:
  • Initialize M1=T1 and S1=0
  • For subsequent values of T, use the recurrence formulas
  • M k = M k - 1 + T k - M k - 1 k S k = S k - 1 + ( T k - M k - 1 ) × ( T k - M k )
  • For ≦k≦n the kth estimate of the variance is:
  • s 2 = S k k - 1 .
  • This reading speed information can be stored locally on the user's electronic book reader application platform. Such information for multiple users can be compiled and stored on a server in an anonymous fashion. The application could look up reading speed information statistics to determine how fast others have read a work or portions of a work.
  • Other types of user interaction instead of or in addition to reading speed can be used to control playback.
  • In one implementation, the data about the user interaction with the electronic book indicates that the reader has started reading from a point within the book. This happens often, as a reader generally does not read a book from start to finish in one sitting. In some cases, when a reader restarts reading at a point within the book, the audio level, or other level of “excitement,” of the audio in the soundtrack at that point might not be appropriate. That is, the audio could actually be distracting at that point. The dynamic audio player can use an indication that the reader has started reading from a position within the book as an opportunity to select an alternative audio cue from the audio cue that has been selected for the portion of the book that includes the current reading position.
  • As another example, the reader may be reading the book by skipping around from section to section. Other multimedia works may encourage such a manner of reading. In such a case, the audio cue associated with a section of a work is played when display of that section is initiated. A brief cross-fade from the audio of the previously displayed section to the audio for the newly displayed section can be performed. In some applications, where the nature of the work is such that the viewing time of any particular section is hard to predict, the dynamic playback engine can simply presume that the duration is indefinite and it can continue to generate audio based on the instructions in the cue file until an instruction is received to start another audio cue.
  • As another example, it is possible to use the audio cue files to playback different sections of a cue file in response to user inputs. For example, popular songs could be divided into sections. A user interface could be provided for controlling audio playback that would instruct the player to jump to a next section or to a specified section in response to a user input.
  • Having now described how such works and accompanying soundtracks can be created, their distribution will now be discussed.
  • Creating a soundtrack for an electronic book involves associating audio files with portions of the text of the electronic book. There are several ways in which the soundtrack can be created.
  • In one implementation, a composer writes and records original music for each portion of the text. Each portion of the text can be associated with individual audio files that are so written and recorded. Alternatively, previously recorded music can be selected and associated directly with the portions of the text. In these implementations, the audio file is statically and directly assigned to portions of the text.
  • In another implementation, audio files are indirectly assigned to portions of the text. Tags, such as words or other labels, are associated with portions of the text. Such tags may be stored in a computer data file or database and associated with the electronic book, similar to the cue list described above. Corresponding tags also are associated with audio files. One or more composers write and record original music that is intended to evoke particular emotions or moods. Alternatively, previously recorded music can be selected. These audio files also are associated with such tags, and can be stored in a database. The tags associated with the portions of the text can be used to automatically select corresponding audio files with the same tags. In the event that multiple audio files are identified for a tag in the book, one of the audio files can be selected either by a computer or through human intervention. This implementation allows audio files to be collected in a database, and the creation of a soundtrack to be completed semi-automatically, by automating the process of selecting audio files given the tags associated with the electronic book and with audio files.
  • In an implementation where audio files are indirectly associated with the electronic book, the audio files also can be dynamically selected using the tags at a time closer to playback.
  • The process of associating tags with the electronic book also can be automated. In particular, the text can be processed by a computer to associate emotional descriptors to portions of the text based on a semantic analysis of the words of the text. Example techniques for such semantic analysis include, but are not limited to, those described in “Emotions from text: machine learning for text-based emotion prediction,” by Cecilia Ovesdotter Alm et al., in Proceedings of Human Language Technology Conference and Conference on Empirical Methods in Natural Language Processing (October 2005), pp. 579-586, and which is hereby incorporated by reference. These tags can describe the emotional feeling or other sentiment that supports the section of the work being viewed. For example these emotional feelings can include, but are not limited to, medium tension, love interest, tension, jaunty, macho, dark, brooding, ghostly, happy, sad, wistful, sexy moments, bright and sunny.
  • FIG. 8 is a data flow diagram that illustrates an example of a fully automated process for creating a soundtrack for an electronic book, given audio files that have tags associated with them. An electronic book 800 is input to an emotional descriptor generator 802 that outputs the emotional descriptors and text ranges 804 for the book. The emotional descriptors are used to lookup, in an audio database 806, audio files 810 that match the emotional descriptors for each range in the book. The audio selector 808 allows for automated, random or semi-automated selection of an audio file for each text range to generate a cue list 812. A unique identifier can be generated for the electronic book and stored with the cue list 812.
  • Such electronic books and their soundtracks can be distributed in any of variety of ways, including but not limited to currently used ways for commercial distribution of electronic books. In one implementation, the electronic book and the electronic book reader are distributed to end users using conventional techniques. The distribution of the additional soundtrack and dynamic audio player is completed separately. The distribution of the soundtrack is generally completed in two steps: first the cue list is downloaded, and then each audio file is downloaded. The audio files can be downloaded on demand. The dynamic audio player can include a file manager that maintains information about available cue files that may be stored on the same device on which the electronic book reader operates, or that may be stored remotely.
  • In one implementation, the electronic book is distributed to end users along with the cue list and dynamic audio player.
  • In another implementation, the electronic book and its associated cue list are distributed together. The cue list is then used to download the audio files for the soundtrack as a background task. In one implementation, the electronic book is downloaded first and the download of the cue list is initiated as a background task, and then the first audio file for the first cue is immediately downloaded.
  • In another implementation, the electronic book reader is a device with local storage that includes local generic cues, having a variety of emotional descriptors that can be selected for a playback in accordance with the cue list. These generic cues would allow playback of audio if a remote audio file became unavailable.
  • In one implementation, the electronic book reader application is loaded on a platform that has access to a network, such as the Internet, through which it can communicate with a distributor of electronic media. Such a distributor may receive a request to purchase and/or download electronic media from users. After receiving the request, the distributor may retrieve the requested work and its accompanying soundtrack information from a database. The retrieved electronic media can be encrypted and sent to the user of the electronic book reader application. The electronic media may be encrypted such that the electronic media may be played only on a single electronic book reader. Typically, the digital rights management information associated with the work also is applied to the soundtrack information.
  • In this description, specific details are given to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, software modules, functions, circuits, etc., may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known modules, structures and techniques may not be shown in detail in order not to obscure the embodiments.
  • Also, it is noted that the embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc., in a computer program. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or a main function.
  • Aspects of the systems and methods described herein may be operable on any type of general purpose computer system or computing device, including, but not limited to, a desktop, laptop, notebook, tablet or mobile device. The term “mobile device” includes, but is not limited to, a wireless device, a mobile phone, a mobile communication device, a user communication device, personal digital assistant, mobile hand-held computer, a laptop computer, an electronic book reader and reading devices capable of reading electronic contents and/or other types of mobile devices typically carried by individuals and/or having some form of communication capabilities (e.g., wireless, infrared, short-range radio, etc.).
  • FIG. 9 is a block diagram illustrating the internal functional architecture of a computer system 900 usable with one or more aspects of the systems and methods described in further detail below. As shown in FIG. 9, the computer system 900 may include a central processing unit (CPU) 914 for executing computer-executable process steps and interfaces with a computer bus 916. Also shown in FIG. 9 are a network interface 918, a display device interface 920, a keyboard or input interface 922, a pointing device interface 924, an audio interface 926, a video interface 932, and a hard disk drive 934 or other persistent storage.
  • As described above, the disk 934 may store operating system program files, application program files, web browsers, and other files. Some of these files may be stored on the disk 934 using an installation program. For example, the CPU 914 may execute computer-executable process steps of an installation program so that the CPU 914 can properly execute the application program.
  • A random access main memory (“RAM”) 936 may also interface to the computer bus 916 to provide the CPU 914 with access to memory storage. When executing stored computer-executable process steps from the disk 934, the CPU 914 stores and executes the process steps out of the RAM 936. Data to be processed also can be read from such memory 936 or storage 934, and stored in such memory 936 or storage 934. Read only memory (“ROM”) 938 may be provided to store invariant instruction sequences such as start-up instruction sequences or basic input/output operating system (BIOS) sequences for operation of the keyboard 922.
  • An electronic book reader, or other application for providing visual displays of electronic books and other multimedia works, can be implemented on a platform such as described in FIG. 9.
  • In the following description an electronic book and an electronic book reader are used as examples of the kind of multimedia work and corresponding viewer with which playback of a soundtrack can be synchronized. Other kinds of multimedia works in which the duration of the visual display of a portion of the work is dependent on user interaction with the work also can use this kind of synchronization. The term electronic book is intended to encompass books, magazines, newsletters, newspapers, periodicals, maps, articles, and other works that are primarily text or text with accompanying graphics or other visual media
  • In the foregoing, a storage medium may represent one or more devices for storing data, including read-only memory (ROM), random access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The terms “machine readable medium” and “computer readable medium” include, but are not limited to portable or fixed storage devices, optical storage devices, and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
  • Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium such as a storage medium or other storage(s). A processor may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
  • The various illustrative logical blocks, modules, circuits, elements, and/or components described in connection with the examples disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, circuit, and/or state machine. A processor may also be implemented as a combination of computing components, e.g., a combination of a DSP and a microprocessor, a number of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • The methods or algorithms described in connection with the examples disclosed herein may be embodied directly in hardware, in a software module executable by a processor, or in a combination of both, in the form of processing unit, programming instructions, or other directions, and may be contained in a single device or distributed across multiple devices. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. A storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
  • One or more of the components and functions illustrated by the figures may be rearranged and/or combined into a single component or embodied in several components without departing from the invention. Additional elements or components may also be added without departing from the invention. Additionally, the features described herein may be implemented in software, hardware, as a business method, and/or combination thereof.
  • While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, having been presented by way of example only, and that this invention is not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.

Claims (9)

What is claimed is:
1. A computer-implemented process for dynamic playback of audio, comprising
receiving data about user interaction with a portion of an electronic visual work; and
dynamically adjusting a duration of playback of audio associated with the portion of the electronic visual work according to the user interaction.
2. The computer-implemented process of claim 1, further comprising;
estimating a duration for visual display of the portion of the electronic visual work according to the received data about user interaction with the portion of the electronic visual work; and
selecting a sequence of mixes of stems of audio associated with the portion of the electronic visual work so as to provide audio with the estimated duration.
3. The computer-implemented process of claim 2, wherein the duration is estimated using a history of reading speeds.
4. A computer-implemented process for playing a soundtrack in synchronization with display of an electronic visual work, comprising:
receiving into memory the electronic visual work;
receiving into memory information associating portions of the electronic visual work with tags;
displaying portions of the electronic visual work in response to user interaction;
accessing audio files with tags;
selecting, using the processor, audio files to be associated with portions of the electronic visual work according to the tags associated with the portions of the electronic visual work.
receiving data about user interaction with the portion of an electronic visual work; and
dynamically adjusting a duration of playback of audio associated with the portion of the electronic visual work according to the user interaction.
5. A computer-implemented process for generating a soundtrack for an electronic visual work, comprising:
receiving the electronic visual work into memory;
processing, by a processor, the electronic visual work in the memory, to mark portions of the electronic visual work by associating, in memory, tags with portions of the electronic visual work;
accessing audio files with tags;
selecting, using the processor, audio files for portions of the electronic visual work according to the tags associated with the portions of the electronic visual work.
6. The computer-implemented process of claim 5, wherein the electronic visual work includes text and the processing includes processing the text.
7. The computer-implemented process of claim 6, wherein the tags include emotional descriptors.
8. A digital information product, comprising:
a computer readable medium;
computer readable data stored on the computer readable medium that, when processed by a computer, is interpreted by the computer to define a computer readable file including a cue list, including, for each portion of an electronic visual work, an emotional descriptor, wherein the emotional descriptors correspond to emotional descriptors also associated with audio data.
9. A digital information product, comprising:
a computer readable medium;
computer readable data stored on the computer readable medium that, when processed by a computer, is interpreted by the computer to define a computer readable file including data defining an audio cue, including audio data for a plurality of stems that can be mixed to provide audio data and information indicative of how the stems can be repeated and combined.
US14/010,286 2009-11-10 2013-08-26 Dynamic audio playback of soundtracks for electronic visual works Abandoned US20130346838A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/010,286 US20130346838A1 (en) 2009-11-10 2013-08-26 Dynamic audio playback of soundtracks for electronic visual works

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25999509P 2009-11-10 2009-11-10
US12/943,917 US8527859B2 (en) 2009-11-10 2010-11-10 Dynamic audio playback of soundtracks for electronic visual works
US14/010,286 US20130346838A1 (en) 2009-11-10 2013-08-26 Dynamic audio playback of soundtracks for electronic visual works

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/943,917 Continuation US8527859B2 (en) 2009-11-10 2010-11-10 Dynamic audio playback of soundtracks for electronic visual works

Publications (1)

Publication Number Publication Date
US20130346838A1 true US20130346838A1 (en) 2013-12-26

Family

ID=43868382

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/943,917 Expired - Fee Related US8527859B2 (en) 2009-11-10 2010-11-10 Dynamic audio playback of soundtracks for electronic visual works
US14/010,286 Abandoned US20130346838A1 (en) 2009-11-10 2013-08-26 Dynamic audio playback of soundtracks for electronic visual works

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/943,917 Expired - Fee Related US8527859B2 (en) 2009-11-10 2010-11-10 Dynamic audio playback of soundtracks for electronic visual works

Country Status (6)

Country Link
US (2) US8527859B2 (en)
EP (1) EP2499626A1 (en)
JP (1) JP2013511214A (en)
KR (1) KR20120091325A (en)
CN (1) CN102687182A (en)
WO (1) WO2011060106A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130319209A1 (en) * 2012-06-01 2013-12-05 Makemusic, Inc. Distribution of Audio Sheet Music As An Electronic Book
US20130326016A1 (en) * 2009-10-30 2013-12-05 Samsung Electronics Co., Ltd. Apparatus and method for synchronizing e-book content with video content and system thereof
US10698951B2 (en) 2016-07-29 2020-06-30 Booktrack Holdings Limited Systems and methods for automatic-creation of soundtracks for speech audio

Families Citing this family (228)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
CN102124523B (en) 2008-07-04 2014-08-27 布克查克控股有限公司 Method and system for making and playing soundtracks
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8527859B2 (en) * 2009-11-10 2013-09-03 Dulcetta, Inc. Dynamic audio playback of soundtracks for electronic visual works
US20130297599A1 (en) * 2009-11-10 2013-11-07 Dulcetta Inc. Music management for adaptive distraction reduction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (en) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Device and system for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20120001923A1 (en) * 2010-07-03 2012-01-05 Sara Weinzimmer Sound-enhanced ebook with sound events triggered by reader progress
KR101058268B1 (en) * 2010-08-03 2011-08-22 안명환 Mobile terminal with non-reading part
US9535884B1 (en) 2010-09-30 2017-01-03 Amazon Technologies, Inc. Finding an end-of-body within content
US9645986B2 (en) 2011-02-24 2017-05-09 Google Inc. Method, medium, and system for creating an electronic book with an umbrella policy
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US8935259B2 (en) 2011-06-20 2015-01-13 Google Inc Text suggestions for images
CN103782342B (en) 2011-07-26 2016-08-31 布克查克控股有限公司 The sound channel of e-text
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8612584B2 (en) * 2011-08-29 2013-12-17 Google Inc. Using eBook reading data to generate time-based information
US9141404B2 (en) 2011-10-24 2015-09-22 Google Inc. Extensible framework for ereader tools
GB2510744A (en) * 2011-11-04 2014-08-13 Barnesandnoble Com Llc System and method for creating recordings associated with electronic publication
US20130117670A1 (en) * 2011-11-04 2013-05-09 Barnesandnoble.Com Llc System and method for creating recordings associated with electronic publication
US9031493B2 (en) 2011-11-18 2015-05-12 Google Inc. Custom narration of electronic books
US20130131849A1 (en) * 2011-11-21 2013-05-23 Shadi Mere System for adapting music and sound to digital text, for electronic devices
US9183807B2 (en) 2011-12-07 2015-11-10 Microsoft Technology Licensing, Llc Displaying virtual data as printed content
US9229231B2 (en) 2011-12-07 2016-01-05 Microsoft Technology Licensing, Llc Updating printed content with personalized virtual data
US9182815B2 (en) 2011-12-07 2015-11-10 Microsoft Technology Licensing, Llc Making static printed content dynamic with virtual data
US9213705B1 (en) 2011-12-19 2015-12-15 Audible, Inc. Presenting content related to primary audio content
EP2608002A1 (en) * 2011-12-21 2013-06-26 France Telecom Method for determining a reading speed of a section of an electronic content
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US20130268826A1 (en) * 2012-04-06 2013-10-10 Google Inc. Synchronizing progress in audio and text versions of electronic books
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9165381B2 (en) 2012-05-31 2015-10-20 Microsoft Technology Licensing, Llc Augmented books in a mixed reality environment
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9141257B1 (en) * 2012-06-18 2015-09-22 Audible, Inc. Selecting and conveying supplemental content
US9535885B2 (en) 2012-06-28 2017-01-03 International Business Machines Corporation Dynamically customizing a digital publication
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US20140040715A1 (en) * 2012-07-25 2014-02-06 Oliver S. Younge Application for synchronizing e-books with original or custom-created scores
CN103680562B (en) * 2012-09-03 2017-03-22 腾讯科技(深圳)有限公司 Point distribution method and device for audio file
US9047356B2 (en) 2012-09-05 2015-06-02 Google Inc. Synchronizing multiple reading positions in electronic books
US9544204B1 (en) * 2012-09-17 2017-01-10 Amazon Technologies, Inc. Determining the average reading speed of a user
US9575960B1 (en) * 2012-09-17 2017-02-21 Amazon Technologies, Inc. Auditory enhancement using word analysis
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9123053B2 (en) 2012-12-10 2015-09-01 Google Inc. Analyzing reading metrics to generate action information
CN103020226A (en) * 2012-12-12 2013-04-03 北京百度网讯科技有限公司 Method and device for acquiring search result
US20140173441A1 (en) * 2012-12-19 2014-06-19 Hcl Technologies Limited Method and system for inserting immersive contents into eBook
KR20240132105A (en) 2013-02-07 2024-09-02 애플 인크. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014160717A1 (en) * 2013-03-28 2014-10-02 Dolby Laboratories Licensing Corporation Using single bitstream to produce tailored audio device mixes
CN104168174A (en) * 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 Method and apparatus for information transmission
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9317486B1 (en) 2013-06-07 2016-04-19 Audible, Inc. Synchronizing playback of digital content with captured physical content
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101772152B1 (en) 2013-06-09 2017-08-28 애플 인크. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9836271B2 (en) * 2013-07-17 2017-12-05 Booktrack Holdings Limited Delivery of synchronised soundtracks for electronic media content
DE112014003653B4 (en) 2013-08-06 2024-04-18 Apple Inc. Automatically activate intelligent responses based on activities from remote devices
IN2014DE02666A (en) * 2013-09-18 2015-06-26 Booktrack Holdings Ltd
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US20150269133A1 (en) * 2014-03-19 2015-09-24 International Business Machines Corporation Electronic book reading incorporating added environmental feel factors
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
CN110797019B (en) 2014-05-30 2023-08-29 苹果公司 Multi-command single speech input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10049477B1 (en) 2014-06-27 2018-08-14 Google Llc Computer-assisted text and visual styling for images
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
CN104166689B (en) * 2014-07-28 2018-04-06 小米科技有限责任公司 The rendering method and device of e-book
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US20160182435A1 (en) * 2014-12-23 2016-06-23 Sony Corporation Socially acceptable display of messaging
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
CN105261374A (en) * 2015-09-23 2016-01-20 海信集团有限公司 Cross-media emotion correlation method and system
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US20170116047A1 (en) * 2015-10-25 2017-04-27 Khozem Z. Dohadwala Further applications of Reading State control - A method for repositioning reading material on electronic devices
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
CN106708894B (en) * 2015-11-17 2019-12-20 腾讯科技(深圳)有限公司 Method and device for configuring background music for electronic book
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US9959343B2 (en) 2016-01-04 2018-05-01 Gracenote, Inc. Generating and distributing a replacement playlist
US10042880B1 (en) * 2016-01-06 2018-08-07 Amazon Technologies, Inc. Automated identification of start-of-reading location for ebooks
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US20180032611A1 (en) * 2016-07-29 2018-02-01 Paul Charles Cameron Systems and methods for automatic-generation of soundtracks for live speech audio
US20180032305A1 (en) * 2016-07-29 2018-02-01 Paul Charles Cameron Systems and methods for automatic-creation of soundtracks for text
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN106960051B (en) * 2017-03-31 2019-12-10 掌阅科技股份有限公司 Audio playing method and device based on electronic book and terminal equipment
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. User interface for correcting recognition errors
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. Low-latency intelligent automated assistant
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. Multi-modal interfaces
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. Far-field extension for digital assistant services
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
EP3646322A1 (en) * 2017-06-29 2020-05-06 Dolby International AB Methods, systems, devices and computer program products for adapting external content to a video stream
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. Virtual assistant operation in multi-device environments
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (en) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
CN109543671B (en) * 2018-09-30 2021-03-02 阿里巴巴(中国)有限公司 Touch reading method, touch reading pen, server data processing method and touch reading system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109493839B (en) * 2018-11-12 2024-01-23 平安科技(深圳)有限公司 Air quality display method and device based on voice synthesis and terminal equipment
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN109994000B (en) * 2019-03-28 2021-10-19 掌阅科技股份有限公司 Reading accompanying method, electronic equipment and computer storage medium
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. User activity shortcut suggestions
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US12051133B2 (en) * 2021-06-01 2024-07-30 Apple Inc. Color treatment and color normalization for digital assets

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4305131A (en) * 1979-02-05 1981-12-08 Best Robert M Dialog between TV movies and human viewers
US5209665A (en) * 1989-10-12 1993-05-11 Sight & Sound Incorporated Interactive audio visual work
US5437552A (en) * 1993-08-13 1995-08-01 Western Publishing Co., Inc. Interactive audio-visual work
US5484292A (en) * 1989-08-21 1996-01-16 Mctaggart; Stephen I. Apparatus for combining audio and visual indicia
US5485176A (en) * 1991-11-21 1996-01-16 Kabushiki Kaisha Sega Enterprises Information display system for electronically reading a book
US5649234A (en) * 1994-07-07 1997-07-15 Time Warner Interactive Group, Inc. Method and apparatus for encoding graphical cues on a compact disc synchronized with the lyrics of a song to be played back
US5897324A (en) * 1997-02-03 1999-04-27 Atop Technologies, Inc. Multimedia-book operable with removable data storage media implemented with universal interfacing book-adapting processor
US6424996B1 (en) * 1998-11-25 2002-07-23 Nexsys Electronics, Inc. Medical network system and method for transfer of information
US6529920B1 (en) * 1999-03-05 2003-03-04 Audiovelocity, Inc. Multimedia linking device and method
US6598074B1 (en) * 1999-09-23 2003-07-22 Rocket Network, Inc. System and method for enabling multimedia production collaboration over a network
US20040044473A1 (en) * 2000-05-20 2004-03-04 Young-Hie Leem On demand contents providing method and system
US20070041356A1 (en) * 2003-09-04 2007-02-22 Fontijn Wilhelmus Franciscus J Navigating audio books using auditory cues
US20070183753A1 (en) * 2006-01-24 2007-08-09 Sharp Kabushiki Kaisha Data outputting device, data outputting method, data outputting program, and recording medium
US20080046936A1 (en) * 2004-07-23 2008-02-21 Aske Dam Arrangement for Presentation of Audio-Visual Content
US20090191531A1 (en) * 2007-12-21 2009-07-30 Joseph Saccocci Method and Apparatus for Integrating Audio and/or Video With a Book
US20100149933A1 (en) * 2007-08-23 2010-06-17 Leonard Cervera Navas Method and system for adapting the reproduction speed of a sound track to a user's text reading speed
US20100240416A1 (en) * 2009-03-20 2010-09-23 Nokia Corporation Method and apparatus for providing an emotion-based user interface
US20100288106A1 (en) * 2006-05-01 2010-11-18 Microsoft Corporation Metadata-based song creation and editing
US20100332225A1 (en) * 2009-06-29 2010-12-30 Nexidia Inc. Transcript alignment
US20110016004A1 (en) * 2000-11-03 2011-01-20 Zoesis, Inc., A Delaware Corporation Interactive character system
US20110142413A1 (en) * 2009-12-04 2011-06-16 Lg Electronics Inc. Digital data reproducing apparatus and method for controlling the same
US20110153330A1 (en) * 2009-11-27 2011-06-23 i-SCROLL System and method for rendering text synchronized audio
US20110167390A1 (en) * 2005-04-07 2011-07-07 Ingram Dv Llc Apparatus and method for utilizing an information unit to provide navigation features on a device
US20110267180A1 (en) * 2010-04-30 2011-11-03 Research In Motion Limited Method and apparatus for generating an audio notification file
US20120210203A1 (en) * 2010-06-03 2012-08-16 Rhonda Enterprises, Llc Systems and methods for presenting a content summary of a media item to a user based on a position within the media item

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199076B1 (en) * 1996-10-02 2001-03-06 James Logan Audio program player including a dynamic program selection controller
US7149690B2 (en) * 1999-09-09 2006-12-12 Lucent Technologies Inc. Method and apparatus for interactive language instruction
FI20002828A (en) * 2000-12-22 2002-06-23 Nokia Corp A method and system for detecting emotional state in telephone communications
US20050186548A1 (en) * 2004-02-25 2005-08-25 Barbara Tomlinson Multimedia interactive role play system
US7735012B2 (en) * 2004-11-04 2010-06-08 Apple Inc. Audio user interface for computing devices
US20080120342A1 (en) * 2005-04-07 2008-05-22 Iofy Corporation System and Method for Providing Data to be Used in a Presentation on a Device
CN102124523B (en) 2008-07-04 2014-08-27 布克查克控股有限公司 Method and system for making and playing soundtracks
US8527859B2 (en) * 2009-11-10 2013-09-03 Dulcetta, Inc. Dynamic audio playback of soundtracks for electronic visual works

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4305131A (en) * 1979-02-05 1981-12-08 Best Robert M Dialog between TV movies and human viewers
US5484292A (en) * 1989-08-21 1996-01-16 Mctaggart; Stephen I. Apparatus for combining audio and visual indicia
US5209665A (en) * 1989-10-12 1993-05-11 Sight & Sound Incorporated Interactive audio visual work
US5485176A (en) * 1991-11-21 1996-01-16 Kabushiki Kaisha Sega Enterprises Information display system for electronically reading a book
US5437552A (en) * 1993-08-13 1995-08-01 Western Publishing Co., Inc. Interactive audio-visual work
US5649234A (en) * 1994-07-07 1997-07-15 Time Warner Interactive Group, Inc. Method and apparatus for encoding graphical cues on a compact disc synchronized with the lyrics of a song to be played back
US5897324A (en) * 1997-02-03 1999-04-27 Atop Technologies, Inc. Multimedia-book operable with removable data storage media implemented with universal interfacing book-adapting processor
US6424996B1 (en) * 1998-11-25 2002-07-23 Nexsys Electronics, Inc. Medical network system and method for transfer of information
US6529920B1 (en) * 1999-03-05 2003-03-04 Audiovelocity, Inc. Multimedia linking device and method
US6598074B1 (en) * 1999-09-23 2003-07-22 Rocket Network, Inc. System and method for enabling multimedia production collaboration over a network
US20040044473A1 (en) * 2000-05-20 2004-03-04 Young-Hie Leem On demand contents providing method and system
US20110016004A1 (en) * 2000-11-03 2011-01-20 Zoesis, Inc., A Delaware Corporation Interactive character system
US20070041356A1 (en) * 2003-09-04 2007-02-22 Fontijn Wilhelmus Franciscus J Navigating audio books using auditory cues
US20080046936A1 (en) * 2004-07-23 2008-02-21 Aske Dam Arrangement for Presentation of Audio-Visual Content
US20110167390A1 (en) * 2005-04-07 2011-07-07 Ingram Dv Llc Apparatus and method for utilizing an information unit to provide navigation features on a device
US20070183753A1 (en) * 2006-01-24 2007-08-09 Sharp Kabushiki Kaisha Data outputting device, data outputting method, data outputting program, and recording medium
US20100288106A1 (en) * 2006-05-01 2010-11-18 Microsoft Corporation Metadata-based song creation and editing
US20100149933A1 (en) * 2007-08-23 2010-06-17 Leonard Cervera Navas Method and system for adapting the reproduction speed of a sound track to a user's text reading speed
US20090191531A1 (en) * 2007-12-21 2009-07-30 Joseph Saccocci Method and Apparatus for Integrating Audio and/or Video With a Book
US20100240416A1 (en) * 2009-03-20 2010-09-23 Nokia Corporation Method and apparatus for providing an emotion-based user interface
US20100332225A1 (en) * 2009-06-29 2010-12-30 Nexidia Inc. Transcript alignment
US20110153330A1 (en) * 2009-11-27 2011-06-23 i-SCROLL System and method for rendering text synchronized audio
US20110142413A1 (en) * 2009-12-04 2011-06-16 Lg Electronics Inc. Digital data reproducing apparatus and method for controlling the same
US20110267180A1 (en) * 2010-04-30 2011-11-03 Research In Motion Limited Method and apparatus for generating an audio notification file
US20120210203A1 (en) * 2010-06-03 2012-08-16 Rhonda Enterprises, Llc Systems and methods for presenting a content summary of a media item to a user based on a position within the media item

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326016A1 (en) * 2009-10-30 2013-12-05 Samsung Electronics Co., Ltd. Apparatus and method for synchronizing e-book content with video content and system thereof
US9009224B2 (en) * 2009-10-30 2015-04-14 Samsung Electronics Co., Ltd. Apparatus and method for synchronizing E-book content with video content and system thereof
US9467496B2 (en) 2009-10-30 2016-10-11 Samsung Electronics Co., Ltd. Apparatus and method for synchronizing E-book content with video content and system thereof
US20130319209A1 (en) * 2012-06-01 2013-12-05 Makemusic, Inc. Distribution of Audio Sheet Music As An Electronic Book
US8933312B2 (en) * 2012-06-01 2015-01-13 Makemusic, Inc. Distribution of audio sheet music as an electronic book
US20150082972A1 (en) * 2012-06-01 2015-03-26 Makemusic, Inc. Distribution of audio sheet music within an electronic book
US9142201B2 (en) * 2012-06-01 2015-09-22 Makemusic, Inc. Distribution of audio sheet music within an electronic book
US10698951B2 (en) 2016-07-29 2020-06-30 Booktrack Holdings Limited Systems and methods for automatic-creation of soundtracks for speech audio

Also Published As

Publication number Publication date
US8527859B2 (en) 2013-09-03
KR20120091325A (en) 2012-08-17
EP2499626A1 (en) 2012-09-19
CN102687182A (en) 2012-09-19
WO2011060106A1 (en) 2011-05-19
US20110195388A1 (en) 2011-08-11
JP2013511214A (en) 2013-03-28

Similar Documents

Publication Publication Date Title
US8527859B2 (en) Dynamic audio playback of soundtracks for electronic visual works
US20130297599A1 (en) Music management for adaptive distraction reduction
US11635936B2 (en) Audio techniques for music content generation
US9355627B2 (en) System and method for combining a song and non-song musical content
EP2126726B1 (en) Browser interpretable document for controlling a plurality of media players and systems and methods related thereto
US10140082B2 (en) Method and system for making and playing soundtracks
US8644971B2 (en) System and method for providing music based on a mood
US9607655B2 (en) System and method for seamless multimedia assembly
US7394011B2 (en) Machine and process for generating music from user-specified criteria
US20080235588A1 (en) Media player playlist creation and editing within a browser interpretable document
US20080235142A1 (en) System and methods for obtaining rights in playlist entries
US10529312B1 (en) System and method for delivering dynamic user-controlled musical accompaniments
KR20040102194A (en) Metadata type for media data format
US10694222B2 (en) Generating video content items using object assets
JP2019091014A (en) Method and apparatus for reproducing multimedia
CN102163220B (en) Song transition metadata
JP2006317792A (en) Content distribution server, method, and program
US12094441B2 (en) Music customization user interface
US20110314370A1 (en) Tiered pageview generation for computing devices
Sporka et al. Design and implementation of a non-linear symphonic soundtrack of a video game
Goto OngaCREST Project: building a similarity-aware information environment for a content-symbiotic society
US9471205B1 (en) Computer-implemented method for providing a media accompaniment for segmented activities
Meng MashupMuse: A Web Application for Easier Music Mashup Creation
CN116434729A (en) Audio content distribution method, device, equipment, storage medium and program product
Hoffman et al. Multimedia Recipes

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION