[go: up one dir, main page]

KR102785178B1 - Apparatus and method for providing joint performance based on network - Google Patents

Apparatus and method for providing joint performance based on network Download PDF

Info

Publication number
KR102785178B1
KR102785178B1 KR1020200023656A KR20200023656A KR102785178B1 KR 102785178 B1 KR102785178 B1 KR 102785178B1 KR 1020200023656 A KR1020200023656 A KR 1020200023656A KR 20200023656 A KR20200023656 A KR 20200023656A KR 102785178 B1 KR102785178 B1 KR 102785178B1
Authority
KR
South Korea
Prior art keywords
performance data
frequency
individual performance
performer
accompaniment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020200023656A
Other languages
Korean (ko)
Other versions
KR20210108715A (en
Inventor
안지용
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020200023656A priority Critical patent/KR102785178B1/en
Publication of KR20210108715A publication Critical patent/KR20210108715A/en
Application granted granted Critical
Publication of KR102785178B1 publication Critical patent/KR102785178B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/341Rhythm pattern selection, synthesis or composition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

본 발명은, 네트워크에 기반한 합동 공연을 제공하는 장치 및 그 방법에 관한 것으로, 본 발명의 네트워크를 통해 연결된 복수의 연주자 장치의 합동 공연을 제공하는 서버는, 네트워크를 통해 상기 복수의 연주자 장치 각각으로부터 반주 음원, 고주파 비트 및 연주자 음원이 합성된 개별 연주 데이터를 실시간 수신하는 통신부, 상기 수신된 복수의 개별 연주 데이터 각각에 포함된 상기 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는 동기화부, 그리고 상기 동기화된 고주파 비트들에 기초하여 상기 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 생성하는 음원 합성부를 포함한다. The present invention relates to a device and a method for providing a joint performance based on a network, wherein a server for providing a joint performance of a plurality of performer devices connected through a network of the present invention comprises a communication unit for receiving individual performance data in which an accompaniment sound source, a high-frequency beat, and a performer sound source are synthesized from each of the plurality of performer devices through the network in real time, a synchronization unit for performing synchronization correction by synchronizing the high-frequency beats included in each of the received plurality of individual performance data, and a sound source synthesis unit for generating joint performance data by mixing the plurality of performer sound sources based on the synchronized high-frequency beats.

Description

네트워크에 기반한 합동 공연을 제공하는 장치 및 그 방법{APPARATUS AND METHOD FOR PROVIDING JOINT PERFORMANCE BASED ON NETWORK}{APPARATUS AND METHOD FOR PROVIDING JOINT PERFORMANCE BASED ON NETWORK}

본 발명은 원거리 연주자들의 라이브 합동 공연을 온라인으로 실시간 제공하는 네트워크에 기반한 합동 공연을 제공하는 장치 및 그 방법에 관한 것이다.The present invention relates to a network-based joint performance providing live joint performances of remote performers online in real time, and a method therefor.

오케스트라나 합창은 모든 연주자나 가수가 같은 공간에서 동시에 연주해야 다양한 음색이 불협화음 없이 어우러져 하모니를 이룰 수 있다. 그러나, 원거리의 복수의 연주자들이 모두 같은 공간에 같은 시간 모여야 한다는 제약이 있다. An orchestra or choir requires all musicians or singers to play simultaneously in the same space so that various tones can blend together without dissonance and create harmony. However, there is a limitation that multiple musicians from a distance must all gather in the same space at the same time.

한편, 상기와 같은 제약에서 벗어나고자, 원거리 연주자들이 각자 자신의 노래, 악기 연주 음원 파일을 네트워크를 통해 음원 합성 장치로 전송하고, 음원 합성 장치는 복수의 개별 음원 파일을 하나의 완성된 합동 공연 음원 파일로 만들어 관객에게 제공하는 것을 고려할 수 있다. 원거리 연주자들이 자신의 개별 음원 파일 전체를 음원 합성 장치로 전송하면, 음원 합성 장치는 복수의 개별 음원 파일을 각각 다운로드 받아 저장하고, 저장된 개별 음원 파일들의 싱크를 맞춰 재생하면서 하나의 완성된 합동 공연 음원 파일로 만들 수 있다. Meanwhile, in order to escape from the above restrictions, it may be considered that remote performers each transmit their song and instrument performance sound files to a sound synthesizer through a network, and that the sound synthesizer synthesizes the multiple individual sound files into one complete joint performance sound file and provides it to the audience. When remote performers transmit all of their individual sound files to the sound synthesizer, the sound synthesizer can download and store the multiple individual sound files, and play them in sync to create one complete joint performance sound file.

그러나, 상기와 같은 방법을 실시간 라이브로 진행되는 것을 전제로 고려하면 다양한 문제에 직면하게 된다. 우선, 원거리 연주자들이 네트워크를 통해 개별 음원 데이터를 전송할 때, 네트워크 경로가 각각 다르다. 그로 인해, 실시간 변동되는 네트워크 환경에서 개별 음원 데이터마다 음원 합성 장치에 도착하는 시간은 실시간으로 변하게 된다. 또한, 연주 음원을 녹음하는 장치들의 성능이 각각 다르므로, 녹음하는 과정에서 발생하는 딜레이 시간도 달라지게 된다. However, if the above method is considered as being performed in real time, various problems will be encountered. First, when remote performers transmit individual sound source data through the network, the network path is different for each. Therefore, in a network environment that changes in real time, the time for each sound source data to arrive at the sound source synthesis device will change in real time. In addition, since the performance of the devices that record the performance sound source is different for each, the delay time that occurs during the recording process will also vary.

따라서, 음원 합성 장치가, 불협화음 없이 합동 공연 음원 데이터를 온라인으로 실시간 제공하는 것은 쉽지 않다. 이에, 원거리 연주자들의 라이브 합동 공연을 온라인으로 실시간 제공하기 위해서는, 네트워크를 통해 전송되는 복수의 개별 음원 데이터를 불협화음 없이 실시간 합성할 수 있는 방안이 요구된다. Therefore, it is not easy for a sound source synthesis device to provide joint performance sound source data online in real time without dissonance. Accordingly, in order to provide live joint performances of remote performers online in real time, a method is required that can synthesize multiple individual sound source data transmitted through a network in real time without dissonance.

본 발명은 네트워크를 통해 전송되는 복수의 연주자 음원을 고주파 비트들의 싱크를 맞추어 실시간 합성하고 합성된 음원을 실시간 재생함으로써 원거리 연주자들의 라이브 합동 공연을 온라인으로 실시간 제공하는 네트워크에 기반한 합동 공연을 제공하는 장치 및 그 방법을 제공하고자 한다. The present invention provides a network-based joint performance device and method for providing a live joint performance of remote performers online in real time by synthesizing a plurality of performer sound sources transmitted through a network in real time by synchronizing high-frequency beats and playing the synthesized sound sources in real time.

본 발명의 일 특징에 따른 서버는, 네트워크를 통해 연결된 복수의 연주자 장치의 합동 공연을 제공하는 서버로서, 네트워크를 통해 상기 복수의 연주자 장치 각각으로부터 반주 음원, 고주파 비트 및 연주자 음원이 합성된 개별 연주 데이터를 실시간 수신하는 통신부, 상기 수신된 복수의 개별 연주 데이터 각각에 포함된 상기 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는 동기화부, 그리고 상기 동기화된 고주파 비트들에 기초하여 상기 복수의 개별 연주 데이터에 포함된 상기 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 생성하는 음원 합성부를 포함하고, 상기 고주파 비트는, 비가청 주파수 대역의 주파수 비트를 포함한다. According to one feature of the present invention, a server is a server that provides a joint performance of a plurality of player devices connected through a network, the server including a communication unit that receives individual performance data in which an accompaniment sound source, a high-frequency beat, and a player sound source are synthesized from each of the plurality of player devices through the network in real time, a synchronization unit that performs synchronization correction by synchronizing the high-frequency beats included in each of the received plurality of individual performance data, and a sound source synthesis unit that mixes the plurality of player sound sources included in the plurality of individual performance data based on the synchronized high-frequency beats to generate joint performance data, wherein the high-frequency beats include frequency beats in an inaudible frequency band.

상기 서버는, 상기 반주 음원에 상기 고주파 비트를 소정 주기로 복수 개 합성하여 반주 데이터를 생성하는 반주 생성부를 더 포함하고, 상기 통신부는, 상기 합동 공연이 시작되면 상기 반주 데이터를 상기 복수의 연주자 장치로 동시에 스트리밍할 수 있다. The server further includes an accompaniment generation unit that generates accompaniment data by synthesizing a plurality of the high-frequency beats into the accompaniment sound source at a predetermined cycle, and the communication unit can simultaneously stream the accompaniment data to the plurality of performer devices when the joint performance begins.

상기 통신부는, 상기 음원 합성부에서 생성된 상기 합동 공연 데이터를 출력장치로 스트리밍할 수 있다. The above communication unit can stream the joint performance data generated by the sound source synthesis unit to an output device.

상기 동기화부는, 상기 고주파 비트들의 주기가 도래할 때마다 해당 시점에 대응되는 상기 고주파 비트들의 싱크를 맞추어 실시간 동기화 보정을 수행할 수 있다. The above-mentioned synchronization unit can perform real-time synchronization correction by synchronizing the high-frequency bits corresponding to the corresponding point in time whenever the cycle of the high-frequency bits arrives.

상기 동기화부는, 상기 합동 공연 데이터를 구성하는 상기 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고 최후에 도달한 개별 연주 데이터에 포함된 고주파 비트에 상기 기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행할 수 있다. The above synchronization unit can temporarily store the plurality of individual performance data that have already been received until all of the plurality of individual performance data that constitute the joint performance data have been received, and perform synchronization correction by synchronizing the high-frequency bits included in the plurality of individual performance data that have already been received to the high-frequency bits included in the individual performance data that has finally arrived.

본 발명의 다른 특징에 따른 방법은, 서버가 네트워크를 통해 연결된 복수의 연주자 장치의 합동 공연을 제공하는 방법으로서, 반주 음원에 고주파 비트를 소정 주기로 복수 개 합성하여 반주 데이터를 생성하는 단계, 상기 합동 공연이 시작되면 상기 네트워크를 통해 상기 복수의 연주자 장치로 상기 반주 데이터를 동시에 스트리밍하는 단계, 상기 네트워크를 통해 상기 복수의 연주자 장치 각각으로부터 상기 반주 데이터에 연주자 음원이 합성된 개별 연주 데이터를 실시간 수신하는 단계, 상기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크가 일치하는지 판단하는 단계, 판단 결과에 따라 상기 복수의 개별 연주 데이터 각각에 포함된 상기 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는 단계, 그리고 상기 동기화된 고주파 비트들에 기초하여 상기 복수의 개별 연주 데이터에 포함된 상기 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 생성하는 단계를 포함한다. According to another aspect of the present invention, a method is provided as a method for providing a joint performance of a plurality of player devices connected to a server through a network, the method comprising the steps of: generating accompaniment data by synthesizing a plurality of high-frequency beats into an accompaniment sound source at a predetermined cycle; streaming the accompaniment data simultaneously to the plurality of player devices through the network when the joint performance starts; receiving individual performance data in which a player sound source is synthesized into the accompaniment data from each of the plurality of player devices through the network in real time; determining whether the sync of the high-frequency beats included in the plurality of received individual performance data matches; performing synchronization correction by aligning the sync of the high-frequency beats included in each of the plurality of individual performance data according to the determination result; and generating joint performance data by mixing the plurality of player sound sources included in the plurality of individual performance data based on the synchronized high-frequency beats.

상기 고주파 비트는, 비가청 주파수 대역의 주파수 비트를 포함할 수 있다. The above high frequency bits may include frequency bits in an inaudible frequency band.

상기 동기화 보정을 수행하는 단계는, 상기 합동 공연 데이터를 구성하는 상기 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고 최후에 도달한 개별 연주 데이터에 포함된 고주파 비트에 상기 기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행할 수 있다. The step of performing the above synchronization correction may include temporarily storing the plurality of individual performance data that have already been received until all of the plurality of individual performance data constituting the joint performance data have been received, and performing synchronization correction by synchronizing the high-frequency bits included in the plurality of individual performance data that have already been received to the high-frequency bits included in the individual performance data that has finally arrived.

상기 고주파 비트들의 싱크가 일치하는지 판단하는 단계는, 상기 고주파 비트의 주기가 도래할 때마다 해당 시점에 대응되는 상기 고주파 비트들의 싱크가 일치하는지 판단할 수 있다. The step of determining whether the syncs of the high-frequency bits match can determine whether the syncs of the high-frequency bits corresponding to a point in time match each time the cycle of the high-frequency bits arrives.

상기 합동 공연 데이터를 생성하는 단계는, 상기 생성된 합동 공연 데이터를 출력장치로 스트리밍할 수 있다. The step of generating the above joint performance data can stream the generated joint performance data to an output device.

본 발명은, 복수의 고주파 비트 각각의 싱크를 맞춰 복수의 개별 연주 데이터를 합성함으로써 정확하고 신속하게 복수의 연주자 음원을 동기화할 수 있다. The present invention can accurately and quickly synchronize multiple performer sound sources by synthesizing multiple individual performance data by synchronizing each of multiple high-frequency beats.

본 발명은, 불협화음 없는 원거리 연주자들의 라이브 합동 공연을 온라인으로 실시간 제공할 수 있다. The present invention can provide a live joint performance of remote performers online in real time without dissonance.

본 발명은, 합동 공연을 위해 지정된 장소로 복수의 연주자들이 이동하는데 걸리는 시간 및 비용을 절약할 수 있다. The present invention can save time and cost incurred by multiple performers moving to a designated location for a joint performance.

도 1은 일 실시예에 따라 네트워크에 기반한 합동 공연 시스템을 보여주는 도면이다.
도 2는 도 1의 서버의 기능을 설명하는 블록도이다.
도 3은 일 실시예에 따라 네트워크를 통해 전송된 개별 연주 데이터의 도달 지연 원인을 설명하는 도면이다.
도 4는 일 실시예에 따라 네트워크를 통해 전송된 복수의 개별 연주 데이터의 도달 지연 상태를 비교 설명하는 도면이다.
도 5는 일 실시예에 따라 복수의 개별 연주 데이터의 최초 동기화 후 합동 공연 데이터를 생성하는 것을 설명하는 도면이다.
도 6은 일 실시예에 따라 합동 공연이 진행되는 동안 복수의 개별 연주 데이터의 실시간 동기화 후 합동 공연 데이터를 생성하는 것을 설명하는 도면이다.
도 7은 일 실시예에 따라 네트워크에 기반한 합동 공연 방법을 설명하는 흐름도이다.
FIG. 1 is a diagram showing a network-based joint performance system according to one embodiment.
Figure 2 is a block diagram explaining the functions of the server of Figure 1.
FIG. 3 is a diagram explaining the cause of the arrival delay of individual performance data transmitted through a network according to one embodiment.
FIG. 4 is a diagram comparing and explaining the arrival delay status of a plurality of individual performance data transmitted through a network according to one embodiment.
FIG. 5 is a diagram illustrating generation of joint performance data after initial synchronization of multiple individual performance data according to one embodiment.
FIG. 6 is a diagram illustrating the generation of joint performance data after real-time synchronization of multiple individual performance data while a joint performance is in progress according to one embodiment.
FIG. 7 is a flowchart illustrating a network-based joint performance method according to one embodiment.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the attached drawings, and identical or similar components will be given the same or similar drawing reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and/or "part" used for components in the following description are given or used interchangeably only for the convenience of writing the specification, and do not in themselves have distinct meanings or roles. In addition, when describing the embodiments disclosed in this specification, if it is determined that a specific description of a related known technology may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the attached drawings are only intended to facilitate easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the attached drawings, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms that include ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The terms are used only to distinguish one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When it is said that a component is "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components in between. On the other hand, when it is said that a component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, it should be understood that terms such as “comprises” or “has” are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.

도 1은 일 실시예에 따라 네트워크에 기반한 합동 공연 시스템을 보여주는 도면이다. FIG. 1 is a diagram showing a network-based joint performance system according to one embodiment.

도 1을 참고하면, 네트워크에 기반한 합동 공연 시스템(1)은 복수의 연주자 장치(100a, 100b, …, 100n), 서버(200) 및 출력장치(300)를 포함한다. Referring to FIG. 1, a network-based joint performance system (1) includes a plurality of performer devices (100a, 100b, ..., 100n), a server (200), and an output device (300).

합동 공연 시스템(1)은 LA, 부산, 프랑스 등 원거리에 있는 복수의 연주자들의 개별 연주를 네트워크를 통해 하나의 합동 공연으로 라이브 방송한다. 합동 공연 시스템(1)은, 네트워크로 연결된 복수의 연주자 장치(100a, 100b, …, 100n), 서버(200) 및 출력장치(300)를 포함하여, 이하 설명할 반주 데이터, 개별 연주 데이터 및 합동 공연 데이터를 네트워크를 통해 실시간 송수신할 수 있다. The joint performance system (1) broadcasts live individual performances of multiple performers located in remote locations such as LA, Busan, and France as a single joint performance through a network. The joint performance system (1) includes multiple performer devices (100a, 100b, ..., 100n), a server (200), and an output device (300) connected to a network, and can transmit and receive accompaniment data, individual performance data, and joint performance data, which will be described below, in real time through a network.

네트워크는, 디지털 신호로 변환된 반주 데이터, 개별 연주 데이터 및 합동 공연 데이터를 초고속, 초저지연으로 전송할 수 있는 5G 네트워크를 포함하나, 이에 한정되는 것은 아니다. 네트워크는 디지털 음악/영상 데이터 전송을 지원하는 각종 통신 프로토콜을 따르는 LTE 네트워크 등의 이동통신망, 인터넷, 공중전화망 등을 포함한다. The network includes, but is not limited to, a 5G network capable of transmitting accompaniment data, individual performance data, and joint performance data converted into digital signals at ultra-high speeds and ultra-low delays. The network includes mobile communication networks such as LTE networks, the Internet, and public telephone networks that follow various communication protocols that support digital music/video data transmission.

복수의 연주자 장치(100a, 100b, …, 100n) 각각은 서버(200)로부터 전송된 반주 데이터에 맞추어 노래 또는 악기를 연주하는 연주자의 음원을 반주 데이터와 믹싱하여 개별 연주 데이터를 생성한다. 그리고, 복수의 연주자 장치(100a, 100b, …, 100n) 각각은 생성된 개별 연주 데이터를 서버(200)로 실시간 피드백 한다. 이때, 연주자의 음원은 음원 자체에 한정되는 것은 아니며, 연주자의 음원이 포함된 연주 영상을 포함할 수 있다. Each of the plurality of player devices (100a, 100b, ..., 100n) generates individual performance data by mixing the sound source of the player playing a song or an instrument with the accompaniment data transmitted from the server (200). Then, each of the plurality of player devices (100a, 100b, ..., 100n) feeds back the generated individual performance data to the server (200) in real time. At this time, the sound source of the player is not limited to the sound source itself, and may include a performance video including the sound source of the player.

도 1에서, 복수의 연주자 장치(100a, 100b, …, 100n) 각각은 연주자가 있는 LA, 부산, 프랑스 등과 같이 서로 원거리에 위치할 수 있다. 예를 들어, 복수의 연주자 장치(100a, 100b, …, 100n) 각각은 반주 데이터를 수신하는 수신부, 수신된 반주 데이터를 연주자에게 송출하는 스피커, 연주자가 송출되는 반주 데이터에 맞추어 노래/연주하면 연주자의 음원(예를 들어, 노래, 악기 연주 등)을 입력 받아 반주 데이터와 실시간 믹싱(mixing)하는 합성부, 연주자의 음원과 반주 데이터가 믹싱된 개별 연주 데이터를 서버(200)로 실시간 전송하는 전송부를 포함할 수 있다. In Fig. 1, each of the plurality of player devices (100a, 100b, ..., 100n) may be located remotely from each other, such as in LA, Busan, France, etc., where the player is located. For example, each of the plurality of player devices (100a, 100b, ..., 100n) may include a receiving unit that receives accompaniment data, a speaker that transmits the received accompaniment data to the player, a synthesis unit that receives the player's sound source (e.g., singing, playing an instrument, etc.) and mixes it with the accompaniment data in real time when the player sings/plays along with the transmitted accompaniment data, and a transmission unit that transmits individual performance data in which the player's sound source and accompaniment data are mixed to a server (200) in real time.

서버(200)는 실시간 전송되는 복수의 개별 연주 데이터를 동기화 보정 후 합성(mixing)하여 합동 공연 데이터를 스트리밍(streaming)한다. 예를 들어, 서버(200)는 반주 데이터에 포함된 고주파 비트에 기초하여 동기화를 실시간 수행함으로써 원거리에 있는 복수의 연주자들의 개별 연주를 하나의 합동 공연으로 라이브 방송할 수 있다. The server (200) performs synchronization correction on multiple individual performance data transmitted in real time and then synthesizes (mixes) them to stream joint performance data. For example, the server (200) can perform synchronization in real time based on high-frequency beats included in the accompaniment data, thereby live broadcasting the individual performances of multiple performers located at a distance as a single joint performance.

출력장치(300)는 서버(200)에서 전송되는 합동 공연 데이터를 실시간 재생하여 출력한다. 예를 들어, 출력장치(300)는 콘서트 홀, 공공 장소나 가정 등에 설치된 TV, 이동통신 단말, 네트워크에 연결된 각종 디스플레이 장치 등을 포함할 수 있다. The output device (300) reproduces and outputs joint performance data transmitted from the server (200) in real time. For example, the output device (300) may include a TV installed in a concert hall, public place, or home, a mobile communication terminal, various display devices connected to a network, etc.

도 2는 도 1의 서버의 기능을 설명하는 블록도이고, 도 3은 일 실시예에 따라 네트워크를 통해 전송된 개별 연주 데이터의 도달 지연 원인을 설명하는 도면이고, 도 4는 일 실시예에 따라 네트워크를 통해 전송된 복수의 개별 연주 데이터의 도달 지연 상태를 비교 설명하는 도면이고, 도 5는 일 실시예에 따라 복수의 개별 연주 데이터의 최초 동기화 후 합동 공연 데이터를 생성하는 것을 설명하는 도면이고, 도 6은 일 실시예에 따라 합동 공연이 진행되는 동안 복수의 개별 연주 데이터의 실시간 동기화 후 합동 공연 데이터를 생성하는 것을 설명하는 도면이다. FIG. 2 is a block diagram illustrating the function of the server of FIG. 1, FIG. 3 is a diagram illustrating a cause of delay in arrival of individual performance data transmitted through a network according to one embodiment, FIG. 4 is a diagram comparing and explaining a state of delay in arrival of a plurality of individual performance data transmitted through a network according to one embodiment, FIG. 5 is a diagram illustrating generating joint performance data after initial synchronization of a plurality of individual performance data according to one embodiment, and FIG. 6 is a diagram illustrating generating joint performance data after real-time synchronization of a plurality of individual performance data while a joint performance is in progress according to one embodiment.

도 2를 참고하면, 서버(200)는 통신부(210), 반주 생성부(220), 동기화부(230) 및 음원 합성부(240)를 포함한다. Referring to FIG. 2, the server (200) includes a communication unit (210), an accompaniment generation unit (220), a synchronization unit (230), and a sound source synthesis unit (240).

통신부(210)는 서버(200)와 복수의 연주자 장치(100a, 100b, …, 100n) 그리고 서버(200)와 출력장치(300) 사이에 위치한 네트워크에서 무선 통신을 가능하게 하여 반주 데이터 및 합동 공연 데이터를 전송하거나 개별 연주 데이터를 수신할 수 있는 모듈을 포함할 수 있다. 예를 들어, 통신부(210)는 이동 통신 모듈(예를 들어, 5G, LTE 등), 무선 인터넷 모듈, 및 근거리 통신 모듈 등을 포함할 수 있다. The communication unit (210) may include a module that enables wireless communication in a network located between the server (200) and a plurality of performer devices (100a, 100b, ..., 100n) and the server (200) and the output device (300) to transmit accompaniment data and joint performance data or receive individual performance data. For example, the communication unit (210) may include a mobile communication module (e.g., 5G, LTE, etc.), a wireless Internet module, and a short-range communication module.

통신부(210)는 합동 공연이 시작되면 네트워크를 통해 복수의 연주자 장치(100a, 100b, …, 100n)로 반주 데이터를 동시에 스트리밍한다. 통신부(210)는 합동 공연이 진행되는 동안 복수의 연주자 장치(100a, 100b, …, 100n) 각각으로부터 개별 연주 데이터를 실시간 수신하여 동기화부(230)에 전달한다. 또한, 통신부(210)는 합동 공연이 진행되는 동안 음원 합성부(240)에서 생성되는 합동 공연 데이터를 출력장치(300)로 스트리밍한다. When a joint performance begins, the communication unit (210) simultaneously streams accompaniment data to multiple performer devices (100a, 100b, ..., 100n) via a network. While the joint performance is in progress, the communication unit (210) receives individual performance data from each of the multiple performer devices (100a, 100b, ..., 100n) in real time and transmits it to the synchronization unit (230). In addition, the communication unit (210) streams joint performance data generated by the sound source synthesis unit (240) to the output device (300) while the joint performance is in progress.

반주 생성부(220)는 합동 공연을 위한 반주 음원에 고주파 비트를 소정 주기로 복수 개 합성하여 반주 데이터를 생성한다. 도 3을 참고하면, 반주 생성부(220)는 소정 주기(예를 들어, 1ms)로 반주 음원의 시작부터 끝까지 고주파 비트를 복수 개(bit1, bit2,…, bitN) 합성하여 반주 데이터(AD: accompaniment data)를 생성할 수 있다. The accompaniment generation unit (220) generates accompaniment data by synthesizing multiple high-frequency beats at a predetermined cycle for an accompaniment sound source for a joint performance. Referring to Fig. 3, the accompaniment generation unit (220) can generate accompaniment data (AD: accompaniment data) by synthesizing multiple high-frequency beats (bit1, bit2, ..., bitN) from the beginning to the end of the accompaniment sound source at a predetermined cycle (e.g., 1 ms).

고주파 비트는, 합동 공연 데이터 생성 시 복수의 개별 연주 데이터의 동기화를 위해 반주 데이터에 합성된다. 합동 공연이 시작되면, 복수의 연주자 장치(100a, 100b, …, 100n) 각각은 동일한 반주 데이터(AD)에 연주자의 음원을 믹싱하여 개별 연주 데이터를 생성한다. 따라서, 주기적으로 합성된 복수의 고주파 비트의 싱크(SYNC)를 각각 맞추어 복수의 개별 연주 데이터에 포함된 연주자 음원을 믹싱하면 연주자의 음원들도 딜레이 없이 하나의 하모니를 이룰 수 있다. 예를 들어, 고주파 비트는, 가청 주파수(20~20,000HZ) 이상인 30,000HZ 대역의 주파수 비트를 포함하여, 노래 반주를 듣고 노래하거나 악기를 연주하는 연주자에게 미치는 불편함을 줄일 수 있다. The high-frequency beats are synthesized into the accompaniment data for synchronizing multiple individual performance data when generating joint performance data. When the joint performance starts, each of the multiple performer devices (100a, 100b, ..., 100n) mixes the performer's sound source into the same accompaniment data (AD) to generate individual performance data. Therefore, by mixing the performer's sound sources included in the multiple individual performance data by respectively matching the sync of the multiple periodically synthesized high-frequency beats, the performer's sound sources can also form a single harmony without delay. For example, the high-frequency beats can reduce discomfort to performers who sing or play instruments while listening to the accompaniment of a song by including frequency beats in the 30,000 Hz band, which is higher than the audible frequency (20 to 20,000 Hz).

도 1 및 도 3을 참고하면, 네트워크 환경 및 복수의 연주자 장치(100a, 100b, …, 100n)의 성능 등의 차이로 개별 연주 데이터(VRF: video recording file)가 서버(200)로 실시간 전송되는 과정에서 제1 지연(①), 제2 지연(②) 및 제3 지연(③)이 발생할 수 있다. Referring to FIGS. 1 and 3, a first delay (①), a second delay (②), and a third delay (③) may occur during the process in which individual performance data (VRF: video recording file) is transmitted in real time to a server (200) due to differences in network environment and performance of multiple performer devices (100a, 100b, ..., 100n).

구체적으로, 반주 생성부(220)는, 합동 공연이 시작되면 통신부(210)를 통해 반주 데이터(AD)를 복수의 연주자 장치(100a, 100b, …, 100n)로 동시에 스트리밍한다. 그러나, 반주 데이터(AD)가 복수의 연주자 장치(100a, 100b, …, 100n) 각각에 도달하는 경로가 상이하여 네트워크 환경에 따른 제1 지연(①)이 발생할 수 있다. 또한, 복수의 연주자 장치(100a, 100b, …, 100n) 각각의 성능이나 상태는 상이하므로, 연주자의 음원을 반주 데이터와 믹싱(mixing)하는 과정에서 제2 지연(②)이 발생할 수 있다. 이후, 개별 연주 데이터(VRF)가 서버(200)로 전송되는 과정에서도 네트워크 환경에 따른 제3 지연(③)이 발생할 수 있다. 따라서, 복수의 연주자의 음원이 하나의 합동 공연 음원(협주, 합창, 오케스트라 등)으로 하모니를 이루기 위해서는, 복수의 연주자 장치(100a, 100b, …, 100n) 각각으로부터 실시간 전송되는 복수의 개별 연주 데이터가 하나의 합동 공연 데이터로 믹싱(mixing)되기 전에 동기화가 필요하다. Specifically, the accompaniment generation unit (220) simultaneously streams accompaniment data (AD) to a plurality of performer devices (100a, 100b, ..., 100n) via the communication unit (210) when a joint performance begins. However, since the path by which the accompaniment data (AD) reaches each of the plurality of performer devices (100a, 100b, ..., 100n) is different, a first delay (①) may occur depending on the network environment. In addition, since the performance or status of each of the plurality of performer devices (100a, 100b, ..., 100n) is different, a second delay (②) may occur in the process of mixing the performer's sound source with the accompaniment data. Thereafter, a third delay (③) may occur depending on the network environment even in the process of transmitting the individual performance data (VRF) to the server (200). Therefore, in order for the sound sources of multiple performers to harmonize into a single joint performance sound source (concert, choir, orchestra, etc.), synchronization is required before the multiple individual performance data transmitted in real time from each of the multiple performer devices (100a, 100b, ..., 100n) are mixed into a single joint performance data.

동기화부(230)는 복수의 개별 연주 데이터의 최초 고주파 비트들의 싱크를 맞추는 최초 동기화 보정을 수행한다. 복수의 개별 연주 데이터 각각은, 반주 음원, 고주파 비트 및 연주자 음원을 포함한다. 연주자 음원은, 복수의 연주자 각각의 노래, 악기 연주 등의 다양한 음원을 포함할 수 있다. The synchronization unit (230) performs an initial synchronization correction to synchronize the initial high-frequency beats of a plurality of individual performance data. Each of the plurality of individual performance data includes an accompaniment sound source, a high-frequency beat, and a performer sound source. The performer sound source may include various sound sources such as songs and instrumental performances of each of the plurality of performers.

예를 들어, 동기화부(230)는 합동 공연 데이터를 구성하는 마지막 개별 연주 데이터가 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고, 최후에 도달한 개별 연주 데이터의 제1 고주파 비트(bit1)에 기 수신된 복수의 개별 연주 데이터의 제1 고주파 비트들의 싱크(SYNC)를 맞춘다. For example, the synchronization unit (230) temporarily stores a plurality of individual performance data that have already been received until the last individual performance data constituting the joint performance data is received, and synchronizes the first high-frequency bits (bit1) of the plurality of individual performance data that have already been received to the first high-frequency bit of the last arrived individual performance data.

도 4를 참고하면, 예상 도착 시간(ETA, Estimated Time of Arrive)을 기준으로, 제1 개별 연주 데이터(A)는 3ms, 제2 개별 연주 데이터(B)는 12ms, 제3 개별 연주 데이터(C)는 8ms, 제4 개별 연주 데이터(D)는 0ms 지연되어 도착한 것으로 가정한다. Referring to Fig. 4, it is assumed that the first individual performance data (A) arrives with a delay of 3 ms, the second individual performance data (B) with a delay of 12 ms, the third individual performance data (C) with a delay of 8 ms, and the fourth individual performance data (D) with a delay of 0 ms based on the estimated time of arrival (ETA).

도 4 및 도 5를 참고하면, 동기화부(230)는 제1 내지 제4 개별 연주 데이터(A, B, C, D) 중 마지막에 도달한 제2 개별 연주 데이터(B)의 최초 고주파 비트(bit1)에 제1, 3, 4 개별 연주 데이터(A, C, D)의 최초 고주파 비트(bit1)들의 싱크를 맞추어 최초 동기화 보정을 수행한다. 예를 들어, 동기화부(230)는, 제2 개별 연주 데이터(B)가 도달할 때까지 제1, 3, 4 개별 연주 데이터(A, C, D)를 버퍼에 저장하고, 제2 개별 연주 데이터(B)가 도달하면 제1 내지 제4 개별 연주 데이터(A, B, C, D) 각각의 최초 고주파 비트(bit1)들의 싱크를 맞추어 최초 동기화 보정을 수행한다. Referring to FIGS. 4 and 5, the synchronization unit (230) synchronizes the first high-frequency bits (bit1) of the first, third, and fourth individual performance data (A, C, D) to the first high-frequency bit (bit1) of the second individual performance data (B) that arrives last among the first to fourth individual performance data (A, B, C, D) to perform the initial synchronization correction. For example, the synchronization unit (230) stores the first, third, and fourth individual performance data (A, C, D) in a buffer until the second individual performance data (B) arrives, and when the second individual performance data (B) arrives, synchronizes the first high-frequency bits (bit1) of each of the first to fourth individual performance data (A, B, C, D) to perform the initial synchronization correction.

동기화부(230)는, 최초 고주파 비트에 대한 동기화 보정 이후에도, 고주파 비트의 주기가 도래할 때마다 복수의 개별 연주 데이터의 고주파 비트들의 싱크를 맞추는 동기화 보정을 반복 수행한다. 예를 들어, 동기화부(230)는, 고주파 비트의 주기가 도래할 때마다 해당 시점에 대응되는 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고, 최후에 도달한 개별 연주 데이터의 고주파 비트에 기 수신된 복수의 개별 연주 데이터의 고주파 비트들의 싱크를 맞춘다. The synchronization unit (230) repeatedly performs synchronization correction to synchronize the high-frequency bits of the plurality of individual performance data whenever the cycle of the high-frequency bit arrives, even after the synchronization correction for the first high-frequency beat. For example, the synchronization unit (230) temporarily stores the plurality of individual performance data that have already been received until all of the plurality of individual performance data corresponding to the corresponding point in time have been received whenever the cycle of the high-frequency beat arrives, and synchronizes the high-frequency bits of the plurality of individual performance data that have already been received to the high-frequency bits of the individual performance data that have finally arrived.

도 6을 참고하면, 첫 번째 고주파 비트(bit1) 내지 세 번째 고주파 비트(bit3)에 대응하는 동기화 보정이 수행된 이후에, 예를 들어, 네 번째 고주파 비트(bit4)에 대응하는 제1 내지 제4 개별 연주 데이터(A, B, C, D) 중 제4 개별 연주 데이터(D)가 소정 시간 지연되어 마지막에 도달 했다고 가정한다. 동기화부(230)는, 네 번째 고주파 비트(bit4)에 대응하는 제1, 2, 3 개별 연주 데이터(A, B, C)를 일시 저장하고, 제4 개별 연주 데이터(D)가 도달하는 시점에 네 번째 고주파 비트(bit4)들의 싱크(SYNC)를 맞추어 실시간 동기화 보정을 수행한다. Referring to FIG. 6, after synchronization correction corresponding to the first high-frequency bit (bit1) to the third high-frequency bit (bit3) is performed, it is assumed that, for example, the fourth individual performance data (D) among the first to fourth individual performance data (A, B, C, D) corresponding to the fourth high-frequency bit (bit4) arrives last with a predetermined time delay. The synchronization unit (230) temporarily stores the first, second, and third individual performance data (A, B, C) corresponding to the fourth high-frequency bit (bit4), and performs real-time synchronization correction by aligning the synchronization (SYNC) of the fourth high-frequency bit (bit4) at the time when the fourth individual performance data (D) arrives.

음원 합성부(240)는 동기화된 고주파 비트들에 기초하여 해당 시점의 고주파 비트에 대응하는 복수의 개별 연주 데이터를 믹싱하여 합동 공연 데이터를 생성한다. 예를 들어, 음원 합성부(240)는 고주파 비트들의 싱크가 맞춰진 복수의 개별 연주 데이터를 동기화부(230)로부터 실시간 전달받고, 동기화된 고주파 비트에 기초하여 복수의 개별 연주 데이터에 포함된 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 실시간 생성한다.The sound source synthesis unit (240) mixes a plurality of individual performance data corresponding to the high-frequency beats at a given point in time based on synchronized high-frequency beats to generate joint performance data. For example, the sound source synthesis unit (240) receives a plurality of individual performance data whose high-frequency beats are synchronized in real time from the synchronization unit (230), and mixes a plurality of performer sound sources included in the plurality of individual performance data based on the synchronized high-frequency beats to generate joint performance data in real time.

도 5를 참고하면, 음원 합성부(240)는 동기화된 최초 고주파 비트(bit1)들에 기초하여 대응하는 제1 내지 제4 개별 연주 데이터(A, B, C, D) 각각에 포함된 연주자 음원을 믹싱하여 합동 공연 데이터(JPD; Joint Performance Data)를 생성한다. 도 6을 참고하면, 음원 합성부(240)는 동기화된 네 번째 고주파 비트(bit4)들에 기초하여 대응하는 제1 내지 제4 개별 연주 데이터(A, B, C, D) 각각에 포함된 연주자 음원을 믹싱하여 합동 공연 데이터(JPD)를 실시간 생성한다. 그러면, 합동 공연의 시작부터 끝까지 복수의 연주자의 음원이 딜레이 없이 하나의 합동 공연 음원으로 하모니를 이루어 방송될 수 있다. Referring to FIG. 5, the sound source synthesis unit (240) mixes the performer sound sources included in each of the corresponding first to fourth individual performance data (A, B, C, D) based on the synchronized first high-frequency bits (bit1) to generate joint performance data (JPD). Referring to FIG. 6, the sound source synthesis unit (240) mixes the performer sound sources included in each of the corresponding first to fourth individual performance data (A, B, C, D) based on the synchronized fourth high-frequency bits (bit4) to generate joint performance data (JPD) in real time. Then, the sound sources of multiple performers can be broadcast in harmony as a single joint performance sound source without delay from the beginning to the end of the joint performance.

도 7은 일 실시예에 따라 네트워크에 기반한 합동 공연 방법을 설명하는 흐름도이다. FIG. 7 is a flowchart illustrating a network-based joint performance method according to one embodiment.

서버(200)는 복수의 연주자 장치(100a, 100b, …, 100n) 및 출력장치(300)와 네트워크로 연결되어 각종 데이터를 실시간 송수신한다. 네트워크는, 디지털 신호로 변환된 반주 데이터, 개별 연주 데이터 및 합동 공연 데이터를 초고속, 초저지연으로 전송할 수 있는 5G 네트워크를 포함하나, 이에 한정되는 것은 아니다. 네트워크는 디지털 음악/영상 데이터 전송을 지원하는 각종 통신 프로토콜 규격을 따르는 LTE 네트워크 등의 이동통신망, 인터넷, 공중전화망 등을 포함한다. The server (200) is connected to a plurality of player devices (100a, 100b, ..., 100n) and an output device (300) via a network to transmit and receive various data in real time. The network includes, but is not limited to, a 5G network capable of transmitting accompaniment data, individual performance data, and joint performance data converted into digital signals at ultra-high speed and ultra-low delay. The network includes a mobile communication network such as an LTE network that follows various communication protocol standards supporting digital music/video data transmission, the Internet, a public telephone network, etc.

도 7을 참고하면, 우선, 서버(200)는 합동 공연이 시작되면 네트워크를 통해 복수의 연주자 장치(100a, 100b, …, 100n)로 반주 데이터를 동시에 스트리밍한다(S100). Referring to FIG. 7, first, when a joint performance begins, the server (200) simultaneously streams accompaniment data to multiple performer devices (100a, 100b, ..., 100n) through a network (S100).

S100 단계에서, 서버(200)는 합동 공연을 위한 반주 음원에 고주파 비트를 소정 주기로 복수 개 합성하여 합동 공연을 위한 반주 데이터를 생성한다. 도 3을 참고하면, 서버(200)는, 소정 주기(예를 들어, 1ms)로 반주 음원의 시작부터 끝까지 고주파 비트를 복수 개 합성하여 반주 데이터(AD: accompaniment data)를 생성할 수 있다. 예를 들어, 고주파 비트는, 가청 주파수(20~20,000HZ) 이상인 30,000HZ 대역의 주파수 비트를 포함하여, 노래 반주를 듣고 노래하거나 악기를 연주하는 연주자에게 미치는 불편함을 줄일 수 있다.In step S100, the server (200) synthesizes a plurality of high-frequency beats at a predetermined cycle for an accompaniment sound source for a joint performance to generate accompaniment data for the joint performance. Referring to FIG. 3, the server (200) can generate accompaniment data (AD: accompaniment data) by synthesizing a plurality of high-frequency beats from the beginning to the end of the accompaniment sound source at a predetermined cycle (e.g., 1 ms). For example, the high-frequency beats can include frequency beats in the 30,000 Hz band, which is higher than the audible frequency (20 to 20,000 Hz), and thus can reduce discomfort to a performer who sings or plays an instrument while listening to the accompaniment of a song.

S100 단계에서, 서버(200)는, 합동 공연이 시작되면 네트워크를 통해 복수의 연주자 장치(100a, 100b, …, 100n)로 반주 데이터를 동시에 스트리밍한다. 이때, 복수의 연주자 장치(100a, 100b, …, 100n) 각각은 반주 데이터(AD)에 연주자의 음원을 믹싱하여 개별 연주 데이터를 생성하고, 생성된 개별 연주 데이터를 서버(200)로 실시간 피드백 한다. 원거리의 연주자들은 동일한 반주 데이터(AD)의 음원에 맞추어 노래 또는 악기를 연주하므로, 개별 연주 데이터에 포함된 복수의 연주자의 음원들은 고주파 비트에 대응되는 지점에서 하모니를 이룬다. At step S100, the server (200) simultaneously streams accompaniment data to multiple performer devices (100a, 100b, ..., 100n) through the network when a joint performance begins. At this time, each of the multiple performer devices (100a, 100b, ..., 100n) mixes the performer's sound source with the accompaniment data (AD) to generate individual performance data, and feeds back the generated individual performance data to the server (200) in real time. Since remote performers sing or play instruments in accordance with the sound source of the same accompaniment data (AD), the sound sources of multiple performers included in the individual performance data form harmony at points corresponding to high-frequency beats.

다음으로, 서버(200)는 네트워크를 통해 복수의 연주자 장치(100a, 100b, …, 100n) 각각으로부터 복수의 개별 연주 데이터를 실시간 수신한다(S110). 복수의 개별 연주 데이터 각각은, 반주 음원, 고주파 비트 및 각각의 연주자 음원을 포함한다. 연주자 음원은, 복수의 연주자 각각의 노래, 악기 연주 등의 음원을 포함할 수 있다. Next, the server (200) receives in real time a plurality of individual performance data from each of a plurality of player devices (100a, 100b, ..., 100n) through the network (S110). Each of the plurality of individual performance data includes an accompaniment sound source, a high-frequency beat, and a sound source of each player. The sound source of the player may include a sound source of a song, a musical instrument performance, etc. of each of the plurality of players.

도 1 및 도 3을 참고하면, 네트워크 환경 및 복수의 연주자 장치(100a, 100b, …, 100n)의 성능 등의 차이로 개별 연주 데이터(VRF: video recording file)가 서버(200)로 실시간 전송되는 과정에서 제1 지연(①), 제2 지연(②) 및 제3 지연(③)이 발생할 수 있다. Referring to FIGS. 1 and 3, a first delay (①), a second delay (②), and a third delay (③) may occur during the process in which individual performance data (VRF: video recording file) is transmitted in real time to a server (200) due to differences in network environment and performance of multiple performer devices (100a, 100b, ..., 100n).

구체적으로, 서버(200)는, 합동 공연이 시작되면 통신부(210)를 통해 반주 데이터(AD)를 복수의 연주자 장치(100a, 100b, …, 100n)로 동시에 스트리밍한다. 그러나, 반주 데이터(AD)가 복수의 연주자 장치(100a, 100b, …, 100n) 각각에 도달하는 경로가 상이하여 네트워크 환경에 따른 제1 지연(①)이 발생할 수 있다. 또한, 복수의 연주자 장치(100a, 100b, …, 100n) 각각의 성능이나 상태는 상이하므로, 연주자의 음원을 반주 데이터와 믹싱(mixing)하는 과정에서 제2 지연(②)이 발생할 수 있다. 이후, 개별 연주 데이터(VRF)가 서버(200)로 전송되는 과정에서도 네트워크 환경에 따른 제3 지연(③)이 발생할 수 있다. 따라서, 복수의 연주자의 음원이 하나의 합동 공연 음원(협주, 합창, 오케스트라 등)으로 하모니를 이루기 위해서는, 복수의 연주자 장치(100a, 100b, …, 100n) 각각으로부터 실시간 전송되는 복수의 개별 연주 데이터가 하나의 합동 공연 데이터로 믹싱(mixing)되기 전에 동기화가 필요하다. Specifically, when a joint performance begins, the server (200) simultaneously streams accompaniment data (AD) to a plurality of performer devices (100a, 100b, ..., 100n) via the communication unit (210). However, since the path by which the accompaniment data (AD) reaches each of the plurality of performer devices (100a, 100b, ..., 100n) is different, a first delay (①) may occur depending on the network environment. In addition, since the performance or status of each of the plurality of performer devices (100a, 100b, ..., 100n) is different, a second delay (②) may occur in the process of mixing the performer's sound source with the accompaniment data. Thereafter, a third delay (③) may occur depending on the network environment even in the process of transmitting individual performance data (VRF) to the server (200). Therefore, in order for the sound sources of multiple performers to harmonize into a single joint performance sound source (concert, choir, orchestra, etc.), synchronization is required before the multiple individual performance data transmitted in real time from each of the multiple performer devices (100a, 100b, ..., 100n) are mixed into a single joint performance data.

다음으로, 서버(200)는 고주파 비트의 주기가 도래할 때마다 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크가 일치하는지 판단한다(S120). Next, the server (200) determines whether the sync of the high-frequency bits included in the plurality of individual performance data matches each time the cycle of the high-frequency bits arrives (S120).

다음으로, 고주파 비트들의 싱크가 일치하지 않으면(S120, No), 서버(200)는 복수의 개별 연주 데이터의 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행한다(S130). Next, if the sync of the high-frequency bits does not match (S120, No), the server (200) performs synchronization correction by aligning the sync of the high-frequency bits of multiple individual performance data (S130).

예를 들어, 서버(200)는, 합동 공연 데이터를 구성하는 마지막 개별 연주 데이터가 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고, 최후에 도달한 개별 연주 데이터의 최초 고주파 비트에 기 수신된 복수의 개별 연주 데이터의 최초 고주파 비트들의 맞추어 동기화 보정을 수행할 수 있다. For example, the server (200) may temporarily store a plurality of individual performance data that have already been received until the last individual performance data constituting the joint performance data is received, and perform synchronization correction by aligning the first high-frequency bits of the plurality of individual performance data that have already been received with the first high-frequency bits of the last arrived individual performance data.

서버(200)는, 최초 고주파 비트에 대한 동기화 보정 이후에도, 고주파 비트의 주기가 도래할 때마다 복수의 개별 연주 데이터의 고주파 비트들의 싱크를 맞추는 동기화 보정을 반복 수행할 수 있다. 예를 들어, 동기화부(230)는, 고주파 비트의 주기가 도래할 때마다 해당 시점에 대응되는 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고, 최후에 도달한 개별 연주 데이터의 고주파 비트에 기 수신된 복수의 개별 연주 데이터의 고주파 비트들의 싱크를 맞춘다. The server (200) may repeatedly perform synchronization correction to synchronize the high-frequency bits of a plurality of individual performance data whenever a period of a high-frequency bit arrives, even after the synchronization correction for the first high-frequency bit. For example, the synchronization unit (230) temporarily stores the plurality of individual performance data that have already been received until all of the plurality of individual performance data corresponding to the corresponding point in time have been received whenever a period of a high-frequency bit arrives, and synchronizes the high-frequency bits of the plurality of individual performance data that have already been received to the high-frequency bits of the individual performance data that have finally arrived.

다음으로, 고주파 비트들의 싱크가 일치하거나(S120, Yes) 또는 S130 단계에서 동기화 보정이 수행되면, 서버(200)는, 동기화된 고주파 비트들에 기초하여 복수의 개별 연주 데이터에 포함된 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 실시간 생성하고, 생성된 합동 공연 데이터를 출력장치(300)로 스트리밍한다(140). Next, if the sync of the high-frequency beats matches (S120, Yes) or synchronization correction is performed at step S130, the server (200) mixes multiple performer sound sources included in multiple individual performance data based on the synchronized high-frequency beats to generate joint performance data in real time, and streams the generated joint performance data to the output device (300) (140).

다음으로, 서버(200)는, 복수의 연주자 장치(100a, 100b, …, 100n)로부터 개별 연주 데이터의 수신이 종료되는지 판단한다(S150). Next, the server (200) determines whether reception of individual performance data from multiple player devices (100a, 100b, ..., 100n) has ended (S150).

개별 연주 데이터의 수신이 종료되면(S150, Yes), 서버(200)는, 합동 공연 데이터를 출력장치(300)로 스트리밍하는 것을 중단한다. 개별 연주 데이터의 수신이 종료되지 않으면(S150, No), 서버(200)는, 고주파 비트의 주기가 도래할 때마다 S120 단계부터 반복한다. When the reception of individual performance data is terminated (S150, Yes), the server (200) stops streaming the joint performance data to the output device (300). When the reception of individual performance data is not terminated (S150, No), the server (200) repeats from step S120 every time a high-frequency beat cycle arrives.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art in the art to which the present invention pertains also fall within the scope of the present invention.

Claims (10)

네트워크를 통해 연결된 복수의 연주자 장치의 합동 공연을 제공하는 서버로서,
네트워크를 통해 상기 복수의 연주자 장치 각각으로부터 반주 음원, 고주파 비트 및 연주자 음원이 합성된 개별 연주 데이터를 실시간 수신하는 통신부,
상기 수신된 복수의 개별 연주 데이터 각각에 포함된 상기 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는 동기화부, 그리고
상기 동기화된 고주파 비트들에 기초하여 상기 복수의 개별 연주 데이터에 포함된 상기 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 생성하는 음원 합성부를 포함하고,
상기 고주파 비트는, 비가청 주파수 대역의 주파수 비트를 포함하는,
서버.
As a server providing joint performance of multiple performer devices connected through a network,
A communication unit that receives individual performance data in real time, in which accompaniment sound sources, high-frequency beats, and performer sound sources are synthesized from each of the plurality of performer devices through a network;
A synchronization unit that performs synchronization correction by synchronizing the high-frequency bits included in each of the plurality of individual performance data received above, and
A sound source synthesis unit is included that mixes the plurality of performer sound sources included in the plurality of individual performance data based on the synchronized high-frequency beats to generate joint performance data.
The above high frequency bits include frequency bits in the inaudible frequency band.
Server.
제1항에 있어서,
상기 반주 음원에 상기 고주파 비트를 소정 주기로 복수 개 합성하여 반주 데이터를 생성하는 반주 생성부를 더 포함하고,
상기 통신부는,
상기 합동 공연이 시작되면 상기 반주 데이터를 상기 복수의 연주자 장치로 동시에 스트리밍하는,
서버.
In the first paragraph,
The accompaniment generating unit further comprises an accompaniment sound source for generating accompaniment data by synthesizing a plurality of high-frequency beats at a predetermined cycle,
The above communication department,
When the above joint performance starts, the above accompaniment data is simultaneously streamed to the multiple performer devices.
Server.
제1항에 있어서,
상기 통신부는,
상기 음원 합성부에서 생성된 상기 합동 공연 데이터를 출력장치로 스트리밍하는,
서버.
In the first paragraph,
The above communication department,
Streaming the joint performance data generated in the above sound source synthesis unit to an output device.
Server.
제3항에 있어서,
상기 동기화부는,
상기 고주파 비트들의 주기가 도래할 때마다 해당 시점에 대응되는 상기 고주파 비트들의 싱크를 맞추어 실시간 동기화 보정을 수행하는,
서버.
In the third paragraph,
The above synchronization part,
When the cycle of the above high-frequency bits arrives, real-time synchronization correction is performed to match the sync of the above high-frequency bits corresponding to that point in time.
Server.
제4항에 있어서,
상기 동기화부는,
상기 합동 공연 데이터를 구성하는 상기 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고 최후에 도달한 개별 연주 데이터에 포함된 고주파 비트에 상기 기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는,
서버.
In paragraph 4,
The above synchronization part,
Temporarily storing the previously received plurality of individual performance data until all of the plurality of individual performance data constituting the above joint performance data are received, and performing synchronization correction by synchronizing the high-frequency bits included in the previously received plurality of individual performance data to the high-frequency bits included in the finally arrived individual performance data.
Server.
서버가 네트워크를 통해 연결된 복수의 연주자 장치의 합동 공연을 제공하는 방법으로서,
반주 음원에 고주파 비트를 소정 주기로 복수 개 합성하여 반주 데이터를 생성하는 단계,
상기 합동 공연이 시작되면 상기 네트워크를 통해 상기 복수의 연주자 장치로 상기 반주 데이터를 동시에 스트리밍하는 단계,
상기 네트워크를 통해 상기 복수의 연주자 장치 각각으로부터 상기 반주 데이터에 연주자 음원이 합성된 개별 연주 데이터를 실시간 수신하는 단계,
상기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크가 일치하는지 판단하는 단계,
판단 결과에 따라 상기 복수의 개별 연주 데이터 각각에 포함된 상기 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는 단계, 그리고
상기 동기화된 고주파 비트들에 기초하여 상기 복수의 개별 연주 데이터에 포함된 상기 복수의 연주자 음원을 믹싱하여 합동 공연 데이터를 생성하는 단계를 포함하는,
방법.
A method for providing joint performance of multiple performer devices connected to a server through a network,
A step for generating accompaniment data by synthesizing multiple high-frequency beats at a predetermined cycle into an accompaniment sound source.
When the above joint performance starts, a step of simultaneously streaming the accompaniment data to the multiple performer devices through the above network;
A step of receiving individual performance data in which a performer sound source is synthesized into the accompaniment data in real time from each of the plurality of performer devices through the above network;
A step of determining whether the sync of high-frequency bits included in the plurality of individual performance data received above matches;
A step of performing synchronization correction by synchronizing the high-frequency bits included in each of the plurality of individual performance data according to the judgment result, and
A step of generating joint performance data by mixing the plurality of performer sound sources included in the plurality of individual performance data based on the synchronized high-frequency beats,
method.
제6항에 있어서,
상기 고주파 비트는,
비가청 주파수 대역의 주파수 비트를 포함하는,
방법.
In Article 6,
The above high frequency bits are,
Containing frequency bits in the inaudible frequency band,
method.
제6항에 있어서,
상기 동기화 보정을 수행하는 단계는,
상기 합동 공연 데이터를 구성하는 상기 복수의 개별 연주 데이터가 모두 수신될 때까지 기 수신된 복수의 개별 연주 데이터를 일시 저장하고 최후에 도달한 개별 연주 데이터에 포함된 고주파 비트에 상기 기 수신된 복수의 개별 연주 데이터에 포함된 고주파 비트들의 싱크를 맞추어 동기화 보정을 수행하는,
방법.
In Article 6,
The steps for performing the above synchronization correction are:
Temporarily storing the previously received plurality of individual performance data until all of the plurality of individual performance data constituting the above joint performance data are received, and performing synchronization correction by synchronizing the high-frequency bits included in the previously received plurality of individual performance data to the high-frequency bits included in the finally arrived individual performance data.
method.
제8항에 있어서,
상기 고주파 비트들의 싱크가 일치하는지 판단하는 단계는,
상기 고주파 비트의 주기가 도래할 때마다 해당 시점에 대응되는 상기 고주파 비트들의 싱크가 일치하는지 판단하는,
방법.
In Article 8,
The step of determining whether the sync of the above high-frequency bits matches is:
Whenever the cycle of the above high-frequency bit arrives, it is determined whether the sync of the corresponding high-frequency bits matches at that time.
method.
제6항에 있어서,
상기 합동 공연 데이터를 생성하는 단계는,
상기 생성된 합동 공연 데이터를 출력장치로 스트리밍하는,
방법.
In Article 6,
The step of generating the above joint performance data is:
Streaming the above generated joint performance data to an output device,
method.
KR1020200023656A 2020-02-26 2020-02-26 Apparatus and method for providing joint performance based on network Active KR102785178B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200023656A KR102785178B1 (en) 2020-02-26 2020-02-26 Apparatus and method for providing joint performance based on network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023656A KR102785178B1 (en) 2020-02-26 2020-02-26 Apparatus and method for providing joint performance based on network

Publications (2)

Publication Number Publication Date
KR20210108715A KR20210108715A (en) 2021-09-03
KR102785178B1 true KR102785178B1 (en) 2025-03-20

Family

ID=77785041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023656A Active KR102785178B1 (en) 2020-02-26 2020-02-26 Apparatus and method for providing joint performance based on network

Country Status (1)

Country Link
KR (1) KR102785178B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102597852B1 (en) * 2021-10-21 2023-11-03 주식회사 픽스트리 System for Providing Online Collaboration
KR102724019B1 (en) * 2021-12-13 2024-10-30 이모션웨이브 주식회사 System and method for providing metaverse based virtual concert platform associated with offline studio
KR102617432B1 (en) * 2023-07-28 2023-12-27 주식회사 이멜벤처스 The Method, System and Computer-readable Storage Medium That Provide A Crowd-Singing Between Artists And Users
KR20250119058A (en) 2024-01-31 2025-08-07 주식회사 커먼컴퓨터 Method for generating ensemble scores inspired by audience reactions to performances in a sustainable, decentralized performance ecosystem

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304821A (en) 2007-06-11 2008-12-18 Mega Chips Corp Musical piece concert release system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304821A (en) 2007-06-11 2008-12-18 Mega Chips Corp Musical piece concert release system

Also Published As

Publication number Publication date
KR20210108715A (en) 2021-09-03

Similar Documents

Publication Publication Date Title
KR102785178B1 (en) Apparatus and method for providing joint performance based on network
US7096080B2 (en) Method and apparatus for producing and distributing live performance
US6462264B1 (en) Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech
JP3250336B2 (en) Karaoke system and karaoke terminal device
US20080152165A1 (en) Ad-hoc proximity multi-speaker entertainment
JP5729393B2 (en) Performance system
CN114120942A (en) Method and system for near-live playing and recording live internet music without delay
JP7456019B2 (en) Method and system for performing and recording live music using audio waveform samples
US8633369B2 (en) Method and system for remote concert using the communication network
CN102394860A (en) Signal transmission system, method, computer program product and computer readable storage media
WO2011115210A1 (en) Mixing data delivery server
WO2007054285A1 (en) A method and system for sound reproduction, and a program product
JP7736679B2 (en) Wireless MIDI Headset
JP2004094683A (en) Server, communication method and audience terminal
JP4422656B2 (en) Remote multi-point concert system using network
US10917465B2 (en) Synchronization setting device and distribution system
JP5233134B2 (en) Electronic music apparatus, electronic music apparatus system, and program used therefor
US20080140238A1 (en) Method for Playing and Processing Audio Data of at Least Two Computer Units
JP2004093975A (en) Communication terminal and program
JP6783065B2 (en) Communication terminal equipment, server equipment and programs
KR20250087151A (en) Music production system for virtual instrument device
JP2022114309A (en) Online session server device
KR20190100723A (en) Broadcasting system for duet mode and concurrent sound mode, and method thereof
JPH09269795A (en) Karaoke device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200226

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20230213

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20200226

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250224

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250318

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250318

End annual number: 3

Start annual number: 1

PG1601 Publication of registration