KR20020075585A - Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기 - Google Patents

Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기 Download PDF

Info

Publication number
KR20020075585A
KR20020075585A KR1020010015663A KR20010015663A KR20020075585A KR 20020075585 A KR20020075585 A KR 20020075585A KR 1020010015663 A KR1020010015663 A KR 1020010015663A KR 20010015663 A KR20010015663 A KR 20010015663A KR 20020075585 A KR20020075585 A KR 20020075585A
Authority
KR
South Korea
Prior art keywords
bit
bar
beat
channel
music
Prior art date
Application number
KR1020010015663A
Other languages
English (en)
Other versions
KR100434987B1 (ko
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 KR10-2001-0015663A priority Critical patent/KR100434987B1/ko
Publication of KR20020075585A publication Critical patent/KR20020075585A/ko
Application granted granted Critical
Publication of KR100434987B1 publication Critical patent/KR100434987B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

본 발명은, FFT 알고리즘을 이용한 비트바 발생 장치 및 방법, 그리고 이를 이용한 게임기에 관한 것으로, 비트바 발생 장치는, 음향 데이터를 일시 저장하는 버퍼(220); 전체 주파수대를 다수개의 채널로 구획하고, 버퍼에 저장된 음향 데이터를 FFT 알고리즘을 이용하여 주파수 분석을 하고 각 주파수 포인트에서의 파워값을 산출하며, 파워값이 각 채널에 대해 소정의 조건을 만족할 경우에, 비트바를 발생시키는 신호처리기(261); 신호 처리기에서 발생된 비트바를 각 채널별로 디스플레이하며, 신호처리기의 제어에 따라 비트바를 기준선을 향하여 스크롤시키는 디스플레이부(262); 및 신호처리기, 버퍼 및 디스플레이부에 대한 인터페이스부(263); 를 포함함으로써, 기존 비트 매니아와 같은 음향 시뮬레이션 게임기들의 가장 큰 단점인 기기가 설치되어 있는 곳에서만 게임을 즐길 수 있다는 장소의 한계를 휴대용 게임기로 구현하여 극복하였고, 사전에 저장된 데이터에 전적으로 의존하여 별도의 업데이트 없이는 새로운 곡에 대한 게임을 즐길 수 없다는 데이터의 한계를 극복할 수 있게 되었다.

Description

FFT 알고리즘을 이용한 비트바 발생 장치 및 방법, 그리고 이를 이용한 게임기{APPARATUS AND METHOD FOR GENERATING BEAT BARS USING FFT ALGORITHM, AND GAME MACHINE USING THE SAME}
본 발명은, FFT 알고리즘을 이용한 비트바 발생 장치 및 방법, 그리고 이를 이용한 게임기에 관한 것이다.
댄스 음악의 열풍이 불기 시작한 90년대 말 일본에서 처음 개발된 "비트 매니아(Beat Mania)"와 같은 게임기는 음향 시뮬레이션 게임이란 분야를 창시하여 성공한 게임으로 이후 DDR(Dance Dance Revolution)이나 드럼 매니아(Drum Mania)와 같이 이를 응용한 게임들로 거듭나고 있다. 비트 매니아는 경쾌한 리듬의 음악에 상응하는 비트-바(Beat-Bar)가 6개의 채널을 통해 스크롤 되어 기준선에 도달할 때의 순간을 포착하는 게임으로 5개의 해당 건반과 1개의 스크래치 원판(Scratch Disc)을 이용하여 조작한다. 그러나, 기존의 이런 게임들은 대부분 업소용으로 개발되었거나, 컴퓨터용 게임 프로그램으로만 개발되어 기기가 설치되어 있는 장소에서만 즐길 수 있다는 장소의 한계와 사전에 프로그래밍되어 내장된 음악과 게임 데이터에만 국한하여 별도의 업데이트 없이는 언제나 동일한 게임 내용에 대해 반복적인 암기적 방식의 게임만 즐길 수 있다는 정보의 한계를 가지고 있다.
즉, 종래의 이상의 게임기들은, 미리 프로그램된 정보에 따라 최초 비트바가 생성 및 스크롤되어 정해진 기준선에 도달하였을 때에, 음악이 재생되기 시작하여 그 음악이 계속 재생되며, 비트바 역시 별개로 미리 프로그램된 상태에서 계속 출력될 뿐, 음악의 멜로디와 비트바는 별개의 독립된 상태로서 대충 일치하도록 출력된다. 그리고, 게이머는 단순히 음악을 들으면서, 디스플레이를 주시하다가 특정 부위에서의 비트바가 기준선에 도달하였을 때에 해당 건반이나 스크래치 원판을 터치하도록 되어 있다.
한편, 디지털 시대가 도래함에 따라 휴대용 음향 기기 분야도 CD 플레이어나 MP3 플레이어 그리고, 미니디스크(Mini-disc)와 같은 디지털 매체들이 점점 대중화되어가고 있는 추세이며, 각종 편익기기들은 복합적이면서 다기능을 가진 휴대용 장치들로 개발되어 가고 있는 추세이다. 이에 기존의 단순한 기능만을 충족시키는 것으로 그 가치를 인정받고 있던 휴대용 기기들의 멀티미디어적인 소비자 욕구가 증대되고 있으며, 이는 곧 기존의 음악 재생에만 충실했던 휴대용 음향기기들의 멀티미디어적 요소의 부각 및 그 주변기기 개발에 대한 새로운 시장의 전망을 제시하고 있다.
그러나, 기존의 방식은, 비트바와 음악의 멜로디가 전혀 별개로 출력되며, 또한, 임의의 음악 멜로디로부터 능동적으로 매칭되는 비트바가 생성되는 것이 아니며, 더구나 음악의 출력을 일시 지연시켜 음악의 멜로디와 비트바가 실시간으로 완전 매칭되도록 될 수 없기 때문에, 이러한 새로운 휴대용 음향기기를 이용한 DDR 게임이 불가능하다는 문제점이 있었다.
본 발명의 목적은, 상술한 바와 같은 종래의 문제점인, 이상의 기존 음향 시뮬레이션 게임기들의 가장 큰 단점인 장소의 제약과 데이터의 제약 등의 한계를 극복하고, 휴대용 음향기기의 멀티미디어적 요소를 부가할 수 있는 주변기기 시장에 대한 새로운 전망을 제시할 수 있도록 휴대용 음향기기를 통한 실제 음원에 대해 DSP를 이용하여 FFT 알고리즘으로 주파수를 분석하고, 이로써 어떤 음악에도 능동적으로 비트-바(Beat-Bar)를 생성시켜 어디서든 게임을 즐길 수 있는 휴대용 범용 음향 시뮬레이션 게임기(이하, '워킹비트(Walking Beat)'라 한다) 또는 노래방 등과 같이 장소의 제약을 받지 않고 게임을 즐길 수 있는 장치를 제공하는 것이다.
본 발명의 추가의 목적이나 효과는, 첨부한 도면을 참고하여 기술한 이하의 발명의 상세한 설명으로부터 더욱 명확해질 것이다.
도 1은 비트(beat)음색의 파형을 보인 파형도.
도 2는 음악 파형의 일례를 보인 스펙트럼.
도 3은 FFT알고리즘에 의한 비트 발생의 일례.
도 4는 FFT알고리즘에 의한 비트 발생의 다른 일례.
도 5는 FFT알고리즘에 의한 비트 발생의 또다른 일례.
도 6은 채널 배정 및 비트바 발생 조건을 도시한다.
도 7은 비트바 생성과 스크롤을 보인 도면.
도 8은 워킹 비트의 실제 외관의 일례.
도 9는 워킹 비트의 기능을 보인 계통도.
도 10은 워킹 비트의 블록 다이어그램.
도 11은 그래픽 LCD의 내부 구조도.
도 12는 LCD 모듈의 제어명령.
도 13은 LCD 제어를 위한 라이트 타이밍도.
도 14는 LCD 제어를 위한 리드 타이밍도.
도 15는 비트바 생성 동작 흐름도.
도 16은 워킹 게임의 평가 흐름도.
도 17은 도 8에 대응하는 워킹 비트의 외관의 다른 일례.
도 18은 LCD 상에서 채널 배정의 일례.
<도면의 주요 부분에 대한 부호 설명>
10 : 디스플레이부 11 : 비트바
12 : 기준선 13 : 게임평가 표시부
14 : 현재점수 표시부 15 : 최고점수 표시부
20 : 키입력부 21-25 : 조작버튼
26 : 스크래치 패드
100 : 음향기기 200 : 워킹비트
210 : A/D 컨버터 220 : 버퍼
230 : 시간지연부 240 : D/A 컨버터
250 : 아날로그 보상기 260 : 비트생성부
261 : DSP 262 : 그래픽 LCD
263 : CPLD 264 : 플래시 ROM
262a : 파워공급회로 262b : 커먼(common) 구동기
262c : 세그먼트 구동기 262d : LCD 패널
이상의 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 FFT 알고리즘을 이용한 비트바 발생 장치는, 음향 데이터를 일시 저장하는 버퍼(220); 전체 주파수대를 다수개의 채널로 구획하고, 상기 버퍼에 저장된 음향 데이터를 FFT 주파수 분석하여 각 주파수 포인트에서의 파워값을 산출하며, 상기 파워값이 각 채널에 대해 소정의 조건을 만족할 경우에, 비트바를 발생시키는 신호처리기(261); 상기 신호 처리기에서 발생된 비트바를 각 채널별로 디스플레이하며, 상기 신호처리기의 제어에 따라 상기 비트바를 기준선을 향하여 스크롤시키는 디스플레이부(262); 및 상기 신호처리기, 버퍼 및 디스플레이부에 대한 인터페이스부(263); 를 포함하는 것을 특징으로 한다.
바람직하게, 상기 소정의 조건은, 각 채널에 대해 상기 파워값이 제1 기준값 이상인 경우에 만족되는 제1 조건과, 상기 제1 조건을 만족하는 채널이 기설정된 개수(일례로 3개) 이상 존재할 경우에, 각 채널에서의 파워값이 상기 제1 기준값보다 작지 않은 제2 기준값을 초과하는 경우에 만족되는 제2 조건으로 이루어지며, 더욱 바람직하게는, 상기 소정의 조건은 저주파에 해당하는 채널의 경우에 더 엄격하도록 한다.
한편, 이상의 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 FFT 알고리즘을 이용한 비트바 발생 장치를 이용한 게임기는, 상기 음악 데이터로서의 상기 음향 데이터로부터 비트바 발생장치를 갖되, 상기 버퍼에 저장된 음향 데이터를 상기 비트바 발생 및 스크롤에 필요한 시간만큼 지연시킨 후에 아날로그 변환하여, 상기 비트바가 상기 기준선에 이를 때와 동기하여 음악을 출력하며, 상기 비트바가 기준선에 도달하였을 때에 키입력 신호를 체크하여 스코어를 갱신하는 것을 특징으로 한다.
다른 한편, 이상의 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 FFT 알고리즘을 이용한 비트바 발생 방법은, 디지털 음향 데이터를 버퍼링하는 단계(S104); 상기 버퍼링된 데이터에 대해 FFT 분석을 행하여 각 포인트에 대해 파워값을 산출하는 단계(S106); 상기 파워값에 대해 각 채널당 비트바 발생 조건을 판별하는 단계(S108); 상기 비트바 발생 조건이 만족되면 해당 채널에 대해 비트바를 생성하는 단계(S112); 및 상기 생성된 비트바를 디스플레이시키며 기준선을 향해 스크롤되어 가도록 하는 단계(S114); 를 포함하는 것을 특징으로 하며, 바람직하게는, 상기 시간지연(S111)된 디지털 음악 데이터로서의 음향 데이터를 D/A 변환하는 단계(S113); 상기 비트바가 기준선에 도달했을 때에 동기하여 상기 D/A 변환된 신호로부터 음악으로 재생하는 단계(S116); 및 상기 비트바가 기준선에 도달하였을 때에 키입력 신호를 감지하여 스코어를 갱신하는 단계(S202-S204); 를 더 포함하도록 한다.
먼저, 본 발명에 관한 비트바 발생장치를 설명하기에 앞서, 일반적인 비트 음색에 대하여 도 1을 참조하여 설명한다. 도 1은 일반적인 비트 음색의 파형을 보인 파형도이다.
순수 음색(Pure Tones)은 단일 주파수를 갖는 정현파형이라고 볼 수 있는데, 서로 미묘한 차이의 주파수를 갖는 이러한 순수 음색들의 정현파를 곱하면 비트 음색이라 불리는 오디오 효과를 만들 수 있다. 떨리는 듯한 이 현상은 10Hz 이하의 아주 작은 주파수 부근과 1KHz 부근의 주파수에서 잘 들린다. 어떤 악기는 비트 음색을 자연스럽게 생성시킨다. 비트 음색은 2개의 근접한 피아노 건반과 같이 근접한 주파수를 갖는 2개의 정현파들의 중첩에 의해 생성된다. 다음 수학식 1과 같이 두 개의 근접한 주파수를 갖는 정현파의 합이 있을 때,
중간 주파수를로 정의하고, 미소차이 주파수(Deviation Frequency)를 fc보다 훨씬 작은으로 정의하면 2개의 주파수는 각각로 표현된다. 여기서 수학식 1은 수학식 2와 같은 복소 지수 표현의 실수부의 합을 이용하여 두 정현파의 곱으로 표현할 수 있다.
예를 들어, fc = 200Hz,Hz라고 하면, x(t)는 수학식 3과 같이 나타내어진다.
즉, 수학식 3에서 보는 바와 같이, 신호는 두 정현파 성분,의 곱으로 나타나며, 그 결과는 도 1과 같다.
도 1에서, 낮은 주파수()에 의해 포락선이 결정되고, 빠른 주파수(fc)가 포락선 내에서 진폭의 변화를 보인다. 이와 같이,에 의한 진폭의 합과 차 사이의 느린 진폭의 변화를 비트(Beat)라고 한다. 우리의 귀는 이런에서의 음을 더 강하게 인식하며, 이 때의 주파수는 일반적으로 평균 주파수인이다.의 효과는 신호의 강약이 변하도록 포락선을 올리고 내리는 역할을 한다. 실제 음악에서 여러 가지 악기들이 연주될 때, 근접한 주파수 영역에서 음색이비팅(beating)되는데 이 때의 주파수 스펙트럼은 그 파워가 밀집된 상태를 보인다.
실제 음악은 이런 정현파들이 복잡하게 중첩되어 있는 형태이며 이는 다시 주기가 무한대인 정현파형으로 볼 수도 있다. 다양한 악기들이 동시에 연주되는 복잡한 성분의 파형에서는 서로 다른 음색을 갖는 악기들이 악보에 의해 리듬에 맞는 조화를 이루며 비슷한 음정을 연주하게 된다. 이 때 이런 비트 현상이 자주 발생되게 되는데, 이는 곧 비슷한 주파수에 대한 음색의 밀도가 커진다는 것을 나타낸다. 즉, 한 시점에 대해 몇몇 주파수대에서 주파수 밀도가 높아지게 된다는 것을 의미한다. 특히, 모든 음악에는 박자가 있고, 일반적으로 타악기 등과 같은 낮은 음색을 갖는 악기들로 박자를 맞추어 주기 때문에 이 박자 부분에서 비트 음색이 가장 많이 표현되며, 이 때의 주파수 밀도는 몇몇 주파수대에서 가장 높게 표현된다. 따라서, 본 발명에서 구현하고자 하는 워킹비트 게임기의 비트-바 발생 알고리즘은 이런 비트 현상을 이용하여 FFT 알고리즘으로 분석한 음악 데이터의 주파수 파워값을 계산하여 비트 현상으로 판별이 된 리듬에 대해 비트-바가 생성될 수 있도록 평가 레벨을 정해 주었다.
이제, 이상의 비트바의 발생 원리에 대해 도 2 내지 도 7을 참조하여 설명한다.
도 2는 음악 파형의 일례를 보인 스펙트럼이고, 도 3은 FFT알고리즘에 의한 비트 발생의 일례이고, 도 4는 FFT알고리즘에 의한 비트 발생의 다른 일례이며, 도 5는 FFT알고리즘에 의한 비트 발생의 또다른 일례이다.
일반적으로, 연속 시간 t의 함수로 주어진 신호 f(t)를 푸리에 변환하여 주파수 ω의 함수로 변환시키면 그 신호에 포함되어 있는 주파수 성분을 쉽게 알 수 있다. 임의의 연속신호 f(t)의 푸리에변환을 F(Ω)로 표시하면, 다음 수학식 4와 같이 정의된다.
우리가 실제로 접하는 연속신호 f(t)를 수식으로 표현하기가 쉽지 않기 때문에 연속 시간 신호를 푸리에 변환하여 주파수를 분석하는 것은 매우 어렵다. 일반적으로 수식으로 표현하기 어려운 복잡한 연속신호 파형의 푸리에 변환은 연속신호를 샘플링하여 이산 신호로 바꾸어 주파수 스펙트럼을 구하면 편리하다.
N개의 이산신호 x(n)(n=0,1,2,…, N-1)가 주어질 때 x(n)의 이산푸리에변환(DFT)은 다음 수학식 5와 같이 정의된다.
여기서, 회전인자(Twiddle Factor) W_N을 아래의 수학식 6과 같이 정의하면, 수학식 5는 수학식 7과 같이 변환된다.
WN= e-j2π/N
이러한 N-포인트 DFT를 계산하기 위해서는 N×N=N2의 곱셈 연산이 필요하다. 즉, 입력 시퀀스의 길이가 긴 경우, 기하급수적인 연산량이 필요하게 된다. 이러한 배경으로의 연산량이 필요한 고속 푸리에 변환(FFT) 알고리즘이 사용된다.
본 명세서에서는 비트-바를 생성시키기 위한 주파수 분석으로 DSP를 이용하여, 일례로 40KHz의 샘플링율과 256 포인트의 FFT 연산을 소프트웨어적으로 처리한다.
한편, 본 발명의 실현을 위해서는, 실제 음악의 FFT 알고리즘을 이용한 주파수 분석을 위해서는 다양한 음악의 특성을 파악할 수 있는 분석 작업이 선행되어야 한다. 특히 다양한 음악에 대해 능동적으로 비트-바를 발생시키기 위해서는 여러 음악에 대해 반복된 주파수 분석 작업들을 통해 비트 현상이 주로 발견되는 박자 부분을 선택할 수 있어야 하며, 이들 데이터에 대한 분석이 가능해야만 한다. 이를 위해, 일례로 실제 노래의 전주부분 약 8초 동안을 '쿨 에디트(Cool Edit)' 프로그램을 이용하여 20KHz 8bit 모노로 샘플링한 시간축 상에서의 파형과 주파수 스펙트럼을 보면 다음 도 2와 같다. 도 2에서 도 2(a)는 시간축 상의 진폭의 변화를 나타내고, 도 2(b)는 주파수 스펙트럼으로 시간축에 대한 주파수의 변화와 밀도를 그래픽으로 표현한 것이다. 밝은 부분일수록 주파수 밀도가 높다. 도 2(b)에서 보듯이 낮은 주파수 영역에 대해서는 밀도가 항상 높게 분포하고 있으며, 몇몇 주파수 영역에 대해서는 부분적으로 높은 주파수 밀도가 존재하고 있음을 알 수 있다. 그리고 주로 악보의 마디가 시작되는 부분에서 전체 주파수 성분들이 존재하고 있으며 이후 점점 상쇄되고 있는 모습을 확인할 수 있었다. 이 중 공통된 특성은 대부분 음악들이 500Hz 이하의 영역에서 거의 모든 시간에 대해 높은 주파수 밀도를 포함하고 있으며 10KHz 이상의 주파수 성분은 별로 없다는 것이다. 이는 곧 비트-바 생성을 위해 가청 주파수 영역인 2∼20KHz 영역 전체에 대한 FFT 연산을 하여 주파수 분석을 할 필요가 없음을 말해준다. 따라서, 본 발명에서 비트-바를 생성시키기 위해 주로 많이 나타나고, 특성에 따라 분별이 가능한 700Hz∼9KHz 사이의 주파수 성분에 대해서만 FFT 연산을 하였고, 이를 기반으로 생성된 FFT 데이터를 이용하여 비트-바를 생성시키는데 이용하였다.
상술하였듯이, 기존의 비트 매니아와 같은 게임들은 모두 음악의 박자에 맞는 비트-바를 프로그래머가 게임적 요소만을 고려하여 미리 임으로 만든 후 음악과 시간적 동기만을 맞추어 표현되도록 기기에 내장시키는 방식을 이용하였다. 따라서, 프로그래머에 의해 선별된 곡에 한정하여 게임을 즐길 수 있고, 반복된 게임에서 언제나 동일한 비트-바가 생성되기 때문에 게임적 흥미가 적어질 수밖에 없다. 그러나 본 발명에서 구현하려는 워킹비트 게임기는 휴대용 음향기기를 음원으로 하여 그 음원에 맞게 능동적으로 비트-바를 발생시켜야 하며, 이는 FFT 알고리즘을 이용한 주파수 분석을 통해 가능하다.
비트-바를 발생시키는 기본 알고리즘은 비트 현상이 자주 발생되면서도 실제 비트-바가 스크롤되는 5개의 채널에 해당하는 주파수 영역의 구분이 가능하도록 주파수 구간을 설정하고, 이 때의 주파수 파워값이 일정 기준값 이상이 되는가를 판별하여 해당 채널에 비트-바가 생성되도록 하는 것이다. 이를 위한 각각의 기준값들은 그 동안 다양한 음악에 대한 FFT 연산을 통해 얻은 데이터를 이용하여 확률적으로 산정하였다. 물론, 음악의 종류에 따라 다른 기준으로 기준값을 산정하는 것도 가능하다. 특히, 각 악기들의 음색이 주를 이루는 각 주파수대에 대한 FFT 포인터의 주파수 파워값을 측정하는 방식을 이용하였기 때문에 오케스트라와 같이 다양한 악기 연주로 구성된 음악이나 사람의 목소리가 주를 이루는 유행가 등에 대해서도 게임적 요소가 많은 비트-바를 능동적으로 발생시킬 수 있다. 본 발명에서는 주로 이런 악기 음색에 따른 음의 변화를 위해 많이 이용하고 있는 이퀄라이져의 주요 주파수 영역에 대한 주파수 파워값을 측정하는 방식을 이용하였다.
복잡한 정현파들의 중첩으로 표현될 수 있는 음악 데이터에 대한 분석은 FFT 알고리즘을 이용하는 것이 편리하다. 특히, DSP를 이용하여 FFT 연산을 수행한 후의 음악 데이터는 각 FFT 포인터에 대한 주파수마다 그 파워값이 일정 수치로 표현되기 때문에 우리가 원하는 음악에 대한 비트-바의 생성에 용이하게 이용할 수 있다. 본 발명에서는 비트-바를 발생하기 위하여 일례로 40KHz에 대해 256개의 FFT 연산을 수행하였다. 따라서 각 FFT 포인터의 주파수는 수학식 8과 같이 156Hz 정도의 값을 갖는다.
그러나, FFT 연산에 의한 결과값은 좌우 대칭으로 상반되기 때문에 실제 20KHz에 대한 128개의 FFT 포인터만이 유효하며, 본 발명에서는 표 1과 같이 이 중 가장 많은 비트 현상이 발견되는 700 ∼ 9KHz의 주파수에 대한 FFT 데이터를 이용하여 비트-바를 생성시켰다. 표 1은 각 채널당 FFT 포인터 개수와 해당 주파수 영역을 나타낸다.
비트-바는 총 6개의 채널에서 생성되는데 왼쪽으로부터 5개의 채널은 표 1과 같이 700 ∼ 9KHz에 대한 FFT 포인터의 수를 틀리게 배정하였다. 이는 실제 음악의 특성상 대부분 낮은 주파수 영역에서 높은 밀도가 자주 발생하기 때문에 균등 분배를 할 경우 낮은 주파수 영역에 해당하는 채널에서만 주로 비트-바가 발생되어 게임적 요소가 감소하기 때문이다. 따라서, 실제 다양한 음악에 대한 FFT 분석의 결과를 이용하여 적절하게 균등한 비트-바가 생성될 수 있도록 가중치를 두어 비트 현상이 일어날 확률이 적은 주파수 영역에 대해 확률적으로 비트-바 생성 가능성이높아지도록 하였다.
그리고 스크래치 원판(Scratch Disc)을 이용하여 조작하기 위한 우측의 6번째 채널은 표 2와 같이 비트-바를 생성시킬 것인지를 결정하기 위한 주파수 파워 크기의 '조건 1'이 5개의 채널에서 모두 성립할 때 발생되도록 하여 게임적 요소를 증대시켰다. 5개의 채널에 대해 비트-바를 생성시킬지 여부는 해당 주파수 구간의 각 FFT 포인터에 해당되는 점의 파워값의 크기에 따라 두 가지 조건을 부여하였는데 그 때의 각 조건은 표 2와 표 3에 있다.
표 2에서 보듯이 5개의 채널은 해당 FFT 포인터 중에 파워값이 해당 기준값 이상일 경우에 표 3과 같은 두 번째 조건을 조사하게 된다. 이 때, 박자에 해당하는 곳 이외의 곳에서도 조건이 성립되는 경우가 있기 때문에 '조건 1'을 만족하는 채널이 3개 이상일 경우에만 '조건 1'을 만족하는 것으로 판정하며, 5개의 채널이 모두 만족할 경우에는 각 채널에서 모두 비트-바를 발생시키는 대신 채널 6에서만 한 개의 비트-바가 생성되도록 하였다. 만약 '조건 1'을 만족시킨 채널이 3개 이상 존재한다면 그 중 표 3과 같은 '조건 2'를 만족할 수 있는지를 다시 판별하게 되는데, 이 때는 해당 채널 내에 존재하는 각 FFT 포인터의 파워값이 해당 기준값을 만족할 경우 그 채널에서 비트-바를 발생시키게 된다. 그러나 가장 낮은 주파수 채널인 '채널 1'(CH1)의 경우 그 빈도가 아주 높기 때문에 가중치를 추가하여 2개 이상의 FFT 포인터 파워값이 기준값을 넘어야만 비트-바가 생성되도록 하였다.
도 6에는, 이상의 각 채널 배정의 주파수 범위 및 포인트 개수, 그리고 파워 기준값을 도시하고 있다. 파워 기준값은 점선으로 표시된 '조건 1'의 파워 기준값('제1 기준값'이라 함)과 일점쇄선으로 표시된 '조건 2'의 기준값('제2 기준값'이라 함)이 도시되어 있다. 일반적으로 동일 채널 내에서 제1 기준값은 제2 기준값보다 낮으나, 다만, 채널 1의 경우에는 조건 1 및 조건 2의 제1 및 제2 파워 기준값을 동일하게 설정하였다. 대신 채널 1의 경우에 있어서, 조건 2에서는 채널 1 내의 상기 기준값을 상회하는 파워값이 2개 이상 존재할 경우에 조건이 만족되도록 함으로써, 여전히 조건 2의 요건은 조건 1 의 요건에 비해 엄격하다. 또한, 각 채널의 각 포인트에는 파워값이 막대그래프의 형태로 도시되어 있다.
지금까지 살펴본 FFT 연산 데이터의 파워값에 대한 조건을 예를 들어 살펴보면 다음과 같다. 도 3∼도 5는 DSP 상에서 실제 동작하는 것을 컴퓨터의 "Code Composer 프로그램"을 이용하여 시뮬레이션한 결과로 도 2와 같은 실제 음악의 각 부분에 대해 살펴본 것이다.
먼저, 도 3을 보면, 5개의 주파수 구간에서의 각 FFT 파워값이 모두 제1 파워값에 미치지 못하므로, '조건 1' 마저도 만족하지 못하는 것을 볼 수 있다. 이와 같이, 조건 1을 만족하는 채널이 3개 이상 존재하지 않을 경우에는, 조건 2의 만족 여부에 관계없이, 비트-바는 발생되지 않는다.
다음 도 4를 보면, 5개의 채널이 모두 '조건 1'을 만족하고 있기 때문에(작은 원으로 표시된 부분), 두 번째 조건의 성립 여부를 판별하지 않고 바로 스크래치 채널인 '채널 6'(CH6)에 비트-바를 발생시킨다.
도 5는 채널 1, 2, 3(CH1, CH2, CH3)이 '조건 1'을 만족하고 있다. 이와 같이, 조건 1을 만족하는 채널이 3개 이상 4개 이하일 경우에는, 조건 2의 만족 여부를 검사한다. 도 5의 경우, '조건 2'를 만족하는 채널이 오직 채널 1(CH1)에 해당하는 주파수 구간 밖에 없기 때문에(맨 좌측 원 표시 부분) 채널 1에만 비트-바가 발생되게 된다.
위의 방법으로 생성된 비트-바는 실제 그래픽 LCD에서 표현되게 되는데 도 7과 같이 총 6개의 채널에서 생성된 비트-바는 비트-바 생성 장소에서 생성되어 일정 속도로 채널 하단의 기준선을 향해 스크롤된다. 맨 좌측의 채널에서는 새로 비트바가 생성된 상태를 보여주고 있으며, 중앙 위치의 채널에서는 스크롤되어 가는 과정에 있는 비트바를 나타내고 있으며, 우측의 비트바는 기준선에 도달한 경우를보여주고 있다. 비트바 생성 장소에서 기준선까지의 스크롤에 소요되는 지연 시간은 대략적으로 3.9초 정도가 바람직하다.
마지막으로, 각 주파수 구간에 의한 채널의 배정이 그 순서 그대로 표현이 될 경우 비트가 발생되는 채널이 한 쪽에 치우치는 경향을 보일 수 있기 때문에, 채널의 배정을 순서대로 하지 않고 도 18과 같이 뒤섞어서 사용자로 하여금 쉽게 흥미를 잃지 않도록 하는 것이 바람직하다.
워킹비트의 게임 방식은 비트-바가 기준선에 도달할 때 각 채널에 배정된 스위치를 눌러주어 음악을 들으면서 음악에 따른 비트-바가 기준선에 도달할 때의 순간을 포착하는 것으로 비트-바의 LCD 상의 도트 크기 즉, 비트-바의 좌표값과 기준선의 좌표값을 비교하여 점수를 정하는 방식으로 진행한다.
이제, 본 발명을 실제로 구현하기 위한 하드웨어 부분에 대하여, 도 8 내지 도 11을 참조하여 설명한다.
도 8은 워킹비트의 실제 외관의 일례이고, 도 9는 워킹비트의 기능을 보인 계통도이고, 도 10은 워킹비트의 블록 다이어그램이며, 도 11은 그래픽 LCD의 내부 구조도이다.
본 발명에 관한 워킹비트의 외관은 도 8과 같다. 즉, 휴대용 음향 기기의 이어폰 출력을 워킹비트의 입력으로 하고 다시 워킹비트에 이어폰을 꽂는 형식을 갖는다. 특히 최근 출시된 휴대용 음향기기들은 리모콘에 이어폰을 꽂는 방식을 많이 이용하기 때문에 여기에 워킹비트 게임기를 연결하여 입력을 받고, 워킹비트 출력단에 이어폰을 꽂아 다시 들을 수 있도록 한 개념이다.
상기 본체는 디스플레이부(10)와 키입력부(20)로 나누어지며, 키입력부에는 각 채널에 대한 조작버튼(21-25) 및 스크래치 패드(26)가 있다.
워킹비트를 직접 구현하기 위한 보다 상세한 하드웨어 블록 다이어그램을 도 9를 참조하여 설명한다.
먼저, 휴대용 음향기기로부터 입력된 음악 데이터(100)는, 본 발명에 관한 워킹비트라 불리는 비트 발생장치의 A/D 컨버터(210)에 의해 디지털 신호로 변환되어, 버퍼(220)에 저장되게 되는데, 이는 실제 게임 방식이 음악에 대한 비트-바가 먼저 생성되어 스크롤된 뒤 기준선에 도달했을 때 그 비트-바를 생성시킨 음악 데이터와 시간적인 동기를 맞추어서 이어폰(300)을 통해 출력되어야 하기 때문이다. 이를 위해 실제 비트-바의 스크롤 시간인 일례로 3.9초 동안의 버퍼링을 위해 64KWord의 크기를 갖는 SRAM을 이용하여 8bit의 128K개 데이터가 저장이 되고, 3.9초의 시간 지연(230) 후에 음악 데이터는 다시 D/A 컨버터를 거쳐 아날로그 신호로 변환되어 이어폰으로 출력된다. 물론, 상기 음악 데이터(100)가 디지털 데이터이라면, A/D 변환기(210)는 불필요할 것이다.
한편, 상기 버퍼(220)에 저장된 음악 데이터는 동시에 비트생성부(260)의 입력으로 되어 비트를 발생하도록 된다. 이를 도 10을 참조하여 좀더 상세히 설명하면, DSP(261)를 이용하여 FFT 연산 및 비트-바 생성 조건을 판별하여 그래픽 LCD(262) 상에 비트바를 생성시키게 되는 방식이다. 이를 위해 ROM(264), RAM(220), LCD(262), S/W 등의 모든 인터페이스를 위한 타이밍 생성은 CPLD(Complex Programmable Logic Device)(263)를 이용했다.
즉, 도 10의 워킹비트 하드웨어 아키텍쳐를 살펴보면, 먼저 320C5402 DSP(261)는, 일례로 외부 10MHz, 내부 100MHz의 클럭으로 동작하기 때문에 FFT 연산 등의 모든 연산에 무리없이 동작한다. CPLD(263)를 입출력 인터페이스 포트로 이용하였기 때문에 회로를 간소화시키고 DSP의 불필요한 테스크를 줄였다. CPLD는 메모리 맵에 따라, 램과 롬, ADC와 DAC를 제어하기 위한 제어 신호를 생성하여 각 서브 디바이스의 실제 동작을 관리한다. 그리고 출력 장치인 그래픽 LCD에 입출력 포트를 제공하고, 스위치의 입력을 체크하는 엔코더(Encoder) 역할을 하게된다.
워킹비트의 가장 핵심 부품인 DSP(261)는 TI사(Texas Instrument Co.)의 제품을 이용할 수 있다. TI社의 DSP 칩은 크게 TMS320C2000계열, 3000계열, 5000계열 그리고, 6000계열이 있는데, 3000계열은 제어 시스템에 적합하고, 5000계열은 저전력 성능을 보이며, 6000계열은 처리 능력이 우수하나 가격이 비싸다. 그 중에서 TMS320C54x가 바람직하다. 특히, 본 발명에서는 휴대용 기기임을 감안하여 저전력 특성을 가지며 빠른 속도와 가격이 저렴한 5000계열중의 하나인 TMS320C5402 또는 TMS320C5416이 바람직하다.
DSP는 휴대용 음향기기를 음원으로 하여 버퍼 메모리에 입력된 음향 신호의 주파수 스펙트럼을 FFT(Fast Fourier Transform) 연산을 거쳐 비트-바 생선 조건을 판별하게 되고, 그래픽 LCD 제어와 기본적인 각종 연산을 맡아서 처리하게 된다. DSP를 구동시키기 위한 기본적인 펌웨어 프로그램 코드는 32K bit 크기의 플래시 롬을 이용할 수 있으며, SRAM(Static RAM)은 64K Word의 크기를 가지며 A/D 컨버터를 통과한 음원 데이터를 저장하기 위한 버퍼로 이용한다. 음악 데이터는 8bit씩저장되게 되어 대략 3.9초 정도의 시간 지연을 얻을 수 있게 된다.
CPLD(Complex Programmable Logic Device)(263)는 인터페이스 역할을 한다. SRAM에 음악 데이터가 8bit씩 저장이 되도록 하고, 플래시 롬에서 코드와 데이터를 읽어오기 위해 타이밍 데이터를 생성시킨다, 그리고 스위치와 그래픽 LCD를 위한 병렬 포트를 제공해 주며 ADC와 DAC를 위한 인터페이스를 제공해준다. DSP에서 어드레스 13, 14, 15를 가지고 8개의 CS 신호를 생성하여 롬과 램의 디코딩 및 LCD를 위한 병렬 포트 생성용 CS 신호로 사용한다. 그리고, 6개의 스위치 인터페이스를 위해 내부적으로 6개의 스위치용 디코더를 두는 것이 바람직하다. 본 발명에서 이용한 CPLD는 ALTERA사의 MAX7000 제품으로 'Second-Generation Multiple Array MatriX(MAX)' 구조를 기본으로 하고 있는 EEPROM 방식의 PLD로 구현될 수 있다.
메모리 맵(memory map)은, RAM을 위해 메모리 영역을 0부터 FF번지까지의 2개의 페이지로 할당하고, ROM에 저장된 코드와 데이터를 읽어오기 위해 0부터 7FFF까지는 데이터 영역으로 C000부터 FFFF까지는 코드 영역으로 할당하며, I/O 영역은 먼저 LCD 제어 명령을 위해 8000번지를 6비트 플립 플롭 구조로 할당하고, LCD 데이터는 9000번지를 이용하여 8비트 플립 플롭 구조를 갖게 하는 것이 좋다. A000 번지는 DAC를 위해 8비트 플립 플롭 구조를 가지며, ADC는 B000번지를 할당하여 8비트 3-상태 구조가 되게 하며, 마지막으로 6개의 스위치는 C000번지를 이용하여 6비트 3-상태 구조가 되도록 하는 것이 좋다.
그래픽 LCD(262)는 일반적으로 가장 많이 쓰는 LCD 중 하나인 128×64 DOT를 갖는 HG12605NG를 이용할 수 있다. 이 LCD는 LCD 콘트롤러로 도트 매트릭스 LCD에서 사용하는 64채널 세그먼트 드라이버인 KS0108B를 사용하고 있다.
내부 구조는 도 11과 같이, 파워공급회로(262a), 커먼 구동기(262b), 세그먼트 구동기(262c) 및 LCD패널(262d)로 구성되며, 1/64 DUTY 사이클과 BIAS는 1/6.7 이다. LCD는 일반적으로 동작 속도가 1000ns로 너무 느리기 때문에 이를 제어하기 위해 CPLD를 이용하여 74HC373의 8bit 래치(latch)로 8bit의 병렬 포트를 생성시키는 것이 좋다. 이 병렬 포트는 LCD를 제어하기 위한 신호들을 CPLD의 포트를 이용하여 DSP가 보다 쉽게 제어하도록 한 구조로 LCD에 실제 기록될 데이터들은 DSP의 데이터 버스를 통해 직접 전달되도록 설계된다.
도 11에서 사용되는 LCD 모듈의 제어명령이 도 12에 나와 있다. 또한, 도 13은 LCD 제어를 위한 라이트 타이밍도를, 그리고 도 14는 LCD 제어를 위한 리드 타이밍도를 나타내고 있다. 다만, 어디까지나 이는 참고적인 사항에 불과하고, 본 기술분야의 당업자라면 누구나, 이러한 제어명령의 구성을 하는 것이 가능할 것이다.
기타 주변 회로로서, DSP의 로우 액티브(Low Active) 리셋을 위한 리셋 회로를 채용하며, 10MHz의 크리스탈(265)과 DSP 내부의 PLL을 이용해 DSP내부는 100 MIPS까지 동작 가능하지만, 본 시스템에서는 20MIPS까지 동작하더라도 시스템 운용이 가능하기 때문에 20MIPS만 이용해도 된다. 오실레이터와 크리스탈을 동시에 이용 가능한 발진 회로가 필요하며, 오실레이터를 쓰지 않을 때는 크리스탈을 이용하여 10MHz 발진을 시킨다.
실제 게임을 할 때 이용할 6개의 키 패드는 '오프'되었을 때는 '하이' 입력을 하고, '온'되었을 때는 '로우' 입력이 되도록 설계하고, 스위칭 동작시 발생할수 있는 채터링(Chattering)을 제거하기 위하여 캐패시터를 이용하여 바이패스(Bypass)하는 것이 좋다.
이제, 본 발명에 관한 FFT 알고리즘을 이용한 비트바 발생 방법을 도 15 및 도 16을 참조하여 설명한다.
먼저, 도 9, 도 10 및 도 15에서 보는 바와 같이, 본 발명에 관한 FFT 알고리즘을 이용한 비트바 발생 방법이 시작되면, 먼저, 음악 데이터(100)를 A/D 변환기(210)에 의해 A/D 변환하고(S102), 변환된 디지털 데이터를 버퍼(220)에 저장한다(S104).
버퍼에 저장하여 시간지연(230)을 시킴과 동시에(S111), 저장된 데이터에 대해 비트부 생성부(260)에서 FFT 분석을 행하여 각 포인트에 대해 파워값을 산출한다(S106). 그리고 각 채널당 비트바 발생 조건을 판별하며(S108), 비트바 발생 조건이 맞는지 여부를 판단하여(S110), 조건이 만족되면 해당 채널에 대해 비트바를 생성하는 바(S112), 이는 그래픽 LCD(도 10의 262)에 디스플레이되는 바, 기준선(도 7 참조)을 향해 스크롤되어 가도록 한다(S114).
한편, 상기 시간지연(S111)된 디지털 음악 데이터는 D/A 변환기(240)에 의해 D/A 변환되어(S113), 아날로그 보상기(250)에 의해 아날로그 보상기 되도록 한 후에(S115), 상기 비트바가 기준선에 도달했을 때에 이에 동기하여 이어폰(300)에서 음악으로 생성된다(S116).
한편, 도 17에는, 본 발명에 관한 게임기의 또다른 실시예를 도시하고 있다. 본 실시예에서는, 채널이 5개이다. 즉, 스크래치 패드 채널(CH6)이 존재하지 않는다. 6개 채널의 경우에는 두 손으로 버튼을 조작하여야 하지만, 본 실시예의경우에는, 한 손으로 게임기를 파지하고 다른 한 손만으로 버튼을 클릭할 수 있어, 편리한 점이 있다. 역시, 각 채널의 비트바(11) 생성 및 기준선(12)까지의 스크롤을 보여주는 디스플레이부(10)와 조작버튼(21-25)을 갖는 키입력부(20)로 구성된다.
디스플레이부(10)에는, 게임의 결과를 간단하게 평가하여 표시하여 주는 게임평가 표시부(13), 현재 점수를 표시하여 두는 현재점수 표시부(14) 및 이제까지의 최고점수를 표시하여 주는 최고점수 표시부(15)를 더 갖도록 하는 것이, 게임의 흥미를 더할 수 있어 바람직하다.
그리고, 본 실시예에서는 스크래치 패드에 상당하는 앞서의 실시예의 채널 6이 존재하지 않으므로, 도 4의 경우와 같이 모든 채널에서 조건 1을 만족하는 경우에라도, 조건 2를 다시 판단하여, 조건 2를 만족하는 채널이 존재하면 해당 채널에 대해 비트바를 발생시킨다. 도 4에서는 채널 1과 채널 5가 조건 2를 만족하므로, 두 채널에서 비트바를 발생시키게 된다.
도 16에는, 본 발명에 관한 게임기의 게임 동작에 대한 흐름도를 도시하고 있다.
도 16에서 보는 바와 같이, 음악을 들으면서 게임을 하는 게이머가, 비트바가 기준선에 도달했을 시에 해당 채널의 버튼을 클릭하면(S202), 게임기는 현재 점수를 갱신하고(S204), 음악이 종료될 때까지 이를 반복한다(S202-S206). 음악이 종료되면, 현재 점수를 평가하여 이를 디스플레이에 표시하고(S208), 만약 현재점수가 현재까지의 최고점수보다 높은가를 판단하여(S210), 높으면 최고점수를 갱신하고(S212), 게임을 종료한다.
이상 본 발명을 첨부도면에 도시된 일 실시예를 참조하여 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 당업자가 용이하게 생각해 낼 수 있는 범위 내에서 여러 가지 변형이 가능함은 물론이다. 따라서, 본 발명의 한계는 다음의 특허청구범위에 의해서만 한정되어야 한다.
이상, 설명한 바와 같이, 본 발명에 관한 FFT 알고리즘을 이용한 비트바 발생 장치 및 방법, 그리고 이를 이용한 게임기에 의하면, 기존 비트 매니아와 같은 음향 시뮬레이션 게임기들의 가장 큰 단점인 기기가 설치되어 있는 곳에서만 게임을 즐길 수 있다는 장소의 한계를 휴대용 게임기로 구현하여 극복하였고, 사전에 저장된 데이터에 전적으로 의존하여 별도의 업데이트 없이는 새로운 곡에 대한 게임을 즐길 수 없다는 데이터의 한계를 극복할 수 있도록 FFT 알고리즘을 이용한 주파수 분석을 통해 능동적인 비트-바를 발생시키는 워킹비트 게임기를 설계하고 구현하였다.
또한, 워킹비트 게임기는 가능한 모든 음악에 대해 게임적 요소가 강한 비트-바가 생성되도록 구현하였기 때문에 음악에 따른 게임의 난이도를 사용자가 직접 결정할 수 있다. 즉, 비트 현상이 자주 일어나는 댄스곡이나 락(Rock) 등의 음악은 많은 비트-바가 생성되기 때문에 보다 어려운 게임을 즐길 수 있으며, 조용한 발라드 곡이나 피아노 곡과 같은 단조로운 악기의 연주곡 등에서는 보다 쉬운 게임을 즐길 수 있다. 특히, 음악이 아닌 연설문이나 뉴스 같은 음성 데이터나 마이크 등을 이용한 주변 환경의 소리 등 주파수를 갖는 모든 소리에 대해 반응하므로 그 응용 가능성은 아주 높다고 볼 수 있다.
또한, 본 발명에서 구현한 워킹비트 게임기는 워킹 댄스(Walking Dance)라는 게임기로 확장이 가능하다. 워킹 댄스는 비트 매니아 게임이 춤과 결합되어 응용된 게임인 DDR(Dance Dance Revolution)과 같이 워킹비트의 알고리즘을 이용하여 DDR을 휴대용으로 응용하기 위한 확장 보드로 워킹비트의 확장 슬롯에 붙이는 휴대용 발판이라고 생각하면 된다. 즉, 기존 DDR 게임도 역시 비트 매니아와 유사한 알고리즘에 표현 형식을 달리한 응용 게임이기 때문에 이 점을 이용하여 게임용 발판을 휴대용으로 제작하여 워킹비트의 스위치를 대체하고, LCD 표시 및 비트-바 발생 방법을 약간만 수정하면 된다.
결론적으로, 지금까지는 휴대용 음향기기의 목적은 단순히 음악을 청취하는 것만으로 만족되었다. 그러나 이제 디지털 시대의 부흥과 더불어 휴대용 음향기기도 더 이상 기존의 단순한 청취 목적의 충족만으로는 소비자의 욕구를 충족시키기 힘들다. 이에 본 발명에 따른 워킹비트와 같은 주변기기 등을 통해 단순한 청취 목적 이외의 멀티미디어적인 성향의 부여와 복합적인 기능을 함께 갖춘 종합 멀티미디어 기기로의 발전과 개발이 가능해지며, 이런 점에서 볼 때 워킹비트는 이런 새로운 음향기기 주변기기의 성장 가능성과 더불어 보다 폭넓은 음향기기 주변기기 시장의 성공 가능성을 제시할 수가 있게 된다.

Claims (6)

  1. 음향 데이터를 일시 저장하는 버퍼(220);
    전체 주파수대를 다수개의 채널로 구획하고, 상기 버퍼에 저장된 음향 데이터를 FFT 주파수 분석하여 각 주파수 포인트에서의 파워값을 산출하며, 상기 파워값이 각 채널에 대해 소정의 조건을 만족할 경우에, 비트바를 발생시키는 신호처리기(261);
    상기 신호 처리기에서 발생된 비트바를 각 채널별로 디스플레이하며, 상기 신호처리기의 제어에 따라 상기 비트바를 기준선을 향하여 스크롤시키는 디스플레이부(262); 및
    상기 신호처리기, 버퍼 및 디스플레이부에 대한 인터페이스부(263);
    를 포함하는 것을 특징으로 하는 비트바 발생장치.
  2. 제 1 항에 있어서,
    상기 소정의 조건은, 각 채널에 대해 상기 파워값이 제1 기준값 이상인 경우에 만족되는 제1 조건과,
    상기 제1 조건을 만족하는 채널이 기설정된 개수(일례로 3개) 이상 존재할 경우에, 각 채널에서의 파워값이 상기 제1 기준값보다 작지 않은 제2 기준값을 초과하는 경우에 만족되는 제2 조건으로 이루어지는 것을 특징으로 하는 비트바 발생장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 소정의 조건은 저주파에 해당하는 채널의 경우에 더 엄격한 것을 특징으로 하는 비트바 발생장치.
  4. 제 1 항 또는 제 2 항의 음악 데이터로서의 상기 음향 데이터로부터 비트바 발생장치를 갖되,
    상기 버퍼에 저장된 음향 데이터를 상기 비트바 발생 및 스크롤에 필요한 시간만큼 지연시킨 후에 아날로그 변환하여, 상기 비트바가 상기 기준선에 이를 때와 동기하여 음악을 출력하며, 상기 비트바가 기준선에 도달하였을 때에 키입력 신호를 체크하여 스코어를 갱신하는 것을 특징으로 하는 게임기.
  5. 디지털 음향 데이터를 버퍼링하는 단계(S104);
    상기 버퍼링된 데이터에 대해 FFT 분석을 행하여 각 포인트에 대해 파워값을 산출하는 단계(S106);
    상기 파워값에 대해 각 채널당 비트바 발생 조건을 판별하는 단계(S108);
    상기 비트바 발생 조건이 만족되면 해당 채널에 대해 비트바를 생성하는 단계(S112); 및
    상기 생성된 비트바를 디스플레이시키며 기준선을 향해 스크롤되어 가도록 하는 단계(S114);
    를 포함하는 것을 특징으로 하는 비트바 발생 방법.
  6. 제 5 항에 있어서,
    상기 시간지연(S111)된 디지털 음악 데이터로서의 음향 데이터를 D/A 변환하는 단계(S113);
    상기 비트바가 기준선에 도달했을 때에 동기하여 상기 D/A 변환된 신호로부터 음악으로 재생하는 단계(S116); 및
    상기 비트바가 기준선에 도달하였을 때에 키입력 신호를 감지하여 스코어를 갱신하는 단계(S202-S204);
    를 더 포함하는 것을 특징으로 하는 비트바 발생 방법.
KR10-2001-0015663A 2001-03-26 2001-03-26 Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기 KR100434987B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0015663A KR100434987B1 (ko) 2001-03-26 2001-03-26 Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0015663A KR100434987B1 (ko) 2001-03-26 2001-03-26 Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR2020010008289U Division KR200237559Y1 (ko) 2001-03-26 2001-03-26 Fft 알고리즘을 이용한 비트바 발생 장치를 이용한게임기

Publications (2)

Publication Number Publication Date
KR20020075585A true KR20020075585A (ko) 2002-10-05
KR100434987B1 KR100434987B1 (ko) 2004-06-16

Family

ID=27698710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0015663A KR100434987B1 (ko) 2001-03-26 2001-03-26 Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기

Country Status (1)

Country Link
KR (1) KR100434987B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911689B1 (ko) * 2007-12-04 2009-08-10 한국과학기술연구원 실시간 음악 비트 주기 추출 방법 및 실시간 음악 비트주기 추출 장치
KR20160077425A (ko) * 2014-12-23 2016-07-04 주식회사 포스코 표면에칭을 이용한 3d 표면결함 검출장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911689B1 (ko) * 2007-12-04 2009-08-10 한국과학기술연구원 실시간 음악 비트 주기 추출 방법 및 실시간 음악 비트주기 추출 장치
KR20160077425A (ko) * 2014-12-23 2016-07-04 주식회사 포스코 표면에칭을 이용한 3d 표면결함 검출장치 및 방법

Also Published As

Publication number Publication date
KR100434987B1 (ko) 2004-06-16

Similar Documents

Publication Publication Date Title
US9224378B2 (en) Systems and methods thereof for determining a virtual momentum based on user input
US6018118A (en) System and method for controlling a music synthesizer
US9613635B2 (en) Automated performance technology using audio waveform data
US7112738B2 (en) Electronic musical instrument
KR20170106889A (ko) 지능형 인터페이스를 구비한 악기
KR100434987B1 (ko) Fft 알고리즘을 이용한 비트바 발생 장치 및 방법,그리고 이를 이용한 게임기
KR200237559Y1 (ko) Fft 알고리즘을 이용한 비트바 발생 장치를 이용한게임기
US6359206B2 (en) Tone signal processing apparatus with intermittent clock supply
Presti et al. Phonharp: a hybrid digital-physical musical instrument for mobile phones exploiting the vocal tract
US6040516A (en) Tone generation system using computer software and storage medium storing the computer software
EP3757984A1 (en) Electronic musical instrument, method and program
JP2021081601A (ja) 楽音情報出力装置、楽音発生装置、楽音情報生成方法およびプログラム
JP4096952B2 (ja) 楽音発生装置
JPH06259064A (ja) 電子楽器
JP4075677B2 (ja) 自動伴奏生成装置及びプログラム
JP3933070B2 (ja) アルペジオ生成装置及びプログラム
JP2005017676A (ja) 自動演奏装置及びプログラム
JPS59131990A (ja) 電子音楽発生装置用入力装置
KR100622564B1 (ko) 전자 악기
JP3705203B2 (ja) 楽音発生方法
JP2002287748A (ja) 電子楽器
JP3627557B2 (ja) 楽音発生装置及び方法
JP3529123B2 (ja) 自動演奏装置及び自動演奏方法
KR910004420B1 (ko) 전자악기에 있어서 듀엣음 발생방법
JP3863015B2 (ja) 電子楽器

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
LAPS Lapse due to unpaid annual fee