0
icecastラジオストリームから無音を検出したいと思いますが、次のコードを試しましたが、ストリームを無音にすると、rms値はゼロ値に近い値に変わりません。好適なオプションをライブストリームを分析するSilenceのMP3ストリームの解析
from urllib import urlopen
import audioop, numpy as np
url = "http://localhost:8382/listen.mp3"
u = urlopen(url)
data = u.read(8192)
while data:
data = u.read(8192)
#rms = audioop.rms(data, 2)
d = np.frombuffer(data, np.int16)
numpy_rms = np.sqrt(sum(d*d)/len(d))
print numpy_rms, audioop.rms(data, 2)
#print rms
print (min(d), max(d)), audioop.minmax(data,2)
代替ではなく:
コードを助ける 私は、ストリームから10秒mp3ファイルを保存すると考えられてきたではなく、私はMP3を分析する方法がわからないです。私はこの解決策を考え出す
#! /usr/bin/env python
import argparse
from icerec.stream_writer import StreamWriter
from pprint import pprint
parser = argparse.ArgumentParser(description='Tool that will record a icecast stream.')
parser.add_argument('url', help="Icecast stream URL")
parser.add_argument('length', type=int, help="Length of time to record stream (in seconds)")
parser.add_argument('-d', '--destination', default="./",
help="File destination. Defaults to current directory")
parser.add_argument('-f', '--filename', default="output.mp3", help="File name of saved stream")
args = parser.parse_args()
s = StreamWriter(args.url, args.length, destination=args.destination, filename=args.filename)
s.record()
pprint(s.metadata)
あなたはこれをチェックする必要がありますhttps://stackoverflow.com/questions/45526996/split-audio-files-using-silence-detection – user1767754
また 'sox'は外のようなことを行うことができるツールですボックス。 – TBR