Karaoke equipment and karaoke programs
The karaoke device and program simplify server processing by enabling direct communication and song reservation sharing among karaoke devices, reducing the complexity of managing song playback instructions in karaoke systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-10
AI Technical Summary
Conventional karaoke mediation systems require complex processing on the mediation server to manage song reservations and playback instructions across multiple karaoke devices.
A karaoke device and program that enable song reservations, transmission of reservation information to a server, and switching between playing local songs and shared songs based on a server reservation list, reducing the server's processing load by allowing karaoke devices to communicate directly and share song reservations.
Simplifies server processing by allowing karaoke devices to manage song reservations and playback instructions independently, reducing the complexity of server operations in karaoke systems.
Smart Images

Figure 2026095237000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a karaoke device and a karaoke program.
Background Art
[0002] Conventional karaoke mediation systems include a playback terminal and a mediation server, and connect the playback terminals communicatively to enable users at remote locations to enjoy karaoke together (see, for example, Patent Document 1). The mediation server forms a group consisting of a plurality of playback terminals participating in communication processing using a web conference server. The mediation server executes connection mediation processing for notifying a web conference server of a plurality of playback terminals participating in the group, music playback instruction processing for giving a playback instruction for the music to the playback terminal that specified the music, and communication control processing for giving at least a control instruction regarding voice communication to the web conference server based on the status of the playback terminals participating in the group.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In a conventional karaoke mediation system, the mediation server identifies the karaoke device and the music ID to be played next from a reservation list and gives an instruction to the karaoke device. Therefore, the processing of the mediation server is complicated.
[0005] An object of the present invention is to provide a karaoke device and a karaoke program that contribute to simplifying the processing of a server when performing karaoke by communicatively connecting other karaoke devices using the server, as compared with the prior art.
Means for Solving the Problems
[0006] A karaoke device according to a first aspect of the present invention is a karaoke device comprising a communication unit that performs communication with a server and a processor, wherein the processor performs a reservation acceptance process for accepting song reservations, a server transmission process for transmitting reservation information indicating the song to the server when a song reservation is accepted, a start request transmission process for transmitting a start request to the server to request the start of a subscription in order to receive a server reservation list from the server, which is a list that stores the reservation information transmitted by the karaoke device to the server and the reservation information transmitted by other karaoke devices to the server, a list reception process for receiving the server reservation list from the server, and The karaoke machine is configured to perform the following: first playback process, when the reservation information shown in the server reservation list is reservation information for a song to be sung on the karaoke machine, which is the reservation information for a song to be sung on the karaoke machine; first playback process, which plays the song and transmits the singing sound from the karaoke machine to the other karaoke machine; second playback process, when the playback of the song to be sung on the karaoke machine is completed in the first playback process, which sends a deletion request to the server requesting that the reservation information for the song to be deleted from the server reservation list stored on the server; and second playback process, when the reservation information received from the server is reservation information for a song to be sung on the other karaoke machine, which plays the singing sound received from the other karaoke machine. When the karaoke machine communicates with other karaoke machines using the server to share reserved songs and perform karaoke, the karaoke machine switches between playing a song or playing the singing sound from the other karaoke machine based on the song information in the server reservation list transmitted from the server. Therefore, the server connected to the karaoke machine does not need to perform the process of determining which karaoke machine (or other karaoke machines) should play a song, or send playback instructions only to the machine that should play the song. Consequently, the karaoke machine contributes to simplifying the processing performed by the server when using a server to communicate with other karaoke machines for karaoke.
[0007] A karaoke program according to a second aspect of the present invention is a karaoke program executed by the processor of a karaoke device comprising: a storage unit that stores a device reservation list which is a list of reservation information including information that identifies songs; a communication unit that performs communication with a server; and a processor, the karaoke program comprising: a reservation acceptance process that accepts song reservations; a server transmission process that, when a song reservation is accepted, transmits reservation information indicating the song to the server; a start request transmission process that transmits a start request to the server requesting the start of a subscription in order to receive a server reservation list from the server which is a list that stores the reservation information transmitted by the karaoke device to the server and reservation information transmitted by other karaoke devices to the server; and the server reservation The karaoke program in the second embodiment is executed by the processor of the karaoke device and produces the same effect as the karaoke device in the first embodiment. [Brief explanation of the drawing]
[0008] [Figure 1] This is a diagram showing the configuration of karaoke system 2. [Figure 2] This is a functional block diagram of the karaoke system 2. [Figure 3] This is a flowchart of the server processing. [Figure 4] This is a flowchart for the survival monitoring process. [Figure 5] This is a flowchart of the mode setting process. [Figure 6] This is an explanatory diagram for menu screen G1. [Figure 7] This is an explanatory diagram of the mode setting screen G9. [Figure 8] This is an explanatory diagram for the mode setting screen F1. [Figure 9] This is a flowchart for the scheduled playback process. [Figure 10] Figure 10(A) is an explanatory diagram of the reservation screen F5, and Figure 10(B) is an explanatory diagram of the reservation screen E1. [Figure 11] This is a timing chart for a specific example. [Figure 12] This is a timing chart for a specific example. [Figure 13] This is a flowchart for processing a survival notification. [Modes for carrying out the invention]
[0009] The karaoke system 2 shown in Figure 1 is, for example, a commercial karaoke system 2 installed in a karaoke establishment. The karaoke system 2 has the function of playing karaoke songs (hereinafter simply referred to as songs) selected by the user of the karaoke system 2, along with a video that includes lyrics.
[0010] The karaoke system 2 comprises multiple karaoke devices 1 and a server 7. The karaoke devices 1 and the server 7 are connected to each other via an access point 5 and a LAN 10, forming a network. The karaoke devices 1 are connected to a network 9 via the LAN 10 and a router 6, and can send and receive data with the server 7. Each of the multiple karaoke devices 1 comprises a main unit 4 and a remote control device 3. The main unit 4 and the remote control device 3 of the karaoke device 1 are connected to each other via an access point 5 and a LAN 10, forming a network.
[0011] The karaoke device 1 is a device that plays a music piece according to reservation information received from the remote control device 3 in accordance with the music data and synchronizes it with the video including lyrics. The music data includes MIDI (Musical Instrument Digital Interface) data, lyric data, and video data.
[0012] The MIDI data is data representing the musical score of one music piece according to the MIDI standard. In the MIDI data, at least the pitch and the period during which the MIDI sound source outputs the reproduced sound are defined for each reproduced sound output from the MIDI sound source. The pitch is a so-called note number. The lyric data is data related to the lyrics of the music piece and includes the characters constituting the lyrics and the timing for outputting the characters. The video data is data representing the background video displayed in synchronization with the reproduction of the music piece.
[0013] The main body 4 of the karaoke device 1 includes a first SoC 40, a second SoC 50, a microcomputer 60, a switch 21, an effect mixing unit 12, an interface 15, an infrared communication unit 16, a wireless LAN communication unit 17, a LAN communication unit 18, an operation unit 19, and a hard disk drive (HDD) 20. The first SoC 40, the second SoC 50, and the microcomputer 60 are each a SoC (System on a Chip) having a CPU and a memory as control units. The first SoC 40, the second SoC 50, and the microcomputer 60 are each a chip integrating the functions necessary to control the karaoke device 1.
[0014] The first SoC 40 includes a first CPU 41, a first storage unit 42, and a first RAM 43. The second SoC 50 includes a second CPU 51, a second storage unit 52, and a second RAM 53. The first SoC 40, the second SoC 50, and the microcomputer 60 are each connected to the effect mixing unit 12, the infrared communication unit 16, the wireless LAN communication unit 17, the LAN communication unit 18, the operation unit 19, and the HDD 20 via the interface 15. The first SoC 40, the second SoC 50, and the microcomputer 60 can communicate with each other via the interface 15.
[0015] The first SoC 40 and the second SoC 50 of this embodiment each have a video output function. The OS (Operating System) that starts on the first SoC 40 is the first OS, and the OS that starts on the second SoC 50 is the second OS, which is different from the first OS. The first OS of this embodiment is Linux (registered trademark). Linux (registered trademark) is an OS that has been used in karaoke devices for many years, and the application programs for old karaoke devices are made to operate on the first OS. Hereinafter, the application program is simply referred to as "app".
[0016] The second OS of this embodiment is Android (registered trademark). Android is an OS for which many apps have been developed and used with the distribution of smartphones and the like. The karaoke device 1 of this embodiment switches whether to display the video on the first SoC 40 or the second SoC 50 according to the app used in order to make use of the characteristics of both OSs. When not distinguishing between the first CPU 41 and the second CPU 51, it is also referred to as the processor 11. When not distinguishing between the first storage unit 42 and the second storage unit 52, it is also referred to as the storage unit 14. The storage unit 14 stores the settings necessary for executing various processes executed by the karaoke device 1.
[0017] The switch 21 is connected to each of the first SoC 40 and the second SoC 50. The switch 21 outputs the video based on the video data output from the first SoC 40 or the second SoC 50 to the display device 22. Which of the first SoC 40 and the second SoC 50 outputs the video data to the switch 21 is switched by the first SoC 40 or the second SoC 50.
[0018] The effect mixing unit 12 mixes the music played on the first SoC 40 or the second SoC 50 and the voice input from the microphone 23 based on the MIDI data and outputs it to the speaker 24. The effect mixing unit 12 may have a function of imparting effects such as echo to the played music and voice.
[0019] The infrared communication unit 16, the wireless LAN communication unit 17, and the LAN communication unit 18 function as communication units for the karaoke device 1 and can communicate with various external components of the karaoke device 1. In this embodiment, the karaoke device 1 uses the infrared communication unit 16 to communicate with the remote control device 3 and receives reservation information from the remote control device 3. The karaoke device 1 uses the LAN communication unit 18 to make a wired connection to the LAN 10 and connect to the network 9. If the LAN 10 is unavailable, the karaoke device 1 can connect to the network 9 using the wireless LAN communication unit 17.
[0020] The operation unit 19 can accept various inputs from the user. Requests received from the operation unit 19 are used for various processes of the first SoC 40 or the second SoC 50. The HDD 20 is a non-volatile storage device that stores information downloaded from the server 7, various other information, and multiple applications that can be executed on the karaoke device 1.
[0021] The remote control device 3 receives song selections from the user and transmits reservation information specifying the selected song to the main unit 4 of the karaoke machine 1. The remote control device 3 can receive various information from the karaoke machine 1, the server 7, or the external device 8 and execute various processes. The remote control device 3 comprises a control unit 31, a storage unit 32, a wireless LAN communication unit 33, an infrared communication unit 34, an operation unit 35, an operation processing unit 36, a video RAM 37, a video control unit 38, a touch panel 39, and an image sensor 30. The control unit 31 is responsible for the various processes of the remote control device 3. The storage unit 32 stores the database required for song selection processing, various programs, and various information generated in conjunction with program execution.
[0022] The wireless LAN communication unit 33 and the infrared communication unit 34 each function as communication units for the remote control device 3 and can communicate with various external components of the remote control device 3. The wireless LAN communication unit 33 connects wirelessly to the access point 5. The remote control device 3 is pre-associated with a specific karaoke machine 1. Various commands output from the remote control device 3 are received by the associated karaoke machine 1. The remote control device 3 can transmit reservation information and other data to the karaoke machine 1 using the infrared communication unit 34.
[0023] The control unit 35 and the touch panel 39 are user interfaces that receive various instructions from the user. The touch panel 39 has a display unit and a touch screen. The touch panel 39 displays various interfaces on its display unit and can also receive touch input from the user.
[0024] The video control unit 38 forms the image to be displayed on the touch panel 39. The video RAM 37 temporarily stores the video information to be displayed on the touch panel 39. The operation processing unit 36 outputs a signal to the control unit 31 in response to input from the touch panel 39 or the operation unit 35. The image sensor 30 is a digital camera equipped with an image sensor such as a CCD or CMOS and an imaging lens. The image sensor 30 is used, for example, to photograph a two-dimensional code. The two-dimensional code may be appropriately selected from QR code (registered trademark), VeriCode, CP code, AztecCode, and PDF417, etc. In this embodiment, the two-dimensional code is a QR code.
[0025] Server 7 is a server capable of communicating with at least the karaoke machine 1. Server 7 may be provided with physical hardware. Server 7 may be implemented using a cloud service from a third party different from the vendor of the karaoke machine 1, or a combination of both. Server 7 may also be a cloud service provided by the vendor of the karaoke machine 1. Server 7 comprises a CPU 71, ROM 72, RAM 73, memory 74, communication unit 75, and input / output (I / O) interface 77. The CPU 71 is electrically connected to the ROM 72, RAM 73, memory 74, communication unit 75, and I / O interface 77 via a bus 76.
[0026] The CPU 71 controls the server 7. The ROM 72 stores the boot program and BIOS, etc. The CPU 71 stores temporary data in the RAM 73. The memory 74 is a non-volatile memory device that stores the transmission list 741 and the server reservation list 742, which are updated in response to requests sent from the karaoke machine 1.
[0027] The transmission list 741 stores information for each virtual room that identifies the karaoke machine 1 to which the server reservation list 742 is to be sent. The information that identifies the karaoke machine 1 in this embodiment is a user ID that identifies the user using the karaoke machine 1. The user ID does not have to identify the individual user using the karaoke machine 1. The user ID only needs to be able to identify the karaoke machine 1. A virtual room is a karaoke room that is created virtually. By registering their user ID in the virtual room, a user of the karaoke machine 1 can share audio and video with other users of the karaoke machine 1 registered in the virtual room via the server 7 and perform karaoke.
[0028] The server reservation list 742 registers reservation information transmitted from the karaoke machine 1 corresponding to the user ID registered in the virtual room in the order it is received. The reservation information in this embodiment includes the song ID and the user ID of the user who will sing the song indicated by the song ID. The song ID is identification information that indicates the song to be played.
[0029] The communication unit 75 is an interface for connecting the server 7 to the network 9. The CPU 71 can send and receive data to and from other devices connected to the network 9, such as the karaoke machine 1, via the communication unit 75. When the server 7 receives a start request from the karaoke machine 1, it registers the user ID of the karaoke machine 1 in the transmission list 741.
[0030] When Server 7 receives a stop request from Karaoke Machine 1, it removes the user ID of Karaoke Machine 1 from the transmission list 741. When Server 7 receives an add request from Karaoke Machine 1, it registers the reservation information sent from Karaoke Machine 1 in the server reservation list 742. When Server 7 receives a delete request from Karaoke Machine 1, it removes the reservation information sent from Karaoke Machine 1 from the server reservation list 742.
[0031] The karaoke device 1 of the karaoke system 2 receives a mode change instruction from the remote control device 3, which indicates how the karaoke device 1 is being used. The karaoke device 1 can perform the process of playing songs in both the first mode and the second mode. The first mode is a mode in which songs are played on a single karaoke device 1. In the second mode, reservation information is shared with other karaoke devices 1 registered in the virtual room via the server 7, using the server reservation list 742 transmitted from the server 7. The second mode is a mode in which songs are played according to the server reservation list 742.
[0032] As shown in Figure 2, the first CPU 41 of the karaoke device 1 functions as a performance control unit 113, a reservation / status control unit 114, a communication unit for the second mode 116, and an application control unit 117. IF 15 functions as a song reservation IF 111, an application launch IF 112, and a second mode change IF 115. The second CPU 51 functions as a request transfer unit 118, a PF communication unit 119, and a server communication unit 120. The control unit 31 of the remote control device 3 functions as the main processing unit 311. The server 7 functions as a periodic execution unit 711, a processing unit 712, and a server usage authentication unit 713.
[0033] The remote control device 3 displays the mode setting screen G9 shown in Figure 7, or the mode setting screen F1 shown in Figure 8, and inputs a command to start or stop the application to the main unit 4 of the karaoke device 1. If the application start IF 112 receives a command to start the application, the application control unit 117 starts the second mode application. The started second mode application sends a command to the second mode change IF 115 to set the mode to second mode. The second mode change IF 115 instructs the reservation / status control unit 114 to set the mode to second mode. If the application start IF 112 receives a command to stop the application, the second mode application sends a command to the second mode change IF 115 to set the mode to first mode. The second mode change IF 115 instructs the reservation / status control unit 114 to set the mode to first mode. The application control unit 117 then stops the second mode application.
[0034] This section outlines the process of playing a song in the first mode, which is executed on the karaoke machine 1. The remote control device 3 provides various information by displaying video information on the touch panel 39. The remote control device 3 receives various inputs from the user via the touch panel 39 or the operation unit 35 and transmits song reservation information to the karaoke machine 1.
[0035] When the karaoke machine 1 receives reservation information from the main processing unit 311 of the remote control device 3 via the song reservation IF 111, it registers the song reservation information specified in the received reservation information into the device reservation list 421.
[0036] When the karaoke machine 1's performance control unit 113 receives reservation information from the remote control unit 3, it retrieves the reservation information registered in the device reservation list 421 from the external device 8 or HDD 20 in the order of registration and plays it back. The performance control unit 113 mixes the music played back based on the MIDI data with the singing sound input from the microphone 23 in the effects mixing unit 12. The performance control unit 113 outputs the mixed sound from the speaker 24. Based on the lyrics data and video data, the performance control unit 113 displays the lyrics of the song and the video overlaid on the background video on the display device 22 in synchronization with the playback of the song.
[0037] This section outlines the process of playing songs in the second mode, which is executed on the karaoke machine 1. The remote control device 3 provides various information by displaying video information on the touch panel 39. The main processing unit 311 of the remote control device 3 receives various inputs from the user via the touch panel 39 or the operation unit 35 and transmits song reservation information to the karaoke machine 1.
[0038] When the reservation / status control unit 114 of the karaoke machine 1 receives reservation information from the remote control device 3 via the song reservation IF 111, it does not register the song instructed by the received reservation information in the device reservation list 421. The reservation / status control unit 114 forwards the request to the request forwarding unit 118 of the second mode application via the second mode communication unit 116. The request forwarding unit 118 transmits the request to the server 7 via the server communication unit 120. When the communication unit 75 of the server 7 receives an additional request from the karaoke machine 1, the server usage authentication unit 713 performs authentication, and the processing unit 712 adds the additional request to the server reservation list 742.
[0039] The communication unit 75 of server 7 transmits the modified server reservation list 742 to all karaoke devices 1 registered in the transmission list 741. When the server communication unit 120 of karaoke device 1 receives the server reservation list 742 transmitted from server 7, it forwards the server reservation list 742 to the second mode change IF 115 via the PF communication unit 119.
[0040] The reservation / status control unit 114 registers the reservation information for a song to be sung on the karaoke machine 1 in the device reservation list 421 if the reservation information registered in the server reservation list 742 is for a song to be sung on the karaoke machine 1. The performance control unit 113 of the karaoke machine 1 receives the song from the device reservation list 421 from the external device 8 and plays it using the song data stored in the HDD 20. The performance control unit 113 mixes the song played based on the MIDI data with the singing sound input from the microphone 23 in the effects / mixing unit 12 and outputs the sound from the speaker 24.
[0041] The performance control unit 113 transmits the mixed playback sound and vocal sound of the song to the other karaoke device 1 via the server 7 through the second mode communication unit 116, the request transfer unit 118, and the server communication unit 120. If the reservation information registered in the server reservation list 742 transmitted from the server 7 is for a playback song that will be sung on the other karaoke device 1, rather than a song to be sung, the karaoke device 1 does not register the playback song reservation information in the device reservation list 421. In this case, the karaoke device 1 plays the playback sound and vocal sound of the song that has been mixed by the other karaoke device 1 and transmitted from the other karaoke device 1 to the karaoke device 1. In other words, in the karaoke system 2 of this embodiment 1, when the mode of the karaoke device 1 is the second mode, singing is possible on only one of the multiple karaoke devices 1 registered in the virtual room.
[0042] The periodic execution unit 711 monitors whether it has received a survival notification from the karaoke device 1 registered in the transmission list 741 at predetermined intervals, indicating that it is operating normally.
[0043] Referring to Figure 3, the server processing performed on server 7 will be explained. Server 7 performs server processing when it is started. When server 7 starts, the CPU 71 of server 7 reads a program for performing server processing from memory 74. The CPU 71 performs the following steps according to the instructions contained in the program. The program contains instructions for the CPU 71 to perform the following processes. Various data obtained during the server processing are stored in a temporary area of RAM 73.
[0044] As shown in Figure 3, the CPU 71 of the server 7 determines whether or not it has received a start request sent from the karaoke machine 1 connected via the network 9 (S1). The start request is a request to start subscribing in order to receive the server reservation list 742 from the server 7. The server reservation list 742 is a list that stores reservation information sent by the karaoke machine 1 to the server 7 and reservation information sent by other karaoke machines 1 to the server 7. In this embodiment, the start request includes a user ID as information that identifies the karaoke machine 1 to subscribe to the server reservation list 742, and a room ID as information that identifies the virtual room. The start request does not have to include a user ID, and may include other information, such as the address information of the karaoke machine 1, as information that identifies the karaoke machine 1 to subscribe to the server reservation list 742.
[0045] If a start request is received (S1: YES), the CPU 71 adds the user ID of the karaoke machine 1 that sent the start request to the transmission list 741 in memory 74 (S2). Once the user ID of the karaoke machine 1 is added to the transmission list 741, registration to the virtual room is completed. This initiates a subscription process that sends the server reservation list 742 to the karaoke machine 1 that sent the start request whenever there are changes to the server reservation list 742. The CPU 71 then performs the process in S5.
[0046] If no start request has been received (S1:NO), the CPU 71 performs the process in S3. The CPU 71 determines whether or not it has received a stop request sent from the karaoke machine 1 connected via the network 9 (S3). A stop request is a request to the server 7 to stop the subscription. The stop request includes information to identify the karaoke machine 1 whose subscription is to be stopped, and information to identify the virtual room. In this embodiment, the stop request includes the room ID and user ID of the karaoke machine 1.
[0047] If a stop request is received (S3:YES), the CPU 71 removes the user ID of the karaoke machine 1 that sent the stop request from the transmission list 741 (S4). Once the user ID of karaoke machine 1 is removed from the transmission list 741, registration to the virtual room is completed. Once the user ID of karaoke machine 1 is removed from the transmission list 741, even if there are changes in the server reservation list 742, the server reservation list 742 will not be sent to the karaoke machine 1 that sent the deletion request. The CPU 71 then performs the processing in S5.
[0048] If no stop request has been received (S3:NO), the CPU 71 performs the process in S5. The CPU 71 determines whether or not it has received an additional request sent from the karaoke machine 1 connected via the network 9 (S5). The additional request is a request to register reservation information, which includes information identifying the song reserved on the karaoke machine 1, in the server reservation list 742. The additional request includes the reservation information and the user ID of the user who will sing the song indicated in the reservation information.
[0049] If an additional request is received (S5:YES), the CPU 71 determines whether the number of reservation information stored in the server reservation list 742 has reached the maximum number (S9). The maximum number can be set as appropriate, and may be set by the user of the karaoke machine 1 or set in advance by the server 7. If a usage period for the virtual room is set, the server 7 may set the maximum number according to the usage period, such as the number that fits within the usage period.
[0050] If the maximum number of reservation information has been reached (S9: YES), the CPU 71 does not store the reservation information specified in the additional request in the server reservation list 742. The CPU 71 sends a notification to the karaoke machine 1 that sent the additional request (S10). The notification in S10 indicates that the number of reservation information stored in the server reservation list 742 has reached the maximum number, and that the reservation information could not be added to the server reservation list 742 in response to the additional request. The CPU 71 returns processing to S1.
[0051] If the number of reservations has not reached the maximum number (S9:NO), the CPU 71 adds the reservation information specified in the additional request to the server reservation list 742 (S11). The CPU 71 sends the updated server reservation list 742 from S4 to all karaoke machines 1 registered in the transmission list 741 (S12). The CPU 71 returns to processing S1.
[0052] If no additional requests have been received (S5: NO), the CPU 71 performs the process in S6. The CPU 71 determines whether or not it has received a deletion request from the karaoke machine 1 connected via the network 9 (S6). A deletion request is a request to delete the reservation information specified in the deletion request from the server reservation list 742. The deletion request includes the reservation information and the user ID of the user who will sing the song indicated in the reservation information. If a deletion request has been received (S6: YES), the CPU 71 deletes the reservation information specified in the deletion request from the server reservation list 742 (S7).
[0053] The CPU 71 sends a notification to the karaoke machine 1 that sent the deletion request, indicating that the reservation information stored in the server reservation list 742 has been deleted (S8). The CPU 71 sends the updated server reservation list 742 from S7 to all karaoke machines 1 registered in the transmission list 741 (S12). If no deletion request has been received (S6:NO), or immediately after S12, the CPU 71 returns to processing S1.
[0054] Referring to Figure 4, the health monitoring process performed on server 7 will be explained. The health monitoring process is a process that monitors whether or not it has received a health notification from the karaoke device 1 registered in the transmission list 741 at predetermined intervals, indicating that it is operating normally. The health monitoring process starts when server 7 is started up.
[0055] When Server 7 starts up, the CPU 71 of Server 7 reads a program from memory 74 to perform the health monitoring process. The CPU 71 executes the following steps according to the instructions contained in the program. The program contains instructions for the CPU 71 to perform the following processes. Various data obtained during the server processing are stored in a temporary area of RAM 73.
[0056] As shown in Figure 4, the CPU 71 of the server 7 determines whether or not it has received a survival notification (S21). The survival notification is sent to the server 7 from the karaoke device 1 registered in the transmission list 741, which is connected via the network 9. The survival notification is a notification sent at a predetermined interval from the karaoke device 1 that was added to the transmission list 741 in the process of S2. The predetermined interval can be set as appropriate and stored in the memory 74, for example, 60 seconds.
[0057] If a survival notification is received (S21:YES), the CPU 71 stores the time information of the survival notification in association with the information that identifies the karaoke device 1 that sent the survival notification (S22). The information that identifies the karaoke device 1 that sent the survival notification is, for example, the user ID. The time information of the survival notification can be any information that identifies the timing of sending or receiving the survival notification. For example, the time information of the survival notification may be the time when the karaoke device 1 sent the survival notification, or the time when the server 7 received the survival notification.
[0058] If no survival notification has been received (S21:NO), or after processing S22, the CPU 71 performs the processing in S23. The CPU 71 determines whether or not there is a stopped device among the multiple karaoke devices 1 registered in the transmission list 741 (S23). A stopped device is a device that has been in operation for a predetermined time or longer since it last received a survival notification. The predetermined time is set to a value that is greater than the cycle in which survival notifications are sent, taking into consideration the cycle in which survival notifications are sent, and is stored in memory 74; for example, 180 seconds. If there is no stopped device among the multiple karaoke devices 1 registered in the transmission list 741 (S23:NO), the CPU 71 returns to processing S21.
[0059] If there is a stopped device among the multiple karaoke machines 1 registered in the transmission list 741 (S23: YES), the CPU 71 performs the process in S24. The CPU 71 removes the reservation information for the song to be sung by the stopped device among the multiple karaoke machines 1 registered in the transmission list 741 from the server reservation list 742 (S24). The CPU 71 sends the server reservation list 742 modified in S24 to all karaoke machines 1 registered in the transmission list 741 (S25). The CPU 71 removes the user ID of the stopped device from the transmission list 741 (S26). The CPU 71 returns to processing in S21.
[0060] In some cases, karaoke using the virtual room may be interrupted due to a malfunction in the karaoke machine 1 registered in the virtual room. Even in such cases, the server 7 can continue karaoke using the virtual room using only the karaoke machine 1 that is registered in the virtual room and is functioning normally, through its liveness monitoring process.
[0061] Referring to Figures 5 to 8, the mode setting process performed by the processor 11 of the karaoke machine 1 will be explained. The karaoke machine 1 starts the mode setting process when the key image G3 of the menu screen G1 shown in Figure 6 is operated. The karaoke machine 1 has the user ID of the user who will be using the karaoke machine 1 registered in it by a process that is executed separately.
[0062] As shown in Figure 6, menu screen G1 is the top screen of the remote control device 3. Menu screen G1 includes a track selection area G2, key images G3, and a sidebar G4. Track selection area G2 includes multiple key images, including key image G5. The user can input instructions to select a song by manipulating the key images displayed in track selection area G2.
[0063] Key image G5 is selected when you reserve a song by specifying the song title. Key image G3 is selected when you set the mode to either the first or second mode. Sidebar G4 displays multiple key images for entering instructions.
[0064] When the processor 11 of the karaoke device 1 detects the selection of key image G3, it reads a program for executing mode setting processing from the storage unit 14. The processor 11 executes the following steps according to the instructions contained in the program. The program includes instructions for the processor 11 to perform the following processing. Various data obtained during the mode setting processing are stored in the temporary area of the first RAM 43.
[0065] As shown in Figure 5, the processor 11 of the karaoke device 1 determines whether the current mode is the first mode (S32). The processor 11 in this embodiment determines the current mode based on whether the second mode application is running. If the second mode application is running, the processor 11 determines that the current mode is the second mode. If the second mode application is not running, the processor 11 determines that the current mode is the first mode. If the current mode is the first mode (S32: YES), the processor 11 displays the mode setting screen G9 shown in Figure 7 (S33).
[0066] As shown in Figure 7, the mode setting screen G9 includes field G6, key images G7 and G8, and a sidebar G4. Field G6 is a field for entering user information. User information includes room ID, user ID, and username. The room ID is the identification information for the virtual room. The username is the user's name or nickname.
[0067] Key image G7 is selected when the image sensor 30 is instructed to begin capturing a two-dimensional code. In the karaoke system 2, a user who uses the karaoke device 1 with the mode set to second mode can register the room ID, user ID, and user name using their mobile device. If the room ID and user ID are registered, a two-dimensional code is sent to the user's mobile device.
[0068] When key image G7 is selected, the image sensor 30 starts capturing images, and the captured images are displayed on the screen. The user adjusts the positional relationship between the remote control device 3 and the QR code so that the QR code is captured within the QR code reading range on the screen. By positioning the QR code within the QR code reading range, the remote control device 3 detects the QR code, and input to field G6 is performed using the decoded information. The processor 11 can detect the QR code, for example, by using pattern detection of identical cropped symbols placed at three of the four corners of the QR code (registered trademark) in the captured image. Key image G8 is selected when inputting an instruction to launch the second mode application.
[0069] The processor 11 determines whether or not the selection of key image G8 has been detected (S34). The process in S34 is a mode reception process that accepts a mode change instruction indicating the usage mode of the karaoke device 1, specifically an instruction to launch the second mode application and change the mode from the first mode to the second mode. If the selection of key image G8 has not been detected (S34: NO), the processor 11 returns to processing S34. If the selection of key image G8 has been detected (S34: YES), the processor 11 obtains the settings for switching the mode from the first mode to the second mode (S35).
[0070] The settings acquired in S35 define how reservation information stored in the device reservation list 421 is handled when switching modes from the first mode to the second mode, provided that reservation information is stored in the device reservation list 421. The settings acquired in S35 are selected and set from among deletion settings, transmission settings, and error settings. The deletion setting deletes the reservation information in the device reservation list 421. The transmission setting sends the reservation information in the device reservation list 421 to the server 7 and then deletes it from the device reservation list 421. The error setting displays an error and does not accept a change from the first mode to the second mode during the period in which reservation information is stored in the device reservation list 421.
[0071] The processor 11 determines whether or not reservation information is stored in the device reservation list 421 (S36). Normally, no reservation information is stored in the device reservation list 421 when the karaoke device 1 is started. Reservation information is stored in the device reservation list 421 during the reservation playback process described later (S91). If no reservation information is stored in the device reservation list 421 (S36: NO), the processor 11 starts the second mode application and executes a start request transmission process to send a start request to the server 7 (S39). A start request is sent to the server 7 when the second mode application is started and a change instruction to change the mode from the first mode to the second mode is received. In this embodiment, the start request is sent to the server 7 when the second mode application is started.
[0072] After executing the start request transmission process, the processor 11 performs a first change process to change the mode from the first mode to the second mode (S40). Specifically, the processor 11 changes the mode from the first mode to the second mode and updates the mode setting stored in the storage unit 14 (S40). The processor 11 performs the setting change from the first mode to the second mode during a period when no reservation information is stored in the device reservation list 421 (S36: NO) (S40).
[0073] The processor 11 displays the mode setting screen F1 shown in Figure 8 on the touch panel 39 screen or the display device 22. As shown in Figure 8, the mode setting screen F1 includes a field F2, a key image F3, and a side bar G4. Field F2 displays the user information used to set the second mode. The key image F3 is selected when changing the mode from the second mode to the first mode. The processor 11 performs the processing in S58.
[0074] If reservation information is stored in the device reservation list 421 (S36:YES), the processor 11 determines whether the setting obtained in S35 is a deletion setting (S37). When changing the setting from the first mode to the second mode, if reservation information is stored in the device reservation list 421 (S36:YES) and the setting obtained in S35 is a deletion setting (S37:YES), the processor 11 performs the process in S38. The processor 11 executes a deletion process to delete the reservation information stored in the device reservation list 421 (S38). The processor 11 deletes all reservation information registered in the device reservation list 421.
[0075] Processor 11 performs the processing of S39.
[0076] If the setting obtained in S35 is not a delete setting (S37: NO), the processor 11 determines whether the setting obtained in S35 is a send setting (S41). If the setting obtained in S35 is a send setting (S41: YES), the processor 11 sends a start request to the server 7, similar to the process in S39 (S42). The processor 11 changes the mode from the first mode to the second mode and updates the storage unit 14 (S43). The processor 11 displays the mode setting screen F1 shown in Figure 8 on the touch panel 39 screen or the display device 22, similar to S40.
[0077] When changing the setting from the first mode to the second mode, if reservation information is stored in the device reservation list 421 (S36: YES), the processor 11 performs the process in S44. The processor 11 performs the reservation information transmission process to send the reservation information stored in the device reservation list 421 to the server 7 (S44). The processor 11 deletes all reservation information registered in the device reservation list 421. The processor 11 performs the process in S58.
[0078] If the setting obtained in S35 is not a transmission setting (S41: NO), the processor 11 performs the process in S45. The processor 11 displays an error on the screen of the touch panel 39 of the remote control device 3 or on the display device 22 because the setting obtained in S35 is an error setting (S45). The processor 11 does not perform a setting change from the first mode to the second mode during the period in which reservation information is stored in the device reservation list 421 (S36: YES) (S45). The processor 11 displays an error message on the display device 22, for example, "The mode cannot be changed because a reservation is registered in the reservation list."
[0079] The processor 11 determines whether or not a termination instruction has been detected (S58). The processor 11 determines that a termination instruction has been detected if a key image on the sidebar G4 of the mode setting screen G9 or mode setting screen F1 is selected. If no termination instruction has been detected (S58: NO), the processor 11 returns to processing S32. If a termination instruction has been detected (S58: YES), the processor 11 terminates the mode setting process.
[0080] If the current mode is not the first mode (S32: NO), the processor 11 displays the mode setting screen F1 shown in Figure 8 (S51). The mode setting screen F1 is the same as the screen displayed in S40 or S43.
[0081] The processor 11 determines whether or not the selection of key image F3 has been detected (S52). The process in S52 is a mode reception process that terminates the second mode application and accepts a change instruction indicating the mode of use of the karaoke device 1, specifically a change instruction to change the mode from the second mode to the first mode. If the selection of key image F3 has not been detected (S52: NO), the processor 11 returns to processing S52. If the selection of key image F3 has been detected and a change instruction to terminate the second mode application and change the mode from the second mode to the first mode has been accepted (S52: YES), the processor 11 performs the process in S53. The processor 11 executes the second change process to change the mode from the second mode to the first mode (S53). The processor 11 terminates the second mode application.
[0082] The processor 11 determines whether or not to delete the reservation information for a song to be sung without registering it in the device reservation list 421 (S54). The song to be sung is the reservation information for a song to be sung on the karaoke machine 1 from the reservation information registered in the server reservation list 742. The song to be sung is the song in the reservation information associated with the user ID of the karaoke machine 1. The setting of whether or not to delete the song to be sung without registering it in the device reservation list 421 may be selected by the user and stored in the storage unit 14. The setting of whether or not to delete the song to be sung without registering it in the device reservation list 421 may also be obtained from the user via the remote control device 3 in the process of S54.
[0083] If the setting is to register the reservation information for the song to be sung in the device reservation list 421 and not delete it (S54: NO), the processor 11 performs the process in S57. The processor 11 further performs additional processing to add the reservation information for the song to be sung, which is included in the server reservation list 742 received from the server 7, to the device reservation list 421 when the setting is changed from the second mode to the first mode (S57). The processor 11 adds the song to be sung from the latest server reservation list 742 to the device reservation list 421 (S57).
[0084] If a song to be sung is to be removed from the device reservation list 421 (S54: YES), or after S57, the processor 11 performs the process in S55. After performing the second modification process in S53, the processor 11 performs a stop request transmission process to send a stop request to the server 7 requesting the termination of the subscription (S55).
[0085] When the setting is changed from the second mode to the first mode, the processor 11 performs termination processing by sending a request to the server 7 to delete the reservation information of the song to be sung (S56). The deletion request includes the user ID as information to identify the song to be sung. Upon receiving the deletion request (S6:YES), the server 7 deletes all reservation information associated with the user ID specified in the deletion request from the server reservation list 742 (S7). The processor 11 then performs the processing in S58.
[0086] Referring to Figures 9 to 12, the reserved playback process performed by karaoke machine 1 will be explained. Karaoke machine 1 starts the reserved playback process when it is started up. As a concrete example of the reserved playback process, we will use the case shown in Figures 11 and 12, where karaoke machine 1A and karaoke machine 1B each register in a virtual room and reserve and play songs. At timing T1, karaoke machine 1A sends a start request to server 7 and registers in the virtual room. Of karaoke machine 1A and karaoke machine 1B, the machine that performs the reserved playback process is also called "its own machine," and the other karaoke machine 1 is also called "the other machine." The following will explain the case where the reserved playback process is performed by karaoke machine 1A.
[0087] In the transmission list 741 in Figure 11, and in the server reservation list 742 in Figures 11 and 12, "A" indicates the user ID of karaoke machine 1A, and "B" indicates the user ID of karaoke machine 1B. In the server reservation list 742 in Figures 11 and 12, song X, song Y, and song Z each indicate the song ID. In the transmission list 741 and server reservation list 742 in Figures 11 and 12, the room ID is not shown. In the server reservation list 742 in Figures 11 and 12, the top row of the server reservation list 742 is the beginning of the server reservation list 742.
[0088] When the karaoke machine 1 is started up, the processor 11 of the karaoke machine 1 reads a program for executing the reserved playback process from the storage unit 14. The processor 11 executes the following steps according to the instructions contained in the program. The program includes instructions for the processor 11 to perform the following processes. Various data obtained during the mode setting process are stored in the temporary area of the first RAM 43 or the second RAM 53.
[0089] As shown in Figure 9, the processor 11 determines whether or not reservation information has been detected based on the signal transmitted from the remote control device 3 (S61). The remote control device 3 transmits the reservation information to the server 7 either via wireless communication using the wireless LAN communication unit 17 or via infrared communication using the infrared communication unit 16. The process in S61 is a reservation acceptance process that accepts the reservation of a song.
[0090] The user operates the remote control device 3 to select a key image G5 from the song selection area G2 of the menu screen G1 shown in Figure 6. The control unit 31 of the remote control device 3 displays the reservation screen F5 shown in Figure 10(A). The screen transition from the menu screen G1 in Figure 6 to the reservation screen F5 in Figure 10(A) is the same whether the mode is the first mode or the second mode. The control unit 31 is configured to display the same reservation screen in both the first and second modes to accept song reservations.
[0091] As shown in Figure 10(A), the reservation screen F5 includes a field F6, an input key area F7, a key image F8, and a sidebar G4. Field F6 is an input field for entering the song title. The input key area F7 displays multiple key images corresponding to the 50 Japanese syllables, which are selected when entering hiragana characters into field F6.
[0092] Key image F8 is selected when entering instructions to search for a song using the keyword entered in field F6. The user operates the key image in input key area F7, enters the keyword in field F6, and then selects key image F8.
[0093] The search results are displayed as shown in the reservation screen E1 in Figure 10(B). As shown in Figure 10(B), the reservation screen E1 includes a field E2, a key image E3, and a sidebar G4. Field E2 displays the search results, including the song ID, song title, and artist name. The key image E3 is selected when reserving the song displayed in field E2.
[0094] In the reservation acceptance process of S61, the processor 11 communicates with the remote control device 3 using a wireless communication method, receives data that does not include mode information, and accepts the reservation of a song. The processor 11 may also be configured to communicate with the remote control device 3 using an infrared communication method, receive data that does not include mode information, and accept the reservation of a song.
[0095] If no reservation information is detected from the remote control device 3 (S61: NO), the processor 11 performs the process in S90. The processor 11 determines whether the mode stored in the memory unit 14 is the second mode (S90). If the mode is not the second mode (S90: NO), the processor 11 performs the process in S93, which will be described later. If the mode is the first mode (S90: YES), the processor 11 performs the process in S66, which will be described later.
[0096] If reservation information is detected (S61: YES), the processor 11 determines whether the mode is the second mode or not (S62). If a song reservation is received during the period when the mode is the first mode (S62: NO), the processor 11 performs the process in S91. The processor 11 performs the first mode addition process, which adds the song reservation information transmitted from the remote control device 3 to the device reservation list 421 (S91). The processor 11 displays the reservation result on the screen of the touch panel 39 of the remote control device 3 or on the display device 22 (S92).
[0097] The processor 11 determines whether it is time to start playing a song based on the reservation information registered in the device reservation list 421 (S93). The timing to start playing a song is, for example, when reservation information is registered in the device reservation list 421, no other songs are being played, and a playback start instruction has been detected. If it is time to start playing a song (S93: YES), the processor 11 performs the process in S94.
[0098] When the mode is the first mode, the processor 11 performs first-mode playback processing to play the music from the reserved information stored in the device reservation list 421 (S94). Specifically, the processor 11 starts playing the music from the reserved information registered in the device reservation list 421 that is next in registration order (S94). The registration order defines the playback order of the music.
[0099] The processor 11 mixes the music played based on the MIDI data with the vocal sound input from the microphone 23 in the effects mixing unit 12 and outputs the audio from the speaker 24. Based on the lyrics data and video data, the processor 11 displays the lyrics of the music overlaid on the background video on the display device 22 in synchronization with the playback of the music. The processor 11 performs the processing of S98.
[0100] If it is not time to start playing the music (S93: NO), the processor 11 determines whether it is time to end music playback (S95). The processor 11 determines that it is time to end music playback, for example, when the playback of music according to MIDI data has finished. If it is time to end music playback (S95: YES), the processor 11 ends music playback (S96). The processor 11 removes the reservation information of the music that has finished playing from the device reservation list 421 (S97). If it is not time to end music playback (S95: NO), or after S97, the processor 11 performs the process in S98.
[0101] If the processor 11 receives a reservation for a song while the mode is in the second mode (S61:YES, S62:YES), it executes the process in S63. The processor 11 executes the server transmission process to send the reservation information to the server 7 (S63). In the specific example shown in Figure 11, the processor 11 does not add the reservation information for song X, which was reserved at timing T2, to the device reservation list 421. The processor 11 sends an add request to the server 7 requesting that the reservation information for song X be added to the server reservation list 742 (S63).
[0102] In response to the additional request, the processor 11 determines in processing S10 whether or not it has received a notification from the server 7 (S64). If a notification is received (S64: YES), the processor 11 displays the reservation result on the touch panel 39 screen or the display device 22 based on the received notification (S65). For example, the processor 11 displays a message as the reservation result on the touch panel 39 screen or the display device 22, such as "Reservations cannot be made because the maximum number of reservations has been reached."
[0103] If no notification is received (S64:NO), or after processing S65, the processor 11 performs the processing in S66. The processor 11 performs a receive process to receive the server reservation list 742 from the server 7 (S66). The server reservation list 742 stores the reservation information sent by karaoke device 1 to the server 7 and the reservation information sent by other karaoke devices 1 to the server 7. If the server reservation list 742 is not received (S66:NO), the processor 11 performs the processing in S98.
[0104] In response to sending an additional request to the server 7 at timing T2 of the specific example requesting that the reservation information for song X be added to the server reservation list 742, the processor 11 receives the server reservation list 742 sent from the server 7 at timing T3 (S66:YES).
[0105] The processor 11 determines whether the server reservation list 742 received in S66 is empty (S67). If no reservation information is registered in the server reservation list 742, it determines that the server reservation list 742 is empty. If the server reservation list 742 is empty (S67: YES), the processor 11 clears the currently playing reservation information stored in the storage unit 14 (S68).
[0106] The "Playback Reservation Information" is a state variable that indicates whether the song to be sung is currently being played or not being played on the karaoke machine 1. If reservation information for a song to be sung is set in the "Playback Reservation Information," then the "Playback Reservation Information" indicates that the song to be sung is currently being played on the karaoke machine 1. If no reservation information is set in the "Playback Reservation Information" and it is cleared, then the "Playback Reservation Information" indicates that the song to be sung is not being played on the karaoke machine 1. The process of S68, when executed after S88, is a variable setting process that changes the state variable indicating whether the song to be sung is currently being played or not being played on the karaoke machine 1 to "not being played." After the process of S68, the processor 11 performs the process of S98.
[0107] The processor 11 determines that the server reservation list 742 sent from the server 7 at timing T3 contains reservation information for song X and that the server reservation list 742 is not empty (S67: NO). In this case, the processor 11 determines whether the first reservation information among the reservation information registered in the server reservation list 742 is reservation information for a song to be sung by the karaoke machine 1A, that is, by the machine itself (S71).
[0108] The first reservation information is the reservation information with the lowest registration order among the reservation information registered in the server reservation list 742. The processor 11 determines that the reservation is for the local device if the user ID included in the first reservation information among the reservation information registered in the server reservation list 742 is a user ID registered in the local device. If the user ID included in the first reservation information is a user ID registered in the local device, it means that the song indicated by the song ID included in the first reservation information is to be sung on the local device. In the specific example, the first reservation information in the server reservation list 742 sent from the server 7 at timing T3 is the reservation information for a song to be sung (S71: YES). In this case, the processor 11 determines whether the song with the first reservation information among the reservation information registered in the server reservation list 742 is currently being played (S72). In S72, the determination is made based on whether or not reservation information is set in the currently playing reservation information. Specifically, if a song is scheduled to be played in the currently playing reservation information, it is determined that the song is currently playing. If no song is scheduled to be played in the currently playing reservation information, it is determined that the song is not currently playing.
[0109] If the song listed as the first reservation is not currently playing (S72: NO), the processor 11 performs the process in S74 if the first reservation in the server reservation list 742 is a song reservation (S71: YES). At timing T4, the processor 11 performs a second mode addition process to add the reservation information to the device reservation list 421 (S74).
[0110] Processor 11 determines whether the reservation was successful or not (S75). If the first reservation information from the reservation information registered in the server reservation list 742 is added to the device reservation list 421, processor 11 determines that the reservation was successful. If the reservation was successful (S75: YES), processor 11 sets the reservation information registered in the device reservation list 421 to the currently playing reservation information (S76). As a result of the process in S76, the currently playing reservation information indicates that a song is currently being played on the karaoke device 1. At timing T5, processor 11 starts playing the song indicated by the reservation information registered in the device reservation list 421 by the same process as in S94 (S77).
[0111] At timing T6, processor 11 starts the process of sending the singing sound to another karaoke device 1B, i.e., another device (S78). In this embodiment, processor 11 sends the playback sound of the song and the singing sound of karaoke device 1 to other karaoke device 1. More specifically, karaoke device 1 sends a sound which is a combination of the singing sound and the playback sound of the song to other karaoke device 1. As a result of this process, karaoke device 1B plays a sound which is a mix of the singing sound of karaoke device 1A and the playback sound of the song. In this embodiment, processor 11 sends the singing sound to other karaoke device 1B via server 7. Through the processing in S77 and S78, processor 11 performs a first playback process which involves playing the song and sending the singing sound of karaoke device 1 to other karaoke device 1.
[0112] If the reservation is unsuccessful (S75: NO), processor 11 performs the process in S79. Processor 11 sends a delete request to server 7 requesting that the reservation information for which the reservation was unsuccessful be removed from the server reservation list 742 (S79). After S78 or S79, processor 11 performs the process in S98.
[0113] While the song indicated by song X, which was started at timing T5, is playing, an additional request is sent from the karaoke device 1B to the server 7. The processor 11 receives the server reservation list 742 at timing T7 shown in Figure 11 and timing T8 shown in Figure 12 (S66: YES, S67: NO, S71, S72: YES). In this case, the processor 11 determines in S72 that the song with the first reservation information in the server reservation list 742 is currently playing (S72: YES).
[0114] Even if the reservation information indicated in the server reservation list 742 received from the server 7 is reservation information for a song to be played, the processor 11 does not change the device reservation list 421 while the first playback process is being executed (S72:YES). The processor 11 determines whether or not to terminate playback of the song, similar to S96 (S84). If playback of the song is not to be terminated (S84:NO), the processor 11 performs the process in S98.
[0115] If it is determined that playback of the song indicated by song X should be terminated (S84: YES), the processor 11 performs the process in S85. At timing T9, the processor 11 terminates the song playback started in the process in S77 and the vocal sound transmission started in the process in S78 (S85). The processor 11 deletes the reservation information for song X, which has been terminated, from the device reservation list 421 (S86). At timing T10, the processor 11 executes a deletion request transmission process to send a deletion request to the server 7 if the song playback has been terminated in the first playback process (S87). The deletion request is a request to delete the reservation information for the vocal song from the server reservation list 742 stored in the server 7.
[0116] Processor 11 determines whether it has received a success notification from server 7 in response to sending a deletion request to server 7 (S88). Processor 11 waits in S88 until it receives a success notification (S88:NO). If it receives a success notification (S88:YES), processor 11 performs the process in S98.
[0117] In this embodiment, the processor 11 receives a success notification from the server 7 that received the deletion request, indicating that the song to be sung has been deleted from the server reservation list 742 (S88:YES). Subsequently, the processor 11 executes the process in S82 in response to receiving the server reservation list 742 from which the song to be sung has been deleted in response to the deletion request (S66:YES). The processor 11 performs a deletion process to remove the reservation information of the song to be sung from the currently playing reservation information (S82). The process in S82, when executed after S88, is a variable setting process that changes the state variable indicating whether the song to be sung is currently being played or not being played on the karaoke device 1 to not being played.
[0118] In response to a deletion request sent from the karaoke device 1A to the server 7 at timing T10 (S87), the processor 11 receives the server reservation list 742 at timing T11 (S66: YES, S67: NO). At S71, the processor 11 determines that it is not reservation information for a song to be sung (S71: NO). In this case, at timing T12, the processor 11 deletes the reservation information for the song to be sung from the currently playing reservation information stored in the memory unit 14 (S82).
[0119] Processor 11 starts playing the sound from another karaoke device 1, which is the sound transmitted from another karaoke device 1, at timing 13 (S83). The process in S83 is the second playback process, which plays the singing sound received from the other karaoke device 1, when the mode is the second mode. The process in S83 is executed when the reservation information received from server 7 is reservation information for a song to be played, which is a song to be sung on the other karaoke device 1. As a result of the process in S83, the playback sound and singing sound of the song indicated by song Y, transmitted from karaoke device 1B, are also played on karaoke device 1A. During the period when the mode is the second mode, processor 11 executes the first playback process (S77, S78) and the second playback process (S83).
[0120] The processor 11 determines whether or not it has detected an instruction to terminate the scheduled playback process (S98). For example, the processor 11 determines that it has detected an instruction to terminate the scheduled playback process when it detects an instruction to turn off the power of the karaoke machine 1. If no instruction to terminate the scheduled playback process has been detected (S98: NO), the processor 11 returns to processing S61. If an instruction to terminate the scheduled playback process has been detected (S98: YES), the processor 11 terminates the scheduled playback process.
[0121] Referring to Figure 13, the survival notification process performed by the karaoke machine 1 will be explained. The processor 11 of the karaoke machine 1 activates the survival notification process when the mode of the karaoke machine 1 is set to the second mode. When the processor 11 detects that the mode has been set to the second mode, it reads a program for executing the survival notification process from the storage unit 14. The processor 11 executes the following steps according to the instructions contained in the program. The program includes instructions for the processor 11 to perform the following processes. Various data obtained during the survival notification process are stored in the temporary area of the first RAM 43 or the second RAM 53.
[0122] As shown in Figure 13, the processor 11 determines in the S55 process whether or not a stop request has been sent (S101). If a stop request has been sent (S101: YES), the processor 11 performs termination processing to end the liveness notification process (S102). The processor 11 then terminates the liveness notification process.
[0123] If no stop request is detected (S101:NO), the processor 11 determines whether it is time for a survival notification (S103). The survival notification time is when a predetermined time has elapsed since the transmission time of the survival notification stored in the storage unit 14 in the previous S104. The predetermined time can be set as appropriate and stored in the storage unit 14; for example, it may be 60 seconds.
[0124] If it is time to send a survival notification (S103:YES), the processor 11 sends a survival notification to the server 7 (S104). The survival notification includes the virtual room ID and user ID. The survival notification sent to the server 7 in S104 is received by the server 7 in the process of S21 in Figure 4. The processor 11 updates the transmission time of the survival notification stored in the storage unit 14. If it is not time to send a survival notification (S103:YES), or after the process of S104, the processor 11 returns to processing S101.
[0125] In the above embodiment, karaoke device 1 is an example of a karaoke device of the present invention. Remote control device 3 is an example of a reservation terminal of the present invention. Server 7 is an example of a server of the present invention. Network 9 is an example of a network of the present invention. LAN communication unit 18 is an example of a communication unit of the present invention. Processor 11 is an example of a processor of the present invention. Storage unit 14 is an example of a storage unit of the present invention. Device reservation list 421 is an example of a device reservation list of the present invention. Server reservation list 742 is an example of a server reservation list of the present invention.
[0126] The process in S61 is an example of the reservation acceptance process of the present invention. The process in S63 is an example of the server transmission process of the present invention. The process in S66 is an example of the list reception process of the present invention. The process in S94 is an example of the first mode playback process of the present invention. The processes in S77 and S78 are examples of the first playback process of the present invention. The process in S87 is an example of the deletion request transmission process of the present invention. The process in S83 is an example of the second playback process of the present invention. The process in S74 is an example of the addition process of the present invention. The processes in S68 and S82 are examples of the variable setting process of the present invention.
[0127] The processing in S34 and S52 is an example of the mode acceptance processing of the present invention. The processing in S40 is an example of the first modification processing of the present invention. The processing in S39 is an example of the start request transmission processing of the present invention. The processing in S40 is an example of the first modification processing of the present invention. The processing in S91 is an example of the first mode addition processing of the present invention. The processing in S94 is an example of the first mode regeneration processing of the present invention. The processing in S53 is an example of the second modification processing of the present invention. The processing in S55 is an example of the stop request transmission processing of the present invention. The processing in S56 is an example of the termination request transmission processing of the present invention.
[0128] The karaoke device 1 of the above embodiment includes a LAN communication unit 18 that performs communication with a server 7 and a processor 11. The processor 11 performs a reservation acceptance process to accept song reservations (S61). If the processor 11 accepts a song reservation (S61:YES), it performs a server transmission process to send reservation information indicating the song to the server 7 (S63). The processor 11 performs a start request transmission process to send a start request to the server 7 to request the start of a subscription in order to receive the server reservation list 742 from the server 7 (S39).
[0129] The server reservation list 742 is a list that stores reservation information sent by karaoke machine 1 to server 7 and reservation information sent by other karaoke machines 1 to server 7. Processor 11 performs a list reception process to receive the server reservation list 742 from server 7 (S66). If the reservation information indicated in the server reservation list 742 received from server 7 is reservation information for a song to be sung by karaoke machine 1 (S71: YES), Processor 11 performs a first playback process to play the song and send the singing sound from karaoke machine 1 to other karaoke machines 1 (S77, S78).
[0130] If the playback of the song to be sung in the first playback process is completed, the processor 11 performs a deletion request transmission process to send a deletion request to the server 7 requesting that the reservation information of the song to be sung be deleted from the server reservation list 742 stored in the server 7 (S87). If the reservation information received from the server 7 is reservation information of a song to be sung on another karaoke machine 1 (S71: NO), the processor 11 performs a second playback process to play the singing sound received from the other karaoke machine 1 (S83).
[0131] When karaoke device 1 communicates with other karaoke devices 1 using server 7 to share reserved songs and perform karaoke, karaoke device 1 switches between playing its own song or playing the vocals of the other karaoke device 1 based on the reservation information in the server reservation list 742 transmitted from server 7. Therefore, server 7, which is connected to karaoke device 1, does not need to perform the process of determining which of karaoke device 1 or the other karaoke device 1 should play the song, or the process of sending playback instructions only to the device that should play the song. Thus, karaoke device 1 contributes to simplifying the processing performed by server 7 when performing karaoke by communicating with other karaoke devices 1 using server 7.
[0132] Karaoke device 1 includes a storage unit 14 that stores a device reservation list 421, which is a list of reserved song information. If the reservation information indicated in the server reservation list 742 received from server 7 is reservation information for a song to be sung (S71: YES), processor 11 performs an additional process to add the reservation information for the song to be sung to the device reservation list 421 (S74). In the first playback process, processor 11 plays the song to be sung based on the device reservation list 421 and transmits the singing sound of karaoke device 1 to other karaoke devices 1 (S77, S78). Karaoke device 1 contributes to the execution of the first playback process with the simple process of playing the song to be sung stored in the device reservation list 421.
[0133] After the processor 11 receives a success notification from the server 7 that received the deletion request, indicating that the song has been deleted from the server reservation list 742 (S88:YES), and in response to receiving the server reservation list 742 from which the song has been deleted in accordance with the deletion request (S66:YES), the processor 11 executes a variable setting process to change the state variable indicating whether the song is currently being played or not being played on the karaoke device 1 to "not being played" (S82, S68). If the karaoke device 1 deletes the song from the device reservation list 421 after sending the deletion request but before receiving the server reservation list 742 from which the song has been deleted, and if it receives a server reservation list 742 from which the song has not been deleted between the time of the deletion request and the time it receives the server reservation list 742 from which the song has been deleted, the song that is the target of the deletion request will be stored in the device reservation list 421 again. In contrast, the karaoke device 1 contributes to avoiding unintentionally adding the song back to the device reservation list 421 through a relatively simple process.
[0134] In the additional processing of S74, if the first reservation information in the server reservation list 742 received from the server 7 is reservation information for a song to be sung (S71: YES), the processor 11 adds the reservation information for the song to be sung to the device reservation list 421. The additional processing of the karaoke device 1 contributes to making the process of adding songs to the device reservation list 421 relatively simple.
[0135] Even if the reservation information indicated in the server reservation list 742 received from the server 7 is reservation information for a song to be sung, the processor 11 does not change the device reservation list 421 if the status variable indicates that playback is in progress (S72: YES). The karaoke device 1 contributes to reliably avoiding problems that may occur due to changing the device reservation list 421 during the first playback process.
[0136] Karaoke device 1 includes a storage unit 14 that stores a device reservation list 421, which is a list of reserved song information. Processor 11 performs mode reception processing to receive a mode change instruction indicating the usage pattern of karaoke device 1 (S34, S52). If processor 11 receives a change instruction to change the mode from the first mode to the second mode (S34: YES), it executes a start request transmission process (S39). After executing the start request transmission process (S39), processor 11 performs a first change processing to change the mode from the first mode to the second mode (S40). If a song reservation is received during the period when the mode is the first mode (S61: YES, S62: NO), processor 11 executes a first mode addition process to add the song reservation information to the device reservation list 421 (S91). If the mode is the first mode, processor 11 executes a first mode playback process to play the song from the reserved information stored in the device reservation list 421 (S94). If the processor 11 receives a song reservation during the period when the mode is in the second mode (S61:YES, S62:YES), it executes the server transmission process (S63). During the period when the mode is in the second mode, the processor 11 executes the first playback process (S77, S78) and the second playback process (S83). Even if the reservation information indicated in the server reservation list 742 received from the server 7 is reservation information for a song to be sung, the processor 11 does not change the device reservation list 421 if the state variable indicates that playback is in progress (S72:YES). The karaoke device 1 contributes to playing songs in both the first mode and the second mode. When changing the setting from the second mode to the first mode, the karaoke device 1 contributes to appropriately performing the subscription start process.
[0137] If processor 11 receives a change instruction to change the mode from the second mode to the first mode (S52:YES), it performs a second change process to change the mode from the second mode to the first mode (S53). After executing the second change process (S53), processor 11 performs a stop request transmission process to send a stop request to server 7 requesting the termination of the subscription (S55). After executing the stop request transmission process, processor 11 performs a termination request transmission process to send a delete request to server 7 requesting the deletion of the reservation information of the song to be sung stored in the server reservation list 742 (S56). Karaoke device 1 contributes to playing songs in both the first mode and the second mode. When changing the setting from the second mode to the first mode, karaoke device 1 contributes to properly performing the subscription termination process.
[0138] In the first playback process, processor 11 plays the song and transmits the playback sound of the song and the singing sound from karaoke device 1 to other karaoke device 1 (S77, S78). Karaoke device 1 contributes to the reproduction of the sound played by karaoke device 1 on other karaoke devices 1 with a simple configuration by playing the singing sound and the playback sound of the song on other karaoke devices 1.
[0139] The karaoke apparatus and karaoke program of the present invention are not limited to the embodiments described above, and various modifications may be made without departing from the spirit of the invention. For example, the following modifications may be made as appropriate. The present invention may be realized in the form of a karaoke system comprising a plurality of karaoke apparatuses and a server, a control method for the karaoke apparatuses, a server program, and a control method for the server.
[0140] The karaoke system is not limited to karaoke system 1. The karaoke system may be implemented using various information processing devices such as remote control device 3, a smartphone owned by the user, a personal computer installed in the home, and a game console. The number of SoCs and the type of OS that karaoke system 1 has may be changed as appropriate.
[0141] The karaoke machine 1 may omit at least one of the following peripheral devices: the wireless LAN communication unit 17, the remote control device 3, the display device 22, the microphone 23, and the speaker 24. The karaoke machine 1 may also be connected to input devices such as a keyboard, mouse, and joystick via wired or wireless connection instead of the remote control device 3. The remote control device 3 does not have to communicate using a wireless communication method, and may be a reservation terminal that does not have a display and is only capable of infrared communication.
[0142] The program containing instructions for executing the processes shown in Figures 5, 9, and 13 only needs to be stored in the storage unit of the karaoke machine 1 before the processor of the karaoke machine 1 executes the corresponding program. Therefore, the method of acquiring the program, the acquisition path, and the device for storing the program can each be changed as appropriate. The program executed by the karaoke machine 1 may be received from other devices via cable or wireless communication and stored in a storage device such as a memory unit. Other devices include, for example, a PC and a server connected via a network.
[0143] The steps of mode setting, reserved playback, and survival notification are not limited to being performed by processor 11, but may be partially or entirely performed by other electronic devices (e.g., ASICs). Each step may be distributed among multiple electronic devices (e.g., multiple CPUs) or performed by a single electronic device. The order of each step can be changed, steps omitted, and additions made as needed.
[0144] The karaoke device 1 does not need to store a device reservation list 421, which is a list of song reservation information. If the reservation information indicated in the server reservation list 742 received from the server 7 is reservation information for a song to be sung (S71: YES), the processor 11 may omit additional processing and play the song at a time when it is playable. The processor 11 may also omit the processing of receiving a success notification from the server 7 that received the deletion request and the variable setting processing.
[0145] The processor 11 may display different reservation screens depending on whether the mode is the first mode or the second mode during the reservation acceptance process in S61. The processor 11 may also have different screen transitions depending on whether the mode is the first mode or the second mode, from the menu screen G1 in Figure 6 to the reservation screen F5 in Figure 10(A).
[0146] In the additional processing of S74, processor 11 may add the reservation information for a song to be sung to the device reservation list 421 if the earliest reservation information in the server reservation list 742 received from server 7 is the reservation information for a song to be sung (S71: YES). Processor 11 may also modify the device reservation list 421 if the reservation information indicated in the server reservation list 742 received from server 7 is the reservation information for a song to be sung. Processor 11 may omit the mode reception processing that accepts instructions to change the mode indicating the usage pattern of the karaoke device 1 (S34, S52). The mode reception processing may be modified as appropriate, and if there is only one virtual room or if server 7 manages the correspondence between user IDs and room IDs, it is not necessary to include the room ID in the start request and stop request. Processor 11 may receive a subscription to the server reservation list 742 and send the song reservation information to the server reservation list 742, regardless of whether the mode is the first mode or the second mode.
[0147] In processing S66, processor 11 may receive only song reservation information from server 7 instead of server reservation list 742. Processor 11 may omit processing S71 and proceed with processing S72 to S79. Processor 11 may receive only the first reservation information from server 7 among the reservation information registered in server reservation list 742. In this case, if the received reservation information is song reservation information (S71:YES), processor 11 may add the reservation information to device reservation list 421 (S74).
[0148] The processor 11 may perform a setting change from the first mode to the second mode in the mode acceptance process during the period in which reservation information is stored in the device reservation list 421 (S40). The processing when reservation information is stored in the device reservation list 421 during a setting change from the first mode to the second mode (S36:YES) may be modified as appropriate. The processing when reservation information is stored in the device reservation list 421 (S36:YES) may be selectable by the user. The processing when reservation information is stored in the device reservation list 421 (S36:YES) may be a pre-configured process such as S38 and S45.
[0149] In the S38 process, the processor 11 may delete all reservation information registered in the device reservation list 421 except for the reservation information of the first song or the reservation information of the song currently being played. Alternatively, the user may be able to select which song's reservation information to delete from the reservation information registered in the device reservation list 421. The status variable may be changed as appropriate; for example, it may be a flag that indicates "1" when a song is being played on the karaoke machine and "0" when a song is not being played. If reservation information is stored in the device reservation list 421 (S36: YES), the processor 11 may perform a process to stop the playback of the song. In the S44 process, the processor 11 may send only the reservation information of the first song or the reservation information of the song currently being played from the reservation information registered in the device reservation list 421 to the server 7.
[0150] Processor 11 may omit the processing in S54 and execute pre-configured processes such as S55 and S57. Processes S56 and S57 may also be omitted. Processor 11 may, in processing S78, send only the singing sound to the other karaoke device 1 and not send the playback sound. In this case, karaoke system 2 may synchronize the playback of song data between karaoke device 1 and the other karaoke device 1. Processor 11 may also enable singing on its own device when playing a song. The singing sound from its own device at this time may or may not be sent to the other device.
[0151] Karaoke device 1 registered in the virtual room may always send and receive at least one of audio information and video information. In this case, when the mode is in the second mode, karaoke device 1 does not have to initiate the process of sending audio information, including singing sounds, to other karaoke device 1 as a trigger when playback of a song starts on karaoke device 1. Similarly, processor 11 does not have to initiate the process of starting playback of other devices' sounds in S83 as a trigger (S71:NO) when the first reservation information in the server reservation list 742 is reservation information for a song to be played. In other words, regardless of whether karaoke device 1 is playing a song or whether other karaoke device 1 is playing a song, karaoke device 1 registered in the virtual room may always send and receive at least one of audio information and video information.
[0152] The start request and stop request only need to include information that can identify the karaoke device 1 that receives the server reservation list 742, and do not need to include, for example, the user ID.
[0153] The maximum number of items in the server reservation list 742 may be 1. In this case, if an empty server reservation list 742 is received (S66:YES, S67:YES), the processor 11 may display a message prompting a reservation on the touch panel 39 screen or display device 22 of the remote control device 3. If the processor 11 receives a notification (S64:YES), it may resend the additional request sent in S63 to the server 7 at a predetermined timing. The predetermined timing is, for example, after a predetermined time has elapsed since receiving the notification, and when an empty server reservation list 742 is received.
[0154] The server reservation list 742 may not include song IDs, but may only include user IDs that identify karaoke device 1. In this case, karaoke device 1 may register the song IDs of the reserved songs in the device reservation list 421. When karaoke device 1 receives the server reservation list 742 from server 7 and determines that the user ID at the beginning of the server reservation list 742 is the user ID associated with its own device, it may play the song with the first song ID among the song IDs registered in the device reservation list 421.
[0155] When server 7 receives a start request, the user ID of karaoke machine 1 is added to the transmission list 741, registration to the virtual room is completed, and the subscription process for server reservation list 742 is started. However, registration to the virtual room may also be performed when server 7 receives a request other than the start request. In this case, the user may choose to request registration to the virtual room or to request both registration to the virtual room and a subscription start request. For example, on the startup screen of the second mode application, a first button to start the first version which requests registration to the virtual room and a second button to start the second version which requests both registration to the virtual room and a subscription start request may be displayed separately. The selection between the first and second versions is not limited to the example described above. For example, separate startup screens may be provided for the first and second versions.
[0156] When Server 7 receives a registration request for a virtual room, it registers the user ID in association with the room ID of the virtual room. Upon completion of this registration, the transmission and reception of at least one of the audio and video signals may begin between the karaoke machines 1 corresponding to the user ID registered in the virtual room. The transmission and reception of at least one of the audio and video signals may be triggered by registration to the virtual room, rather than by the start and end of music playback on any of the karaoke machines 1 corresponding to the user ID registered in the virtual room.
[0157] When Server 7 receives a subscription request, it creates a server reservation list 742 and a transmission list 741 corresponding to the room ID. If there is a change in the server reservation list 742, Server 7 sends the server reservation list 742 to the karaoke machine 1 registered in the transmission list 741. In this case as well, the transmission and reception of at least one of the audio and video may be triggered by registration to the virtual room, rather than by the start and end of song playback on any of the karaoke machines 1 corresponding to the user ID registered in the virtual room.
[0158] The above modifications may be combined as appropriate, provided they are not contradictory. In addition to the combinations exemplified in the claims, the applicant intends to obtain patent rights for embodiments that combine each other in a manner that does not depart from the spirit of the present invention and is not contradictory. [Explanation of Symbols]
[0159] 1, 1A, 1B: Karaoke machine, 7: Server, 9: Network, 11: Processor, 14: Memory unit, 18: LAN communication unit, 22: Display device, 41: First CPU, 42: First memory unit, 51: Second CPU, 52: Second memory unit, 421: Device reservation list, 742: Server reservation list
Claims
1. It is a karaoke machine, A communication unit that performs communication with the server, Processor and Equipped with, The aforementioned processor, The reservation process for accepting song reservations, When a reservation for the aforementioned song is accepted, the server sends reservation information indicating the aforementioned song to the server; A start request transmission process that sends a start request to the server requesting the start of a subscription in order to receive a server reservation list from the server, which is a list that stores the reservation information transmitted by the karaoke device to the server and the reservation information transmitted by other karaoke devices to the server. A list receiving process that receives the server reservation list from the server, If the reservation information shown in the server reservation list received from the server is reservation information for a song to be sung on the karaoke machine, a first playback process is performed to play the song and transmit the singing sound from the karaoke machine to the other karaoke machine. When playback of the song is completed in the first playback process, a deletion request transmission process is performed to send a deletion request to the server requesting that the reservation information of the song be removed from the server reservation list stored in the server. If the reservation information received from the server is reservation information for a song to be sung on the other karaoke machine, a second playback process is performed to play the singing sound received from the other karaoke machine. A karaoke device characterized by being configured to perform the following.
2. It further includes a memory unit that stores a device reservation list, which is a list of song reservation information. The aforementioned processor, If the reservation information shown in the server reservation list received from the server is the reservation information for the song to be sung, an additional process is performed to add the reservation information for the song to the device reservation list. The karaoke device according to claim 1, characterized in that, in the first playback process, the karaoke device plays the song based on the device reservation list and transmits the singing sound of the karaoke device to the other karaoke device.
3. The aforementioned processor, The karaoke device according to claim 2, characterized in that, after receiving a success notification from the server that received the deletion request indicating that the song has been deleted from the server reservation list, the karaoke device is further configured to perform a variable setting process to change a state variable indicating whether the song is currently being played or not being played on the karaoke device to "not being played" in response to receiving the server reservation list from which the song has been deleted in response to the deletion request.
4. The aforementioned processor, The karaoke device according to claim 2 or 3, characterized in that, in the additional processing, if the reservation information at the beginning of the server reservation list received from the server is the reservation information for the song to be sung, the reservation information for the song to be sung is added to the device reservation list.
5. The aforementioned processor, The karaoke device according to claim 3, characterized in that even if the reservation information shown in the server reservation list received from the server is reservation information for the song to be sung, the device reservation list is not changed if the state variable indicates that playback is in progress.
6. It further includes a memory unit that stores a device reservation list, which is a list of song reservation information. The aforementioned processor, A mode reception process that receives a mode change instruction indicating the usage mode of the karaoke device, When a change instruction is received to change the mode from the first mode to the second mode, the start request transmission process is executed. After executing the start request transmission process, a first change process is performed to change the mode from the first mode to the second mode, If a reservation for the song is accepted during the period in which the mode is the first mode, the first mode addition process is performed to add the reservation information for the song to the device reservation list. When the mode is the first mode, a first mode playback process is performed to play the music from the reserved information stored in the device reservation list, Configured to perform further, If a reservation for the song is received during the period when the mode is in the second mode, the server transmission process is executed. The karaoke device according to claim 1, characterized in that it is configured to perform the first playback process and the second playback process during the period when the mode is the second mode.
7. The aforementioned processor, When a change instruction is received to change the mode from the second mode to the first mode, a second change process is performed to change the mode from the second mode to the first mode, After executing the second modification process, a termination request transmission process is performed to send a termination request to the server requesting the termination of the subscription. After executing the stop request transmission process, a termination request transmission process is performed, which sends a deletion request to the server requesting the deletion of the reservation information for the song stored in the server reservation list. The karaoke device according to claim 6, characterized in that it is configured to perform the following.
8. The aforementioned processor, The karaoke device according to claim 1 or 2, characterized in that the first playback process plays the song, and transmits the playback sound of the song and the singing sound of the karaoke device to the other karaoke device.
9. A karaoke program executed by the processor of a karaoke device comprising a storage unit that stores a device reservation list which is a list of reservation information including information that identifies songs, a communication unit that performs communication with a server, and a processor, The reservation process for accepting song reservations, When a reservation for the aforementioned song is accepted, the server sends reservation information indicating the aforementioned song to the server; A start request transmission process that sends a start request to the server requesting the start of a subscription in order to receive a server reservation list from the server, which is a list that stores the reservation information transmitted by the karaoke device to the server and the reservation information transmitted by other karaoke devices to the server. A list receiving process that receives the server reservation list from the server, If the reservation information shown in the server reservation list received from the server is reservation information for a song to be sung on the karaoke machine, a first playback process is performed to play the song and transmit the singing sound from the karaoke machine to the other karaoke machine. When playback of the song is completed in the first playback process, a deletion request transmission process is performed to send a deletion request to the server requesting that the reservation information of the song be removed from the server reservation list stored in the server. If the reservation information received from the server is reservation information for a song to be sung on the other karaoke machine, a second playback process is performed to play the singing sound received from the other karaoke machine. A karaoke program characterized by including instructions for executing a command.