Network AV system using personal computer

A network audio system allows AV files existing in a PC to be readily registered and music to be reproduced using a client machine. The client machine is connected to the PC and a server application and a controller application are installed in the PC. Music is reproduced using the client machine based on an AV file existing in a user folder, when the user drags and drops an icon for the AV folder to an icon for the client machine. In response to the operation, the controller application produces music piece information including the artist name and the like based the tag information of the AV file. When the music piece information is not yet registered, the server application provides the music piece information with a music piece ID for registration in the content information database. The controller application transmits a command including the ID to the client machine.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to network AV (Audio Video) network systems, and more preferably to a network AV system using a general-purpose personal computer (hereinafter simply as “PC”).

2. Description of the Related Art

Today, PCs have come into widespread use in general households and more users have come to listen to music using their PCs. Music reproducing application programs are installed in their PCs for reproducing music with the PCs. The music reproducing application program allows an AV file to be read out from the hard disk or a CD (Compact Disk), and the decoded music data is provided to the sound board mounted in the PC. The sound board converts the music data into analog audio signals for application to the speaker.

The quality of music reproduced by the PC is however considerably degraded as compared to dedicated audio equipment and not high enough to satisfy the user. Application programs other than the music reproducing application program run in the PC at the same time, and therefore alert tones or the like produced by those application programs are sometimes audible in reproduced music.

Meanwhile, network AV systems based on a client-server system have recently been provided. Typical such systems reproduce music, while others reproduce video. In the following, those for reproducing music will mainly be described by way of illustration.

According to the disclosure of PCT/JP03/06552 filed prior to the present application, a network audio system includes server machine that stores a large number of AV files and client machine connected through a LAN (Local Area Network). The client machine requests the server machine to provide a desired AV file, and the server machine distributes the requested AV file to the client machine in response. The client machine reproduces music based on the AV file distributed from the server machine.

The network audio system further includes controller equipment that monitors and controls the client machine through the server machine. The controller equipment monitors the state of the client machine and instructs the client machine to carry out desired operation in response to the operation of the user.

The network audio system can reproduce high quality music but the user must have some knowledge about LAN in order to set up the system. Audio users can often be PC users as well, but not many of them have enough knowledge about LAN to build up a home network. This is a primary reason why the network audio system is not widespread.

The PC can reproduce music based on all the AV files in the hard disk or the like, but the network audio system can reproduce music only based on AV files registered in the server machine. The AV files existing in the hard disk or the like may be registered and then reproduced, but the process of registering them is complicated.

The document on the Internet at URL: http://www.cd3o.com/index.html under the title of “cd3o Network MP3 Players” (found by searching online on Jun. 13 and 17, 2003) discloses a network MP3 player that can be connected to existing audio equipment. According to the document, digital music is transmitted by radio to the network MP3 player through a home network from a PC. In this way, the user can listen to the digital music on the PC using the existing audio equipment.

SUMMARY OF THE INVENTION

It is an object of the invention to provide a network AV system that can be built up simply by adding client machine to an existing PC.

Another object of the invention is to provide a network AV system whose client machine can be operated using a PC.

Yet another object of the invention is to provide a network AV system that allows AV files existing in the hard disk or the like of a PC to be registered by simple operation.

A still further object of the invention is to provide a network AV system that can reproduce high quality sounds and/or visual images without letting alert tones or other noises from a PC mingle into them.

A network AV system according to the invention includes a PC and a client machine. The PC has a memory device (such as a hard disk, a semiconductor memory, and an optical disk) for storing a plurality of AV files. The client machine is connected to the PC through a network and reproduces audio sounds and/or video images based on an AV file distributed from the PC. The PC has a server application program and a controller application program installed. The controller application program includes the steps of selecting a desired AV file among the AV files stored in the memory device in response to the operation of the user, and transmitting a reproducing instruction of the selected AV file to the client machine. The client machine includes a transmitter responsive to the reproducing instruction from the controller application program and transmitting a request to distribute the selected AV file to the server application program. The server application program includes the steps of reading out the selected AV file from the memory device in response to the distribution request from the client machine, and distributing the read out AV file to the client machine.

