오디오서프, 이퀄라이져 기술 질문합니다.

2권에서 새로 도입된 오디오 프로그래밍 섹션에 대한 게시판입니다.

Moderator: 류광

Locked
비회원

오디오서프, 이퀄라이져 기술 질문합니다.

Post by 비회원 »

안녕하세요 아무리 찾아봐도 잘 모르겠기에 질문하는 초보입니다

여기오시는 분들은 대부분 오디오서프라는 게임을 보셨으리라 믿겠습니다

오디오서프에 쓰이는 음악파일 파싱? 같은 기술을 알고 싶습니다

혹은 mp3 재생기에 나오는 이퀄라이져나 미디어플레이어에서의 화상표시 같은거요

도대체 그런걸 구현해보려면 어떻게 해야하나요?

이퀄라이져 처럼 하면 되는건가 하고 이퀄라이져로 검색해봐도

제대로 된 글을 찾기 힘들고 그냥 이퀄라이져 자체에 대한 검색으로 되네요 :cry:

찾아보니 OpenAL 도 있던데, 이런걸로도 구현이 가능한가요?

오디오서프도 오픈된 라이브러리를 쓰지 않았을까 조심스레 추측해보는데..

관련된 공개 라이브러리나 소스가 있는지 궁금합니다.

혹은 구현하는 방법에 대해서라도 알고 싶습니다.
(찾아보니 무슨 알고리즘으로 파싱을 해서 가져온다는데, 대부분 그렇게 하시는건가요?)
pumpltup
Posts: 27
Joined: 2007-10-08 12:46
Location: 익투스게임즈

Post by pumpltup »

fmodex 에서 이퀄라이저 기능 제공하는걸로 알고있습니다.
(물론 숫자값으로만 그래픽적인 것은 프로그래머 역량에 따라 달라져요)

이퀄라이저 가져오는 함수는 getSpectrum로 알고있습니다.
도움되셨길 바랍니다.
http://www.ixtusgames.com
Spreading the gospel through Game
moonyeom
Posts: 168
Joined: 2007-02-05 16:38

Post by moonyeom »

MP3 는 디코딩시에 음역대별 정보를 얻어올 수 있는 것으로 알고 있습니다...(만 확실하진 않네요)

일반적인 Wav 포맷의 파일일 경우에는
매 시간대별로 적당히 데이터를 잘라서 FFT 등으로 변환한 후에
각 주파수별 에너지량을 보고 리듬이나 고음부 출현 등을 계산할 수 있겠습니다.

오디오서프는...
드럼이나 비트박스에 해당하는 저음역을 기본 리듬으로 보고,
중/고음역의 보컬, 기타리프, 신디음 등에서 배리에이션을 해주는 방식으로 보입니다.
(간혹 잔리듬이 많은 음악으로 플레이할 경우엔 탄막슈팅처럼 되더군요...)
물론 실시간이 아니라 전처리를 한번 하는 것으로 알고 있습니다.
난, 가져다 쓰는건 왠지 싫어...
비회원

Post by 비회원 »

두분 모두 답변 감사합니다! ^-^

그런데 mp3 를 단순히 읽어서 처리하는 루틴 (혹은 기능) 을 제공하더라도
mp3 에 라이센스 비용을 지불해야 하는건가요?

얻어오는 방식만 알게되면 말씀하신 것 처럼 음역대 별로 나눠서 처리를 해주면 될 것 같습니다
pumpitup 님이 말씀해주신 라이브러리도 한 번 찾아봐야 겠구요
(그것도 무료인지 아닌지도 확인해봐야 겠네요)

보통 단순하게 이퀄라이져? 스펙트럼? 같은 부분만 얻어오는 루틴만 있으면
재생은 OS 에 맡겨버리거나 DirectSound 처럼 제공받는 API 를 이용하면 될 것 같은데..
그 부분만 구하기도 쉽지 않네요

그런데 WAV 포맷의 FFT 는 알고리즘이지요?
지금 검색해보니 알고리즘 처럼 보이는 용어들과 함께 소개가 되네요

아무튼 도움 진심으로 감사드립니다!
답변 달아주신 용어들로 다시 검색을 해봐야겠습니다~
좋은 하루 되세요!
moonyeom
Posts: 168
Joined: 2007-02-05 16:38

Post by moonyeom »

FFT 는 "빠른 푸리에 변환" 입니다.
인터넷에 소스코드가 돌아다니는 수준이니 쉽게 적용하실 수 있으실겁니다.
난, 가져다 쓰는건 왠지 싫어...
Locked