피치를 변경하지 않고 오디오 파일 재생 속도를 늦추시나요?

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

  •  09-06-2019
  •  | 
  •  

문제

저는 대학 음악 전공 지원서를 준비 중입니다.내가 고려하고 있는 기능은 피치를 변경하지 않고 음악 재생 속도를 늦추는 것입니다.상용 소프트웨어에서 이 작업을 수행하는 것을 본 적이 있지만 이와 같은 작업을 수행하는 라이브러리나 오픈 소스 앱을 찾을 수 없습니다.

  1. 거기에 도서관이 있나요?
  2. 다양한 파일 형식에서 처음부터 이 작업을 어떻게 수행할 수 있습니까?

메모:저는 Java로 작업 중이지만 언어 변경에 반대하지 않습니다.

도움이 되었습니까?

해결책

타임스트레칭은 꽤 어렵습니다.소리의 속도를 늦추거나 높일수록 더 많은 아티팩트를 얻을 수 있습니다.어떤 소리인지 알고 싶다면 Fat Boy Slim의 "The Rockafeller Skank"를 들어보세요.이를 수행하는 방법에는 여러 가지가 있으며 모두 고유한 강점과 약점을 가지고 있습니다.수학은 정말 복잡해질 수 있습니다.그렇기 때문에 독점 알고리즘이 너무 많습니다.

이 페이지에서는 내가 할 수 있는 것보다 좀 더 명확하게 설명하고 Dirac 라이브러리에 대한 링크를 제공합니다.http://www.dspdimension.com/admin/time-pitch-overview/

피치 이동/타임스트레칭을 수행하는 Java 코드에 대한 이 링크를 찾았습니다.http://www.adetorres.com/keychanger/KeyChangerReadme.html

다른 팁

나는 사용한다 사운드 스트레치 꽤 잘 작동하는 팟캐스트의 속도를 높이기 위해 음악에서는 시도해 보지 않았습니다.

이 사이트는 실제 세계에서 어떻게 수행되는지 설명합니다.http://www.wendycarlos.com/other/Eltro-1967/index.html

그래도 소프트웨어에서 어떻게 에뮬레이션할지 모르겠습니다.계속 찾아볼게

이를 수행하는 한 가지 방법은 소스의 샘플링 속도를 변경하지 않고 샘플링 속도를 두 배로 늘리는 것입니다.(품질이 낮은 예이지만 구현하기 쉽습니다.메모:샘플링 속도도 줄일 수 있습니다.)

위상 보코더와 관련된 수학을 확인하세요.

또 다른 일반적인 방법은 예정된 사운드 간격에 대한 데이터를 저장하는 FFT 저장소 배열을 만드는 것입니다.그런 다음 저장소를 얼마나 빠르게 반복할지 선택할 수 있고 선택한 기간 동안 해당 오디오 데이터를 다시 합성할 수 있으므로 원하는 만큼 사운드의 짧은 세그먼트 하나를 늘릴 수 있습니다.

대담함은 즉시 사용 가능하며 무료입니다.MP3 플레이어용 무료 플러그인도 여러 가지 있습니다.mp3는 이미 주파수 영역에 코딩되어 있기 때문에 mp3를 사용하는 것은 꽤 쉬운 것 같습니다.

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