In the above-described network AV system, a desired AV file is selected among the AV files stored in the memory device in response to the user's operation to the PC, and an instruction to reproduce the AV file is transmitted from the PC to the client machine. The client machine transmits a distribution request for the AV file in response to the reproducing instruction. The PC reads out the AV file from the memory device in response to the distribution request and distributes the AV file to the client machine. The client machine reproduces audio sounds and/or video images based on the desired AV file in the PC. Therefore, according to the invention, the user can build up a network AV system simply by adding a client machine to the existing PC and operate the client machine using the PC. Since the AV file is distributed from the PC to the client machine, alert tones and the like produced by the PC are not mixed, so that high quality sounds or video images can be reproduced.

Preferably, the memory device has a server region under the control of the server application program and a general region other than the server region. The memory device stores a database for registering AV information related to the AV files. The step of selecting selects the desired AV file among the AV files stored in the general region. The server application program further includes the step of registering AV information related to the selected AV file in the database.

In this way, the desired AV file is selected among the AV files stored in the general region, and AV information related to the AV file is registered in the database. Therefore, the user can register AV files existing in the hard disk or the like in the PC by the simple operation.

Preferably, the controller application program further includes the step of displaying an icon for the client machine to be displayed on a display for the PC. The step of selecting selects the desired AV file in response to the operation of the user to drag and drop an icon for the desired AV file to the icon for the client machine.

In this way, the desired AV file is selected and its AV information is registered by so-called drag and drop operation. Therefore, the operation of registering AV files can readily be carried out.

More preferably, the controller application program further includes the steps of producing the AV information based on the tag information of the selected AV file, and transmitting a request to register the produced AV information to the server application program. The step of registering registers the produced AV information in response to the registration request from the controller application program.

In this way, the AV information is produced based on the tag information of the selected AV file and registered. The tag information includes the file name, the artist name, the album title, the genre, the length of the music piece, the file format and the like, and therefore the user does not have to input these kinds of information.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Now, an embodiment of the invention will be described in conjunction with the accompanying drawings in which the same or corresponding portions are denoted by the same reference characters and their description equally applies.

1.1. Overall System Referring toFIG. 1, a network audio system1according to an embodiment of the invention includes a note PC10and a client machine21.

The note PC10is a general-purpose device often used in general households and connected to a router12. The router12is also a general-purpose device often used in general households and also serves as a modem for ADSL (Asymmetric Digital Subscriber Line). The note PC10is connected to the Internet through the router12. The router12also serves as a hub, and a plurality of PCs can be connected with each other through the router. In the example shown inFIG. 1, a single client machine21is connected to the router12through a LAN cable14.

The client machine21is a network adapted audio device and generates analog audio signals based on AV files distributed from a server. The generated analog signals are output to a speaker16.

The network audio system1needs only have one such client network device21, but the system may include a plurality of client machines21to2nas shown inFIG. 2. These client machines21to2nare connected to the note PC10through a LAN18. The note PC10is employed in the network audio system1but a desktop PC may be employed. In the network audio system1, the single PC10is connected to the LAN18but there may be a plurality of PCs connected to the LAN.

Referring toFIG. 3, the PC10includes a hard disk30, a CPU (Central Processing Unit)32, a liquid crystal display34, an input device36such as a keyboard and a mouse, a LAN controller38, a mixer40, an audio driver42, and a sound board44.

A server application program (hereinafter simply as “server application”)46and a controller application program (hereinafter simply as “controller application”)48are installed in the PC10. More specifically, the hard disk30stores the server application46and the controller application48. The hard disk39stores the server application46and the controller The AV files50are in the format of MP3, WMA or the like. The AV files50are mainly stored in a server folder52under the control of the server application while some of the AV files50downloaded from the Internet or the like are stored in a user folder54under the user control.

The server application46allows the PC10to carry out the following steps, so that AV files50are distributed in a streaming manner to the client machines21to2nin response to a request from the client machines21to2n. The controller application48allows the PC10to carry out the following steps, so that the state of the client devices21to2n(such as reproducing, stop, fast-forwarding, reversing, the presently reproduced music piece, and the volume) is monitored and the client devices21to2nare instructed to carry out desired operation (such as music piece selection, reproducing, stop, pause, fast-forwarding, reversing, and volume control) in response to the operation of the user.

The hard disk30also stores a content information database49. The content information database49includes music piece information as given in Table 1 for each piece of music.

The music piece information includes the file name, the title of the music piece, the artist, the album title, the genre, the length of the music piece (time), the file format, and the music piece ID. As the file name, the full path indicating the location of the AV file50on the hard disk30is recorded. As the file format, the format of the AV file50is recorded. As the music ID, an identification number allocated to each music piece is recorded.

