这个用于jarvis的热词的代码有一个错误:
import struct
import pyaudio
import pvporcupine
porcupine=None
paud=None
audio_stream=None
try:
porcupine=pvporcupine.create(keywords=["jarvis","alexa"]) #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()
这是我得到的错误:
porcupine=pvporcupine.create(keywords=["jarvis","alexa"]) #pvporcupine.KEYWORDS for all keywords
TypeError: create() missing 1 required positional argument: 'access_key'
如何解决此错误?
如果您阅读了此处的文档https://pypi.org/project/pvporcupine/,将看到您需要获得一个access_key并初始化如下对象:
access_key = "YOUR_ACCESS_KEY}" # AccessKey obtained from Picovoice Console (https://picovoice.ai/console/)
porcupine=pvporcupine.create(access_key=access_key, keywords=["jarvis","alexa"])