-
Notifications
You must be signed in to change notification settings - Fork 0
/
recorder.py
31 lines (26 loc) · 903 Bytes
/
recorder.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import sounddevice as sd
import wavio as wv
class Recorder():
def __init__(self, frequency, recordinglength):
"""
Makes a recorder class for recording audio.
:param frequency: The desired sampling frequency of the audio in Hz
:param recordinglength: The length of the recording in seconds
"""
self.freq = frequency
self.rlen = recordinglength
self.num = 0
self.folder = "resources"
self.prefix = "r"
def setPrefix(self, p):
self.prefix = p
def setFolder(self, f):
self.folder = f
def setRecordingLength(self, length):
self.rlen = length
def record(self):
recording = sd.rec(int(self.rlen * self.freq), samplerate = self.freq, channels = 2)
sd.wait()
wv.write(self.folder + "/" + self.prefix + self.num + ".wav", recording, self.freq, sampwidth = 2)
self.num = self.num + 1
return self.prefix + self.num + ".wav"