For the AV files50in the server folder52, all the music piece information is registered in the content information database49. For the AV files50in the user folder54, only desired music piece information selected by the user is stored in the content information database49. Details of how to register the information will be described later. The controller application48allows only the music pieces registered in the content information database49to be reproduced by the client machines21to2n.

In most cases, various application programs are installed in the PC10in addition to the server application46and the controller application48. Audio sound data pieces generated from the application programs or OS (Operating System) are synthesized by the mixer40and applied to the sound board44through the audio driver42. The sound board44converts the audio sound data into analog audio signals and outputs the signals to a built-in or externally attached speaker (not shown).

1.3. Client Machine

Referring toFIG. 4, the client machine21includes a hard disk56, a CPU58, an FIFO (First-In First-Out) memory60, a LAN controller62, a decoder64, and a D/A converter66.

A client application program (hereinafter simply as “client application”)68is installed in the client machine21. More specifically, the hard disk56stores the client application68. The client application68allows the client machine21to carry out the following steps, so that the server application46is requested to distribute an AV file, and the distributed AV file is provided to the decoder64. The decoder64decodes the AV file and applies the resulting data to the D/A converter66. The D/A converter66converts the digital audio signals from the decoder64into analog audio signals for output to a speaker16through an amplifier (not shown).

The other client machines22to2nhave the same configuration as that of the client machine21.

2.1. Connection with Server Application

The controller application48is activated and establishes connection with the server application46. Hereinafter, the connection processing by the controller application48with the server application46will be described, while the connection by the client application68with the server application46is established in the same manner.

Referring toFIG. 5, the controller application48produces a socket using the IP (Internet Protocol) address and command port of the note PC10according to TCP (Transmission Control Protocol) and requests connection with the server application46using the socket (S101). The command port receives the command from the controller application48to the server application46and transmits a response from the server application46to the controller application48. The server application46accepts connection at the command port (S201) and the process proceeds to step S103if the connection is successfully established (S102). In this way, the controller application48establishes the connection with the command port for the server application46.

The controller application48then transmits a client index request command to the command port (S103). The server application46responds to the client index request command to return the client index from the command port to the controller application48(S202), and the controller application48receives the index (S104). The client index request command is a command for the controller application48to request the server application46to provide the client index. The client index is an identifier (ID) allocated to the controller application48from the server application46.

The controller application48then produces a socket using the IP address and the push port of the note PC10and requests connection with the server application46using the socket (S105). The push port is a port to transmit a request from the server application46to the controller application48. The server application46accepts connection at the push port (S203) and the process proceeds to step S107if the connection is successfully established (S106). In this way, the controller application48establishes the connection with the push port for the server application46. Note however that in this point, the server application46still cannot specify whether the connected application is the controller application48or the client application68. Therefore, the controller application48transmits the client index received in step S104to the push port for the server application46(S107). The server application46receives the client index (S204) and then specifies the application connected to the push port as the controller application48based on the index.

When the controller application48is activated, the note PC10displays a controller application window (hereinafter simply as “window”)70as shown inFIG. 6on the display34. The window70includes a client selection area72, a client operation/monitoring area74, a folder tree area76, and a music list area77.

The client selection area72displays the icons78for the client machines22to2nactivated and connected to the LAN18. The user can click the icon78for a desired client machine among them to select the client machine to be operated and monitored.

In the client operation/monitoring area74, buttons for indicating the state of the selected client machine and buttons for operating the selected client machine are displayed. More specifically, the displayed buttons include those for a stand-by icon80to indicate a power-on or stand-by state, the name82of the client machine, the title plus the artist name84of the presently reproduced music piece, a status icon86indicating the operation state, a volume icon88indicating the sound volume, and an operation button90(for volume control, stop, reproducing, reversing, and fast-forwarding).

In the folder tree area76, the server folder52(the icon therefor) and the user folder54(the icon therefor) are displayed. A category folder92(for artist, album, genre and the like) positioned in a directory below the server folder52and a sub category folder94(for pops, blues, classical music and the like) in a directory further below the category folder92are displayed. One or more displayed sub category folders94constitute a category list (genre list inFIG. 6). A sub user folder55positioned in a directory below the user folder54is displayed.

In the music list area77, one or more AV files50in the folders (for example,54or94) selected in the folder tree area76are displayed. More specifically, the file names of the AV files50(the titles of the music pieces) are displayed. The one or more displayed AV files50constitute a music list.

