Audiosurf 및 Beat Hazard와 같은 오디오 기반 게임은 어떻게 작동합니까?


43

참고 :이 중 하나를 복제하는 방법을 묻지 않습니다. 나는 그들이 어떻게 작동하는지 묻고 있습니다.

모든 사람이 자신의 음악 파일 (또는 제공된 파일)을 사용하는 게임을보고 오디오 서프 및 비트 해저드 (Beat Hazard )와 같은 게임을 기반으로 레벨을 생성한다고 확신합니다 .

여기에 내가 의미하는 바를 보여주는 Audiosurf 의 비디오 가 있습니다.

헤비메탈 곡을 제공한다면 비발디와는 완전히 다른 장애물, 적, 게임 경험을 얻게됩니다.

나에게 관심이있는 것은이 게임의 작동 방식입니다. 나는 오디오에 대해 잘 알지 못하지만 데이터가 안정되거나 속도가 빨라지는 것을 이해하기 위해 노래를 어떻게 처리합니까? 나는 그들이 피치 값을 공급하여 (그런 종류의 것들이 오디오 파일에 있다고 가정) 레벨을 형성 할 수 있다고 생각하지만, 완전히 설명하지는 못합니다.

나는 설명,이 종류의 물건에 대한 기사에 대한 링크 또는 용어에 대한 오픈 소스 구현을 찾고 있습니다. ;-)

편집 : 약간의 검색과 약간의 도움을 얻은 후 FFT (Fast Fourier Transform)에 대해 알았습니다 . 이것은 올바른 방향으로의 발걸음 일 수도 있지만, 나에게 이해가되지 않는 것입니다.


1
FFT에 대한 정보를 추가하기 위해 방금 편집했습니다. 도움이 되길 바랍니다 :)
— Ray Dey

답변:


30

찾고있는 용어는 신호 처리 / 분석 입니다. 관련된 많은 기술이 있지만 그 게임에서 사용하는 기본 기술은 비트 탐지 입니다. 이는 곡의 템포와 소절의 비트가있는 위치를 계산하여 각 비트와 일치하도록 적절한 거리를두고 장애물을 배치합니다.

게임이 언제 시작되는지 등을 알 수있는 방법은 매우 간단하고 파형의 진폭 (볼륨) 또는 특정 주파수의 볼륨을 분리하고 볼륨을 측정하는 것과 같이 더 복잡한 것까지 다양합니다.

관심이 있다면 디지털 신호 처리를 살펴보고 파형을 분석하는 방법을 확인하십시오. 이는 본질적으로 이러한 게임이로드 단계에서 수행하는 작업입니다.

이 링크는 시작하기에 좋습니다.

사운드 프로세싱
이론 및 전자 음악 기술
소개 디지털 필터 소개

희망이 있습니다 :)

-레이

편집 : 방금 푸리에 변환에 대한 편집 내용을 보았고 전문가가 아니더라도 통찰력을 추가 할 것이라고 생각했습니다!

FFT는 파형의 실제 푸리에 변환을 계산하는 방법입니다. 기본적으로 오디오 파일을 Audacity에 로드 하면 타임 라인과 함께 타임 라인과 함께 웨이브 형식이 표시되며이를 시간 도메인 이라고 합니다 . FFT는 시간 도메인의 신호를 주파수 도메인 (기본적으로 오디오 내에서 발생하는 모든 주파수)으로 변환합니다.

이 변환은 스펙트럼 분석에 유용합니다. 게임 예제에서 푸리에 변환을 수행하는 경우 오디오에서 고주파 발생량을 쉽게 계산할 수 있으며,이를 통해 트위스트 시각 효과, 별 또는 일반적으로 고주파수 사운드와 관련된 것을 추가 할 수 있습니다. 저주파의 경우 시간이 지남에 따라 저음으로 이동하는 크고 무성한 괴물을 가질 수 있습니다.


1
훌륭한 링크! 그러나 나는 그들을 클릭했고 눈이 약간 녹았다. : p
— 공산주의 오리

5
@ 공산당 오리 : 그것은 약한 부분이었습니다. 이제 눈이 더 강해집니다.
— doppelgreener

3
@ 공산주의 오리 당신은 방금 토끼 구멍을 밟아 내려갔습니다.;)
— Ray Dey

나는 XNA가 MP3 파일 (이것으로 생각할 수있는 .WAV로 할 수는 있지만 거대합니다)으로 이러한 일을 할 수있게 해줍니다. 그러나 훌륭한 자원과 두통에 대해 대단히 감사합니다 : D
— 공산주의자 오리

1
@Kay는 링크를 업데이트했습니다
— Ray Dey


0

스펙트럼 에너지 변동에 대한 분석에서 나온 데이터는 이러한 종류의지도를 생성하기에 충분합니다. 처리 할 데이터가 너무 많은 경우 문제가 발생할 수 있습니다. 어떤 종류의 데이터가 사용되는지가 아니라 어떻게.

일부 비디오를 본 후 데이터가 기능 도메인 (시간 도메인-> 주파수 도메인-> 기능 도메인)으로 더 이동한다고 믿기 시작했습니다. 소프트웨어는 스펙트럼 에너지 변화를 사용하여 데이터를 생성하고 알려진 기능을 인식 한 다음 해당 기능에 대한 정보를 사용하여 맵을 설정합니다. 인식은 군집화, 최대 가능성, 신경망, 유전자 알고리즘 등으로 수행 할 수 있습니다.

인식을 완료 한 후에는 같은 infomations 있습니다 곳 에서 발견 된 경우 기능 의 시간 및 주파수 , 어떤 유형 featuature의가 발견되면, 속도가 특징 벡터 이동 등됩니다; 이러한 데이터를 사용하여지도 생성 알고리즘을 제공하여 더 나은 인식 알고리즘 만들기, 더 많은 기능 군 인식, 더 많은 데이터 추출, 이러한 데이터를 "렌더링"하는 새로운 방법 찾기 등과 같은 개선의 여지를 남겨 둘 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.