Run your XiaoZhi AI on the terminal
Install sox
Configure sox environment variables
# installed successfully
sox --version
sox: SoX v
Install Node.js
# installed successfully
node -v
v22.1.0
Install XiaoZhi AI
npm i -g @sobird/xiaozhi
# Run xzai on the terminal and start a chat
xzai
Note: Press the spacebar to start chatting(No need to keep pressing), Press the spacebar again to complete the voice input.
# clone repo
git clone https://github.com/sobird/xiaozhi.git
# install deps
pnpm install
# start run
pnpm start
# or npm link to xzai cli to global
npm link
# Run on the terminal
xzai
- 使用
ora
后,设置的process.stdin.on('keypress', (str, key) => {});
键盘监听事件无效
const spinner = ora({
// 此处配置必须false,防止ora阻止用户的键盘输入事件
discardStdin: false,
});
- 按下说话报错,Error: spawn sox ENOENT,详细信息如下
throw er; // Unhandled 'error' event
^
Error: spawn sox ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:286:19)
at onErrorNT (node:internal/child_process:484:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess._handle.onexit (node:internal/child_process:292:12)
at onErrorNT (node:internal/child_process:484:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn sox',
path: 'sox',
spawnargs: [
'--default-device',
'--no-show-progress',
'--rate',
48000,
'--channels',
2,
'--encoding',
'signed-integer',
'--bits',
'16',
'--type',
'wav',
'-'
]
}
电脑上没有安装sox,请自行根据系统选择安装对应的版本。
- 查看电脑音频设备信息
# macOS 执行下面命令
$ system_profiler SPAudioDataType
Audio:
Devices:
Built-in Microphone:
Default Input Device: Yes
Input Channels: 2
Manufacturer: Apple Inc.
Current SampleRate: 44100
Transport: Built-in
Input Source: Internal Microphone
Built-in Output:
Default Output Device: Yes
Default System Output Device: Yes
Manufacturer: Apple Inc.
Output Channels: 2
Current SampleRate: 44100
Transport: Built-in
Output Source: Internal Speakers