前言
通过唤醒词唤醒Python程序
通过Picovoice获取语音特征包




下载依赖
语音输入
1 2
| brew install portaudio pip3 install pyaudio
|
唤醒词检测
1
| pip3 install pvporcupine
|
通过唤醒词唤醒程序
- 将下载下来的语音特征包解压,并将整个目录放到Python项目根目录下
<PICOVOICE_ACCESS_KEY>
:PicoVoice的密钥
./Hey-Loli_en_mac_v2_2_0/Hey-Loli_en_mac_v2_2_0.ppn
:语音特征文件路径
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 32 33 34 35 36
| import struct
import pvporcupine import pyaudio
PICOVOICE_ACCESS_KEY = "<PICOVOICE_ACCESS_KEY>" KEYWORD_PATH = "./Hey-Loli_en_mac_v2_2_0/Hey-Loli_en_mac_v2_2_0.ppn"
porcupine = pvporcupine.create( access_key=PICOVOICE_ACCESS_KEY, keyword_paths=[KEYWORD_PATH] )
voice_stream = pyaudio.PyAudio().open( input_device_index=0, rate=porcupine.sample_rate, channels=1, format=pyaudio.paInt16, input=True, frames_per_buffer=porcupine.frame_length )
while True: audio_object = voice_stream.read(porcupine.frame_length, exception_on_overflow=False) audio_object_unpacked = struct.unpack_from("h" * porcupine.frame_length, audio_object) keyword_idx = porcupine.process(audio_object_unpacked) if keyword_idx >= 0: print("唤醒成功")
porcupine.delete() voice_stream.close() pyaudio.PyAudio().terminate()
|
完成
参考文献
哔哩哔哩——MedalCollector