# wake_word **Repository Path**: qingtinggit/wake_word ## Basic Information - **Project Name**: wake_word - **Description**: 唤醒词,比如唤醒小度音箱的“小度小度",华为手机的”小艺小艺“,这个版本是nodejs的版本,代码简短易用,教你创建唤醒词,本工程则是使用唤醒词,有清晰的调试内容和成功提示。工程师在电脑上应该会比较好用。 提示:用个好点的麦克风,用清晰的语句叫出唤醒词,有提示成功的话,要间隔一下再叫,连着狂叫可能不会连着提示。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #唤醒词 主要教学中文版 ##环境和软件: 下载 SoX 的 Windows 版本: https://sourceforge.net/projects/sox/files/sox/ 安装后,将 SoX 的安装目录(如 D:\ProgramFiles (x86)\sox-14-4-2)添加到系统的 PATH 环境变量中 nodejs v18.20.8 https://nodejs.org/en/download 找到.msi文件下载,如果是windows的话 没有ubuntu环境也没关系,跳过这一段即可。 ##唤醒词录入方式1(ubuntu环境) Python 3.7
https://github.com/rhasspy/rhasspy-wake-raven?tab=readme-ov-file
```bash $ git clone https://github.com/rhasspy/rhasspy-wake-raven.git $ cd rhasspy-wake-raven $ ./configure $ make $ make install arecord -r 16000 -f S16_LE -c 1 -t raw | bin/rhasspy-wake-raven --record keyword-dir/ ``` ##唤醒词录入方式2(windows环境) 唤醒词录入,这段要在cmd中执行,不要在powershell中 ```cmd sox -t waveaudio "麦克风 (USB FS AUDIO)" ^ -b 16 -e signed-integer -r 16000 -c 1 ^ --endian little ^ wakeword.wav ^ silence 1 0.1 1% 1 2.0 1% ^ trim 0 3 ``` ##如果是录制3次样例可以按如下命令进行: ```cmd :: 第一次 sox -t waveaudio "麦克风 (USB FS AUDIO)" ^ -b 16 -e signed-integer -r 16000 -c 1 ^ --endian little ^ 你好小黑_1.wav ^ silence 1 0.1 1% 1 2.0 1% ^ trim 0 3 :: 第二次(等待3秒后执行) timeout /t 3 sox -t waveaudio "麦克风 (USB FS AUDIO)" ^ -b 16 -e signed-integer -r 16000 -c 1 ^ --endian little ^ 你好小黑_2.wav ^ silence 1 0.1 1% 1 2.0 1% ^ trim 0 3 :: 第三次 timeout /t 3 sox -t waveaudio "麦克风 (USB FS AUDIO)" ^ -b 16 -e signed-integer -r 16000 -c 1 ^ --endian little ^ 你好小黑_3.wav ^ silence 1 0.1 1% 1 2.0 1% ^ trim 0 3 ``` ##模块依赖 ```cmd npm i @mathquis/node-personal-wakeword mic npm list mic npm install node-wav-player #可以不用,不过语音反馈更直接一些 ``` 版本是@2.1.2 ##获取麦克风名称 powershell执行 ```cmd > Get-AudioDevice -Recording | Format-List Name,ID ``` Get-AudioDevice : 无法将“Get-AudioDevice”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包 括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Get-AudioDevice -Recording | Format-List Name,ID + ~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Get-AudioDevice:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 如果报上面的错,powershell执行 ```cmd Install-Module -Name AudioDeviceCmdlets -Force -AllowClobber Import-Module AudioDeviceCmdlets ``` ##一切就绪,执行唤醒词测试 比如录入的唤醒词是 ”你好二狗“ 那么我们就在wake_ch.js中第五行改成: ```js const words = '你好二狗' ``` 录入的唤醒词在keywords文件夹下分别为:你好二狗_1.wav, 你好二狗_2.wav, 你好二狗_3.wav 然后在工程目录下运行 ```cmd node wake_ch.js ``` 对着麦克风喊提示词看是否有反应即可。 要听到语音的直接反馈就用下面这个文件: ```cmd node wake_ch_voice.js ```