KR100336269B1 - Apparatus for analyzing and visualizing music in real-time - Google Patents
Apparatus for analyzing and visualizing music in real-time Download PDFInfo
- Publication number
- KR100336269B1 KR100336269B1 KR1019990051707A KR19990051707A KR100336269B1 KR 100336269 B1 KR100336269 B1 KR 100336269B1 KR 1019990051707 A KR1019990051707 A KR 1019990051707A KR 19990051707 A KR19990051707 A KR 19990051707A KR 100336269 B1 KR100336269 B1 KR 100336269B1
- Authority
- KR
- South Korea
- Prior art keywords
- music
- signal
- star
- real
- music signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
- G10L21/14—Transforming into visible information by displaying frequency domain information
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L2021/065—Aids for the handicapped in understanding
Abstract
실시간으로 음악 신호를 분석하여 그 특성을 여러가지 애니메이션으로 시각화하여 보여주는 장치가 제공된다. 본 장치는 음악 신호를 디지털 오디오 데이터로 변환하는 입력부와, 입력된 상기 디지털 오디오 데이터로부터 음악 신호의 특성을 추출해내고, 그 특성으로부터 다양한 애니메이션 효과를 위한 신호를 생성하는 신호처리부와, 상기 신호처리부로부터의 상기 애니메이션 효과를 위한 신호를 시각화해서 보여주는 출력부를 구비한다. 음악 신호의 특성으로는 음악신호의 세기(Loudness), 음악신호의 기본 주파수, 음악신호의 박자 속도가 포함되며, 애니메이션 효과로는 음악분수 효과, 우주여행 효과, 폭죽효과, 번개와 비 효과가 포함된다.An apparatus for analyzing a music signal in real time and visualizing and displaying the characteristics thereof in various animations is provided. The apparatus includes an input unit for converting a music signal into digital audio data, a signal processor for extracting characteristics of a music signal from the input digital audio data, and generating a signal for various animation effects from the characteristics; And an output unit for visualizing and displaying a signal for the animation effect. The characteristics of the music signal include the loudness of the music signal, the fundamental frequency of the music signal, and the beat speed of the music signal. The animation effects include the music fountain effect, the space travel effect, the firecracker effect, the lightning and rain effects. do.
Description
본 발명은 실시간 음악 분석 및 시각화 장치에 관한 것으로서, 더욱 상세하게는 실시간으로 음악 신호를 분석하여 그 특성을 여러가지 애니메이션으로 시각화하여 보여주는 장치에 관한 것이다.The present invention relates to a real-time music analysis and visualization device, and more particularly, to a device for analyzing and displaying the characteristics of the music signal in real time by analyzing the music signal in real time.
오디오 신호를 분석하여 이를 시각화해서 보여주는 방법으로서 종래에는 오디오 신호의 각 주파수 대역에서의 레벨을 막대그래프 형식으로 보여주는 것이 있었다. 이는 오디오 신호를 몇가지 주파수 대역으로 나누어 필터링하여 해당 주파수 대역 성분만을 추출해낸 다음, 해당 주파수 대역에서의 신호의 레벨을 측정하여 그 레벨에 비례하는 높이의 막대그래프로 보여주는 것이다.As a method of analyzing and visualizing an audio signal and displaying it, there has conventionally been a bar graph showing the levels in each frequency band of an audio signal. This filter divides the audio signal into several frequency bands, extracts only the corresponding frequency band components, and then measures the level of the signal in the frequency band and shows it as a bar graph with a height proportional to the level.
따라서, 오디오 신호가 변함에 따라 이들 막대그래프가 계속 커졌다 작아졌다 하여 음악감상시에 시각적 장식 효과를 일으키게 된다.Therefore, as the audio signal changes, these bar graphs continue to grow and shrink, which causes a visual decorative effect in listening to music.
또한, 오디오 신호를 시각화하는 방법으로서는 x축을 시간축으로 하고 y축을 오디오 신호의 레벨로 하여, 시간에 따라 오디오 신호가 변하는 모양을 보여주는 방식이 있다.In addition, as a method of visualizing an audio signal, there is a method in which the x-axis is used as the time axis and the y-axis is used as the level of the audio signal, thereby showing how the audio signal changes with time.
그런데, 이들 종래의 방식은 그 특성상 장식적인 효과를 일으키는데 사용되기보다는 오디오 신호를 분석하는데 사용되는 경우가 더 많이 있다. 또한 그 변화 패턴이 단순하기 때문에 음악을 감상하는데 있어서 장식적인 효과를 나타내기에는 부적합한 경우가 많이 있다. 특히, 노래방이나 나이트클럽같은 곳에서는 화려한 효과가 어울리기 때문에 이들 방식은 이러한 곳에서 음악에 맞추어 장식적인 효과를 일으키는 데에는 부적합하다.However, these conventional methods are more often used to analyze audio signals than to produce decorative effects due to their characteristics. In addition, because the change pattern is simple, it is often unsuitable to show a decorative effect in listening to music. In particular, because the gorgeous effects are appropriate in places such as karaoke and nightclubs, these methods are not suitable for creating decorative effects in this place.
한편, 청각장애인의 경우에는 소리를 들을 수 없기 때문에 음악회나 노래방 나이트클럽과 같은 곳에서 다른 사람들하고 같이 어울리기가 어려운 경우가 많다. 이러한 경우에 음악을 시각적으로 보여주되, 흥미를 잃지 않도록 다양하고 화려하게 보여줄 수 있다면 청각장애인들도 일반인들과 함께 음악을 즐길 수 있게 될 것이다.On the other hand, the hearing impaired people can not hear the sound is often difficult to hang out with other people in places such as concerts or karaoke nightclubs. In this case, if the music can be shown visually and variously and colorfully so as not to lose interest, the deaf will be able to enjoy the music with the general public.
본 발명은 이러한 점을 감안하여 이루어진 것으로서, 음악을 다양한 패턴으로 실시간으로 시각화하여 보여줌으로써 음악감상에 흥미를 더할 수 있는 실시간 음악 분석 및 시각화 장치를 제공하는 것을 목적으로 한다.The present invention has been made in view of this point, and an object of the present invention is to provide a real-time music analysis and visualization device that can add interest to music by visualizing and displaying music in various patterns in real time.
또한, 본 발명은 노래방이나 나이트클럽에서의 조명을 현재 나오고 있는 음악에 맞추어 다양하게 변화시켜줌으로써 음악을 듣고 있는 사람들의 흥을 돋울 수 있는 실시간 음악 분석 및 시각화 장치를 제공하는 것을 목적으로 한다.In addition, it is an object of the present invention to provide a real-time music analysis and visualization device that can stimulate the entertainment of people listening to music by varying the lighting in the karaoke or nightclub in accordance with the current music.
도 1은 본 발명의 실시간 음악분석 및 시각화 장치의 개략 블록도이다.1 is a schematic block diagram of a real-time music analysis and visualization apparatus of the present invention.
도 2는 본 발명의 장치의 입력부의 여러가지 예를 보여주는 개략 블록도이다.2 is a schematic block diagram showing various examples of an input unit of the apparatus of the present invention.
도 3은 본 발명의 장치의 신호처리부의 구성을 보여주는 개략 블록도이다.3 is a schematic block diagram showing a configuration of a signal processing unit of the apparatus of the present invention.
도 4는 본 발명의 제어부에서 디지털 오디오 데이터로부터 음악 특성을 추출하여 시각화 효과를 만들어내는 모습을 보여주는 개략 블록도이다.Figure 4 is a schematic block diagram showing a state in which the control unit of the present invention to extract the music characteristics from the digital audio data to create a visualization effect.
도 5는 윈도스 95 이상의 운영체제에서 사운드 카드를 입력용으로 열기 위한 알고리즘을 보여주고 있다.Figure 5 shows an algorithm for opening a sound card for input in a Windows 95 or later operating system.
도 6은 더블 버퍼링 동작을 소프트웨어적으로 구현한 알고리즘을 보여주고 있다.Figure 6 shows an algorithm that implements a double buffering operation in software.
도 7은 음악분수 시뮬레이션에 의한 화면의 예이다.7 is an example of a screen by music fountain simulation.
도 8은 우주여행 시뮬레이션에 의한 화면의 예이다.8 is an example of a screen by space travel simulation.
도 9는 폭죽놀이 시뮬레이션에 의한 화면의 예이다.9 is an example of a screen by the fireworks display simulation.
도 10은 비와 번개 시뮬레이션에 의한 화면의 예이다.10 is an example of a screen by rain and lightning simulation.
이러한 목적을 달성하기 위한 본 발명의 장치는 음악 신호를 디지털 오디오 데이터로 변환하는 입력부와, 입력된 상기 디지털 오디오 데이터로부터 음악 신호의 특성을 추출해내고, 그 특성으로부터 다양한 애니메이션 효과를 위한 신호를 생성하는 신호처리부와, 상기 신호처리부로부터의 상기 애니메이션 효과를 위한 신호를 시각화해서 보여주는 출력부를 구비한다.The apparatus of the present invention for achieving the above object is to extract the characteristics of the music signal from the input unit for converting the music signal into digital audio data, the input digital audio data, and to generate a signal for various animation effects from the characteristics And a signal processing unit and an output unit for visualizing and displaying a signal for the animation effect from the signal processing unit.
이하, 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
1. 입력부1. Input section
입력부(10)는 오디오 신호를 받아들여서 신호처리부(20)에서 처리할 수 있는 디지털 데이터 형태로 변환하는 역할을 한다.The input unit 10 receives an audio signal and converts the audio signal into a digital data form that can be processed by the signal processing unit 20.
오디오 신호가 도 2의 (a)에서와 같이 CD 플레이어나 오디어테이프 플레이어 등과 같은 오디오재생장치(11)에서 아날로그 신호로 출력되는 경우에는, 입력부(10)는 재생장치(11)로부터의 아날로그 출력신호를 디지털 데이터 형태로 변환하는 A/D 변환기(12)를 포함하게 된다.When the audio signal is output as an analog signal from an audio reproducing apparatus 11 such as a CD player or an audiotape player as shown in FIG. 2A, the input unit 10 outputs an analog output from the reproducing apparatus 11. And an A / D converter 12 for converting the signal into digital data form.
또한, 오디오 신호가 재생장치에서 나오는 전기신호의 형태가 아니라 사람의 목소리 등과 같은 음파 신호인 경우에는, 도 2의 (b)에 도시한 것처럼 마이크로폰(13)과 같이 음파 신호를 전기신호로 변환하는 장치를 사용하여 음파신호를 아날로그 전기신호로 변환한 다음, 이를 증폭기(14)를 사용하여 A/D 변환기(12)에서 사용할 수 있을 정도의 레벨로 증폭한다. 이렇게 증폭된 신호는 A/D 변환기(12)에서 디지털 신호로 변환되어 신호처리부(20)로 출력되게 된다.In addition, when the audio signal is a sound wave signal such as a human voice, not a form of an electric signal from the playback device, the sound wave signal is converted into an electric signal as shown in the microphone 13 as shown in FIG. The device converts the sonic signal into an analog electrical signal and then amplifies it to a level sufficient for use in the A / D converter 12 using the amplifier 14. The amplified signal is converted into a digital signal by the A / D converter 12 and output to the signal processor 20.
또한, 오디오 신호가 디지털 신호를 출력하는 디지털 오디오 재생장치(15)에서 출력되는 경우에는 별도의 A/D 변환기가 필요없이 디지털 오디오 재생장치(15)에서 바로 신호처리부(20)로 연결되도록 할 수 있다.In addition, when the audio signal is output from the digital audio reproducing apparatus 15 for outputting a digital signal, the audio signal may be directly connected to the signal processing unit 20 in the digital audio reproducing apparatus 15 without the need for a separate A / D converter. have.
또한, 입력부로는 일반 PC(Personal Computer)의 사운드 카드(sound card)를사용할 수도 있다. 윈도95(Windows 95) 이상의 운영체제에서 사운드 카드를 입력용으로 열기 위한 루틴의 예가 도 5에 도시되어 있다.In addition, a sound card of a general personal computer (PC) may be used as the input unit. An example of a routine for opening a sound card for input in an operating system Windows 95 or later is shown in FIG. 5.
2. 신호처리부2. Signal processing unit
신호처리부(20)는 입력부(10)로부터의 디지털 오디오 데이터로부터 오디오 신호의 특성을 추출하여, 그 특성에 기초해서 시각효과를 일으키도록 출력부(30)를 제어하는 역할을 한다.The signal processing unit 20 serves to control the output unit 30 to extract a characteristic of the audio signal from the digital audio data from the input unit 10 and to generate a visual effect based on the characteristic.
도 3은 신호처리부(20)의 일실시예를 보여주는 개략블록도이다. 이하에서는 도 3을 참조하여 신호처리부(20)에서의 동작을 상세히 설명한다.3 is a schematic block diagram showing an embodiment of the signal processing unit 20. Hereinafter, an operation of the signal processor 20 will be described in detail with reference to FIG. 3.
< 더블 버퍼링 ><Double buffering>
도 3에서 입력부로부터의 디지털 오디오 데이터는 입력측 스위치(21)에 의해 버퍼1(22)과 버퍼2(23) 중의 한 곳으로 들어간다. 입력부로부터의 디지털 오디오 데이터가 한 곳의 버퍼로 들어가는 동안, 다른 한 곳의 버퍼에 저장되어 있던 디지털 오디오 데이터, 즉, 이전에 입력부로부터 들어온 디지털 오디오 데이터는 출력측 스위치(24)를 통해 제어부(25)로 출력된다.In Fig. 3, the digital audio data from the input portion enters one of the buffer 1 22 and the buffer 2 23 by the input side switch 21. While the digital audio data from the input portion enters one buffer, the digital audio data stored in the other buffer, that is, the digital audio data previously input from the input portion, is controlled through the output switch 24. Is output.
제어부(25)는 한쪽 버퍼에 저장되어 있는 데이터에 대한 처리가 끝나면 양 스위치(21,24)를 제어하여 다른 쪽 버퍼에 저장되어 있는 데이터에 대한 처리를 행하도록 한다.After the processing of the data stored in one buffer is completed, the control unit 25 controls both switches 21 and 24 to perform the processing of the data stored in the other buffer.
즉, 입력측 스위치(21)가 한쪽 버퍼에 연결되어 해당 버퍼에 데이터가 저장되고 있는 동안, 출력측 스위치(24)는 다른쪽 버퍼와 제어부(25)를 연결하여 제어부(25)에서 해당 버퍼에 저장되어 있는 데이터를 처리한다. 그리고, 데이터의 처리가 끝나면, 제어부(25)의 제어신호에 의해 양 스위치(21,24)는 반전되어 입력부로부터 데이터가 저장되는 버퍼와 제어부로 데이터가 출력되는 버퍼가 서로 바뀌게 된다. 이와 같은 동작을 반복함으로써 제어부(25)에서의 신호처리시간에 변동이 있더라도, 입력부(10)로부터의 데이터를 놓치는 일 없이 신호처리를 할 수 있게 된다.That is, while the input side switch 21 is connected to one buffer and data is being stored in the buffer, the output side switch 24 is connected to the other buffer and the control unit 25 and stored in the corresponding buffer in the control unit 25. Process the existing data. After the processing of the data, the switches 21 and 24 are inverted by the control signal of the control unit 25 so that the buffer in which the data is stored from the input unit and the buffer in which the data is output to the control unit are interchanged. By repeating such an operation, even if there is a change in the signal processing time in the control unit 25, the signal processing can be performed without missing data from the input unit 10.
이와 같은 동작(더블 버퍼링(double buffering))은 하드웨어적으로 구현할 수 있지만, 소프트웨어적으로도 구현이 가능하다. 일반적인 PC에서 더블 버퍼링을 구현한 소프트웨어의 예가 도 6에 도시되어 있다.This operation (double buffering) can be implemented in hardware, but can also be implemented in software. An example of software that implements double buffering in a typical PC is shown in FIG. 6.
< 오디오 신호 특성 추출 ><Audio signal characteristic extraction>
다음으로, 제어부(25)에서 디지털 오디오 데이터로부터 오디오 신호의 특성을 추출하는 방법에 대해서 설명한다.Next, a method of extracting the characteristics of the audio signal from the digital audio data in the control unit 25 will be described.
오디오 신호의 특성으로는 파형, 스펙트럼, 라우드니스(오디오 신호의 크기), 기본 주파수(음의 높낮이), 비트(박자의 속도)를 들 수 있다. 이들 특성은 다음과 같은 방법에 의해 구한다.The characteristics of the audio signal include waveform, spectrum, loudness (the magnitude of the audio signal), fundamental frequency (pitch and pitch), and beat (beat rate). These characteristics are calculated | required by the following method.
(1) 파형(1) waveform
음악 신호를 s[n], 윈도우 함수를 w[n], 윈도우 길이를 N, 윈도우의 이동거리를 M이라 하면 k번째 프레임의 음악 파형은 수학식 1과 같다.If the music signal is s [n], the window function is w [n], the window length is N, and the window moving distance is M, the music waveform of the kth frame is expressed by Equation 1.
(2) 스펙트럼(2) spectrum
k번째 프레임의 음악 스펙트럼은 수학식 2에 의해 구해진다.The music spectrum of the kth frame is obtained by equation (2).
여기에서 F{}는 푸리에변환(Fouier Transform)을 나타낸다.Where F {} represents a Fourier transform.
(3) 라우드니스 L(음악 소리의 크기) (3) loudness L (music loudness )
k번째 프레임의 오디오 신호의 라우드니스(Loudness)는 수학식 3에 의해 구해진다.The loudness of the audio signal of the k-th frame is obtained by equation (3).
여기에서, A[jΩ] 는 인간 청각 계통의 주파수 특성이다.Here, A [jΩ] is the frequency characteristic of the human auditory system.
(4) 기본 주파수 F 0 (음악 소리의 높낮이) (4) fundamental frequency F 0 (height of the music sound)
F0의 추출은 자기상관(Autocorrelation)방법, 셉스트럼(Cepstrum) 분석법 등이 있다. 셉스트럼 분석법을 이용한 F0의 추출은 다음과 같다.Extraction of F 0 includes autocorrelation method and sepstrum analysis. Extraction of F 0 using the septum analysis method is as follows.
S k [jΩ] -> Power Spectrum -> log( ) -> 역 푸리에 변환 -> Cepstrum -> F0 S k [ jΩ ]-> Power Spectrum-> log ()-> Inverse Fourier Transform->Cepstrum-> F 0
(5) 비트 B(박자의 속도) (5) bit B (beat speed)
음악의 빠르기를 자동으로 추출하기 위해서 다음의 가정을 기초로 한다.In order to automatically extract the speed of music, the following assumptions are made.
가정 1 : 음악의 bit는 타악기(drum 등) 소리에 의해서 결정된다.Assumption 1: The beat of a music is determined by the sound of a percussion instrument (drum, etc.).
가정 2 : 타악기 소리의 주파수 대역은 일반 음악소리에 비해 상대적으로 고주파 영역에 에너지가 밀집되어 있으며, 백색 잡음과 유사한 성질을 보인다.Assumption 2: The frequency band of percussion sounds is more energy concentrated in the high frequency range than general music sounds, and has similar characteristics to white noise.
가정 3 : 타악기의 비트가 포함된 음악 구간은 다른 구간에 비하여 비정상(non-stationary)이며, 임펄스성 신호성분이 존재한다.Assumption 3: The music section containing the beat of the percussion instrument is non-stationary compared to the other sections, and there is an impulsive signal component.
이상의 가정은 대부분의 음악에서 보여지는 일반적인 현상이며, 타악기가 없거나 특수한 타악기가 사용된 음악에 대해서는 적용되지 않는다.The above assumption is a common phenomenon seen in most music and does not apply to music with no percussion instruments or special percussion instruments.
이 가정을 적용한 실시간 비트 자동 추출 알고리즘은 다음과 같다.The real-time bit automatic extraction algorithm using this assumption is as follows.
단계 1 : 변수의 정의 및 초기화Step 1: Define and Initialize Variables
M : 윈도우 크기(window size)M: window size
fl : 타악기 저주파 차단 주파수fl: percussion low frequency cut-off frequency
fh : 타악기 고주파 차단 주파수fh: percussion high frequency cutoff frequency
E[n] : n번째 프레임의 에너지E [n]: energy of the nth frame
P[n] : n번째 프레임의 피크값P [n]: Peak value of the nth frame
FrameTime : 한 프레임 시간 ( = 윈도우 크기 / 표본화율 )FrameTime: One frame time (= window size / sample rate)
Eaverage[n] : 이전 K 프레임의 평균 에너지E average [n]: Average energy of previous K frames
Paverage[n] : 이전 K 프레임의 평균 피크값P average [n]: Average peak value of previous K frames
BitTime : 타악기 비트 간격(전역값)BitTime: Percussion beat interval (global value)
LocalBitTime : 타악기 비트 간격(지역값)LocalBitTime: Percussion beat interval (local value)
단계 2 : 음악신호의 n번째 프레임을 가져온다Step 2: Get the nth frame of the music signal
sn[0], sn[1], ........, sn[M-1]sn [0], sn [1], ........, sn [M-1]
단계 3 : E[n], EStep 3: E [n], E averageaverage [n], P[n] 및 P[n], P [n], and P averageaverage [n]를 계산calculate [n]
여기에서 S[f]는 s[m]의 푸리에 변환임.Where S [f] is the Fourier transform of s [m].
P[n] = max(sn[0], sn[1], ........, sn[M-1] )P [n] = max (sn [0], sn [1], ........, sn [M-1])
단계 4 : 비트의 유무를 결정하고, 로컬 비트 간격을 계산한다Step 4: Determine the presence or absence of bits and calculate the local bit spacing
if E[n] > αEaverage[n] and P[n] > βPaverage[n]if E [n]> αE average [n] and P [n]> βP average [n]
LocalBitTime = BitCounter * FrameTimeLocalBitTime = BitCounter * FrameTime
BitCounter = 0BitCounter = 0
BitTime = BitTime + gain(LocalBitTime - BitTime)BitTime = BitTime + gain (LocalBitTime-BitTime)
elseelse
BitCounter = BitCounter + 1BitCounter = BitCounter + 1
여기에서, α and β > 1Where α and β> 1
단계 5 : n 대신 n+1을 대입하고 단계 2로 간다.Step 5: Substitute n + 1 for n and go to step 2.
< 시각효과 ><Visual effects>
제어부(25)는 도 4에 도시한 것처럼 추출된 오디오 신호의 특성 데이터로부터 여러가지 애니메이션 효과를 만들어낸다.The controller 25 generates various animation effects from the characteristic data of the extracted audio signal as shown in FIG.
추출된 오디오 신호의 특성중에서 파형과 스펙트럼은 종래부터 사용되던 것으로서, 종래와 마찬가지로 파형 모양이나 각 주파수 대역에서의 레벨을 막대그래프 형식으로 표현할 수 있다.Among the characteristics of the extracted audio signal, waveforms and spectra are conventionally used. As in the prior art, waveform shapes and levels at respective frequency bands may be expressed in bar graph form.
본 발명에서는, 파형(110)과 스펙트럼(120) 이외에도 신호처리부에서 추출된 음악 정보인 라우드니스(130), 기본주기(140), 비트(150)를 이용하여 분수(210), 우주여행(220), 폭죽놀이(230), 비와 번개(240)와 같은 애니메이션을 동작시킴으로서 마치 애니메이션 영상이 음악에 따라 춤을 추는 듯한 효과를 얻는다.In the present invention, in addition to the waveform 110 and spectrum 120, using the loudness 130, the fundamental period 140, the beat 150, which is the music information extracted from the signal processor, the fraction 210, the space travel 220 By operating the animation, such as firecrackers 230, rain and lightning (240), the effect is as if the animation video is dancing according to the music.
이하에서는 음악 분수 시뮬레이션, 우주여행, 폭죽놀이, 비와 번개의 시각화 알고리즘에 대해서 설명한다.Hereinafter, a description will be given of a music fountain simulation, space travel, fireworks, rain and lightning visualization algorithms.
(1) 음악 분수 시뮬레이션(1) music fountain simulation
음악분수 시뮬레이션이란 음악을 분수가 뿜어져 나오는 영상으로 표현하는 것을 말한다. 음악분수 시뮬레이션에 의한 화면의 예가 도 7에 있다.Music fountain simulation refers to the representation of music as images of fountains. An example of a screen by music fountain simulation is shown in FIG. 7.
제어부(25)는 추출된 음악 정보중에서 E0로 분수의 수압(높이)을 표현하고, F0로 분수의 색깔을 표현하며, B0로 분수의 좌우 흔들림을 표현한다.The controller 25 represents the water pressure (height) of the fountain in E0, the color of the fountain in F0, and the left and right shakes of the fountain in B0.
즉, 소리에 세기에 따라 분수의 높이가 결정되고, 소리의 주파수에 따라 분수의 색깔이 결정되며, 음악의 박자 속도에 따라 분수의 좌우 흔들림이 결정된다. 그러나, 분수의 높이, 분수의 색깔, 분수의 좌우 흔들림의 결정 요소를 위의 예와는 다른 특성으로부터 취하는 것도 물론 가능하다.That is, the height of the fountain is determined by the intensity of the sound, the color of the fountain is determined by the frequency of the sound, and the left and right shakes of the fountain are determined by the beat rate of the music. However, it is of course possible to take the determining factors of the height of the fountain, the color of the fountain, and the left and right shake of the fountain from characteristics different from the above example.
위와 같은 분수의 시뮬레이션을 위한 알고리즘은 다음과 같다.The algorithm for the simulation of fractions is as follows.
단계 1 : 변수의 정의 및 분수의 초기화Step 1: Definition of Variables and Initialization of Fractions
cx : 화면의 넓이cx: the width of the screen
cy : 화면의 높이cy: height of the screen
N : 물방울 개수N: number of drops
Δt : 분수 동작 속도Δt: fractional operation speed
G : 중력 가속도G: gravitational acceleration
V0[i] : i 번째 물방울의 초기 분출 속도V0 [i]: Initial jet velocity of the i th drop
θ0[i] : i 번째 물방울의 초기 분출 각도θ0 [i]: Initial ejection angle of the i th droplet
t[i] : i 번째 물방울의 분출후 경과 시간t [i]: Time elapsed after the i th drop
θavg : 물방울의 평균 분출 각도θavg: average ejection angle of water droplets
B : Bit Time of MusicB: Bit Time of Music
L : Loudness of MusicL: Loudness of Music
F0 : fundamental frequency of MusicF0: fundamental frequency of music
for each i (0<i<N)for each i (0 <i <N)
Set V0[i] has uniform distribution in [0, Vmax]Set V0 [i] has uniform distribution in [0, Vmax]
Set θ0[i] has gaussian distribution with zero meanSet θ0 [i] has gaussian distribution with zero mean
Set t[i] = 0Set t [i] = 0
θavg = 0θavg = 0
단계 2 : 물방울의 색 지정 및 평균 분출 각도 계산Step 2: color the water droplets and calculate the average ejection angle
j = j + 0.01/Bj = j + 0.01 / B
θavg = (π/4) cos(2πj)θavg = (π / 4) cos (2πj)
F0가 클수록 차가운 계열의 색으로 지정The larger the F0, the colder the color.
단계 3 : 다음 프레임의 각 물방울 위치 계산 및 그리기Step 3: calculate and draw each droplet position in the next frame
for each i (0<i<N)for each i (0 <i <N)
t[i] = t[i] + Δtt [i] = t [i] + Δt
x = V0[i]*cos(θ0[i])*t[i] ;x = V0 [i] * cos (θ0 [i]) * t [i];
y = V0[i]-G*t[i])*t[i] ;y = V0 [i] -G * t [i]) * t [i];
if( 화면을 벗어났으면 )if (if you leave the screen)
Set V0[i] has gaussian distribution with L meanSet V0 [i] has gaussian distribution with L mean
Set θ0[i] has gaussian distribution with θavg meanSet θ0 [i] has gaussian distribution with θavg mean
t[i] = 0t [i] = 0
elseelse
좌표(x, y)에 지정된 색으로 각 물방울 그리기Draw each drop with the color specified in coordinates (x, y)
단계 4 : 단계 1로 간다Step 4: Go to Step 1
(2) 우주여행 시뮬레이션(2) space travel simulation
우주여행 시뮬레이션이란 마치 우주여행을 하는 것처럼 별이 먼곳에서부터 나에게로 가까와졌다가 뒤로 사라져가는 모습을 음악에 맞추어 표현하는 것을 말한다. 우주여행 시뮬레이션에 의한 화면의 예가 도 8에 있다.Space travel simulation is like a space travel, where the stars appear close to me from afar and then disappear. An example of a screen by space travel simulation is shown in FIG. 8.
제어부(25)는 추출된 음악 정보중에서 E0로 여행 속도를 표현하고, F0로 별의 색깔을 표현하며, B0로 별의 밝기를 표현한다.The controller 25 expresses the travel speed in E0 of the extracted music information, expresses the color of the star in F0, and expresses the brightness of the star in B0.
즉, 소리의 크기에 따라 별이 나에게 다가오는 속도가 느려지거나 빨라지며, 소리의 대표 주파수에 따라 별의 색깔이 바뀌며, 음악의 박자 속도에 따라 별의 밝기가 달라진다. 그러나, 별의 속도, 별의 색깔, 별의 밝기의 결정 요소를 위의 예와는 다르게 취하는 것도 물론 가능하다.That is, the speed of the star approaching me slows down or speeds up depending on the volume of the sound, the color of the star changes according to the representative frequency of the sound, and the brightness of the star varies according to the beat rate of the music. However, it is of course possible to take the factors that determine the speed of the star, the color of the star, and the brightness of the star differently from the above example.
이와 같은 우주여행의 시뮬레이션을 위한 알고리즘은 다음과 같다.The algorithm for simulating space travel is as follows.
단계 1 : 변수의 정의 및 별의 초기화Step 1: Define the Variables and Initialize the Stars
MAX_STAR : 최대 별의 개수MAX_STAR: maximum number of stars
typedef struct tagSTARtypedef struct tagSTAR
short StarType ; // 별의 종류short StarType; // type of star
BOOL IsStar ; // 존재 여부BOOL IsStar; // presence
double distance ; // 원점에서의 거리double distance; // distance from origin
double angle ; // 원점에서의 각도double angle; // angle from origin
double radius ; // 별의 반지름double radius; // radius of the star
short LifeTime ; // 생성 후 경과시간 (단위 : frame)short LifeTime; // elapsed time after creation (unit: frame)
BYTE R ; // 별의 색상BYTE R; // color of the star
BYTE G ; // 별의 색상BYTE G; // color of the star
BYTE B ; // 별의 색상BYTE B; // color of the star
STAR ;STAR;
STAR *star ; // 별 객체STAR * star; // star object
int starsize ; // 별 크기int starsize; // star size
double DIAG ; // 화면 크기double DIAG; // screen size
for(i=0;i<MAX_STAR;i++)for (i = 0; i <MAX_STAR; i ++)
star[i].distance has uniform distribution in [0, DIAG]star [i] .distance has uniform distribution in [0, DIAG]
star[i].angle has uniform distribution in [0, 2pi]star [i] .angle has uniform distribution in [0, 2pi]
star[i].radius has uniform distribution in [0, 3]star [i] .radius has uniform distribution in [0, 3]
star[i].LifeTime = 0 ;star [i]. LifeTime = 0;
star[i].StarType has uniform distribution in [0, 3]star [i] .StarType has uniform distribution in [0, 3]
star[i].R = F0로 결정determine star [i] .R = F0
star[i].G = F0로 결정star [i] .G = determined by F0
star[i].B = F0로 결정star [i] .B = determined by F0
star[i].StarType = B로 결정determined star [i] .StarType = B
단계 2 : 각 별의 종류, 위치결정 및 그리기Step 2: Type, Position, and Draw for Each Star
for(i=0;i<starsize;i++) // 각 별에 대하여for (i = 0; i <starsize; i ++) // for each star
별의 좌표 계산Calculate Star Coordinates
star[i].LifeTime += 1 ;star [i] .LifeTime + = 1;
if( 별이 화면 내에 있으면 )if (if star is within the screen)
별의 종류, 색상, 크기 지정 후 그리기 루틴 호출Call the drawing routine after specifying the star type, color, and size
다음 프레임의 별의 위치 및 크기 계산Calculate the position and size of the star in the next frame
else // 별이 화면을 벗어나면else // if star is off screen
단계 2로 간다Go to step 2
단계 3 : 다음 프레임에 대하여 단계 2를 반복한다.Step 3: Repeat step 2 for the next frame.
(3) 폭죽놀이 시뮬레이션(3) firecracker simulation
폭죽놀이 시뮬레이션이란 음악에 맞추어 폭죽이 터지는 영상을 표현하는 것을 말한다. 폭죽놀이 시뮬레이션에 의한 화면의 예가 도 9에 있다.Firecracker simulation refers to expressing the image of a firecracker bursting with music. An example of the screen by the fireworks display simulation is shown in FIG.
제어부(25)는 추출된 음악 정보중에서 E0로 폭죽의 폭발력을 표현하고, F0로 폭죽의 색깔을 표현하며, B0로 폭죽의 발사시간 간격을 표현한다.The control unit 25 expresses the explosive power of the firecracker in E0, the color of the firecracker in F0, and the firing time interval of the firecracker in B0.
즉, 소리의 크기에 따라 폭죽이 터져서 퍼지는 범위가 커지며, 소리의 대표주파수에 따라 폭죽의 색깔이 바뀌며, 음악의 박자 속도에 따라 폭죽의 발사시간 간격이 달라진다. 예를 들어, 소리가 큰 경우에는 폭죽이 크게 터지며, 박자가 빠른 경우에는 폭죽이 자주 터지게 된다. 그러나, 별의 속도, 별의 색깔, 별의 밝기의 결정 요소를 위의 예와는 다르게 취하는 것도 물론 가능하다.In other words, the range of firecrackers spreads according to the loudness of sound, and the firecracker's color changes according to the representative frequency of the sound, and the firing time interval of the firecracker varies according to the beat rate of music. For example, if the sound is loud, the firecrackers are loud. If the beat is fast, the firecrackers are often burst. However, it is of course possible to take the factors that determine the speed of the star, the color of the star, and the brightness of the star differently from the above example.
위와 같은 폭죽놀이의 시뮬레이션을 위한 알고리즘은 다음과 같다.The algorithm for the simulation of the fireworks above is as follows.
단계 1 : 변수의 정의 및 초기화Step 1: Define and Initialize Variables
단계 2 : 음악에 따라 폭죽 생성 및 폭죽 상태 결정Step 2: create firecrackers according to the music and determine the firecracker status
if( 현재 폭죽 개수가 음악 크기 L 보다 적으면 )if (if current firecracker count is less than music size L)
for each i (0<i<MAX_FIRE) // 각 폭죽에 대해서for each i (0 <i <MAX_FIRE) // for each firecracker
if(i번째 폭죽이 존재하지 않으면)if (i firecracker does not exist)
i번째 폭죽을 생성하고 초기화Create and initialize the i firecracker
폭발 x, y 좌표 계산Calculate explosion x, y coordinates
폭죽 색상 결정Sparklers color crystals
단계 3 : 폭죽의 존재여부 및 폭발 여부 결정 및 폭죽 그리기Step 3: Determine the presence and explosion of firecrackers and draw firecrackers
for(i=0;i<MAX_FIRE;i++) // 모든 폭죽에 대하여for (i = 0; i <MAX_FIRE; i ++) // For All Firecrackers
if(폭죽이 존재하면)if (firecracker exists)
if(아직 폭발하지 않았으면)if (if not yet exploded)
로켓의 좌표 계산Calculate the coordinates of the rocket
로켓을 그린다.Draw a rocket.
else // 폭발하였으면else // if it exploded
if(첫 폭발이면)if (first explosion)
파편 생성Create debris
각 파편에 대하여For each fragment
if(첫 폭발이면)if (first explosion)
파편의 속도, 각도 설정Set velocity, angle of debris
파편의 이동을 형상화한다Shape the movement of the fragment
if(폭발후 일정 시간이 지나면)if (after some time has passed)
파편의 수를 줄인다.Reduce the number of debris
단계 4 : 단계 2로 간다Step 4: Go to Step 2
(4) 비와 번개 시뮬레이션(4) rain and lightning simulation
비와 번개 시뮬레이션이란 음악에 맞추어 번개와 비가 내리는 영상을 표현하는 것을 말한다. 비와 번개 시뮬레이션에 의한 화면의 예가 도 10에 있다.Rain and lightning simulation refers to expressing images of lightning and rain in time with music. An example of a screen by rain and lightning simulation is shown in FIG. 10.
제어부(25)는 추출된 음악 정보중에서 E0로 비의 양과 번개의 강도를 표현하고, F0로 비의 색깔을 표현하며, B0로 번개의 시간 간격을 표현한다.The controller 25 expresses the amount of rain and the intensity of the lightning in E0, the color of the rain in F0, and the time interval of the lightning in B0.
즉, 소리의 크기에 따라 많은 양의 비와 강한 번개가 치게 되고, 소리의 대표 주파수에 따라 비의 색깔을 다르게 하거나 바람이 부는 효과를 내며, 음악의 박자 속도에 따라 번개가 치도록 한다.That is, a large amount of rain and strong lightning strikes according to the volume of the sound, the color of the rain or wind blowing effect according to the representative frequency of the sound, and the lightning strikes according to the beat rate of music.
그러나, 번개와 비의 양, 색깔, 강도의 결정 요소를 위의 예와는 다르게 취하는 것도 물론 가능하다.However, it is of course possible to take the determining factors of the amount of light and rain, color and intensity differently from the above example.
위와 같은 번개와 비의 시뮬레이션을 위한 알고리즘은 다음과 같다.The algorithm for simulating lightning and rain is as follows.
단계 1 : 변수의 정의 및 번개와 비의 초기화Step 1: Define the Variables and Initialize Lightning and Rain
단계 2 : 번개 그리기Step 2: Draw Lightning
좌표계 설정Coordinate system setting
if(소리가 일정 크기 이상이면)if (if the sound is above a certain level)
모든 번개에 대하여Against all lightning
if(i번째 번개가 존재하지 않으면)if (i th lightning does not exist)
번개생성 및 초기화Lightning generation and initialization
번개의 각 마디 설정Set each node of lightning
모든 번개에 대하여Against all lightning
번개가 존재하면If lightning exists
번개의 각 마디에 대하여About every node of lightning
좌표설정Coordinate setting
번개의 굵기 결정Determine the thickness of the lightning
번개 그리기Lightning drawing
번개가 사라질 시점이면 번개 제거Remove lightning when it's time to disappear
단계 3 : 비 그리기Step 3: draw non
rainnum = energy/255. * MAX_RAINrainnum = energy / 255. * MAX_RAIN
for(i=0;i<rainnum;i++) // 소리의 크기에 비례하는 양의 비 생성for (i = 0; i <rainnum; i ++) // Create Positive Ratio Proportional To Sound
if(i번째 비가 없으면)if (if there is no i th rain)
비 생성Non-generated
for(i=0;i<MAX_RAIN;i++) // 모든 비에 대해서for (i = 0; i <MAX_RAIN; i ++) // for all ratios
if(i번째 비가 있으면)if (the i th rain)
다음 좌표 계산하여 선을 그린다Draw the line by calculating the following coordinates
if(화면을 벗어났으면)if (off screen)
i번째 비를 제거한다remove the i th rain
단계 4 : 다음 프레임에 대하여 단계 2로 간다.Step 4: Go to step 2 for the next frame.
3. 출력부3. Output section
출력부(30)는 모니터나 투사장치(Projector) 등과 같은 표시장치와, 이 표시장치를 구동하기 위한 구동장치를 구비한다. 제어부(20)로부터의 시각효과 제어신호는 출력부(30)에 전달되어 구동장치를 제어함으로써 모니터 또는 투사장치를 통해 영상으로 표출되게 된다. 이러한 출력장치는 통상적인 디스플레이 장치를 사용하면 되며, 특정 장치에 한정되는 것은 아니다.The output unit 30 includes a display device such as a monitor, a projector, or the like, and a drive device for driving the display device. The visual effect control signal from the controller 20 is transmitted to the output unit 30 to control the driving device to be displayed as an image through a monitor or a projection device. Such an output device may use a conventional display device, and is not limited to a specific device.
한편, 노래방이나 나이트클럽에서의 조명장치에 본 발명을 적용하면, 음악에 맞추어서 조명이 분수가 뿜어져나오는 모양이나 폭죽이 터지는 모양이 변하게 할 수도 있다.On the other hand, when the present invention is applied to a lighting device in a karaoke room or a night club, the lighting may change the shape in which the fountain is spouted or the shape in which the firecrackers burst in accordance with music.
이상 본 발명을 상세히 설명하였지만, 본 발명은 특정 실시예에 한정되는 것은 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상에서 벗어나지 않으면서 많은 변형과 수정을 가할 수 있음을 이해할 것이다.Although the present invention has been described in detail above, the present invention is not limited to the specific embodiments. Those skilled in the art will appreciate that many modifications and variations can be made without departing from the spirit of the invention.
본 발명에 따르면, 음악을 다양한 패턴으로 실시간으로 시각화하여 보여줌으로써 음악감상에 흥미를 더할 수 있다는 효과가 있다.According to the present invention, by visualizing and showing music in various patterns in real time, it is possible to add interest to music.
또한, 본 발명에 따르면 음악을 다양한 형태로 실시간으로 시각화해서 보여주기 때문에 시각장애인들도 함께 음악을 감상할 수 있다는 효과가 있다.In addition, according to the present invention, since the music is visualized in various forms in real time, the visually impaired people can also enjoy the music together.
또한, 본 발명에 따르면 노래방이나 나이트클럽에서의 조명을 현재 나오고 있는 음악에 맞추어 다양하게 변화시켜줌으로써 음악을 듣고 있는 사람들의 흥을 돋울 수 있다는 효과가 있다.In addition, according to the present invention by varying the lighting in the karaoke or nightclubs in accordance with the music that is currently coming out there is an effect that can stimulate the excitement of people listening to music.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990051707A KR100336269B1 (en) | 1999-11-20 | 1999-11-20 | Apparatus for analyzing and visualizing music in real-time |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990051707A KR100336269B1 (en) | 1999-11-20 | 1999-11-20 | Apparatus for analyzing and visualizing music in real-time |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010047468A KR20010047468A (en) | 2001-06-15 |
KR100336269B1 true KR100336269B1 (en) | 2002-05-13 |
Family
ID=19621004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990051707A KR100336269B1 (en) | 1999-11-20 | 1999-11-20 | Apparatus for analyzing and visualizing music in real-time |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100336269B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030005117A (en) * | 2002-12-05 | 2003-01-15 | 김영애 | The method of music design on Textile |
KR20040025260A (en) * | 2002-09-19 | 2004-03-24 | 주식회사 대우일렉트로닉스 | Method for offering image a time play music file in dvd player |
KR100827232B1 (en) | 2006-12-28 | 2008-05-07 | 삼성전자주식회사 | Apparatus and method for managing music file |
KR100890937B1 (en) | 2008-04-07 | 2009-04-02 | 주식회사협신랜드스케이프 | Method for operating music fountain |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030077787A (en) * | 2002-03-27 | 2003-10-04 | 김광선 | Apparatus for driving an fountain |
KR100485115B1 (en) * | 2002-08-06 | 2005-04-25 | 박세동 | fountain system |
KR100755713B1 (en) * | 2006-03-10 | 2007-09-05 | 삼성전자주식회사 | Apparatus and method for providing visualization image |
KR100929856B1 (en) * | 2009-07-01 | 2009-12-04 | 엠엠비 주식회사 | Computing device capable of playing audio file and method for controlling screen thereof |
KR101005303B1 (en) * | 2010-06-08 | 2011-01-04 | 이상권 | Automatic output pattern generation method and device harmonized with the characteristics of audio data |
-
1999
- 1999-11-20 KR KR1019990051707A patent/KR100336269B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040025260A (en) * | 2002-09-19 | 2004-03-24 | 주식회사 대우일렉트로닉스 | Method for offering image a time play music file in dvd player |
KR20030005117A (en) * | 2002-12-05 | 2003-01-15 | 김영애 | The method of music design on Textile |
KR100827232B1 (en) | 2006-12-28 | 2008-05-07 | 삼성전자주식회사 | Apparatus and method for managing music file |
KR100890937B1 (en) | 2008-04-07 | 2009-04-02 | 주식회사협신랜드스케이프 | Method for operating music fountain |
Also Published As
Publication number | Publication date |
---|---|
KR20010047468A (en) | 2001-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5430835A (en) | Method and means for computer sychronization of actions and sounds | |
Patterson | Auditory images: How complex sounds are represented in the auditory system | |
US6109923A (en) | Method and apparatus for teaching prosodic features of speech | |
Patterson et al. | Complex sounds and auditory images | |
KR100336269B1 (en) | Apparatus for analyzing and visualizing music in real-time | |
KR100275799B1 (en) | Soung constituting apparatus | |
Copley et al. | A stroboscopic study of lip vibrations in a trombone | |
Le Goff et al. | A text-to-audiovisual-speech synthesizer for french | |
CN1093302C (en) | Appts. comprising a display screen which is active in the operating mode and in the standby mode | |
CA2166980A1 (en) | An audio controlled computer-generated virtual environment | |
CN110072321B (en) | Light control method based on music rhythm | |
CN110488225A (en) | Indicating means, device, readable storage medium storing program for executing and the mobile terminal of sound bearing | |
KR100344776B1 (en) | Real-time music visualization method | |
DE112017002171B4 (en) | Laser trigger for a bass drum | |
EP3747007A1 (en) | Speech recognition with image signal | |
KR100365989B1 (en) | Virtual Sound Responsive Landscape System And Visual Display Method In That System | |
JPH06348811A (en) | Moving image display device | |
KR20170135302A (en) | Music fountain control apparatus using sound source analysis and control method thereof | |
Shpinitskaya et al. | Talking rocks, illusory sounds, and projections of the otherworld: Acoustics of sacred sites as a magic media in shamanic cultures | |
WO2019150234A1 (en) | Speech recognition with image signal | |
Lukkari et al. | Modal synthesis of wind chime sounds with stochastic event triggering | |
JP2004029862A (en) | Moving image producing apparatus, moving image producing method and program therefor | |
KR100359988B1 (en) | real-time speaking rate conversion system | |
Brungart et al. | The effects of f0 manipulation on the perceived distance of speech | |
WO2000045380A1 (en) | Voice driven mouth animation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100510 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |