shichao-an / soundmeter

Simple real-time sound meter
https://soundmeter.shichao.io
BSD 2-Clause "Simplified" License
82 stars 27 forks source link

loop recording #18

Open khanhpro2093 opened 6 years ago

khanhpro2093 commented 6 years ago

I want to adjust this code to to loop recording. saying, it will record for 5s, then sleep for 5s, and then it will start to record again. Can you guys help me to adjust the code? thank you

import pyaudio import wave FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 CHUNK = 1024 RECORD_SECONDS = 5 WAVE_OUTPUT_FILENAME = "file.wav"

audio = pyaudio.PyAudio()

start Recording

stream = audio.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print "recording..." frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) print "finished recording"

stop Recording

stream.stop_stream() stream.close() audio.terminate()

waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb') waveFile.setnchannels(CHANNELS) waveFile.setsampwidth(audio.get_sample_size(FORMAT)) waveFile.setframerate(RATE) waveFile.writeframes(b''.join(frames)) waveFile.close()