Mar*_*k K 3 python audio librosa
通过 Wave 获取音频文件的基本参数:
import wave
data = wave.open('c:\\sample.wav', mode = 'rb')
params = data.getparams()
print params
Run Code Online (Sandbox Code Playgroud)
它返回:
(1, 2, 4000, 160000, 'NONE', 'not compressed')
Run Code Online (Sandbox Code Playgroud)
这是为了: nchannels=1, sampwidth=2, framerate=16000, nframes=47104, comptype='NONE', compname='notcompressed
我假设 Librosa 具有类似的功能,但搜索后没有发现。
Librosa 是否有产生类似结果的命令?
谢谢你。
Librosa Core具有您正在寻找的一些功能。librosa.core.load将加载类似 的文件wave,但不会提供详细信息。
import librosa
# Load an example file in .ogg format
fileName = librosa.util.example_audio_file()
audioData, sampleRate = librosa.load(fileName)
print(audioData)
>>> [ -4.756e-06, -6.020e-06, ..., -1.040e-06, 0.000e+00]
print(audioData.shape)
>>> (1355168,)
print(sampleRate)
>>> 22050
Run Code Online (Sandbox Code Playgroud)
的形状audioData会告诉您通道的数量。形状像是(n,)单声道,(2, n)是立体声。所述n的形状是在样本的音频的长度。如果您想要以秒为单位的长度,请查看librosa.core.get_duration。
就像@hendrick 在他的评论中提到的那样,Librosa高级 I/O 页面说librosa用途soundfile和audioread用于音频 I/O,以及load 源代码显示它只是围绕这些库。
但是,只要您遵循librosa API ,wave用于加载音频文件和librosa分析就不会有任何问题。你有什么特别的问题,或者你需要实现的目标吗?
| 归档时间: |
|
| 查看次数: |
2219 次 |
| 最近记录: |