Hướng dẫn find sample rate of wav file python - tìm tỷ lệ mẫu của tệp wav python

Tôi có hơn một nghìn tệp âm thanh và tôi muốn kiểm tra xem tốc độ mẫu của chúng có phải là 16kHz không. Để làm điều đó bằng tay sẽ đưa tôi mãi mãi. Có cách nào để kiểm tra tỷ lệ mẫu bằng Python không?

Hỏi ngày 19 tháng 4 năm 2017 lúc 8:52Apr 19, 2017 at 8:52

Hướng dẫn find sample rate of wav file python - tìm tỷ lệ mẫu của tệp wav python

Ashashash

2.5973 Huy hiệu vàng17 Huy hiệu bạc34 Huy hiệu đồng3 gold badges17 silver badges34 bronze badges

2

Python có một mô -đun tích hợp liên quan đến các tệp WAV.

Bạn có thể viết một tập lệnh đơn giản sẽ lặp lại tất cả các tệp trong một số thư mục. một cái gì đó dọc theo các dòng chung của:

import os
import wave
for file_name in os.listdir(FOLDER_PATH):
    with wave.open(file_name, "rb") as wave_file:
        frame_rate = wave_file.getframerate()
        .... DO WHATEVER ....

Đã trả lời ngày 19 tháng 4 năm 2017 lúc 9:25Apr 19, 2017 at 9:25

Ehudkehudkehudk

4655 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

2

Đối với các tệp .wav, giải pháp có thể là:

from scipy.io.wavfile import read as read_wav
import os
os.chdir('path') # change to the file directory
sampling_rate, data=read_wav("filename.wav") # enter your filename
print sampling_rate

Đã trả lời ngày 28 tháng 2 năm 2018 lúc 11:59Feb 28, 2018 at 11:59

Hướng dẫn find sample rate of wav file python - tìm tỷ lệ mẫu của tệp wav python

Cuối cùng tôi nhận được lỗi định dạng tệp không biết với gói sóng từ Python. Lỗi sóng

Ngoài ra, trình bao bọc Sox trong Python làm việc cho tôi. pysox

!pip install sox
import sox
sox.file_info.sample_rate("file1.wav")

Hy vọng nó giúp

Đã trả lời ngày 31 tháng 10 năm 2019 lúc 1:49Oct 31, 2019 at 1:49

DsblrdsblrDSBLR

5075 Huy hiệu bạc9 Huy hiệu Đồng5 silver badges9 bronze badges

2

! Cài đặt PIP PYDUB

  • từ pydub.utils nhập mediainfo
  • info=mediainfo("abc.wav")
  • print(info)

Đã trả lời ngày 12 tháng 8 năm 2021 lúc 7:13Aug 12, 2021 at 7:13

Hướng dẫn find sample rate of wav file python - tìm tỷ lệ mẫu của tệp wav python

1

scipy.io.wavfile.read | Trả về tốc độ mẫu của tệp sóng

Xin chào, Chào mừng bạn đến với hướng dẫn này. Ở đây chúng ta sẽ tìm hiểu về cách trả về tốc độ mẫu của tệp sóng trong Python.

Trước tiên, hãy hiểu một tệp sóng là gì. WAV là một tệp âm thanh dạng sóng. - >> Microsoft và IBM cùng nhau tạo tệp sóng này dưới dạng định dạng âm thanh thô.Waveform Audio FIle.
—>>Microsoft and IBM together created this wave file as a raw audio format.

Để biết thêm về các tệp sóng, & nbsp; bấm vào đây

Chúng ta cần nhập mô -đun SCIPY. Để tìm hiểu thêm về mô -đun Scipy,SciPy module.
To learn more about the SciPy module,

  • Bấm vào đây
  • Gói phụ của mô-đun SCIPY

Trong Python, rất dễ dàng để tìm ra tốc độ mẫu của tệp sóng. Điều này là do thư viện nguồn mở- scipy chứa các định nghĩa để thực hiện các tính toán khoa học.

Scipy có một số gói phụ như hằng số, tích hợp, thống kê, tín hiệu, v.v. Để biết về các chức năng của các gói phụ này, nhấp vào các liên kết bên dưới.
To know about the functionalities of these sub-packages, Click on the below links.

  • Xử lý hình ảnh Scipy trong Python
  • Đại số tuyến tính với mô -đun SCIPY

Trong hướng dẫn của chúng tôi, chúng tôi sẽ tìm hiểu về gói phụ IO của Scipy.

Scipy.io là gói đầu vào và đầu ra cung cấp một loạt các chức năng để hoạt động gần như với các định dạng tệp khác nhau. Một số định dạng này là -

  • Matlab
  • Idl
  • Thị trường ma trận
  • Sóng, v.v.

Gói phụ chứa mô-đun tệp sóng chỉ có chức năng đọc và ghi các tệp âm thanh ở định dạng với phần mở rộng .wav. Khi bạn đọc một tệp, bạn sẽ nhận được tỷ lệ lấy mẫu và một mảng dữ liệu.wave file module that just has functions for reading and writing sound files in the format with .wav extension. When you read a file, you get the sampling rate and an array of data.

Hãy để hiểu nó với ví dụ dưới đây.

from scipy.io import wavfile
fs, data = wavfile.read('./output/audio.wav')

Trong mã của chúng tôi, chúng tôi đã nhập mô -đun Wavfile. Khi chúng tôi gọi chức năng đọc của mô -đun Wavfile bằng cách cung cấp đường dẫn của tệp có tốc độ mẫu được biết đến.

Chúng tôi sẽ nhận được tỷ lệ mẫu và dữ liệu dưới dạng một mảng làm đầu ra.

OUTPUT: 

43100,([[-1, -2],
       [ 1,  1],
       [-4, -3],
       ..., 
       [ 4, -2],
       [-4,  2],
       [ 4, -1]],)



The 1st value is the sample rate followed by the data of the provided wave file.