The user can edit the music list displayed in the music list area77. For example, the user may drag an AV file50in the music list area77and drops the file between other AV files50in order to change the order of music pieces in the music list. The user may also drag an AV file50from an entirely different folder and drop the file in the music list area77in order to add a music piece to the music list. The user may delete an AV file50in the music list area77in order to delete the music piece from the music list.

2.3. Selecting Client Machine

Referring toFIG. 6, the user clicks a desired one of the icons78for the client machines22to2n, and the controller application48responds to the operation to select a desired client machine as an object to be operated and monitored. Now, how the client machine21is selected will be described by way of illustration.

Referring toFIG. 7, the controller application48carries out client information display processing shown inFIG. 8about the client machine21(S111).

When the user drags one or more desired files in the user folder54and drops the files onto the icon78for the client machine21selected by the user, the controller application48detects the operation (S112) and displays only AV files50among the dragged files in the music list area77(S113). Whether or not each of the files is an AV file is determined based on the extension of the file. When the user drags and drops the desired files directly onto the icon78for a client machine21without pre-selecting a client machine21to be operated and monitored, the controller application48similarly displays only the AV files50in the music list area77(S113).

The controller application48then instructs the selected client machine21to reproduce the first music piece displayed in the music list area77(S114).

In the above example, the file is dragged and dropped from the user folder54displayed in the folder tree area76, while such a file may be dragged and dropped from the user folder54displayed by a general purpose browser.

2.4. Displaying Client Information

Now, the client information display processing in the above step S111will be described.

The client application68notifies the server application46of the client information given in Table 2 every time the status (operation state) changes. The server application46stores the notified client information in the hard disk30and transfers the information to the controller application48. The controller application48stores the client information as the client monitoring information as given in Table 3 and changes the display of the client operation/monitoring area74shown inFIG. 6based on the client monitoring information.

Table 2 displays client information produced for each of client machines21to2n.

The client information is stored in the hard disk30of the PC10and managed by the server application46. In the information, the term “flag” indicates the presence/absence of connection with the serve application46. If there is connection, the “flag” is set, while if there is no connection, the “flag” is reset. The term “type” indicates the client type such as the client application68and the controller application48. The term “status” indicates the present status (operation state) such as reproducing, stop, completion, pause, fast-forwarding, and reversing. The term “stop” indicates the state in which the reproducing of the selected music piece is stopped midway in response to the operation of the controller application48or the client machines21to2n. The term “completion” indicates the state in which the selected music piece has been reproduced to the end. The term “volume” indicates the present volume value (sound volume). The term “productid” indicates a product ID (machine information) provided for each client type. Clients of the same type are provided with the same product ID. The term “firmwareid” is a firmware ID indicating the version of firmware installed in the client machine. The term “hostname” indicates a client name provided to the client machine. The term “songID” indicates a music piece ID to identify the presently reproduced music piece. The term “curKey” indicates a list construction key necessary for producing a music list presently reproduced.

The list construction key includes a filter kind and a keyword list. The filter kind is based on a title, a genre, an artist, an album title, a file name or the like. If for example the filter kind is about an artist name, the name of a desired artist is recorded as a keyword. A desired music list can be produced by searching through the content information database49using the list construction key, details of which is disclosed by PCT/JP03/06552 described above.

Table 3 shows client monitoring information produced for each of the client machines21to2nto be operated and monitored by the controller application48.

TABLE 3client monitoring informationflagindicating presence/absence of connectiontypeclient typestatuspresent statusvolumepresent volume valueproductidproduct IDfirmwareidfirmware ID (version)hostnameclient namesongIDmusic piece IDcurKeylist construction keysetcurKeylist construction key set by controllerPlayListmusic list selected by controllersetIndexmusic number in list selected by controller

The client monitoring information is stored in the hard disk30of the PC10and managed by the controller application48to operate and monitor the client machine. The client monitoring information includes “setcurKey”, “PlayList”, and “setindex” in addition to the client information described above. The term “setcurKey” represents a list construction key necessary for specifying a temporary music list (play list) edited by the controller application48in response to the operation of the user. The term “PlayList” represents the temporary music list. The “setindex” represents a music number allocated to the music piece selected by the control application48and reproduced by the client machine at present.

