使用简单的语音指令来控制机械臂的运动
一、用tkinter绘制界面并录音
1.使用tkinter来绘制界面
def __init__(self, master):
self.master = master
self.master.title("Voice Recorder")
self.canvas = tk.Canvas(master, width=400, height=300, bg='white')
self.canvas.pack()
self.start_button = tk.Button(master, text="开始录音", command=self.start_recording)
self.start_button.pack(side=tk.LEFT)
self.stop_button = tk.Button(master, text="结束录音", command=self.stop_recording)
self.stop_button.pack(side=tk.RIGHT)
self.recording = False
self.frames = []
2.定义其中的按键函数 start_recording和stop_recording
def start_recording(self):
self.recording = True
self.frames = []
self.audio = pyaudio.PyAudio()
self.stream = self.audio.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=1024)
self.record()
def stop_recording(self):
self.recording = False
self.stream.stop_stream()
self.stream.close()
self.audio.terminate()
self.save_recording()
3.定义记录流的动作和保存动作分别为record和save_recording
def record(self):
if self.recording:
data = self.stream.read(1024)
self.frames.append(data)
self.master.after(10, self.record)
def save_recording(self):
if not os.path.exists('voice'):
os.makedirs('voice')
filename = datetime.now().strftime("%Y%m%d_%H%M%S") + ".wav"
filepath = os.path.join('voice', filename)
with wave.open(filepath, 'wb') as wf:
wf.<