C ++에서 음악 비주얼 라이저 작성을 시작하는 방법은 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/819953

문제

나는 OpenGL을 사용하는 법을 배우는 데 관심이 있으며 음악 비주얼 라이저를 작성한다는 아이디어가있었습니다. 누구든지 내가 필요한 요소와 어떻게 이것을 배우는 방법에 대한 몇 가지 조언을 줄 수 있습니까?

도움이 되었습니까?

해결책

C ++/CLI를 사용하는 경우 여기에 WPF 4 (푸리에) 디스플레이를 사용합니다.

그는 언급합니다 이 지역 (보관 된) 그것은 당신의 질문에 대한 상당한 정보를 가지고 있습니다. 여기에 특정 페이지의 아웃 라인이 있습니다.

사운드를 주파수로 어떻게 분할합니까? 우리의 귀는 기계적 수단에 의해 그것을하고, 수학자들은 푸리에 변환을 사용하여 그것을하고, 컴퓨터는 FFT를 사용합니다.

  1. 소리의 물리학
    • 고조파 발진기
  2. 샘플링 사운드
  3. 푸리에 분석
  4. 복소수
  5. 디지털 푸리에 변환
  6. FFT

아, 나는 찾았다 이것 (보관 된) 몇 분 후, 그것은 기본 C ++ 분석기입니다. 코드가 포함되어 있습니다.

다른 팁

Beatharness를 만드는 나의 접근법 (http://www.beatharness.com) :

  • 실시간으로 오디오를 녹음하십시오
  • 오디오에서 FFT를 실행하여 주파수 강도를 얻는 스레드가 있습니다.
  • 왼쪽 및 오른쪽 채널의 오디오 볼륨을 계산하십시오
  • 밴드의 주파수를 필터링합니다 (베이스, 미드톤, 고음)

이제 그래픽 디스플레이에 사용할 수있는 멋진 변수가 있습니다. 예를 들어, 크기에베이스가 곱한 그림을 보여주십시오. 이렇게하면 비트에서 확대되는 그림이 제공됩니다. 거기에서 그것은 당신의 상상력입니다! :)

자신의 오디오/음악 플레이어를 작성하려고합니까? 아마도 코덱, DSP 및 오디오 출력 장치의 미니가 아닌 그래픽에 집중할 수 있도록 기존 플레이어를위한 플러그인을 작성해보아야 할 것입니다.

Winamp와 Foobar에는 시각화 플러그인 용 API가 있다는 것을 알고 있습니다. Windows Media Player와 iTunes도 가지고 있다고 확신합니다. 미디어 플레이어를 선택하고 읽기 시작하십시오. 그들 중 일부에는 기존 OpenGL 플러그인이있어 시작할 수 있으므로 Pure OpenGL에 집중할 수 있습니다.

기본 3D 또는 가속 2D 직후에 Dave Astle 's 사본을 구입하는 것이 좋습니다. "OpenGL 게임 프로그래밍 시작"C ++의 OpenGL의 기본 사항을 다룹니다.

음악 분석 부분의 경우 푸리에 시리즈의 기초를 연구 한 다음 DFFT (Digital Fast Fourier Transform) 알고리즘의 무료 구현을 선택해야합니다.

FFT 알고리즘 및 기타 유용한 정보 구현을 찾을 수 있습니다. c.의 수치 레시피 책. 이 책은 무료 Afaik입니다. 도 있습니다 C ++의 수치 레시피 책.

FFTW를 통해 Libvisual의 FFT/DCT 기능을 사용하는 것을 고려할 수 있습니다. 이들은 시각적으로 작업하기가 쉬운 데이터를 제공하기가 훨씬 간단합니다. 몇몇 미디어 플레이어와 시각화 플러그인은 시각적으로 어느 정도 Libvisual을 사용합니다. 예 : 토템 (플레이어), 멍청한 (토템 및 기타 플레이어 용 플러그인), psymp3 2.x (플레이어)

내 관점에서 ...이 사이트를 확인하십시오.http://nehe.gamedev.net/

OpenGL 사용에 대한 정말 좋은 정보와 튜토리얼

편집하다:http://www.opengl.org/code/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top