Referring toFIG. 8, the controller application48compares the client information transferred from the server application46to the stored client monitoring information and checks whether or not the “flag”, “volume”, “songID”, and “status” are changed.

More specifically, the controller application48compares the “flag” and determines whether there has been a change (S1111). If there is a change, the controller application48determines whether there is connection (S1112). If there is connection, the stand-by icon80is displayed in the power-on state (S1113), and if there is no connection, the stand-by icon80is displayed in the stand-by state, while all the other displays are cleared (S1114).

The controller application48compares the “volume” and determines whether or not the volume value is changed (S1115). If there is a change, the controller application48changes the display of the volume icon88(S1116). The controller application48compares the “songID” and determines whether or not the presently reproduced music piece is changed (S1117). If there is a change, the controller application48changes the display of the title plus the artist name84of the presently reproduced music piece (S1118). The controller application48compares the “status” and determines whether or not the status is changed (S1119). If there is a change, the controller application48carries out status display processing (details of which will be described) shown inFIG. 9(S1120).

2.5. Displaying Status

Now, the process of displaying the status in step S1120will be described.

Referring toFIG. 9, the controller application48displays the status of the client machine21based on the “status”.

More specifically, the controller application48determines whether or not the “status” indicates standby (S11201). If it is a stand-by state, the controller application48displays the reproducing button90aby a reproducing mark (a triangle whose apex is directed to the right) (S11202), clears the display of the title plus the artist name84of the music piece (S11203), and displays the stand-by icon80in the stand-by state (S11204). If it not the stand-by state, the controller application48displays the stand-by icon80in the power-on state (S11205).

The controller application48determines whether or not the “status” indicates reproducing (S11206). If it is a reproducing state, the controller application48displays the status icon86by the reproducing mark, and the reproducing button90aby a pause mark (a vertical double line) (S11207). The controller application48determines whether or not the “status” indicates pause (S11208). If it is pause, the controller application48displays the status icon86by the pause mark, and the reproducing button90aby the reproducing mark (S11209). The controller application48determines whether or not the “status” indicates stop or completion (S11210). If it is stop or completion, the controller application48displays the status icon86by the stop mark (a regular square), and the reproducing button90aby the reproducing mark (S11211). The controller application48then clears the display of the title plus the artist name84of the music piece (S11212).

2.6. Selecting Music Piece

Referring toFIG. 10, the process of how a music piece is selected by the controller application48will be described. Note however that steps S112to S114are the same as those inFIG. 7and therefore will not be described again.

When the user selects the user folder54in the folder tree area76(S123), the controller application48displays a sub user folder55in the selected user folder54in the folder tree area76(S124). The controller application48displays only the AV files50in the selected user folder54in the music list area77(S125). Note that when the user selects the displayed sub user folder55, only the AV files50in the sub user folder55are displayed in the music list area77(not shown).

When the user selects a desired category folder92in the folder tree area76(S126), the controller application48obtains a category list related to the category folder92from the server application46(S127). InFIG. 6, a category folder92for genre is selected, and therefore a genre list is obtained. The controller application48displays a sub category folder94included in the obtained category list in the folder tree area76(S128).

When the user selects the sub category folder94, not the category folder92(S126), the controller application48obtains a music list related to the sub category folder94from the server application46(S129) and displays only the AV files50included in the music list in the music list area77(S130).

When the user selects desired music pieces in a music list (S115), the controller application48records the music list as a presently reproduced music list in the client machine21in the “PlayList” in the client monitoring information (S116) and sets the numbers allocated to the selected music pieces in the music list (reproducing music numbers) in the “setindex” (S117). The controller application48can edit the music list and instruct the device to continuously reproduce the music pieces in the order in the edited music list. Therefore, the music list and the number for the music piece last instructed to be reproduced are stored.

The controller application48sets a list construction key in the “setcurKey” (S118). As the list construction key, both “songID=selected music piece ID” and “Controller=name of controller” are set. The controller name is set in order to determine which has selected a music piece whose reproducing is finished by the client machine21among the controller application48, the client machine21or another controller application (not shown).

The controller application48determines whether or not the selected music piece is a piece obtained from the server application46(S119). If the piece is obtained from the server folder52, the controller application48determines whether or not the AV file50of the selected music piece is in a format that can be reproduced by the client machine21(S120), and if the piece can be reproduced, a specified music piece reproducing instruction command for the selected music piece ID is transmitted to the client machine21(S121). Meanwhile, if the selected piece is a music piece obtained from the user folder54, the controller application48carries out AV file reproducing specifying processing shown inFIG. 13(S122).

