eeg-web;当你需要通过 Web Bluetooth 连接 Muse 兼容头带时,再同时添加 eeg-web-ble。
EEG 通过可穿戴头带测量大脑的电活动。在浏览器应用中,开发者通常使用 EEG 输出头带样本、计算频段功率等特征,并驱动反馈、仪表盘、自适应界面或互动体验。
具体的应用示例包括:
- 根据专注度或平静度调整引导的冥想或呼吸训练应用
- 奖励专注或稳定状态的神经反馈体验
- 根据心理状态做出反应的模拟运动表现或训练应用
- 根据实时 EEG 特征改变难度、节奏或效果的游戏或创意工具
安装
eeg-web 提供什么
@elata-biosciences/eeg-web 提供:
- 浏览器端的 EEG WASM 初始化
band_powers等信号处理和模型导出- 更高层浏览器集成使用的共享类型和协议
@elata-biosciences/eeg-web-ble。
最小集成
典型的集成流程
- 使用
initEegWasm()初始化打包的 WASM 运行时。 - 将浏览器端的 EEG 样本缓冲区传入导出的分析函数。
- 如果之后需要实时设备传输,将此包与
eeg-web-ble结合使用。
何时改用 EEG 模板
在以下情况,优先使用脚手架生成的eeg-demo 模板:
- 你需要一个确认可用的 Vite 配置
- 你需要参考打包的 WASM 资源应如何提供
- 你需要一个无需硬件就能运行的合成数据应用
常见问题
band_powers()接收的是单通道的Float32Array,而不是number[]。frame.eeg.samples的布局是samples[sampleIdx][channelIdx](每行一个时间步),因此请使用eeg-web中的getEegChannelSamples(frame, channelIdx)提取单个通道。传入普通数组会导致 WASM 运行时错误。对于 Muse 头带(4 个通道:TP9、AF7、AF8、TP10),认知状态特征请使用前额通道(AF7 = 索引 1,或 AF8 = 索引 2),或对各通道取平均。WasmCalmnessModel.process()需要交错排列的样本:[s0_ch0, s0_ch1, s1_ch0, s1_ch1, ...]。使用eeg-web中的getEegInterleavedSamples(frame)获取这种布局。WasmCalmnessModel在构造时需要channelCount,但channelCount只在第一帧到达时才知道。请在处理第一帧的回调中构造模型。- 如果
initEegWasm()失败,你的应用可能没有正确加载打包的wasm/资源。 - 如果需要实时连接头带,仅有
eeg-web是不够的。 - 如果你只是在评估 SDK,使用脚手架应用比手动设置更快。
下一步
在现有应用中添加 EEG
分步集成教程
Web Bluetooth
连接 Muse 头带
eeg-web 参考
包 API 和导出
故障排查
常见故障及解决方法