2017-02-13 5 views
2

오디오 파일을 시간의 이벤트 기록으로 사용하는 데 관심이 있습니다. 즉, 시간에 맞춰 정렬해야하는 여러 데이터 스트림이 있고 오디오 파일을 참조로 사용하고 싶습니다. 그래서, 실시간 클럭과 관련하여 참조 된 오디오 스트림의 실제 타임베이스를 얻는 것이 가능한지 궁금합니다.
샘플 수와 샘플링 주파수 (예 : 16KHz)에서 오디오 클립의 길이를 확인할 수 있습니다. 짧은 클립의 경우 이것은 좋은 예상 일 수 있지만 장시간 (여러 시간 녹음)의 경우 얼마나 정확하게 예측할 수 있습니까? 나는 여러 시간에 걸쳐 잠정 정확도를 유지하고 싶다.정확한 오디오 타임베이스를 얻는 방법

다른 말로하면, 오디오 파일은 RTC (실시간 클럭)를 참조하여 오디오 녹음의 실제 시작 및 정지 시간을 저장합니까? 이렇게하면 오디오 파일의 모든 샘플에 대해 시간 기반을 생성 할 수 있습니다. 그렇다면 파이썬 오디오 라이브러리에서이 데이터를 가져올 수 있습니까?

Android 플랫폼에서 인코딩 용으로 MP4/AAC를 사용하고 후 처리 용으로 pydub을 사용하고 있습니다.

감사합니다.

+0

오디오 녹음에 초 미만의 시간 정확도가 있다고 생각하지 않습니다. [많은 사람들] (https://www.google.com/search?client=safari&rls=en&q=audio+recording+drift&ie=UTF-8&oe=UTF-8)은 오디오 녹음에서 "드리프트"를 발견하고 고안했습니다. 동일한 사건에 대한 여러 개의 (독립적 인) 기록물을 정확하게 맞추기위한 다양한 전략. 특히 각 호스트가 로컬로 기록한 다음 나중에 녹음을 결합하는 Podcasters – Jiaaro

답변

0

우리는 골치 거리처럼 보일지도 모르는 대답을 내놓았지만 정직하게도 우리를 위해 꽤 잘 작동하고 있습니다. 그 오디오 포맷 사양은 세션의 시작과 끝을위한 타임 코드를 저장하는 것을 허용하지 않는 것 같습니다. 대신 밀리 초 해상도, 녹음 버튼을 누른 순간의 시작 시간 스탬프를 파일 이름 ("2017-02-13_10-04-27-943")의 문자열로 인코딩하고 오디오 세션을 기록했습니다. 그런 다음 녹음이 중지되면 다른 시간 소인을 잡고 밀리 초 단위로 시간차를 계산 한 다음 파일을 닫은 직후 파일 이름에 문자열을 추가합니다 ("Dur123456"). 따라서 시작 시간과 지속 시간은 Android 휴대 전화의 RTC (Real Time Clock)로 참조됩니다. 그러면 WAV/PCM 타임베이스를 실제 시간으로 다시 매핑 할 수 있습니다. "16KHz"는 실제로 16,000Hz가 아닙니다. 오디오 녹음 10 분 동안 1 초 정도의 오류를 찾습니다. 별로 좋아 보이지 않을 수도 있지만, 여러 시간 녹음의 경우 합산됩니다. 감사.