The present disclosure relates to a music-assisted collaboration technology, and more particularly, to a collaboration system, method and computer-readable medium for realizing online offsite synchronous ensemble.
In a conventional technique, a display device with a controller is used in the same field to achieve synchronous scrolling of a music score of a controlling end and a controlled end. However, in the Internet environment, this technique cannot achieve the purpose of synchronous scrolling of the music score, let alone the goal of playing the music score synchronously note by note.
At the same time, when the controlling end and the controlled end are located at different nodes of the Internet, a data transmission delay of the Internet is much greater than that of the local area network, which makes it difficult to control the situation of data transmission delay, and it is impossible to achieve an effect of playing the music score synchronously note by note.
In addition, in an operating mode of the existing service, although a low-latency audio transmission technique can be combined with a pure audio interaction method to perform ensemble, that is, musicians in different places can mutually adjust each other's playing speed through audio. This operating mode is aimed at songs with a slower rhythm, and the dissonance during the ensemble process is less pronounced, but for songs with a faster rhythm, the dissonance during the ensemble process will appear, which will seriously affect the ensemble experience.
Furthermore, compared with the related businesses or services in the current market, it is neither able to provide a mechanism for synchronizing the playback of music scores in remote locations note by note, nor to optimize the user experience of offsite ensembles.
Therefore, how to provide an innovative music-assisted or online offsite synchronous ensemble collaboration technique to solve any of the above problems or provide related functions/services has become a major research topic for those skilled in the art.
The present disclosure provides an innovative collaboration system, method and computer-readable medium for realizing online offsite synchronous ensemble, which can provide musicians in two or more places in different fields, respectively, through a controlling device and a controlled device to realize a function of playing the music score of the same song note by note synchronously, so as to meet the needs or effects of ensemble music in different places, or can provide a user experience of long-distance synchronous ensemble suitable for various situations, or can provide a standard time of a servo device to ensure that the time of the controlling device and the controlled device is the same or synchronized.
A collaboration system for realizing online offsite synchronous ensemble according to the present disclosure comprises: a controlling device in a first place; at least one controlled device in at least one second place different from the first place, wherein the controlling device is connected or communicated with the controlled device via a network; and a servo device connecting or communicating with the controlling device and the controlled device via the network, wherein the controlling device and the controlled device respectively receive a music score of a same song from the servo device before performing the synchronous ensemble of the same song via the network or online, wherein the controlling device sets a note starting position regarding the music score of the same song when the same song is performed, and the controlling device and the controlled device synchronize the note starting position of the music score of the same song, such that when the controlling device executes a start playing command of the music score of the same song, the controlling device and the controlled device start to play the music score of the same song note by note synchronously according to the note starting position of the music score of the same song.
A collaboration method for realizing online offsite synchronous ensemble according to the present disclosure comprises: providing a controlling device, at least one controlled device and a servo device, wherein the controlling device is in a first place, and the at least one controlled device is in at least one second place different from the first place, wherein the controlling device, the controlled device and the servo device are connected or communicated with each other via a network; receiving, by the controlling device and the controlled device respectively, a music score of a same song from the servo device before performing the synchronous ensemble of the same song via the network or online; setting, by the controlling device, a note starting position regarding the music score of the same song when the same song is performed; and synchronizing, by the controlling device and the controlled device, the note starting position of the music score of the same song, wherein when the controlling device executes a start playing command of the music score of the same song, the controlling device and the controlled device start to play the music score of the same song note by note synchronously according to the note starting position of the music score of the same song.
A computer-readable medium of the present disclosure is applied to a computing device or a computer, and stores instructions to execute the above-mentioned collaboration method for realizing online offsite synchronous ensemble.
In order to make the above-mentioned features and advantages of the present disclosure more clear and easy to understand, the following embodiments are given and described in detail with the accompanying drawings. Additional features and advantages of the present disclosure will be set forth in part in the description that follows, and in part will be apparent from the description, or may be learned by practice of the present disclosure. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not intended to limit the scope of the present disclosure as claimed.
The following describes the implementation of the present disclosure with examples. Those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. However, the present disclosure can also be implemented or applied by other different embodiments.
In one embodiment, the controlling device 10 and at least one (e.g., a plurality of) musician A1 are located in a first place A, the controlled device 20 and at least one (e.g., a plurality of) musician B1 are located in at least one second place B different from the first place A, and the servo device 30 may be located in the first place A, the second place B or other locations. The controlling device 10 at the first place A connects or communicates with the controlled device 20 at the second place B through the network N, and the servo device 30 connects or communicates with the controlling device 10 at the first place A and the controlled device 20 at the second place B through the network N. In one embodiment, if there are plural controlled devices 20, the plurality of controlled devices 20 may be located in a plurality of identical or different second places B, respectively. It should be noted that the controlling device 10 and the controlled device 20 can be interchanged, that is, the controlling device 10 can be changed to be the controlled device 20, and the controlled device 20 can be changed to be the controlling device 10, depending on the controlling device 10 and the controlled device 20 as a master or a slave. In another embodiment, the controlling device 10 and the servo device 30 are integrated into the same device.
The controlling device 10 has a first audio capture module 11, a first audio playing module 12, a first communication module 13, a first time calibration module 14 and a first music score module 15, and the first music score module 15 has a first music score data receiving unit 151, a first music score data playing unit 152, a note starting position controlling unit 153 and a first countdown unit 154. Each controlled device 20 has a second audio capture module 21, a second audio playing module 22, a second communication module 23, a second time calibration module 24 and a second music score module 25, and the second music score module 25 has a second music score data receiving unit 251, a second music score data playing unit 252, a note starting position controlled unit 253 and a second countdown unit 254. The servo device 30 has a music score database 31, a third audio capture module 32, a third communication module 33, an audio collection module 34 and a standard time module 35.
In one embodiment, the controlling device 10 or the controlled device 20 may be a computer, a mobile device, etc., such as a personal computer, a tablet computer, a notebook computer, a desktop computer, a smart phone, a personal digital assistant (PDA), and the like. The servo device 30 can be a server (server host) or the like, such as a general server, a cloud server, a network server, a remote server, and the like. In another embodiment, the controlling device 10, the controlled device 20 or the servo device 30 may be a single apparatus or a combination of multiple apparatuses.
In one embodiment, the first audio capture module 11, the second audio capture module 21 or the third audio capture module 32 may be an audio capture device (chip/circuit), an audio capture software (program), and the like. The first audio playing module 12 or the second audio playing module 22 may be an audio playing device (chip/circuit), an audio playing software (program), and the like. The first communication module 13, the second communication module 23 or the third communication module 33 may be a communication device (chip/circuit), a communication interface, a communication software (program), and the like. The first time calibration module 14 or the second time calibration module 24 may be a time calibration device (chip/circuit), a time calibration software (program), and the like. The first music score data receiving unit 151 or the second music score data receiving unit 251 may be a music score data receiving device (chip/circuit), a music score data receiving software (program), or the like.
In one embodiment, the first music score data playing unit 152 or the second music score data playing unit 252 may be a music score data playing device, a music score data playing software (program), and the like. The note starting position controlling unit 153 may be a note starting position controlling device (chip/circuit), a note starting position controlling software (program), and the like. The first countdown unit 154 or the second countdown unit 254 may be a countdown timer, a countdown timing software (program) and the like. The note starting position controlled unit 253 may be a note starting position controlled device (chip/circuit), a note starting position controlled software (program), and the like. The music score database 31 may be a music score data server, a music score data storage, a music score data storage medium, and the like. The audio collection module 34 may be an audio collecting device (chip/circuit), an audio collecting software (program), and the like. The standard time module 35 may be a standard time generator, a standard time calibrator, a standard time generating software (program), a standard time calibrating software (program), and the like.
The first audio capture module 11 of the controlling device 10 captures a live audio (e.g., audio data) of the controlling device 10, and the first audio playing module 12 plays the audio (e.g., audio data) of both the controlling device 10 and the controlled device 20 collected by the servo device 30. The first communication module 13 transmits the audio (e.g., audio data) of the controlling device 10 captured by the first audio capture module 11 to the servo device 30, and receives the audio (e.g., audio data) of both the controlling device 10 and the controlled device 20 collected by the servo device 30. The first time calibration module 14 regularly queries the standard time of the servo device 30 to calibrate the time of the controlling device 10 according to the standard time of the servo device 30 (i.e., the query result). The first music score data receiving unit 151 of the first music score module 15 receives music scores (e.g., music score data) from the music score database 31 of the servo device 30, and the first music score data playing unit 152 plays the music scores (e.g., music score data) from the music score database 31 of the servo device 30. The note starting position controlling unit 153 sets a note starting position and a playing starting time of the music score of the controlling device 10. The first countdown unit 154 provides a countdown function, so that when the countdown of the first countdown unit 154 ends or is completed, the first music score data playing unit 152 starts to play the music score of the same song note by note synchronously.
The second audio capture module 21 of each controlled device 20 captures a live audio (e.g., audio data) of the controlled device 20, and the second audio playing module 22 plays the audio (e.g., audio data) of both the controlling device 10 and the controlled device 20 collected by the servo device 30. The second communication module 23 transmits the audio (e.g., audio data) of the controlled device 20 captured by the second audio capture module 21 to the servo device 30, and receives the audio (e.g., audio data) of both the controlling device 10 and the controlled device 20 collected by the servo device 30. The second time calibration module 24 regularly queries the standard time of the servo device 30 to calibrate the time of the controlled device 20 according to the standard time of the servo device 30 (i.e., the query result). The second music score data receiving unit 251 of the second music score module 25 receives music scores (e.g., music score data) from the music score database 31 of the servo device 30, and the second music score data playing unit 252 plays the music scores (e.g., music score data) from the music score database 31 of the servo device 30. The note starting position controlled unit 253 receives commands (e.g., trigger signals) from the controlling device 10 to set a note starting position and a playing starting time of the music score of the controlled device 20. The second countdown unit 254 provides a countdown function, so that when the countdown of the second countdown unit 254 ends or is completed, the second music score data playing unit 252 starts to play the music score of the same song note by note synchronously.
The music score database 31 of the servo device 30 is used for the controlling device 10 and the controlled device 20 to pre-download the music score (e.g., music score data) of the same song. The third audio capture module 32 captures the audio (e.g., audio data) from both the controlling device 10 and the controlled device 20, the third communication module 33 provides the audio (e.g., audio data) mixed by the audio collection module 34 to the controlling device 10 and the controlled device 20 at the same time, the audio collection module 34 mixes the captured audio (e.g., audio data) of both the controlling device 10 and the controlled device 20, and the standard time module 35 provides the standard time of the servo device 30.
Therefore, the controlling device 10, the controlled device 20 and the servo device 30 are communicated with each other through the network N. The controlling device 10 provides the setting of the note starting position of the music score, the command to execute the synchronous playing of the music score and the presentation of the synchronous playing of the music score note by note. The controlled device 20 receives the information of the note starting position of the music score sent by the controlling device 10, controls the note starting position of the music score of the controlled device 20 to be consistent with the controlling device 10 and receives a starting command sent by the controlling device 10. During the execution of the above-mentioned controlling device 10 and controlled device 20, the servo device 30 provides the controlling device 10 and the controlled device 20 with the download of the music score (such as music score or electronic music score data) of the same song (such as music), and the collection and mutual transmission of the audio, and time calibration information, etc. In one embodiment, through the setting of the note starting position, when the music score reaches a paragraph or needs to be repeated for practice, it can be restored to the original note starting position, so as to reduce the problem of synchronizing the position of the music score of each device during practice and reduce a lot of time. It can even be used as a reference or basis for analysis in subsequent exercises by the playing times of the note starting position.
As shown in
[1] Pre-downloading of the music score: before the controlling device 10 of the controlling end (musician A1 in the first place A) and the controlled device 20 of the controlled end (musician B1 in the second place B) perform an ensemble (i.e., synchronous ensemble in different places) of the same song through the network N or online, the music score of the same song can be pre-downloaded from the music score database 31 of the servo device 30 on the server end respectively.
[2] Synchronization of the note starting position of the music score: the controlling device 10 of the controlling end sets the note starting position (i.e., a starting note position) of the music score of the same song when the same song is practiced or played each time, so that the controlling device 10 and the controlled device 20 synchronize the note starting position of the music score of the same song.
[3] Synchronous playing of the music score note by note: when the controlling device 10 of the controlling end executes a start playing command of the music score of the same song, the controlling device 10 and the controlled device 20 start to play the music score of the same song synchronously note by note according to the note starting position of the music score of the same song.
As shown in the flow chart of
In step S14 to step S15, the second music score data receiving unit 251 of the controlled device 20 pre-downloads the music score of the same song from the music score database 31 of the servo device 30 through the second communication module 23, and starts the second music score data playing unit 252.
Meanwhile, in step S16, the music score database 31 of the servo device 30 provides the music score of the same song to the controlling device 10 and the controlled device 20 through the third communication module 33. Thereby, a procedure of pre-downloading the music score is completed.
Furthermore, in the embodiment shown in
In one embodiment, the content of the music score may include a rhythm (such as beats per minute [BPM]), a time signature, and the type of musical note of each part and/or the sequencing information of each musical note, etc. Taking the rhythm as BPM 120 (i.e., 120 beats per minute) and the time signature as 4/4 (i.e., 4 beats per measure, ¼ musical note is one beat) as an example, the playing time of the ¼ musical note is ½ seconds, the playing time of the ⅛ musical note is ¼ seconds, and the playing time of the 1/16 musical note is ⅛ seconds, and so on. The sequencing information of each musical note can be used as the information exchange between the controlling device 10 and the controlled device 20 to synchronize the starting notes, and after the subsequent music score starts to play, the current progress indicator (bar) of the music score will stay on each note for the corresponding time according to the rules of the previous example.
In the flow chart as shown in
In step S24 to step S25, the note starting position controlled unit 253 of the controlled device 20 receives the sequencing information of the current note starting position through the second communication module 23, and presents the sequencing information of the note starting position of the controlled device 20 in the second music score data playing unit 252. Thereby, a procedure of synchronization of the note starting position of the music score is completed.
Furthermore, in the embodiment shown in
As shown in the flow chart of
Next, in step S33 to step S35, the first countdown unit 154 of the controlling device 10 starts to count down according to the timestamp Ts; when the countdown of the first countdown unit 154 ends or is completed, the first music score data playing unit 152 starts to play the music score of the same song note by note synchronously from the note starting position of the music score; at the same time, the musician A1 in the first place A plays the instrument according to the note playing speed of the music score, and the first audio capture module 11 captures the live audio (e.g., audio data) of the controlling device 10 to transmit the audio (e.g., audio data) of the controlling device 10 to the servo device 30 through the first communication module 13.
Regarding the controlled device 20, in step S36, the controlled device 20 receives the timestamp Ts sent by the controlling device 10 through the second communication module 23. Next, in step S37 to step S39, the second countdown unit 254 of the controlled device 20 starts to count down according to the timestamp Ts; when the countdown of the second countdown unit 254 ends or is completed, the second music score data playing unit 252 starts to play the music score of the same song note by note synchronously from the note starting position of the music score; at the same time, the musician B1 in the second place B plays the instrument according to the note playing speed of the music score, and the second audio capture module 21 captures the live audio (e.g., audio data) of the controlled device 20 to transmit the audio (e.g., audio data) of the controlled device 20 to the servo device 30 through the second communication module 23.
Regarding the servo device 30, in step S40 to step S41, the servo device 30 receives the audio (e.g., audio data) sent by both the controlling device 10 and the controlled device 20 through the third communication module 33, and after the audio collection module 34 of the servo device 30 collects the audio (e.g., audio data) of both the controlling device 10 and the controlled device 20, the third communication module 33 sends back the audio (e.g., audio data) collected by the audio collection module 34 to the controlling device 10 and the controlled device 20.
In step S42 to step S43, the first audio playing module 12 of the controlling device 10 synchronously plays the audio (e.g., audio data) collected by the audio collection module 34 of the servo device 30, and the second audio playing module 22 of the controlled device 20 synchronously plays the audio (e.g., audio data) collected by the audio collection module 34 of the servo device 30.
Furthermore, in the embodiment shown in
The musician A1 in the first place A presses a ready-play button of the controlling device 10 to generate a timestamp Ts, and then the controlling device 10 transmits the timestamp Ts to the controlled device 20. For example, the controlling device 10 executes the command to prepare to start playing through the first music score data playing unit 152 at time point T1 (e.g., 09:10:11.128), at this time, the controlling device 10 generates a set of timestamp Ts (e.g., 09:10:15.000) for the actual synchronous playing, that is, 4 whole seconds after the preset current time point T1 is the synchronous playing time. The synchronous playing time is a preparatory beat duration and can be adjusted flexibly.
Next, the controlling device 10 and the controlled device 20 synchronize the information of the timestamp Ts, and the first countdown unit 154 of the controlling device 10 starts the countdown (e.g., 0:0:3.872), and the countdown 0:0:3.872=09:10:15.000-09:10:11.128.
Next, the controlled device 20 receives the information of the timestamp Ts of the controlling device 10 at the time point T2 (e.g., 09:10:11.138), and starts the countdown (e.g., 0:0:3.862). At this time point T2, the point-to-point (peer-to-peer; P2P) network transmission delay between the first place A and the second place B (two places) is 10 ms (milliseconds) as an example (but not limited to this), and the countdown 0:0:3.862=09:10:15.000-09:10:11.138.
When both the controlling device 10 and the controlled device 20 have completed the countdown, both the controlling device 10 and the controlled device 20 will start to play the music score of the same song note by note synchronously according to the sequencing information (e.g., 26) of the note starting position of the music score. Since the local time of both the controlling device 10 in the first place A and the controlled device 20 in the second place B will be calibrated with the standard time of the servo device 30, both the controlling device 10 and the controlled device 20 can play the music score of the same song note by note synchronously (see
As described in the above [3] synchronous playing of the music score note by note, both the controlling device 10 in the first place A and the controlled device 20 in the second place B play their respective music score synchronously note by note according to the same timestamp Ts, but if the time of the controlling device 10 in the first place A is not synchronized with the time of the controlled device 20 in the second place B, there will be a gap between the actual playing time of the first music score data playing unit 152 of the controlling device 10 and the second music score data playing unit 252 of the controlled device 20, so that they cannot be played in real synchronization. Therefore, ensuring that the time between the controlling device 10 (the first music score data playing unit 152) and the controlled device 20 (the second music score data playing unit 252) is the same is an important key to achieve the synchronous playing of the music score of the same song at the first place A and the second place B (two places).
In the flow chart as shown in
In step S54 to step S55, the second time calibration module 24 of the controlled device 20 periodically queries the standard time of the servo device 30 through the second communication module 23, so that the second time calibration module 24 calibrates the time of the controlled device 20 according to the standard time of the servo device 30 (i.e., the query result).
In step S56, the standard time module 35 of the servo device 30 provides the current standard time of the servo device 30 through the third communication module 33.
Further, the present disclosure also provides a computer-readable medium for a collaboration method for realizing online offsite synchronous ensemble, which is applied to a computing device or computer having a processor and/or a memory. Moreover, the computer-readable medium stores instructions, and the computer-readable medium can be executed by a computing device or computer through a processor and/or a memory, so as to execute the above-mentioned content when the computer-readable medium is executed. For example, the processor can be a microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), etc., and the memory can be a random access memory (RAM), a memory card, a hard disk (such as a cloud/network hard disk), database, etc., but not limited thereto.
To sum up, the collaboration system, method and computer-readable medium for realizing online offsite synchronous ensemble according to the present disclosure at least have the following features, advantages or technical effects.
1. The present disclosure can provide musicians in two or more places in different fields, respectively, through the controlling device and the controlled device to realize the function of playing the music score of the same song note by note synchronously, so as to meet the needs or effects of ensemble music in different places.
2. The present disclosure can provide an auxiliary mechanism similar to a visual virtual conductor during the ensemble process, that is, a mechanism for synchronizing the music score of the controlling device and the controlled device to be played note by note, so as to provide the user experience of long-distance offsite synchronous ensemble suitable for various situations (such as rehearsal or formal performance), it can also be suitable for song ensemble of various rhythms (such as slow/medium/fast).
3. The mechanism of the present disclosure for synchronizing the music score note by note at a distance in different places is an innovative application, which is significantly different from the conventional technique, and can also optimize the user experience of the offsite ensemble.
4. During the period when group practicing is unavailable or under special circumstances (such as a severe epidemic), the present disclosure can provide a safe, convenient and time-saving group practicing mode, and also has the opportunity to achieve the goal of collaboratively completing the recording or output of music albums in different places.
5. The present disclosure can combine low-latency audio transmission technique to provide a delay-free experience, that is, through an optimization adjustment of an end-to-end (i.e., controlling device/controlled device/servo device) process, and with the technique of synchronously playing the music score online note by note, it is beneficial to experience a high-quality, non-delayed experience comparable to an ensemble at the same location when multiple musicians (e.g., ensemble players) who are far apart (e.g., kilometers/hundreds of kilometers, different regions/cities/countries) perform group practice.
6. The standard time module of the servo device of the present disclosure can provide standard time to ensure that the time of the controlling device and the controlled device is the same or synchronized, and can also achieve that the controlling device and the controlled device in two or more places (such as the first place and the second place) will play the music score of the same song synchronously note by note.
The foregoing embodiments are provided for the purpose of illustrating the principles and effects of the present disclosure, rather than limiting the present disclosure. Anyone skilled in the art can modify and alter the above embodiments without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection with regard to the present disclosure should be as defined in the accompanying claims listed below.
Number | Date | Country | Kind |
---|---|---|---|
111104073 | Jan 2022 | TW | national |