1. Field of the Invention
The present invention relates to a tone-generation timing synchronization method for an online real-time session conducted between electronic music devices via a communication network in a synchronized manner. The present invention also relates to an electronic music device with an interface connectible to a communication network and an ability of conducting an online real-time session with its partner device in synchronism with predetermined tone-generation timings.
The present application claims priority on Japanese Patent Application No. 2010-293529 filed Dec. 28, 2010, the content of which is incorporated herein by reference.
2. Description of the Related Art
Electronic music devices with an ability of conducting online real-time sessions with partner devices have been conventionally known and commercially available worldwide. Non-Patent Document 1 discloses a typical electronic music device with is able to conduct an online real-time session with its partner device. This electronic music device, namely “TENORI-ON”, includes performance operators having LEDs that are manually operated to input music information, so that users are able to visually recognize performance operators operated by themselves. Additionally, this electronic music device is able to conduct music performance with its counterpart electronic music device connected thereto via a MIDI cable (where MIDI stands for “Musical Instrument Digital Interface”). In Particular, Non-Patent Document 1 (see pages 7-8) refers to synchronized performance conducted between TENORI-ON instruments according to the MIDI standard in a master-slave manner. Among two electronic music devices connected together via a MIDI cable, one electronic music device serving as a master sends a start command and a MIDI clock signal to the other electronic music device serving as a slave, thus implementing perfectly synchronized performances therebetween.
Apple Computer Incorporated has launched “Game Center” (see Non-Patent Document 2) which is social gaming software providing multiplayer games with an auto-match function for finding game partners around the world. This allows game players to simultaneously perform online games in a synchronized manner but does not necessarily provide online real-time session functionality.
The foregoing electronic music device needs to be directly connected to its counterpart electronic music device via a MIDI cable; hence, it is impossible to conduct synchronized music performance between electronic music devices, located in remote places, which cannot be directly connected via a MIDI cable.
Another system is developed to achieve synchronized performance among a plurality of electronic music devices via a communication network such as the Internet, whereas these electronic music devices need to be synchronized with each other in terms of performance start timings.
Patent Document 1 discloses a performance timing synchronization method in which a master device sends a “ping” command, representing a delay time confirmation signal, to a slave device, and then the slave device sends back its response to the master device, thus calculating a half of a reciprocating time of communication as a communication delay time t1. Herein, a reference time as the performance start timing is set to five seconds counted from the present time, for example, so that the master device sends a performance start signal to the slave device at (5−t1×2) seconds after the present time.
In this method, however, a communication delay time may frequently vary between the time of sending a performance start signal and the time of sending or receiving a “ping” command (which is used for calculating the communication delay time t1). This cause a time deviation between the actual performance start timing and the predetermined performance start timing.
It is an object of the present invention to provide a tone-generation timing synchronization method securing high-precision performance start timing in an online real-time session conducted between electronic music devices.
It is another object of the present invention to provide an electronic music device installing an online real-time session control program that allows users to enjoy an online real-time session with its partner device via a communication network.
A first aspect of the present invention refers to a tone-generation timing synchronization method adapted to a plurality of electronic music devices each including an interface connectible to a communication network. The tone-generation timing synchronization method includes the steps of: making, by a first electronic music device, an inquiry about a present time Tb of a second electronic music device at a time Ta1 which is counted by the first electronic music device; sending back, by the second electronic music device, the present time Tb to the first electronic music device, wherein the present time Tb indicates the time when the second electronic music device receives or responses to the inquiry made by the first electronic music device; measuring, by the first electronic music device, a time Ta2 of receiving the present time Tb of the second music device; setting, by the first electronic music device, a time Ta3 which progresses from the time Ta2; further setting, by the first electronic music device, a time interval Td which is counted from the time Ta3; and determining tone-generation timing, shared between the first electronic music device and the second electronic music device, at which the first electronic music device is synchronized with the second electronic music device in conducting an online real-time session therebetween by way of a calculation of Td+Tb+(Ta3−Ta1)−(Ta2−Ta1)/2, or Td+Tb+(Ta3−Ta2)+(Ta2−Ta1)/2.
A second aspect of the present invention refers to an electronic music device including an interface that establishes a connection with a counterpart electronic music device, and a controller that conducts an online real-time session with the counterpart electronic music device. The controller carries out the foregoing steps of the tone-generation timing synchronization method.
The present invention is characterized by limiting a factor determining the tone-generation timing involving a communication delay to a one-way delay time (Ta2−Ta1)/2 which is the middle time between Ta1 for sending an inquiry about the present time Tb and Ta2 for receiving a response regarding the present time Tb, thus defining the reference time for setting the tone-generation timing as Tb=Ta1+(Ta2−Ta1)/2, which is shared between electronic music devices conducting an online real-time session therebetween. This establishes precise matching of the tone-generation timing between electronic music devices even when a communication delay time for setting the tone-generation timing differs from a communication delay time which occurs when measuring the one-way delay time.
Additionally, the “inviter” electronic music device, which sends an invitation to the “invitee” electronic music device, can arbitrarily set the time Ta3 and the time interval Td for determining the actual tone-generating at Td+Tb+(Ta3−Ta1)−(Ta2−Ta1)/2, or Td+Tb+(Ta3−Ta2)+(Ta2−Ta1)/2. This brings flexibility in synchronizing the tone-generation timing shared between these electronic music devices; hence, the present invention is advantageous in that the tone-generation timing can be accurately and flexibly established between electronic music devices conducting an online real-time session in real time without considering communication delays which may fluctuate due to communication lines over time.
These and other objects, aspects, and embodiments of the present invention will be described in more detail with reference to the following drawings.
The present invention will be described in further detail by way of examples with reference to the accompanying drawings.
The electronic music device 100 (e.g. 100a) includes constituent elements 1 through 13. Setting operators 1 are switches for inputting various pieces of information. A touch panel display 2 includes a plurality of performance operators and displays a plurality of operators and various pieces of information, which are controlled by users touching desires ones selected from among various music parameters and various operation modes. When a user touches a desired operator or desired information on the screen, the touch panel display 2 selectively sets its performance state, music parameter, and operation mode. A detection circuit 3 detects the operated states of the setting operators 1. Another detection circuit 4 detects user's touch operations made on the screen of the touch panel display 2. A display circuit 5 displays GUIs (graphical user interfaces) on the screen of the touch panel display 2, wherein GUIs allow users to selectively set various states and information regarding music performance such as performance states, music parameters, and operation modes. A CPU 6 controls and manages the processing of the electronic music device 100. A ROM 7 stores various control programs and table data executed by the CPU 6. A RAM 8 temporarily stores performance information, input information, and calculation results. A storage unit 9 stores various application programs (e.g. control programs), music data, and other data. A communication interface 10 conducts transmission/reception of various data with other electronic music devices 100b to 100d and/or a session partner selecting server 200 via a communication network 300. A sound source/effect circuit 11 converts performance information into music signals and applies various effects to music signals. There are provided two types of performance information, i.e. input performance information that is input by a user operating performance operators, and reproduced performance information that is reproduced based on music data stored in the storage unit 9. A sound system 12 produces sounds based on music signals from the sound source/effect circuit 11. For instance, the sound system 12 is configured of a digital-to-analog converter (DAC), an amplifier, and a speaker.
All the constituent elements 1 through 11 are connected together via a bus 13; the communication interface 10 is connected to a communication network 300; and the sound source/effect circuit 11 is connected to the sound system 12.
The storage unit 9 is configured of storage media and its driver. As storage media, it is possible to employ a flexible disk (FD), a hard disk (HD), a CD-ROM, a DVD, a magneto-optic disk (MO), and a semiconductor memory. The storage media can be detachably attached to the driver, or the storage unit 9 can be detachably attached to the electronic music device 100. Alternatively, it is possible to firmly incorporate both the storage media and the storage unit 9 so that they cannot be separated from the electronic music device 100. The storage unit 9 (or its storage media) is able to store control programs executed by the CPU 6. In other words, it is possible to store control programs in the storage unit 9 instead of the ROM 7 so that control programs are loaded into the RAM 8. In this case, the CPU 6 executes its processing based on control programs loaded into the RAM 8 in a similar manner that the CPU 6 executes its processing based on control programs preinstalled in the ROM 7. This allows users or manufacturers to easily add new control programs or easily upgrade to latest versions of control programs.
As the communication interface 10, it is possible to name a music-specified wired interface specified for transmission/reception of music signals such as MIDI signals, a general-purpose short-distance wired interface such as USB (Universal Serial Bus) and IEEE1394, a general-purpose network interface such as Ethernet (a registered trademark), and a general-purpose short-distance wireless interface such as a wireless LAN (Local Area Network) and Bluetooth (a registered trademark), and a communication interface applied to a digital telephone network. The present embodiment employs a general-purpose network interface as the communication interface 10 and Ethernet as the communication network 300; hence, the present embodiment is designed to communicate with other electronic music devices 100b to 100d or the session partner selecting server 200 at remote places.
The present embodiment realizes the functionality of the electronic music device 100 by use of a general-purpose slate PC (equipped with a touch panel) or a smart phone. Of course, the electronic music device 100 may be configured of hardware with a non-touch-panel LCD (Liquid Crystal Display) and physical performance operators having LEDs.
In the present embodiment, the other electronic music devices 100b to 100d perform the same processing as the electronic music device 100 (e.g. 100a); hence, all the electronic music devices 100a to 100d have the same hardware configuration shown in
The session partner selecting server 200 is a general-purpose computer acting as a server. Specifically, the session partner selecting server 200 can be configured using the electronic music device 100, precluding the setting operators 1, the touch panel display 2, the detection circuits 3, 4, and the display circuit 5 from the hardware configuration of
In the present embodiment, the session partner selecting server 200 is designed as a single unit of equipment; but this is not a restriction. It is possible to adopt a decentralized computing structure or a cloud-computing structure.
As the performance operators/indicators, the first display area 2a1 displays totally 256 circular buttons in a matrix form (consisting of 16×16 columns/rows). Different pitches (specified by numbers “01” to “16”) are aligned on the vertical axis (or Y-axis) in ascending/descending order in which larger numbers represent higher pitches, while different times (specified by numbers “01” to “16”) are aligned on the horizontal axis (or X-axis) in forward/backward order in which higher numbers represent time progression. In actuality, the numbers “01” to “16” are not shown on the screen of the touch panel display 2 since they are used for simplifying the following description. Additionally, circular buttons resemble physical operators, i.e. LED buttons (which may configure performance operators/indicators); hereinafter, circular buttons are referred to as LED buttons. For instance, each of “01” to “16” on the horizontal axis represents an eighth note so that one screen image may represent two measures of music performance.
The LED buttons can be displayed in different manners using different colors or different brightness. In the illustration of
The electronic music device 100 involves six performance modes (indicating different operations of LED buttons and different types of sound/light emitted from LED buttons), namely a score mode (SCORE), a random mode (RANDOM), a draw mode (DRAW), a bounce mode (BOUNCE), a push mode (PUSH), and a solo mode (SOLO).
(A) Score Mode
The score mode is a basic mode among six performance modes, which allows a user of the electronic music device 100 to designate tone-generation points with LED buttons such a way that notes are written on a score. After completion of setting tone-generation points with LED buttons, the score mode allows a loop indicator to move from the left to the right in a loop manner, thus repeatedly generating sounds corresponding to tone-generation points.
(B) Random Mode
After completion of setting tone-generation points with LED buttons, the random mode allows the electronic music device 100 to repeat sound/light emission in conjunction with tone-generation points of LED buttons.
(C) Draw Mode
The draw mode allows the electronic music device 100 to temporarily store a trace pattern in which a user traces LED buttons on the screen in a certain time period, thus repeating sound/light emission in accordance with the stored trace pattern.
(D) Bounce Mode
The bounce mode allows the touch panel display 2 to sequentially change the position of light emission on the screen such that light emission moves down from the position of an LED button pressed by a user and then reaches the baseline (i.e. the lowermost part of the screen) as if a ball bounces on the ground. Herein, the electronic music device 100 generates sound every time light emission hits the baseline on the screen.
(E) Push Mode
When a user holds an LED button, the push mode allows the electronic music device 100 to generate a circle of light around the position of the pressed LED button such that the circle of light is gradually enlarged on the screen. Additionally, the electronic music device 100 generates sound which is varied in response to a varying size of the circle of light.
(F) Solo Mode
In a time period while a user holds an LED button, the sole mode allows the electronic music device 100 to repeatedly generate the corresponding sound. This sound is stopped when the user releases his/her finger from the LED button.
Next, a setting method for setting tone-generation points, a tone-generation method, and a light emission method will be described in detail with respect to the score mode which is the most basic mode among six performance modes.
When a user gives a short press to the touch panel display 2 (i.e. when the user presses an LED button on the screen for a short time period and then releases his/her finger off the LED button), the electronic music device 100 generates sound having a pitch assigned to the pressed LED button. At the same time, the pressed LED button is placed in a first display manner that allows each LED button to shine in a first color. Additionally, the light of the short-pressed LED button spreads across its surrounding LED buttons as if ripples (or waves) are spreading across the surrounding area, whereas the electronic music device 100 does not necessarily generate sounds of pitches assigned to the surrounding LED buttons causing a light spreading phenomenon on the screen. The first display manner immediately disappears so that the short-pressed LED button turns off its light and returns to its original state.
When a user gives a long press to the touch panel display 2 (i.e. when the user presses an LED button on the screen for a long time period and then releases his/her finger off the LED button), a tone-generation point is set to the pressed LED button, which is thus placed in the first display manner. The tone-generation point setting is released by long-pressing the already long-pressed LED button again, so that the twice long-pressed LED button returns to its original state. The tone-generation point setting can be carried out before starting music performance. The present embodiment allows users to set or release a tone-generation point on each LED button in real time during music performance.
A loop indicator is configured of a plurality of LED buttons, which are placed in a second display manner that allows each LED button to shine in a second color, on the performance operator screen 2a shown in
The electronic music device 100 does not necessarily involve six performance modes; hence, the number of performance modes can be arbitrarily determined.
A plurality of setting/control operators and the current setting/control state are displayed in the second display area 2a2. As setting/control operators, it is possible to provide an automatic performance start/stop button, a mode change button, a layer change button, a block change button, and other operators for setting tempos, tone colors, octaves, volumes, and gate times, wherein each operator is not necessarily displayed in a button-like shape and can be displayed in a slider shape or a dial shape. All the operators need not be displayed in the second display area 2a2, so that the second display area 2a2 may selectively display the operators that are necessary in each operation mode.
One block is a combination of layers which can be simultaneously performed. Since the electronic music device 100 is able to multiplex maximally sixteen layers, one block may be constituted of maximally sixteen layers. The electronic music device 100 is able to register a plurality of blocks (e.g. sixteen blocks) with the RAM 8, thus rendering music performance with complex progression by sequentially switching over blocks.
Next, a control process executed by the electronic music device 100 will be described in detail.
Specifically,
In
Each of the electronic music devices A to D is able to selectively perform an arbitrary layer, whereas all the electronic music devices A-D are allowed to share one block in common.
The present embodiment is characterized in that the electronic music devices A-D can carry out a net-session without any problem by way of the following processes.
When a user initiates a net-session with the electronic music device A, the electronic music device A transmits a start command to the other electronic music devices B to D, whereby the electronic music device A starts a net-session in conjunction with the electronic music devices B to D. When the electronic music device A sends a start command to the other electronic music devices B-D, a time deviation may occur at the start timing of a net-session, conducted between the electronic music device A and the other electronic music devices B-D, due to a communication delay which occurs until the start command of the electronic music device A actually reaches the other electronic music devices B-D. To cope with this drawback, the present embodiment performs the tone-generation synchronization timing synchronization process (see (1)).
When the users of the electronic music devices A-D simultaneously operate the same LED button to change on/off states of tone-generation points while the electronic music device A-D display LED buttons in the same layer (which is selected by the users of the electronic music devices A-D), the electronic music devices A-D may differ from each other in terms of on/off states of tone-generation points. A concrete example of this situation will be discussed later. To cope with this drawback, the present embodiment performs the tone-generation point synchronization process (see (2)).
Next, details of the control process will be described with reference to
First, a user operates the electronic music device A to display a login screen (not shown) on the touch panel display 2. When the user touches a login button with his/her finger on the login screen, the electronic music device A reads a server name (or an IP address) of the session partner selecting server 200 from the ROM 7 (or the storage unit 9). Based on the read server name, the electronic music device A accesses the session partner selecting server 200 so as to transmit login information to the session partner selecting server 200 (step S101). For instance, the login information includes a login ID (or a login identification) and a login password. Upon receiving the login information, the session partner selecting server 200 performs an authentication process based on the received login information (step S201). Upon completion of the authentication process, the electronic music device A is placed in a login condition with the session partner selecting server 200, so that a login progressing screen (not shown) is displayed on the touch panel display 2.
Next, when the user touches a “net-session invitation” button on the login progressing screen with his/her finger, the electronic music device A sends a net-session invitation (i.e. information representing an invitation to a net-session) to the session partner selecting server 200 (step S102). Upon receiving the net-session invitation (step S202), the session partner selecting server 200 waits for the next instruction issued by the electronic music device A.
When the user touches a “net-session partner select” button with his/her finger on the login progressing screen, the electronic music device A requests the session partner selecting server 200 to select net-session partners (step S103). At this time, the user of the electronic music device A can freely make a decision whether or not to designate net-session partners when requesting the session partner selecting server 200 to appoint net-session partners. When the user has known of the name of a preferable session partner before requesting the session partner selecting server 200, the user can directly designate the session partner in conjunction with the session partner selecting server 200. However, when the user has not known of the name of a preferable session partner, the electronic music device A retrieves a list of names (who can be appointed) from the session partner selecting server 200, allowing the user to select the name of a preferable session partner. The present embodiment allows the user to simply refer to the session partner selecting server 200 in selecting session partners without designating a preferable session partner. In this case, the present embodiment may allow the user to designate the number of session partners as well as the nationality or residence of each session partner. Alternatively, the user may leave his/her selection of session partners to the session partner selecting server 200 without designating preferable conditions.
Upon receiving a selection request from the electronic music device A, the session partner selecting server 200 automatically selects session partners involved in a net-session or already designated session partners. Then, the session partner selecting server 200 transmits an invitation notice to each electronic music device (i.e. one of the electronic music devices B-D) corresponding to each selected session partner (step S203). Herein, the session partner selecting server 200 performs an automatic select procedure on the electronic music devices B-D, each of which is placed in a login condition with the session partner selecting server 200. When the user of the electronic music device A has already designated the number of session partners as well as the nationality and residence of each session partner, the session partner selecting server 200 selects session partners in conformity with designated conditions.
Upon receiving an invitation notice from the session partner selecting server 200, each of the electronic music devices B-D inquires its user about his/her decision whether or not to participate in a net-session (step S302). When the user designates “participate” on the screen of his/her electronic music device (i.e. one of the electronic music devices B-D), the electronic music device sends back “acceptance of participation” to the session partner selecting server (step S303).
Upon receiving the acceptance of participation, the session partner selecting server 200 notifies the electronic music devices A-D of counterparts IP addresses and communication ports (step S204). Specifically, the session partner selecting server 200 notifies the electronic music device A of the IP addresses and communication ports of the electronic music devices B-D while notifying the electronic music devices B-D of the IP address and communication port of the electronic music device A.
Upon receiving the IP addresses and communication ports of the electronic music devices B-D by way of the session partner selecting server 200, the electronic music device A stores the IP addresses and communication ports in a predetermined area of the RAM 8; subsequently, the electronic music device A is placed in a net-session standby state (step S104). In the net-session standby mode, the electronic music device A is ready for starting a net-session with the electronic music devices B-D at any time since the received IP addresses and communication ports are set to the communication interface 10. The other electronic music devices B-D perform the same operation as the electronic music device A (step S304).
Next, the electronic music device A displays a performance operator screen on the touch panel display 2 (step S105). The performance operator screen currently displayed is created based on the currently selected block and its layer.
When the user of the electronic music device A touches a “net-session start” button in the performance operator screen, the electronic music device A performs an initialization process and a tone-generation timing synchronization process (step S106). The initialization process includes a clear process for clearing all tone-generation points, a reset process for resetting the position of a loop indicator, a reset/start process for resetting/starting a timer (which is installed in the CPU 6), and another clear process for clearing the stored content of the RAM 8.
In general, a communication delay (or a delay time) occurring between counterpart electronic music devices varies depending on the types of devices. A communication delay occurring between the devices of the same type, e.g. between the electronic music devices A and B, may normally vary and fluctuate due to various factors. The timers installed in the electronic music devices A-D may cause time deviations due to differences of resetting/setting timings thereof or due to differences of accuracies thereof even when they are reset/set at the same timing However, it can be said that a delay time of a transmission path may be approximately identical to a delay time of a reception path in one reciprocating communication, wherein a difference between delay times may be negligible. For this reason, the present embodiment adjusts the tone-generation timing based on the presumption that the delay time of a transmission path is identical to the delay time of a reception path in one reciprocating communication.
First, the electronic music device A sends a present time request command to the electronic music device B. In
One-way delay time=(Ta2−Ta1)/2
A time Ta3 is arbitrarily determined to follow the time Ta2. The electronic music device A determines to adjust the tone-generation timing at a certain time, i.e. a predetermined time Td elapsed after the time Ta3; hence, the electronic music device A actually establishes the tone-generation timing (i.e. the setting of a reference time for automatic performance) at this time. Herein, the predetermined time Td is longer than the one-way delay time. The electronic musical device A sends a tone-generation timing command that instructs the electronic music device B to establish the tone-generation timing at the designated time (a) or (b) as follows.
Td+Tb+(Ta3−Ta1)−(Ta2−Ta1)/2 (a)
Td+Tb+(Ta3−Ta2)+(Ta2−Ta1)/2 (b)
Upon receiving the tone-generation timing command, the electronic music device B automatically establishes the tone-generation timing (i.e. the setting of a reference time for automatic performance) at the designated time (a) or (b).
The present embodiment is characterized in that the factor for determining the tone-generation timing is limited to a communication delay which occurs when measuring the one-way delay time. Additionally, the reference time (or start time) for determining the tone-generation timing is shared between the electronic musical devices A and B such that the time of Ta1+(Ta2−Ta1)/2 counted by the electronic music device A matches the time Tb counted by the electronic music device B. This provides the precise matching of the tone-generation timing between the electronic music devices A and B even when a communication delay involving the tone-generation timing differs from a communication delay involving the time of measuring the one-way delay time.
Referring back to
The net-session process is repeatedly executed until the user declares an end of processing regarding the net-session process, so that a series of steps S107 and S108 is repeated before step S109. When the user declares an end of processing, the electronic music device A proceeds to an end of processing (step S109) and then exits the control process. An end of processing includes a logoff process made by the session partner selecting server 200. Details of the logoff process are not described in this specification. In this connection, the other electronic music devices B-D execute a series of steps S308, and S309 similar to the foregoing steps S07, S108, and S109 executed by the electronic music device A.
First, the electronic music device A receives on/off data of LED buttons from the other electronic music devices B-D, wherein the received on/off data of LED buttons are stored in an on/off data memory area (not shown) which is secured at a predetermined memory position of the RAM 8 (step S111). On/off data of each LED button is configured of a format (Layer,X,Y,ON/OFF), wherein “Layer” denotes the number of a layer used for displaying each LED button (i.e. a value selected from among “01” to “16”); “X” denotes a horizontal coordinate of each LED button (i.e. a value selected from among “01” to “16”); and “Y” denotes a vertical coordinate of each LED button (i.e. a value selected from among “01” to “16”); and “ON/OFF” denotes an on/off state of each LED button. In this connection, the received on/off data of each LED button is stored in the on/off data memory area together with its reception time. The reception time of the on/off data is used to discriminate either a short press or a long press with respect to each LED button. Even when the flow proceeds to step S111, there is a possibility that the other electronic music devices B-D do not transmit on/off data of LED buttons to the electronic music device A. In this case, the electronic music device A may skip the step S111 so that the flow proceeds to the next step S112. Such a skip-and-proceed operation can be applied to steps S112 to S120 except for step S113.
Next, the electronic music device A detects an on/off operation applied to each LED button on the touch panel display 2, generates on/off operation information based on the detected on/off state of each LED button, and then stores the on/off operation information in an on/off operation information memory area (not shown) which is secured at a predetermined memory position of the RAM 8 (step S112). Herein, the on/off operation information is configured of a format (X,Y,ON/OFF,T), i.e. the format of on/off data precluding “Layer” and adding an on/off operation time “T” of making an on/off operation on each LED button. The format of the on/off operation information does not necessarily preclude “Layer”; hence, this format can be created by simply adding the on/off operation time T to the format of on/off data.
Next, the electronic music device A carries out a layer-specified control process (step 113).
Specifically, the step S132 (see (12)) firstly refers to a decision as to whether or not one on/off data of at least one LED button is stored in the on/off data memory area; and then, when it is confirmed that on/off data of at least one LED button is stored in the on/off data memory area, a decision is made as to whether or not the on/off data is related to Layer N. The situation in which on/off data of any LED button is stored in the on/off data memory area is regarded as the situation in which the user handling any one of the other electronic music devices B-D applies an on/off operation to any one of LED buttons displayed in the performance operator screen based on the currently selected layer (i.e. the layer which has been selected when on/off data is created). The number of the currently selected layer can be recognized by checking the layer number included in on/off data.
In the first reflection process (see (12a)), the electronic music device A executes a sound generation process and a tone-generation point setting process based on the received on/off data of a certain LED button in response to the performance mode currently set to Layer N (step S133). Herein, the electronic music device A executes the same sound generation process and the same tone-generation point setting process as the foregoing sound generation process and the tone-generation point setting process, which are executed in the second reflection process (see (14a)), based on on/off data of a certain LED button which is transmitted from any one of the other electronic music devices B-D when the user gives a short press or a long press to any one of LED buttons in the performance operator screen on the touch panel display 2 of the electronic music device A. For this reason, it is necessary to make a decision, prior to the first reflection process or during execution of the first reflection process, as to whether the received on/off data corresponds to a short press or a long press. Herein, the received on/off data is configured of the format (N,X1,Y1,ON/OFF). Since all the on/off data are accompanied with their reception times, it is possible to discriminate whether on/off data corresponds to a short press or a long press based on its reception time in accordance with the following procedure.
First, a time interval I (=t2−t1) is calculated between a reception time t1 of (N,X1,Y1,ON) and a reception time t2 of (N,X1,Y1,OFF). It is possible to determine a short press when the time interval I is less than the predetermined threshold IH (where I<IH) or a long press when the time interval I is equal to or longer than the predetermined threshold IH (where I≧IH). Based on the discrimination result as to whether on/off data corresponds to a short press or a long press, it is possible to univocally determine the processing regarding the sound generation process and the tone-generation point setting process in response to the performance mode of Layer N, thus enabling the electronic music device A to execute the processing.
When on/off data is discriminated as a short press while the score mode is set to the performance mode of Layer N, for example, a sound having a pitch assigned to the LED button disposed at the coordinates (X1,Y1) is generated with a tone color set to Layer N in accordance with the sound generation process. Herein, the tone-generation point setting process is not executed because the short press does not necessarily involve the tone-generation point setting. On the other hand, when on/off data is discriminated as a long press in the score mode, the sound generation process is not carried out so that a sound having a pitch assigned to the LED button is not generated. Herein, the tone-generation point setting process is carried out to set a tone-generation point to the LED at the coordinates (X1,Y1) in Layer N.
In step S135 (see (14)), a decision is made as to whether or not at least one on/off operation information regarding at least one LED button is actually stored in the on/off operation information memory area. At least one on/off operation information regarding at least one LED button is stored in the on/off operation information memory area only when the user conducts an on/off operation on at least one LED buttons in the performance operator screen which is displayed on the touch panel display 2 based on the currently selected layer. The decision (14) is made when the currently selected layer is regarded as Layer N. Based on the fact that at least one on/off operation information has been stored in the on/off operation information memory area at the time of making the decision (14), it is possible to presume that the on/off operation information has been created and stored by the user who conducts an on/off operation on any one of LED buttons on the touch panel display 2.
In the second reflection process (see (14a)), the electronic music device A execute a sound generation process and a tone-generation point setting process based on the detected on/off operation information regarding each LED button (i.e. the on/off operation information stored in the on/off operation information memory area) in response to the performance mode currently set to Layer N (step S136). The on/off operation information employed in the second reflection process differs from the on/off data employed in the first reflection process in that the on/off operation information does not include the layer number but includes the on/off operation time. For this reason, the second reflection process can be easily implemented by presumably applying the foregoing operation of the first reflection process; hence, details of the second reflection process will not be described.
In the third reflection process (see (15)), a received/detected on/off operation applied to a certain LED button is reflected in the display manner of the corresponding LED button in the performance operator screen on the touch panel display 2. The reason why the third reflection process is not included in the first reflection process but executed independently will be described below.
Suppose the situation where Layer N is selected by any one of the electronic music devices B-D (e.g. the electronic music device B) but is not selected by the electronic music device A. In this situation, when the user gives a short press to a certain LED button of the electronic music device B, a sound with a pitch assigned to the LED button in Layer N is generated whilst the display manner of the corresponding LED button in the performance operator screen is not changed because the performance operator screen is displayed based on another layer different from Layer N.
Referring back to
Next, the electronic music device A executes the tone-generation point synchronization process in steps S115, S116 (see (12)).
In
At the time of State C1′, the electronic music device B proceeds to a decision as to whether the LED button is subject to a short press or a long press. During execution of this decision, the LED button is sequentially turned on and off (see States C2, C3) within a short time less than the long-press determination time. In this case, States C2, C3 from the electronic music device B reach the electronic music device A after a lapse of a communication delay time (see States C2′, C3′). If the time interval between States C1′ and C2 is less than the long-press determination time, the electronic music device B does not set a tone-generation point to the LED button.
When the user of the electronic music device A turns off the LED button (see State C4) before State C2′ (corresponding to State C2 indicating that the user of the electronic music device B turns on the LED button), State C4 reaches the electronic music device B after a lapse of a communication delay time (see State C4′).
When an on operation and an off operation occurs on the same LED button concurrently in a plurality of electronic music devices, different tone-generation points setting states may be applied to the same LED button.
To cope with this drawback, the present embodiment selects one electronic music device (e.g. the electronic music device A) acting as a host from among a plurality of electronic music devices (i.e. the electronic music devices A-D) conducting a net-session. When any one of the users of the electronic music devices A-D conducts an on/off operation on one of LED buttons displayed in the performance operator screen of the “host” electronic music device A, a log regarding the on/off operation of the LED button (e.g. a format (Layer,X,Y, present time)) is stored in a log memory area (not shown) which is secured at a predetermined memory position of the RAM 8 (step S115). If a predetermined time (e.g. one second) has elapsed from the stored time of the log, the electronic music device A checks the current on/off state with respect to the LED button at the coordinates (Layer,X,Y) so as to send the on/off state to the other electronic music devices B-D, and then erases the log (step S116).
Specifically, when a predetermined time Tα (which is arbitrarily set in advance) has elapsed from the stored time of the log of State C1 in
As described above, the present embodiment is designed to record a log when the user conducts an on/off operation on an LED button of the “host” electronic music device, wherein the on/off state of the LED button indicated by the log is sent to the other electronic music devices, each of which reflects the received on/off state on the corresponding LED button. Except for a slight time lag, the present embodiment is able to set the same on/off state of a certain LED button among all the electronic music devices (including the “host” electronic music device).
In the present embodiment, the electronic music device A acts as both the host and the inviter, but this is not a restriction; hence, it is possible to provide one electronic music device acting as a host, and another electronic music device acting as an inviter.
Referring back to
As described above, the electronic music device A carries out its net-session process. The other electronic music devices B-D carries out their net-session processes similar to the net-session process of the electronic music device A, wherein steps S311 to S314 are equivalent to steps S111 to S114, and steps S317 to S320 are equivalent to steps S117 to S120. In this connection, steps S311-S314 and steps S317-S320 involving the other electronic music devices B-D are not described in detail since they can be easily implemented by presumably applying steps S111-S114 and S117-S120 involving the electronic music device A.
The present embodiment carries out the tone-generation timing synchronization process (see (1)) only once before starting a net-session, whereas it is possible to carry out the tone-generation timing at arbitrary timing during execution of a net-session.
The present embodiment is designed using the electronic music devices A-D each furnished with a net-session ability. Although the present embodiment does not explicitly refer to an ability to play sole performance, the present embodiment can be reconfigured to adopt the electronic music devices A-D additionally furnished with an ability to play sole performance.
In the present embodiment, all the tone-generation points set to the selected layer have been cleared by the initialization (see steps S106, S306 in
The tone-generation timing synchronization process and the tone-generation point synchronization process (see (1), (2)) are not necessarily applied to “matrix sequencers”, e.g. the electronic music devices A-D each equipped with a matrix arrangement of LED buttons allowing users to enjoy sound and light emission (or display). These processes can be easily applied to other types of music systems enabling synchronized performance with a plurality of electronic music devices.
The matrix sequencer is not necessarily designed such that a plurality of layers can be simultaneously reproduced while a plurality of blocks each consisting of a plurality of layers can be switched over and reproduced. That is, the matrix sequencer does not necessarily involve the layered concept so as to reproduce a single layer, or the matrix sequencer furnished with an ability of simultaneously reproducing a plurality of layers does not necessarily involve the blocked concept so as to reproduce a single block.
In the present embodiment, the electronic music devices A-D are each designed to accept manual operations of performance operators including LED buttons and drive the sound source/effect circuit 11 (particularly, the sound source circuit) to produce designated sounds every time the loop indicator overlaps with tone-generation timings; but this is not a restriction. For instance, the present embodiment can be modified to read audio waveform data, which are prepared in advance, and thereby generate sounds based on audio waveform data. The present embodiment is designed based on the precondition that the sound source circuit is configured of hardware; but this is not a restriction. For instance, it is possible to provide a software sound source which produces music sound waveforms by use of the CPU 6. Moreover, the present embodiment is not necessarily equipped with the sound source/effect circuit 11, which can be precluded from the electronic music device. In this case, the electronic music device is redesigned to send sound generation/muting commands to an external sound source device, which are thus controlled to generate sounds.
In the tone-generation point synchronization process (see (2)), one electronic music device (selected from a plurality of electronic music devices) is assigned with a function of managing logs and a function of sending a synchronization instruction (e.g. an inconsistency eliminating instruction) to other electronic music devices; but this is not a restriction. For instance, a certain device not involved in music performance can be assigned with a function of receiving operation data from electronic music devices and recording their logs and a function of sending an inconsistency eliminating instruction to electronic music devices.
In the present embodiment, logs representing manual operations of LED buttons are cast into the format (Layer,X,Y, present time) so as to record layers, coordinates of LED buttons, and timings, and then the latest on/off states of LED buttons at designated coordinates in the currently selected layer are sent to other electronic music devices; but this is not a restriction. For instance, logs are recorded with respect to on/off states of LED buttons so that the recorded on/off states instead of the latest on/off states can be sent to other electronic music devices.
In the present embodiment, the electronic music device changes the display manners of LED buttons based on on/off data of the corresponding LED buttons received from other electronic music devices only when the layer number included in the received on/off data matches with the currently selected layer number; but this is not a restriction. The electronic music device can be modified to change the display manners of LED buttons in conformity with the corresponding LED buttons of the other electronic music devices even when the layer number included in the received on/off data does not match with the currently selected layer number. However, the user may be confused by complex displayed images when the electronic music device is allowed to change the display manners of LED buttons assigned with tone-generation points over a plurality of layers, wherein it is difficult to recognize which layer is currently selected and displayed on the screen. For this reason, it is preferable that the display manner regarding the currently selected layer differ from the displayed manner regarding the unselected layer. For instance, only the LED buttons involving real-time performance and sound generation can be changed in their display manner; LED buttons regarding the unselected layer are reduced in brightness; and LED buttons involving tone-generation point setting are unchanged in their display manner.
Additionally, the display manner of LED buttons based on manual operations of one electronic music device may differ from the display manner of LED buttons base on on/off data received from other electronic music devices. It is possible to include device IDs in on/off data so as to discriminate electronic music devices sending on/off data of LED buttons. In this case, the electronic music device receiving on/off data may change display manners of LED buttons (using different colors) depending on device IDs. Herein, the sender side of the electronic music device sending on/off data of LED buttons may designate display manners depending on its device ID. Alternatively, the receiver side of the electronic music device receiving on/off data of LED buttons may designate display manners depending on its device ID. When the sender side designates display manners depending on its device ID, the sender side should send its display manner setting information to the receiver side.
In the present embodiment, one of the electronic music devices, which firstly issues an invitation to a net-session, is designated as an “inviter” while the other electronic music devices are each designated as an “invitee”, wherein each electronic music device should be defined as either an inviter or an invitee; but this is not a restriction. For instance, each electronic music device can be defined as either an inviter or an invitee only when a certain electronic music device designates its session partner. Alternatively, each electronic music device is not necessarily discriminated as an inviter or an invitee when the session partner selecting server 200 automatically selects a session partner, so that all the electronic musical devices can act as an inviter.
In the present embodiment, on/off data of each LED button is cast into the format (Layer,X,Y,ON/OFF) so that the receiver side of the electronic music device receiving on/off data makes a decision as to whether on/off data corresponds to a short press or a long press; but this is not a restriction. The sender side of the electronic music device sending on/off data may make a decision as to whether on/off data corresponds to a short press or a long press, wherein the sender side may include “press state information”, representing the result of the decision as to whether on/off data corresponds to a short press or a long press, in on/off data. In this case, the receiver side of the electronic music device receiving on/off data examines the press state information included in the received on/off data, thus discriminating whether the received on/off data corresponds to a short press or a long press.
The foregoing functions of the present embodiment are not necessarily implemented by electronic music devices configured of hardware and software. That is, it is possible to implement the foregoing functions of the present embodiment by way of software, so that its program codes can be stored in recording media installed in system or apparatus. Thus, the entire functionality of the present embodiment can be implemented by the computer of the system or apparatus (e.g. CPU or MPU) which loads and executes program codes stored in recording media.
In the above, program codes read from recording media realize the brand-new functionality of the present embodiment; hence, program codes or recording media storing program codes implement the functionality of the present embodiment.
As recording media providing program codes, for example, it is possible to employ flexible disks, hard disks, magneto-optic disks, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DRV-RW, DVD+RW, magnetic tapes, nonvolatile memory cards, and ROM. Alternatively, it is possible to provide program codes from a server computer via a communication network.
The foregoing functionality of the present embodiment is not necessarily achieved by simply executing program codes loaded into a computer. Alternatively, the operating system (OS) of the computer can carry out a part or the entirety of processing based on instructions of program codes, thus implementing the foregoing functionality of the present embodiment.
It is possible to load program codes of recording media into a memory installed in a function-extending board inserted into a computer or a function-extending unit coupled with a computer. In this case, a CPU installed in a function-extending board or a function-extending unit can carry out a part of or the entirety of processing based on instructions of program codes, thus implementing the functionality of the present embodiment.
As described heretofore, the present invention is not necessarily limited to the foregoing embodiment and its variations; hence, the present invention may embrace any modifications and design choices that fall within the scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2010-293529 | Dec 2010 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5530859 | Tobias et al. | Jun 1996 | A |
6067566 | Moline | May 2000 | A |
6141324 | Abbott et al. | Oct 2000 | A |
7254644 | Norimatsu et al. | Aug 2007 | B2 |
7297858 | Paepcke | Nov 2007 | B2 |
7420112 | Juszkiewicz et al. | Sep 2008 | B2 |
7970962 | Chu et al. | Jun 2011 | B2 |
20050150362 | Uehara | Jul 2005 | A1 |
20060123976 | Both et al. | Jun 2006 | A1 |
20070140510 | Redmann | Jun 2007 | A1 |
20070283799 | Carruthers et al. | Dec 2007 | A1 |
20120160080 | Miwa | Jun 2012 | A1 |
Number | Date | Country |
---|---|---|
4314964 | May 2009 | JP |
Entry |
---|
Iwai et al.; “Tenori-on Manual TNR-W/TNR-O”; Yamaha Corporation. |
Apple Computer Incorporated, “Game Center”; Dec. 22, 2011. http://www.apple.com/game-center/. |
Number | Date | Country | |
---|---|---|---|
20120160080 A1 | Jun 2012 | US |