python-3.x 无法将自定义关键字与pvporcupine一起使用

edqdpe6u  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(311)

我已经在picovoice中创建了一个帐户,并收到了一个访问密钥,但当我尝试放置我的ppn文件的路径时,它显示了一个错误:`

[ERROR] loading keyword file at 'C:\Users\Priyam\Desktop\hey keyazip' failed with 'IO_ERROR'
Traceback (most recent call last):
  File "e:\Personal Project\import struct.py", line 13, in <module>
    porcupine = pvporcupine.create(access_key='access key',
  File "C:\Users\Priyam\AppData\Roaming\Python\Python310\site-packages\pvporcupine\__init__.py", line 77, in create       
    return Porcupine(
  File "C:\Users\Priyam\AppData\Roaming\Python\Python310\site-packages\pvporcupine\porcupine.py", line 158, in __init__   
    raise self._PICOVOICE_STATUS_TO_EXCEPTION[status]()
pvporcupine.porcupine.PorcupineIOError

代码为:`

porcupine=None
paud=None
audio_stream=None

try:
    access_key="access key" 
    porcupine = pvporcupine.create(access_key='access key',
    keyword_paths=['C:\\Users\Priyam\Desktop\hey keyazip'],keywords=['hey keya']) #pvporcupine.KEYWORDS for all keywords
    paud=pyaudio.PyAudio()
    audio_stream=paud.open(rate=porcupine.sample_rate,channels=1,format=pyaudio.paInt16,input=True,frames_per_buffer=porcupine.frame_length)
    while True:
        keyword=audio_stream.read(porcupine.frame_length)
        keyword=struct.unpack_from("h"*porcupine.frame_length,keyword)
        keyword_index=porcupine.process(keyword)
        if keyword_index>=0:
            print("hotword detected")
            

finally:
    if porcupine is not None:
        porcupine.delete()
    if audio_stream is not None:
        audio_stream.close()
    if paud is not None:
        paud.terminate()

`
我尝试了上面的代码和picovoice本身提供的代码,但我面临着同样的问题

gmxoilav

gmxoilav1#

看来Porcupine找不到您的保留字档案:[ERROR] loading keyword file at 'C:\Users\Priyam\Desktop\hey keyazip' failed with 'IO_ERROR' .
Picovoice控制台在压缩的.zip文件中提供关键字。您需要解压缩该文件,并在代码中更新路径以指向位于其中的.ppn文件。例如:C:\\Users\Priyam\Desktop\hey-keya_en_windows_v2_1_0\hey-keya_en_windows_v2_1_0.ppn

相关问题