When the client machine21finishes reproducing the selected music piece to the end, client information including a completion status is transmitted to the server application46, and the server application46transfers this information to the controller application48. The controller application48carries out the following continuous reproducing processing in response to the completion status.

Referring toFIG. 11, the controller application48compares the list construction key “curKey” in the received client information to the stored list construction key “setcurKey” in the client monitoring information (S131). In this way, the controller application48can determine whether the music piece whose reproducing is completed by the client machine21is a music piece selected by the controller application48, the client machine21, or another controller application48.

When “curKey”=“setcurKey”, the controller application48determines that the music piece selected by the controller application48has been reproduced to the end, and increases the reproducing music piece number “setindex” in the client monitoring information in order to select the next music piece to be reproduced (S132).

The controller application48then determines whether the reproducing music piece number “setindex” is not more than the number of music pieces in the selected music list (S133). If the reproducing music piece number “setindex” is more than the number of pieces in the music list, the controller application48determines that the client machine21has reproduced the music pieces to the end of the music list and resets the reproducing music piece number “setindex” to “1” in order to set the next music piece to be reproduced to the first music piece in the list (S134).

When the reproducing music piece number “setindex” is not more than the number of music pieces in the music list, the controller application48checks whether the music piece represented by the “setindex” is in a format that can be reproduced by the client machine21(S135). If the piece is in a reproducible format, the controller application48instructs the client machine21to reproduce the music piece represented by the “setindex” in the music list (S136). Meanwhile, if the piece is in an irreproducible format, the controller application48carries out the continuous reproducing processing recursively in order to reproduce the next music piece. In short, the controller application48instructs the client machine21to skip the music piece in the irreproducible format by the client machine21and reproduce the next music piece.

2.8. Operating Client Machine

Referring toFIG. 12, the operation of the client machine21by the controller application48will be described. Note that steps S112to S114are the same as those inFIGS. 7 and 10and therefore will not be described again.

When the user clicks the reproducing button90ashown inFIG. 6(S141), the controller application48determines whether or not the “status” indicates reproducing (S142). If the “status” indicates reproducing, the reproducing button90ais displayed by the pause mark by the status display processing shown inFIG. 9, and therefore the controller application48transmits a pause instruction command to the client machine21(S143). Meanwhile, when the “status” indicates anything other than reproducing, the reproducing button90ais displayed by the reproducing mark, and therefore the controller application48transmits a reproducing instruction command to the client machine21(S144).

When the user clicks the fast-forwarding or reversing button90b(S145), the controller application48determines whether a music list is recorded in the “PlayList” in the client monitoring information in response to the operation (S146). If a music list is recorded, the controller application48specifies the music piece instructed to be reproduced immediately before in the music list based on the “setindex” in the client monitoring information and selects the next or previous music piece. The controller application48then transmits a reproducing instruction command to the client machine21(S147).

When the user clicks the volume button90c(S148), the controller application48transmits a volume raising or lowering instruction command to the client machine21in response to the operation (S149). When the user clicks the stop button90d(S150), the controller application48transmits a stop instruction command to the client machine21in response to the operation (S151).

2.9. AV File Reproducing Specifying Processing

Now, referring toFIG. 13, AV file reproducing specifying processing or how the controller application48newly registers an AV file50in the user folder54and the client machine21reproduces music based on the AV file50will be described.

When the user clicks a desired sub user folder55in the user folder54in the folder tree area76shown inFIG. 6, the controller application48displays one or more AV files in the sub user folder55in the music list area77.

When the user drags a desired AV file50from the music list area77and drops it to the icon78for the client machine21to be operated (or when a client machine21is previously selected and an AV file50is selected in the music list area77), the controller application48compares the format of the AV file50with the format in the client information that can be reproduced by the client machine21to be operated and determines whether the AV file50is in the reproducible format by the client machine21(S161). If the format is reproducible, the controller application48extracts the title of the music piece, the artist, the album title, the genre and the length of the music piece from the tag information of the AV file50and produces music information as given in Table 1 (S162).

The controller application48requests the server application46to register the produced music piece information (S163). The server application46responds to the request to check whether there is music piece information that has already been registered by the same file name in the content information database49(S211). If the music piece has already been registered by the name, the server application46transmits the music piece ID of the already registered music piece information to the controller application48(S212). Meanwhile, if no music piece has been registered by the name, the server application46provides a new music piece ID and the music piece information is registered in the content information database49(S213). The server application46then transmits the music piece ID to the controller application48(S214).

