Google 앱은로드하는 오디오 파일의 샘플 개수를 알아야합니다. 우리가 사용하는 라이브러리는 견본 비율이 아닌 샘플 수를 안정적으로 결정할 수 있습니다. 파일 크기와 샘플 속도만으로 샘플 수를 계산할 수 있습니까?WAV 파일, 파일 크기 및 샘플 속도가 주어지면 샘플 수를 계산할 수 있습니까?
답변
WAV 파일이 PCM이라고 가정하면 데이터 청크의 크기를 사용하여 계산할 수 있습니다. 샘플 당 바이트 수는 샘플 당 비트 수를 8로 나눈 것입니다. 샘플 당 비트 수는 WAVEFORMAT 구조에 있습니다. 이것은 샘플 수를 정확하게 얻기 위해 사용될 수 있습니다.
무슨 마크가. 아니, 일반적으로 헤더를 해석해야합니다. 그러나 형식, 채널 수 및 샘플 당 비트 수를 알고 있고 모든 파일에 대해 동일하면 이론적으로 파일 크기에서이를 계산할 수 있습니다.
WAV는 단순한 형식입니다. 불행히도 크고 작은 하드웨어 및 소프트웨어 개발자가 오랜 세월 동안 여러 가지 형식의 변형이있었습니다. 파일이 현대 주류 웨이브 편집기에서 나오는 경우 일반적으로 정성을 다하는 형식을 기대할 수 있습니다. 따라서 샘플을 WaveLab 또는 유사품에서 내보내 표준화하면 헤더 해석기에 대한 (작은) 코드 작성을 줄일 수 있습니다.
가장 쉽게 읽을 수있는 .wav 형식 설명은 here입니다. StripWav은 샘플을 표준화하는 작은 프로그램입니다. 더 많은 기능을 갖춘 명령 줄 도구도 있습니다 : sox. Sox는 일괄 처리 작업을 지원하므로 웨이브 편집기를 사용하는 것보다 낫습니다. - .wav 파일 세트는 '동적'이 아니라 주어진 것입니다.
So : 일괄 처리 작업으로 한번 표준화 할 수 있다면 가능할 것입니다. 나는이 형식 설명과 Sox를 여러 번 좋은 효과를 내기 위해 사용했다. 행운을 빌어.
PCM wav 형식에서 헤더에는 단일 샘플의 바이트 수에 대한 blockalign이라는 정보가 들어있다.
일반적으로 메타 데이터가 첨부되지 않은 표준 RIFF PCM wav 파일이있는 경우 (일반적인 경우). blockalign은 오프셋 32 (wav 파일의 시작 부분부터 33 ~ 34 번째 바이트)에있는 2 바이트 정수입니다. 그리고 datasize라는 데이터의 파일 크기는 오프셋 40에서 4 바이트 정수입니다 (41 ~ 44 바이트가 wav 파일의 시작 부분을 형성 함).
지금 datasize/blockalign이 원하는 것입니다.
PS 경우
당신이 (당신이 필요하지 않을 수 있습니다 다른 덩어리와 함께)는 RIFF의 경우, 형식 정보] 및 데이터는 다른 "덩어리"에 넣고, 더 복잡한 WAV 형식을 가지고 있고, 위에서 언급 한 오프셋이 올바르지 않을 수 있습니다. 그런 다음 청크를 조사해야합니다. 귀하의 경우에는 fmt 및 데이터 청크를 찾아야합니다.
각 청크는 FOURCC라는 4 바이트 ASCII 코드화 된 데이터로 시작하며 'fmt'는 청크 포함 형식 정보를 나타내고 'data'는 데이터 청크를 나타냅니다. FOURCC 바로 뒤에 (4 바이트가 아닌) 청크의 크기 (바이트)를 알려주는 4 바이트 정수입니다.
참고 : 나는
- 1. .wav 헤더의 샘플 수 찾기
- 2. 오디오 파일 길이에서 샘플 수를 계산하는 방법은 무엇입니까?
- 3. 부목을위한 샘플 rc 파일
- 4. 대표 샘플 테스트 XML 파일
- 5. 촉매 파일 전송 샘플 코드
- 6. Javafx 및 wav 파일
- 7. libsndfile 사용 .wav 파일 결합 및 혼합
- 8. 파일 업로드/ASP.NET MVC2에서 샘플 다운로드 중입니까?
- 9. DirectSound 타이밍 및 샘플 수
- 10. WAV 파일을 Java로 샘플 배열로 읽을 때 즉석에서 샘플 속도 변환
- 11. NAudio의 읽기 요청 샘플 수를 설정할 수 있습니까?
- 12. 샘플
- 13. 품질 저하없이 WAV 사운드 파일 크기 줄이기
- 14. IPv6의 샘플 와이어 샤크 샘플
- 15. 캘리브레이션 및 프리즘 샘플
- 16. .NET에서 .WAV 파일 재생
- 17. 어떻게 손가락의 수를 계산할 수 있습니까?
- 18. 파일 이름이 주어지면 Crypto ++
- 19. C의 유형별 총 크기 및 파일 수 #
- 20. jQuery - 테이블의 행 수를 계산할 수 있습니까?
- 21. HessianKit 샘플 프로젝트가 있습니까?
- 22. Java에서 wav 파일 읽기
- 23. WAV 파일 피치 표시
- 24. .wav 파일 인코딩을위한 C/C++ 라이브러리
- 25. 단계별 샘플 Spring JMS의 샘플 JMS
- 26. wav 파일 및 개방형 iPhone으로 비트 감지
- 27. 디스크에 WAV 파일 저장
- 28. MDF 및 LDF 파일 크기
- 29. 스트리밍 wav 파일
- 30. 샘플 공간 크기 = 1 인 sample() 사용
을 파일 크기의 데이터 청크의 크기를 해결, 또는 좀 더 알아야 할 수있다 - 예를 헤더 크기? – Simon
WAV 파일에는 항상 형식 청크와 데이터 청크가 있습니다. 다른 덩어리가있을 수 있습니다. 데이터 청크 크기를 확인하는 유일한 방법은 크기를 찾아 크기 매개 변수를 읽는 것입니다. 어떤 언어 및 도서관을 사용하고 있습니까? –
C# 및 MediaInfoLib. – Simon