这是我的代码
import model from './lib/model_file.js'
import keyword from './lib/hello-ravi_en_wasm_v3_0_0/keyword_file.js'
console.log(model);
console.log(keyword);
const porcupineKeyword = {
// publicPath: "./lib/hello-ravi_en_wasm_v3_0_0/alexa_wasm.ppn",
base64: keyword,
label: "alexa"
}
const porcupineModel = {
// publicPath: "./lib/porcupine_params.pv",
base64: model
}
...
const initEngine = useCallback(async () => {
console.log(BuiltInKeyword);
await init(
"jPTQx+....",
[porcupineKeyword],
porcupineModel
);
}, [])
这是我的反应包:
"@picovoice/porcupine-react": "^3.0.3",
"@picovoice/web-voice-processor": "^4.0.8",
我收到此错误
PorcupineInvalidArgumentError: Initialization failed: [0] Keyword file (.ppn) file has incorrect format or belongs to a different platform. [1] Picovoice Error (code 00000136) [2] Loading keyword file at alexafailed withINVALID_ARGUMENT.
浪费了一整天的时间来启动并运行演示,但我无法做到。任何帮助都会很棒。
重现步骤 下载反应演示文件夹 在控制台上训练唤醒词 使用文件和 api 密钥运行演示 预期行为 演示应该可以顺利运行。
首先确保您的导入路径正确。 (您导入的文件应具有 .ppn(用于关键字)和 .pv(用于模型)扩展名,而不是 .js) 如果它是自定义单词,请确保您在创建 .ppv 文件时选择了正确的平台。 (对于反应来说,它将是网络)
经过对各种唤醒词检测系统的广泛研究和实验,我遇到了许多挑战,还包括定位正确模型文件的问题,但大多数面临的解决方案要么过于昂贵,要么无效。
在您的情况下,请确保文件是transferrend,并且您有本机代码来查找它们的位置,并提供通往界面的正确路径。
为了找到更好的解决方案,我开发了自己的唤醒词检测系统,该系统既高度准确又用户友好,适用于 iOS、Android,并支持简单的 React Native API。
您可以在这里探索我正在进行的项目:https://github.com/frymanofer/ReactNative_WakeWordDetection。