【发布时间】:2013-05-17 22:04:36
【问题描述】:
在python中给定一个音频字节数组data
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NONBLOCK, card)
# Set attributes: Mono, 48000 Hz, 16 bit little endian samples
inp.setchannels(1)
inp.setrate(48000)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
l, data = inp.read()
如何检测数字剪辑,data 必须超过哪个值才能确保它被数字剪辑?
【问题讨论】:
-
超速是什么意思?数字剪辑?对于超过两个或三个样本,数据必须等于 16 位有符号整数的最大值或最小值,才能进行裁剪。
-
当您收听过载的音频时,如果人们触摸麦克风或电路在某处短路或大声喊叫,它会失真。我想这被称为数字剪辑。
-
@RobertHarvey 所以基本上介于 -32.768 和 32.767 之间?所以如果我使用 if audioop.max(data,2) >= 32767 ||如果 audioop.max(data,2)
-
音频信号链中的任何位置都可能出现过载音频。有时这是故意的,尤其是在电吉他放大器中。数字剪辑是不同的;当没有更多的位可以表示信号的幅度时,就会发生这种情况。
-
是的,基本上就是这样。如果您在 -32768 处看到三个或更多连续样本,或者在 32767 处看到三个或更多连续样本,则可能发生了削波。
标签: python audio python-2.7 audio-recording