使用soundfile读取音频文件
时间: 2023-07-11 16:41:40 浏览: 73
可以使用Python中的soundfile库来读取音频文件。下面是一个例子:
```python
import soundfile as sf
# 读取音频文件
data, samplerate = sf.read('audio_file.wav')
# 打印采样率和数据
print('采样率:', samplerate)
print('数据:', data)
```
其中,`audio_file.wav`是要读取的音频文件的名称。读取后,可以通过`data`和`samplerate`来访问音频数据和采样率。
相关问题
读取音频信息使用python代码
如果你想使用 Python 来读取音频信息,可以使用一些第三方库,比如 scipy、wave 或者 PySoundFile。
下面是使用 scipy 读取 WAV 文件的示例代码:
```python
import scipy.io.wavefile
# 读取 WAV 文件
wave_data, sample_rate = scipy.io.wavefile.read('audio.wav')
# 输出采样率和音频数据
print(sample_rate)
print(wave_data)
```
如果你想使用 wave 库来读取音频文件,可以使用下面的代码:
```python
import wave
# 打开 WAV 文件
with wave.open('audio.wav', 'rb') as wav_file:
# 读取音频信息
sample_rate = wav_file.getframerate()
num_channels = wav_file.getnchannels()
sample_width = wav_file.getsampwidth()
num_frames = wav_file.getnframes()
# 读取音频数据
wave_data = wav_file.readframes(num_frames)
# 输出采样率和音频数据
print(sample_rate)
print(wave_data)
```
如果你想使用 PySoundFile 库来读取音频文件,可以使用下面的代码:
```python
import soundfile
# 读取音频文件
wave_data, sample_rate = soundfile.read('audio.wav')
# 输出采样率和音频数据
print(sample_rate)
print(wave_data)
```
这些库都可以用来读取常见的音频格式,比如 WAV、MP3 和 AIFF。
soundfile读取mp3
soundfile库是用于读写音频文件的Python库,但它不支持直接读取mp3文件。要读取mp3文件,你需要使用其他库,例如pydub或ffmpeg。
使用pydub库:
```python
from pydub import AudioSegment
import numpy as np
mp3_file = AudioSegment.from_file("file.mp3", format="mp3")
samples = np.array(mp3_file.get_array_of_samples())
```
使用ffmpeg库:
```python
import ffmpeg
import numpy as np
stream = ffmpeg.input("file.mp3")
audio = stream.audio
out = ffmpeg.output(audio, "pipe:", format="wav")
output, _ = ffmpeg.run(out, capture_stdout=True)
samples = np.frombuffer(output, np.int16)
```