|
Description  |
|
|
FIELD OF THE INVENTION
This invention relates to an audio message data gathering and distribution
system.
BACKGROUND OF THE INVENTION
The Internet provides a robust facility for exchanging information on
diverse topics. The World Wide Web makes available a rich collection of
data files which digitally record text, graphic, audio and video
information. The Internet SMTP and POP protocols support the most widely
used of all of Internet services, E-mail, and Internet Listserv and Usenet
newsgroup services provide forums in which people having special interests
can freely exchange information, normally in text form.
The Internet is also being increasingly used to send and receive audio
information. Digitized, compressed, pre-recorded audio files may be
downloaded from file servers to World Wide Web browsers running on
computers having multimedia capabilities, typically using a "helper"
programs to reproduce MIME (Multipurpose Internet Mail Extension) audio
files for the listener,. Using suitable software, the Internet can also
provide a digital communication pathway which permits two way telephone
conversations between remotely located computers.
SUMMARY OF THE INVENTION
It is an object of the present invention to utilize the data transmission
capabilities of the Internet, or another suitable data transmission
facility, to distribute, collect and exchange information in the form of
audio recordings.
In accordance with one aspect of the invention, the present invention takes
the form of a communication system for distributing audio recordings among
a plurality of participating subscribers, some of the recording consisting
of pre-recorded programs and others being subscriber-generated comments,
all of which may be classified by the topics to which they relate for
distribution to other subscribers having an interest in the subject
matter.
Each subscriber is preferably provided with a player/recorder unit capable
of reproducing received audio recordings for a listener, and further
capable of recording comments, annotations, messages, and responses to
information requests imbedded in received recordings, the
subscriber-generated recordings being returned to a central host facility
for processing and redistribution to other subscribers.
By way of example, a given subscriber may indicate an interest in a group
of specific topics and be provided with a program catalog identifying
recorded programs which relate to those topics. While listening to program
selected from this catalog, the subscriber may utilize the recorder to
comment upon that program. The recorded comment is uploaded to the host
along with identification data which designates the recording subscriber,
the program segment being commented upon, and the position within that
program segment when the comment was generated. Thereafter, the recorded
comment may be transferred to other subscribers who request that program
segment commented upon who, at their option, indicated a desire to listen
to the comments made by other subscribers. Subscribers who listen to
comments may, in turn, wish to add further comments to the program, or
respond to or comment upon another subscribers comment.
A subscriber who records a comment may limit its transmission to the author
or provider of the material commented upon, may make the comment a private
note for the subscriber's sole use without transmitting it to anyone, or
may choose to make it publicly available to any requesting subscriber.
Publicly available comments may be listed in program catalog listings
organized in accordance with subject matter categories assigned to the
comment. A request for information on a particular topic may accordingly
yield not only the program material originally provided by the host system
on that topic, but also the comments of subscribers who share an interest
in the topic.
The same facility used to generate public or private comments and
annotations may also be used to enable a system subscriber to record and
upload audio messages to identified subscribers or to the host system.
This capability may in turn be used as a mechanism for providing help and
support to subscribers concerning system operation, to provide free-form
requests for desired programming which may be made generally available to
subscribers, or to request specific information to be sent to the
requesting subscriber on a fee basis.
Unlike Internet UseNet groups, which store and distribute text-based
messages on particular special interest topics, the present invention
utilizes audio recording and playback mechanisms to provide an
interactive, conversational environment which eliminates the need to use a
keyboard to interject comments and pose questions. Coupled with voice
command responsive controls, the invention may be implemented as a
hands-free system suitable for use by an automobile driver or other user's
who cannot conveniently manipulate a keyboard to enter commands and data.
In accordance with a related aspect of the present invention, recorded
audio programming sent to a listener may advantageously include imbedded
requests for information formed by the combination of recorded audio
prompts and request markers. The listener's player/recorder detects
request markers to pause the playback while the listener dictates a
response to the question contained in the audio prompt. Each recorded
response is stored for future use along with identification data which
designates the imbedded request and the program which holds the request.
Combinations of such imbedded requests can be used to create an audio
"fill-in-the-blanks" questionnaire that can be used to gather data from
listeners, including survey data, program ratings, and the like.
Subscribers who provide requested information may receive credit which
reduces subscription charges or other incentives.
These and other objects, features and advantages of the present invention
may be more completely understood by considering the following detailed
description of a preferred embodiment of the invention. In the course of
this description, reference will frequently be made to the attached
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block schematic diagram of an electronic program and
advertising distribution system which embodies the invention;
FIG. 2 is a flow chart illustrating the principle steps followed in the
course of the performing the information distribution functions
contemplated by the invention;
FIG. 3 is a flow chart illustrating the principle steps performed during a
playback session in the illustrative embodiment;
FIG. 4 is an information structure and data flow diagram illustrating the
manner in which programming is selected and accounting functions are
performed in the illustrative embodiment of the invention;
FIG. 5 is an information structure diagram illustrating the manner in which
the program segments are dynamically selected and played in response to
the user's preferences and control decisions;
FIG. 6 is a flow chart which describes a preferred procedure for preparing
the program content which is distributed to subscribers in accordance with
the invention; and
FIG. 7 is an information structure diagram illustrating the manner in which
a narrative text file expressed in hypertext markup language (HTML) may be
translated in to the combination of an audio speech file, a text file
transcript, and a sequencing file used by the player to create a
multimedia presentation.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The illustrative embodiment of the invention shown in FIG. 1 utilizes the
Internet to provide communications between a host computer indicated
generally at 101 and an audio player device illustrated at 103.
Subscriber Audio Player
The player 103 may be advantageously implemented by a conventional laptop
or desktop personal computer including a processor (the client CPU 105), a
time of day clock 106, and a data storage system consisting of both high
speed RAM storage and a persistent mass storage device, such as a magnetic
disk memory, the data storage system being used for storing audio, text
and image data at 107 and for storing usage data at 109 which records the
nature of the programming reproduced by the player 103. The player 103
further includes a sound card 110 which receives audio input from a
microphone input device 111 for accepting voice dictation and commands
from a user and which delivers audio output to a speaker 113 in order to
supply audio information to the user. The program data stored at 107 may
advantageously include compressed audio recordings and/or text (files of
characters) which may be converted into audio form by conventional speech
synthesis programs executed by the client CPU 105.
The sound card 110 is conventional and preferably complies with the
recommendations detailed in the Hardware Design Guide for Microsoft
Windows 95, by Doug Klopfenstein, Microsoft Press (1994), ISBN
1-55615-642-1. The sound card 110 advantageously supports a 44 kHz,
16-bit, stereo codec providing analog to digital conversion of audio input
signals from the microphone 111 as well as digital to analog conversion
for programming directed to the speaker 111. The sound card provides
external connections and hardware support for Microphone-In, Line-In,
Line-Out, and Headphones-Out, with volume controlled by the player
software (including volume level logging as discussed later in connection
with FIG. 3 of the drawings).
To support multimedia capabilities, the CPU 105 should meet or exceed the
capabilities of an Intel 486 DX2-66 computer to provide consistently good
playback results and the sound card 110 should include a 16-bit
digital-to-analog converter for playback and a 16-bit analog-to-digital
converter for recording. The sound card 110 should further support 8, 11,
22, and 44 kHz waveforms. A frequency of 44 kHz is used for CD-quality
sound and fractions of 44, such as 11 and 22, are often used for
compressed waveforms meant to save CPU processing. Support for an 8 kHz
frequency should be in order to properly support Windows 95 TrueSpeech.TM.
compression, which is optimized for compression and playback of human
speech. Using TrueSpeech compression, programs containing largely voice
narrative data can be substantially condensed, and users can record
annotations and voice mail responses as discussed later.
In addition, the sound card 110 should be capable of reproducing downloaded
MIDI (Musical Instrument Device Interface) commands, enabling the system
take a MIDI data stream and produce sound according to the compressed
files consisting of digital sheet music instructions. Preferably, the
sound card should support at least 16-voice polyphony (the ability to play
several sounds at the same time), and polymessage MIDI, an capability
included in Windows 95 that allows a sound card to receive and
batch-process multiple MIDI messages (such as Note On and Note Off). The
sound card 110 should also a microphone port for microphone 111, a
speaker-out port (for one or two (stereo) unpowered speakers 113, and a
headphone-out port.
The personal computer CPU 105 is also preferably connected to a
conventional personal computer video display 118 and a standard keyboard
119, as well as a pointing device (such as a mouse, trackball or touchpad,
not shown). The facilities provided by the operating system, such as
Windows 95, typically includes multimedia support, as noted above, as well
as a standard WINSOCK TCP/IP stack and modem dial up driver software to
support a SLIPP/PPP Internet connection, as next discussed.
The player 103 further includes a conventional high speed data modem 115
for receiving (downloading) the program information 107 from the remote
server 101 and for transmitting (uploading) program selections and
preferences as well as usage data in the file 109 to the server 101. To
effect these file transfers, the modem 115 is connected via conventional
dial up telephone SLIP or PPP TCP/IP series data communication link 117 to
an Internet service provider 121 which provides access to the Internet.
The service provider 121 is in turn connected to the host server 101 via a
high speed Internet link seen at 123.
Host File Server
The host server 101 provides a FTP server interface 125 which provides file
transfer protocol services to the player 103, a CGI interface 127 which
performs Common Gateway Interface script program execution in response to
requests from the player 103, and an HTML interface 129 which provides
hypertext transport protocol (HTTP) World Wide Web server functions to the
connected player 103. The host server 101 stores and maintains a plurality
of data files including a program data library indicated generally at 130
consisting of a collection of compressed audio program segments 131,
announcement ("glue") segments 132, text program segments 133, image
segments 134, advertising segments 135 and program catalog information
137.
The compressed audio segments program segments comprise audio voice and
music files which may be compressed using conventional compression
mechanisms suited to the data being compressed, such as TrueSpeech
compression for voice signals and MIDI files for compressed synthetic
music reproducible by the sound card 110 as noted earlier.
Compressed voice programming in the database 131 may advantageously be
accompanied by text transcripts (files of characters) stored in the text
database 133. Similarly, images stored in the image database 134 may be
used to provide a multimedia presentation which combines images reproduced
on the display 118 of player 103 with concurrently presented audio at the
speaker 113 and/or displayed text. Program segments which present
advertising, illustratively shown as being resident in a separate database
135 in FIG. 1, may likewise consist of audio, text and/or image segments,
as may the program segments which provide announcements between program
segments as well as audible and visible menu options which the user may
select as described later.
As hereinafter described in connection with FIG. 5, each voice or text
program segment preferably includes a sequencing file which contains the
identification of highlighted passages and hypertext anchors within the
program content. This sequencing file may further contain references to
image files and the start and ending offset locations in the audio
presentation when each image display should begin and end. In this way,
the image presentation may be synchronized with the audio programming to
provide coherent multimedia programming.
As contemplated by the invention, information which is available in text
form from news sources, libraries, etc. may be converted to compressed
audio form either by human readers or by conventional speech synthesis. If
speech synthesis is used, the conversion of text to speech is preferably
performed at the client station 103 by the player. In this way, text
information alone may be rapidly downloaded from the server 101 since it
requires much less data than equivalent compressed audio files, and the
downloaded text further provides the user with ready access to a
transcript of voice presentations. In other cases, where it is important
to capture the quality and authenticity of the original analog speech
signals, a text transcript file which collaterally accompanies a
compressed voice audio file may be stored in the database 133 from which a
transcript may be made available to the user upon request.
The host server 101 further stores web page data 141 which is made
available to the player 103 by means of the HTML interface 128. The host
server 101 additionally stores and maintains a user data and usage log
database indicated at 143 which stores uploaded usage data received from
the store 109 in the player 103 via the Internet pathway 123 and the FTP
server interface 125. The user data 143 further contains additional data
describing the preferences, demographic characteristics and program
selections unique to each subscriber which is developed largely from
user-supplied data obtained when users submit HTML form data via the
Internet pathway 123 for processing by the CGI mechanism 127.
The host server 101 periodically transmits a download compilation file 145
upon receiving a request from the player 103. The file 145 is placed in a
predetermined FTP download file directory and assigned a filename known to
the player 103. At a time determined by player 103 monitoring the time of
day clock 106, a dial up connection is established via the service
provider 121 and the Internet to the FTP server 125 and the download
compilation 145 is transferred to the program data store 107 in the player
103. The compilation 145 is previously written to the download directory
by a download processing mechanism seen at 151 in the server 101. Download
processing, as described in more detail later, extracts from the library
130 data defining compressed program, advertising, and glue segments,
and/or associated text program data, based on selections and preferences
made by (or inferred for) the user as specified in the subscriber data and
usage log database 143.
The download compilation file 145, though represented as a single file in
FIG. 1, preferably takes the form of one or more subscriber and session
specific files which contain the identification of separately stored
sharable files. By way of example, the recommended order and the
identification of the program files making up an individual playback
session are stored in a session schedule file (to be described in detail
in connection with FIG. 5) which contains program identifiers of the
program segments to be played during an upcoming session. The player 103
downloads the session schedule file and then issues download requests for
those identified program segment files which are not already available in
the player's local storage unit 107.
Usage data in the store 109 maintained by the player 103 is preferably
uploaded as a file bearing a predetermined file name indicative of the
particular subscriber and upload time and stored in a predetermined FTP
upload directory. This upload advantageously occurs'at the same time the
player 103 establishes a download connection to the FTP server 125 as
noted earlier, and occurs prior to the download of the compilation 145.
Because the upload data from the store 109 in the player 103 identifies
program segments desired by the subscriber, program segments newly
requested by the user are appended to the compilation 145. Note that, in
typical cases, programming in addition to the specifically requested
programming will be included in the download compilation, and the transfer
of that programming can begin immediately while the newly uploaded user
selections and other information are being processed as indicated at 153
to identify additional information to be included in the download
compilation.
As indicated at 161 in FIG. 1, the host server upload processing mechanism
153 also provides a number of reports, as described in more detail later,
based upon the record of actual player use by individual subscribers and
the community of subscribers as a whole. This report processing is
advantageously performed on a periodic basis in connection with financial
and accounting functions including subscriber and advertiser billing,
content provider royalty payment accounting, and marketing analysis
processing.
It should be understood that numerous other information storage, processing
and communications schemes may be substituted for the preferred Internet
server and PC client player architecture shown in FIG. 1. A dedicated host
computer which communicates directly with client stations via dial up
telephone facilities may be used, and cellular radio, cable modem and
satellite links may be used to provide data communications in lieu of the
conventional SLIP/PPP telephone and Internet links shown in FIG. 1. To
facilitate use of the system in an automobile, a "player" computer may be
linked to the Internet via a local communications server computer via a
radio or infrared link when the car is parked at the subscriber's home or
office. The infrared Data Association's (IrDA) wireless infrared (IR)
standard provides a highly effective, low-cost communications pathway
rapidly becoming a standard feature in all notebook computers and PDAs.
The IrDA international standard provides interoperability among widely
diverse systems, involves no governmental regulation, are provided at low
cost, provide high speed file transfers (e.g., 4 Mbs data rates), are
small and can be easily incorporated into portable computers of the type
which may be used in a car or on public transportation. Alternatively, the
files downloaded from the host may be stored on a replaceable media, such
as an optical disk cartridge, which may then be inserted into a portable
computer or simplified player for mobile use. A direct link between a
mobile client player (such as a laptop PC) may be implemented using the
Cellular Digital Packet Data (CDPD) service presently available in major
metropolitan areas to provide low-cost access to the Internet using the
TCP/IP protocol, and provides the advantage that needed program segments
can be downloaded while a session is in progress, eliminating the need for
a complete download before the mobile unit is disconnected from its data
source.
Upload and Download Sequence--Overview
FIG. 2 illustrates the sequence of major events which are executed the
program dissemination system contemplated by the invention.
As indicated at 203, an interested subscriber invokes programming services
by first supplying personal information and initial programming
preferences during an account initialization procedure. Preferably, as
explained in more detail later, account initialization is accomplished by
presenting the subscriber with HTML forms to complete and submit to CGC
script programs which execute on the server to post subscriber supplied
information into an initial user dataset. Based on the information
supplied by the user, the server then compiles one or more files for
downloading to the subscriber at step 207 which include programming and
advertising segments as well as additional data and utility programs
needed by the player 103 to begin operation. The download operation
preferably occurs at a time established by the player which establishes a
dial up connection via the SLIP/PPP serial connection 117 to the local
Internet service provider 121 which provides an Internet connection to the
host FTP server 125. The download file or files containing programming and
advertising segments as well as subscriber specific data are designate by
filenames provided by the requesting client/player 103 and moved from
storage unit 145 utilizing the FTP server 125 and the Internet connection
into local storage at 107 in the client/player 103. The filenames used to
specify the files in the server 125 may conveniently be formed from the
program.sub.-- id value used internally by both the host and the player to
identify and differentiate the different program segments used.
The data downloaded includes a recommended program sequence file which
provisionally identifies the order in which downloaded program segments
are to be played, with the initial selection and sequence being
established based on user preference data by the download compilation
processing mechanism seen at 151 at the server.
Before a playback session begins, as indicated at 211, the subscriber has
the opportunity to review and alter the provisional program selections and
sequence established as a default by the downloaded information from the
server. Utilizing the programming data and a utility program previously
supplied by the server, the subscriber may alter the selection and
sequence of program materials to be played, including altering the extent
to which advertising will be played along with the selected programming.
At the request of the user, the sequence of programming defined by the
program sequence file (the selections file illustrated at 351 in FIG. 5)
is then reproduced for the listener. As contemplated by the invention, the
player 103 includes controls which enable the user to easily move from
program segment to program segment, skipping segments in a forward or
reverse direction, or to jump to a particular segment, and thus alter the
preprogrammed sequence. Nevertheless, when any given program segment
concludes, the next segment which is specified as following the given
segment will begin playing unless the listener intervenes. Thus, although
the segments are stored in randomly addressable locations in the local
mass storage unit, they are nonetheless played at step 212 in the sequence
established initially by the server and (optionally) modified by the
subscriber, with the player providing the ability to dynamically switch to
any position in this sequence under the listeners control. As indicated at
213 in FIG. 2, the listener may at any time return to the sequence editing
step 211 to manually reorder the playing sequence if desired. As indicated
at 215, a session usage log is recorded during the playback session to
identify every segment actually played, the volume and speed at which that
segment was played, and the start and end times.
At step 211, in addition to deleting and reordering items on the program
schedule, the user may alter his or her selections and general subject
matter preferences to control the manner in which the host assembles
program schedules for future sessions. When programs are included in a
current schedule which are of particular interest, the subscriber may
assign a priority value to the scheduled program and, in that way, inform
the host that the user has an interest in receiving more programing in the
same subject matter categories in which the identified program is
classified. When a program in a serialized sequence is assigned a new or
different priority value at step 211, the host system 101 assigns a
corresponding Importance value to the program.sub.-- segment record for
each of the remaining unplayed programs in that serialized sequence. Note
that, by expressly approving advertising segments or categories of
acceptable advertising in this fashion, the subscriber may be granted a
rate reduction since advertisers are generally willing to pay more for
advertising directed to customers having a known interest in a given
subject.
At the conclusion of a session, subscriber is given the opportunity at 217
to select programming which should be included in the next programming
download. To facilitate this selection process, additional programming
which fits the subscriber's indicated subject matter preferences, along
with additional programming which the server includes as being of
particular interest, is identified in a catalog (as periodically
supplemented by a download file seen at 308 in FIG. 4) and presented to
the user in the form of a proposed program schedule together with a
catalog of additional selections which may be substituted or inserted into
the proposed schedule. At step 219, the selections made by the user at 217
as well as the contents of the usage log recorded at 215 are uploaded to
the server as a requested file (seen at 301 in FIG. 4). This upload step
may occur at the same time the SLIP/PPP dial-up connection is established
by the player 103 to accomplish the download, with the upload occurring
first by an FTP file transfer from the usage data store 107 to the FTP
server 125 followed by the downloading of files requested by the client
103 from the FTP server.
In addition to the downloaded catalog of available items which may be
viewed by the subscriber from the available downloaded information, the
user may re-establish an Internet connection to the HTML web server 129
which presents HTML program selection and search request forms, enabling
the subscriber to locate remotely stored programming which may be of
particular interest to the subscriber. When such programs are selected in
the HTML session, the user's additional preferences and selections may be
posted into the user data file 143 and the identification of the needed
files may be passed to the client/player 103 for inclusion in the next
download request.
Account Initialization
As contemplated by the invention, a subscriber account may be established
by any user having a personal computer equipped to provide the
capabilities needed to implement the player 103 as described above,
together with Internet access via a service provider 121. Although a
conventional modem dial up connections will perform satisfactorily, the
time required for uploading and downloading the necessary files may be
substantially reduced using higher speed access, such as an ISDN or cable
modem link, when those services are available.
To establish a new account, a prospective subscriber may use a conventional
web browser program, such as Mosaic, Netscape Navigator or Microsoft's
Internet Explorer, which executes in the client CPU 105 to establish a
conventional HTTP request/response dialog with server 101. The account
initialization begins with the transmission of an HTML form from the web
page store 141 which is completed by the user at the keyboard (not shown)
of the client CPU 105. The account information is then transmitted to
using a HTTP post method directed at a form processing CGI script executed
by the server at 127 to place descriptive information about the user in an
assigned user data file as seen at 143. After the account has been
established, utility programs and data may be downloaded from the FTP
server 125 to the client/player 103. These utility programs advantageously
include programs which perform functions including (a) program
decompression, playback and navigation; (b) recording of a usage log file
identifying the program and advertising segments played and the start
time, ending time, volume level and playing speed for each s(c) segment;
and (c) the selection and updating of programming preferences and
selections for future downloading.
The data fields supplied by a new subscriber at the initialization step 203
may advantageously include the user's full name and billing address,
credit card information or the like for use in subscriber billing; and
descriptive data about the subscriber (and others who may share the
downloaded material), such as: age, profession, sex, and marital status;
the identification of subject matter categories of interest to the
subscriber, preferably with assigned weighting factors indicating the
level of interest in each category. The subscriber may also indicate
general preferences with respect to the including advertising, including
an indication of the amount of advertising which is acceptable to defray
subscription costs, ranging from fully advertised programming for minimum
subscription charges to the complete exclusion of advertising.
In addition, the subscriber may request and be presented with an HTML form
which lists available programs in a particular selected subject matter
area, with a priority weighting factor pre-assigned to each in accordance
with the subscriber's previous specification for that category. The form
presented thus reflects the previously entered level of interest weighting
factor for each program based on its subject matter category, but permits
the subscriber to override the suggested default value on a program by
program basis. Similarly, the subscriber is given the opportunity to
override the default amount of advertising desired.
Advertising may be associated with particular subject matter categories as
well as with particular programs. For example, an airline may wish to
advertise generally in connection with programming in the "travel"
category whereas a particular resort hotel may wish to advertise only in
connection with a particular travelogue program for the region where it is
located. Subscribers may wish to hear advertising in connection with the
programming in the travel category, but to eliminate commercials from a
daily program presenting "today's weather report." The result is clearly
advantageous for the advertiser, since advertising is focused more clearly
on those having an interest in the subject matter and an expressed
willingness to listen to commercial messages, while the subscriber is able
to receive advertising which may be regarded as useful while eliminating
unwanted advertising.
Because personal data describing each subscriber's subject matter interests
is available, along with personal data (age, marital status, zip code,
etc.), particular advertising segments may be directed to only those
subscribers having a likely interest in the goods or services advertised.
This targeted advertising need not be presented at any time during the
playback for the designated subscriber and need not be timed for
presentation with particular programs. For example, a subscriber
indicating an interest in travel programming may be supplied with
advertising from an airline at any time, and not necessarily concurrent
with selected travel programming.
Because a subscriber may have a particular interest in or enjoy some
advertising, and may have a particular dislike for other specific
advertising, the user may advantageously be presented with a listing of
advertising organized by advertiser and subject, providing the subscriber
with the opportunity to select additional desired advertising on the list
while suppressing others. Since the voluntary acceptance of advertising
preferably reduces the programming charge to the subscriber, the utility
program which executes on the client CPU 105 to enable program and
advertising selection, sequencing and editing preferably provides an
advisory indication to the subscriber of the charges or credits to be
accrued if the currently programmed sequence is played. This feature
enables subscribers to better control the costs of the service by
accepting sufficient advertising content to reduce the subscription cost
to an acceptable level. Subscribers may also set a player sys | | |