2011-09-09 4 views
0

내 C++ 응용 프로그램에서 사운드 작업을 위해 gstreamer 라이브러리를 사용하고 싶습니다. 사운드 템포, 피치 등을 변경할 수있는 방법이 있다고 말할 수 있습니까?GStreamer 및 음악 처리

감사합니다.

$ gst-launch filesrc location=sound.mp3 
    ! decodebin ! audioconvert 
    ! pitch pitch=3 
    ! autoaudiosink 

또는 템포 :

$ gst-launch filesrc location=sound.mp3 
    ! decodebin ! audioconvert 
    ! pitch tempo=2 
    ! autoaudiosink 

또는 속도

+0

[Songbird] (http://wiki.songbirdnest.com/Getting_Started_with_Songbird/04_Usage_of_Songbird/4.5_Equalizer) 조사 GFSer 용 이퀄라이저 모듈을 개발했을 수도 있습니다. –

답변

3

pitch 플러그인을 사용하면 사운드 피치를 변경할 수 있습니다.

거대한 LADSPA 라이브러리 래퍼 ladspa도 있습니다. 나는 그것으로 약간의 만기가되었지만 아마도 더 안정되었을 것입니다. 피치, 템포 등을 제어하기위한 몇 가지 플러그인이 있습니다. 다양한 필터와

  • 좋은 플러그인 라이브러리 audiofx, 예를 들면 : 당신이 소리와 함께 일을 계획하는 경우

    이 또한 관심을 가질 압축기/확장기 플러그인 audiodynamic이 있습니다.

  • equalizer 플러그인.
0

내 버전의 GStreamer (0.10.35)에서 오류를 반환 한 max taldykin의 제안에서 시작하여 작동하는 파이프 라인을 발견했습니다. 예를 들어, 템포를 유지하면서 노래를 1 단계 위로 이동하려면 6 %를 피치로 연주해야합니다.

gst-launch-0.10 filesrc location=02-have_you_ever.mp3 ! \ 
    decodebin ! audioconvert ! pitch pitch=1.06 tempo=1.0 ! \ 
    audioconvert ! audioresample ! autoaudiosink 

나를 위해 일합니다.