им ищет звуковой Lib для питона, который может высокий меня за кадр объем звукового файлазвук Lib Python
или программное обеспечение, которое может сделать гейт, preferd командной строки программного обеспечения
Thanx! !
им ищет звуковой Lib для питона, который может высокий меня за кадр объем звукового файлазвук Lib Python
или программное обеспечение, которое может сделать гейт, preferd командной строки программного обеспечения
Thanx! !
snack библиотека может это сделать. В частности, эта библиотека поддерживает файлы WAV, AU, AIFF, MP3, CSL, SD, SMP и NIST/Sphere. Он может воспроизводить звук, анализировать и фильтровать спектр мощности.
Python имеет встроенный wave module
import wave
import struct
import numpy
# read in the data string
fin = wave.open("input.wav", "rb")
data_string = fin.readframes(fin.getnframes())
wav_params = fin.getparams()
fin.close()
# convert to volume
unpacked = struct.unpack("%dB"%(len(data_string)), data_string)
unpacked = [x**2 for x in unpacked]
# here's the volume
volume = [20 * numpy.log10(numpy.sqrt(i)) for i in unpacked]
noise_level = 40 # 'noise' level
# filter out values below limit
outstring = ""
for i in range(len(data_string)):
if volume[i] > noise_level:
outstring += data_string[i]
else:
outstring += "\0"
# write result to new file
fout = wave.open("output.wav", "wb")
fout.setparams(wav_params)
fout.writeframes(outstring)
fout.close()
попытка первого прохода .. должен быть оптимизирован для файлов любого значительного размера. Hat-tip to this blog post
Библиотека pyo полна очень полезных инструментов для обработки звука и синтеза.
from pyo import *
s = Server().boot()
s.start()
sf = SfPlayer('input.aif', speed=[1,.5], loop=True)
gt = Gate(sf, thresh=-24, risetime=0.005, falltime=0.01, lookahead=5, mul=.4).out()
Прежде всего, поправьте меня, если я ошибаюсь, но если вам нужен объем для каждого кадра означает разрешение каждого кадра будет идти в микросекундах.
Например, типичный аудиофайл имеет 44,100 кадровую частоту, что означает 44,100 кадров в секунду (или 1000 мс), что обеспечивает обработку каждого кадра примерно в 22,67 микросекундах. Это очень хорошо для любого приложения. Кроме того, Audio - это волна сжатия, для которой требуется набор анализируемых образцов, чтобы получить свой атрибут, такой как частота, мощность и т. Д.
В любом случае, если вы хотите, чтобы для этой цели был разрешен разрез блока 1 мс, модуль pydub.
Не уверен, что это необходимо.
from pydub import AudioSegment
from pydub import utils
chunksize = 1 #ms
fname = "C:\\PATH_TO_THE_FILE\\myAudio.wav"
mysong = AudioSegment.from_wav(fname)
myAudioChunks = utils.make_chunks(mysong,chunksize)
#print "myAudioChunks =", myAudioChunks
for audioChunks in myAudioChunks:
loudness = audioChunks.dBFS
print " loudness in dBFS =", loudness
Выше даст громкость в DBFs, если вы хотите громкость в различных параметрах здесь есть несколько примеров.
1) Для того, чтобы получить громкость в RMS
заменить loudness = audioChunks.dBFS
с loudness = audioChunks.rms
2) Для того, чтобы получить максимальную громкость в образце [т.е. самую высокую амплитуду в любом наборе образцов]
заменить loudness = audioChunks.dBFS
с loudness = audioChunks.max
его очень хороший инструмент, но он не подходит для меня ... вы можете порекомендовать инструмент anntuer? – 2009-06-25 07:41:17
Не знаю. Вы должны быть более конкретными в том, что вам нужно, если вам нужна помощь. – Eolmar