2013-02-15 3 views
6

MP3 파일을 다른 속도로 재생할 수 있어야합니다. 피치에 영향을주지 않고 (또는 속도를 올린 후 피치를 변경하는 경우) 또한이 전환은 가능한 한 매끄러 워야합니다.피치를 변경하지 않고 안드로이드에서 실시간으로 음악 재생 속도를 높이려면 어떻게해야합니까?

분명히 할 수있는 앱이 있기는하지만 MediaPlayer API에서는 가능하지 않은 것 같고 SoundPool API는 피치와 속도를 변경할 수 있습니다 (누락 된 경우 제외).

어떻게해야합니까? 도움이 될만한 모든 API/타사 라이브러리가 있습니까?

감사합니다.

+1

[이 질문 (http://stackoverflow.com/q/11260043/752320)을 참조하십시오. – Geobits

+0

이것을 달성 할 방법을 찾았습니까? –

+0

타사 라이브러리 사용, 스트림에 쓰기 및 AudioTrack을 사용하여 읽기 작업이 종료되었습니다. – Gal

답변

1

이 작업을 수행 할 수있는 일반적인 기술은 Time Scale Modification입니다. 다음은 내가 평가하지 않은 도구입니다 : http://sourceforge.net/projects/mffmtimescale/.

오디오의 타임 라인을 확대하면 오래된 하트 비트 모니터처럼 보입니다. 울퉁불퉁 한 봉우리와 계곡 모양입니다. 모음의 경우 패턴은 준 정지 상태로 건강한 심장 박동과 같은 반복적 인 반복을 의미합니다. 하나의 ahhhh 모음 음이 정상적인 연설에서 3-7 번 반복 될 수 있습니다. TSM 알고리즘은 이러한 반복 중 일부를 삭제하고 불완전한 반복을 클리핑/결합하여 아티팩트를 도입하기 위해 필터를 사용해야합니다. 빈 공간도 줄일 수 있지만 모든 빈 공간을 삭제하지 않도록주의해야합니다. 영어로 "축구"라는 단어는 실제로 "발"과 "공"사이에 간격이 있습니다 (소리가 천천히 들립니다). 또한 TSM은 권한 반점에서 빈 공간을 펌핑하거나 모음 기간에 피치주기 반복을 추가하여 역으로 수행 할 수 있습니다. 이 모든 것은 상당히 복잡하고 다소 언어 의존적이어서 튜닝이 많이 필요합니다. 대부분의 어플리케이션에서 자신 만의 튜토리얼을 개발하고 싶지는 않습니다.

관련 문제