The controller application48obtains the music piece ID returned from the server application46(S164) and transmits a specified music piece reproducing instruction command shown inFIG. 14to the server application46(S165). The specified music piece reproducing instruction command includes the obtained music piece ID and the list construction key.

The server application46transfers the specified music piece reproducing instruction command transmitted from the controller application48to the client machine21(S215). The client machine21responds to the specified music piece reproducing instruction command and carries out specified music piece reproducing processing shown inFIG. 15(S301).

According to the AV file reproducing specifying processing, a desired AV file50is selected in the user folder54and music piece information related to the AV file50is automatically registered in the content information database49, so that the user can register existing AV files50in the user folder54with the simple operation. The music piece information is automatically produced from the tag information of the AV file50and registered in the content information database49, and therefore the user does not have to input the title of the music piece, the artist, the album title, the genre, the length of the piece and the like. Note that in this example, the AV file50existing in the hard disk30is registered, while an AV file in an optical disk such as a CD can be registered.

2.10. Reproducing Specified Music Piece

Now, referring toFIG. 15, specified music piece reproducing processing will be described.

The client machine21responds to a specified music piece reproducing instruction command to transmit a music piece file information request command shown inFIG. 16and requests the server application46to provide prescribed information about the AV file corresponding to the music piece ID (hereinafter simply as “music piece file information”) (S311). The server application46responds to the music piece file information request command to return music piece file information shown inFIG. 17to the client machine21(S221). The music piece file information includes the data offset and the data size of the AV file50corresponding to the music piece ID. The server application46sets the starting position of the audio data as the data offset and the byte number from the starting position to the ending position as the data size. The client machine21receives the music piece file information (S312).

The client machine21then transmits a music piece reproducing preparation request command shown inFIG. 18to the server application46and requests the server application46to prepare for reproducing the specified music piece (S313). The music piece reproducing preparation request command includes the music piece ID and the list construction key. The server application46responds to the music piece reproducing preparation request command to open the AV file corresponding to the music piece ID and returns the error code shown inFIG. 19to the client machine21(S222). The server application46sets “error present” as the error code if there is no AV file50or the AV file50is not successfully opened and “no error” as the error code if the file is successfully opened. If the AV file50is successfully opened, the server application46updates the “songID” and “curKey” in the client information shown in Table 2 based on the music piece ID and the list construction key included in the music piece reproducing preparation request command.

The client machine21receives the error code and determines whether there is an error (S314). If there is no error, the client machine21transmits a reproducing status to the server application46(S315). The server application46receives the reproducing status and returns the error code in which the presence/absence of an error is set to the client machine21(S223). The client machine21receives the error code (S316).

The client machine21then transmits a music data transfer request command as shown inFIG. 20and requests the server application46to transfer music data in a specified range of the music data of the specified music piece (S318). The music data transfer request command includes the offset and the byte number. The client machine21sets the start address of the music data that should start to be transferred as the offset, and the size of the music data to be transferred by a single transfer as the byte number. The server application46responds to the music data transfer request command to return the music data in the specified range inFIG. 21to the client machine21(S224). The client machine21receives the music data and stores the data in the FIFO memory60(S319).

The client machine21determines whether or not the entire music data of the specified music piece has been received based on the data size obtained in step S312(S317). If the entire data has been received, the client machine21transmits a completion status to the server application46(S320).

When the user operates the client machine21and the client machine21finishes reproducing the specified music piece in response to the operation, or when the user operates the client machine21and the client machine21stops reproducing the music piece midway in response to the operation, the client machine21transmits a stop status. Meanwhile, when the user operates the controller and the client machine21finishes reproducing the music piece specified by the controller in response to the operation, the client machine21transmits a completion status.

As in the foregoing, according to the embodiment, the user may add the client machine21to the PC10owned by the user and install the server application46and the controller application48in the PC10, so that the user can readily build up the network audio system1without a knowledge of LAN. In the network audio system1, the client machine21can be operated by the PC10, and AV files50are distributed through the LAN18from the PC10to the client machine21, so that alert tones and the like produced by the PC10do not mix into music sound, and high-quality music can be reproduced.

Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation. The invention may be embodied in various modified forms without departing from the spirit and scope of the invention.