这是个库的bug,上面报错是库里面报出来的,
它调用系统api打开音频出错,然后想打印出错误信息,但没想到错误信息解码失败
我在官方库提了个issue:网页链接
查看使用说明: ffmpeg -h 。
转换命令如下:
这次我们用到的主要是 -ab 命令,用来指定音频转换的比特率,常见的有: 192K, 320K 等。
Librosa是一个 Python 模块,用于分析一般的音频信号,是一个非常强大的python语音信号处理的第三方库,根据网络资料以及官方教程,本文主要总结了一些重要且常用的功能。
IPythondisplayAudio 可以让我们直接在 jupyter notebook 中播放音频,比如下面包房一段音频
在这里,我们绘制了一个简单的音频波形图。 波图让我们知道给定时间的音频响度。
频谱图(Spectogram)是声音频率随时间变化的频谱的可视化表示,是给定音频信号的频率随时间变化的表示。'stft' 将数据转换为短期傅里叶变换。 STFT转换信号,以便我们可以知道给定时间给定频率的幅度。 使用 STFT,我们可以确定音频信号在给定时间播放的各种频率的幅度。
Spectrogram特征是目前在语音识别和环境声音识别中很常用的一个特征,由于CNN在处理图像上展现了强大的能力,使得音频信号的频谱图特征的使用愈加广泛,甚至比MFCC使用的更多。
信号的梅尔频率倒谱系数 (MFCC) 是一小组特征(通常约为 10-20),它们简明地描述了频谱包络的整体形状。在 MIR 中,它经常被用来描述音色。
在这个例子中,mfcc 在 89 帧中计算了 20 个 MFCC。
第一个 MFCC,第 0 个系数,不传达与频谱整体形状相关的信息。 它只传达一个恒定的偏移量,即向整个频谱添加一个恒定值。 因此,很多情况我们可以在进行分类时会丢弃第一个MFCC。
过零率(zero-crossing rate,ZCR)是指一个信号的符号变化的比率,例如信号从正数变成负数,或反过来。这个特征已在语音识别和音乐信息检索领域得到广泛使用,是分类敲击声的关键特征。为真时为1,否则为0。在一些应用场景下,只统计“正向”或“负向”的变化,而不是所有的方向。
可以使用整个音频来遍历这个并推断出整个数据的过零。
频谱质心(维基百科)表示频谱能量集中在哪个频率上。这就像一个加权平均值:
其中 S(k) 是频段 k 处的频谱幅度,f(k) 是频段 k 处的频率。
librosafeaturespectral_bandwidth 可以用来计算p-order频谱带宽:
其中 S(k) 是频段 k 处的频谱幅度,f(k) 是频段 k 处的频率,fc 是频谱质心。当 p=2 时,这就像一个加权标准差。
频谱衰减是总频谱能量的特定百分比所在的频率。
色度向量 (Wikipedia) 是一个典型的 12 元素特征向量,指示每个音高类别 {C, C#, D, D#, E, , B} 的能量是多少存在于信号中。
音高是声音的感知属性,在与频率相关的尺度上排序,或者更常见的是,音高是可以判断声音在与音乐旋律相关的意义上“更高”和“更低”的质量。
import librosa
import os
filedir = 'E:/data'
list = oslistdir(filedir)
time_count = 0
for file in list:
if 'wav' in file:
wav_path = filedir + '/' + file
duration = librosaget_duration(filename=wav_path)
print(duration)
time_count += duration
print('总秒数:' + str(time_count))
print('总小时数:' + str(time_count / 60 / 60))
以上就是关于如何调用python中的playsound在线播放声音全部的内容,包括:如何调用python中的playsound在线播放声音、python调用ffmpeg批量转换音频flac、mp3、m4a、librosa音频处理教程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)