2009-12-30 4 views
4

안녕하세요, Android 애플리케이션에서 오디오 파일의 음높이를 변경하려고합니다.Android 용 SoundTouch?

"SoundTouch"(http://www.surina.net/soundtouch) 온라인 오픈 소스 라이브러리를 발견했습니다.이 라이브러리를 Android 앱에서 사용할 수 있다고 생각합니까?

나는 "SoundTouch in Java"라는 인터넷 검색 결과 (http://www.aplu.ch/classdoc/jaw/ch/aplu/jaw/SoundTouch.html)를 발견했습니다.

가능한 라이브러리 내가 사용할 수있는 라이브러리 또는 안드로이드의 오디오 파일 피치를 변경하는 데 사용할 수있는 다른 라이브러리 또는 프로세스에 대한 아이디어가 있습니까? 또한 Java Sound API를 살펴 보았습니다. 안드로이드는이를 지원하지 않습니다. :/

감사 아담

답변

4

당신은 샘플 레이트 변경에 대한 생각 했습니까? 원시 오디오 샘플을 메모리에로드하고 Android의 AudioTrack 클래스를 사용하여 재생하면 가능한 다양한 샘플 속도를 지정할 수 있으며 Android에서 리샘플링합니다. 잘못된 속도로 레코드를 재생하는 것처럼 피치와 템포가 모두 변경됩니다. 템포에 영향을주지 않고 피치를 변경해야하는 경우에는 SoundTouch 또는 이와 비슷한 것이 필요합니다.

어쨌든 이것은 가능하지만 상당히 많은 작업이 필요합니다.

SoundTouch를 컴파일하려면 Android NDK (기본 개발 키트)를 사용해야합니다. 찾은 Java 래퍼가 도움이 될 수 있지만 궁극적으로 NDK로 손을 더럽힐 필요가 있습니다.

또한 디스크에서 오디오 파일을 읽으려면 자체 코드를 작성한 다음 SoundTouch 및 AudioTrack 클래스를 통해 버퍼링해야합니다. MediaPlayer가 여기 도움이되지 않습니다.

마지막으로 앱을 출시 할 때 LGPL의 약관을 준수해야합니다.

+1

인사를 사용할 수있는 소리의 피치를 변경하려면

, 내가 연주 할 때 노래 BMP를 변경해야합니다, 아무것도 얻으면 나를 도와주세요. 감사합니다 – milind

+0

@ 아담 안녕하세요 ... 안드로이드에 대한 soundtouch 컴파일을 성공적으로 받았습니까? 그렇다면 내 프로젝트에서 그렇게하도록 안내해주십시오. 오디오 파일의 템포를 변경하고 싶습니다. 나는 안드로이드에 익숙하지 않기 때문에 android.mk 파일과 래퍼 클래스를 작성하는 법을 모릅니다. 도울 수 있니. Thanx Adam – Harsh

+0

Android에서 SoundTouch를 계속 찾고 있다면 https://github.com/svenoaks/SoundTouch-Android - 16 비트 샘플에서 현재 잘 작동하는 래퍼를 만들고 있습니다. –

4

https://github.com/nonameentername/soundtouch-android

위의 링크를 따라 단지 NDK 빌드하십시오. 사운드 터치의 소스가 잘못되었으므로 다운로드하여 교체하십시오. 리눅스 환경에서 빌드하십시오. 모든 문의 사항은 제게 연락하십시오. 당신은 당신이 얼마나 안드로이드 응용 프로그램에서 사운드 터치 라이브러리를 사용하기 위해 toturial을 발견 않았다

를 OpenAL

http://pielot.org/2011/11/10/openal4android-2/

+0

@sachinNadgouda ... 피치 이동 후에 파일을 저장할 수 있습니까? –

+1

soundtouch 있음, 개방적으로 나는 아직 저장 파일을 알아 내지 못했습니다. – sachinNadgouda

+0

나는 그것을 OpenAL에서 원했고, 어떤 단서를 원했는가? 그리고 아직 안드로이드 용 사운드 터치의 NDK 빌드를 할 수 없었습니다. –