- 原文地址:7 Javascript EEG Mind Reading Libraries for 2018
- 原文作者:Gilad Shoham
- 譯文出自:掘金翻譯計劃
- 本文永久連結:github.com/xitu/gold-m…
- 譯者:geniusq1981
- 校對者:Park-ma、huangyuanzhen
用於探索人腦訊號以實現讀心的 JavaScript 庫。
“這個頭戴裝置是不是很酷?”
腦電圖是一種檢測人腦中生物電活動的方法。它可以用來檢測人體狀態,比如癲癇或者腦瘤,以此來研究腦活動與認知方面的聯絡,或者用來學習人腦是如何對外部刺激產生反應,比如音樂或影像。
儘管相比其他方法,此方法還不夠成熟,但是在一些方面它的用途還是很大的 — 可以通過外部裝置將大腦活動轉化成行為(比如裝備鐳射武器的機器人軍隊)。
在腦電圖訊號的開發領域(由類似 openBCI 這樣的專案所引領),MathLab、python 和 R 都是十分 流行的語言。但是就像其他領域,比如 IOT、ML 和其他一些研究領域那樣,Javascript 也會參與其中。
作為在 Bit 工作的一部分,我們一直在努力追尋 Javascript 前沿應用。所以,在這裡是我們找到的一些非常炫酷的處理腦電圖的 Javascript 庫和示例。歡迎你能夠提供其他更多有用的專案!
1. Muse-js
從這篇文章可以找到一個示例:medium.com/@urish/reac…
Muse-js 是一個與 2016 Muse 腦電頭盔相匹配的 Javasript 庫(使用 web bluetooth)。靈感來自於 muse-lsl python 庫, muse-js 由 @UriShaked 編譯,它的目標是:通過人腦直接控制網頁。為什麼不可以呢?
Muse - js 可以讓 web 開發者通過瀏覽器、RxJs 和 Angular 這樣的工具去連線、分析或視覺化腦電圖資料。除了處理“普通”的腦電訊號並把它們傳送到網頁上,muse-js 還可以處理與眼睛移動相關的腦電訊號, 這不僅僅超級炫酷,而且對於人類認知的前沿研究也非常有幫助。嘗試一下。
-
urish/muse-js: muse-js — Muse 2016 腦電頭盔 Javascript 庫(使用 Web Bluetooth)
-
Reactive Brain Waves: 如何使用 RxJS、Angular 和 Web Bluetooth,配合腦電頭盔,發掘你的大腦
2. Wits
wits 是 Brain-Bits 專案的一部分, 它是一個 Node.js 庫,可以讀取來自 Emotiv EPOC 腦電頭盔的腦電圖訊號。它由原生 C 模組實現(基於 openyou/emokit-c),以 128Hz 取樣率的速度處理 14 路電極原始的腦電圖資料流,並且給終端使用者提供了豐富的介面。這裡有個例子,歡迎試用一下。
const mind = require('wits')
mind.open()
mind.read(console.log)
複製程式碼
3. Brain-monitor
Brain-monitor 實際上是一個用 Javascript 編寫的可以實時顯示腦電圖訊號的終端應用。它配合 Emotiv EPOC 腦電頭盔一起工作,以 128Hz 的取樣頻率對 14 個電極的原生腦電訊號進行分析,並能處理一些額外的資訊,比如頭的方向,甚至是頭盔的電量。對於喜歡使用命令列的開發者,這是個不錯的選擇。
4. Brain-bits
由 wits 和 brain-monitor 的開發者建立,Brain-bits 是為 Emotiv 腦電頭盔所做的一套 P300 線上拼寫系統。這個專案基於 Electron 應用,後端執行 Node,而前端使用 Vue.js,利用 Node.js 的原生模組以及 brain.js 來處理神經網路,並使用 d3 來繪製腦電圖。你可以在開發者在 2018 Amsterdam JS 論壇上的 這次演講 裡面看到一個現場演示,並能瞭解更多內容。
5. EEG-101
EEG-101 是一個使用 Muse 和 React Native 來教授腦電圖和 BCI 基礎知識的互動式神經學的 教程應用。內容包括訊號從哪裡來,裝置如何工作以及如何處理資料。使用 React Native 開發了 Android 應用,專案包含了一個用於腦電圖資料的通用二進位制分類器,它使用 LibMuse Java API 獲取來自 Muse 頭盔的資料流。這是一種很好的採集和播放腦電訊號的方式。
6. EEG pipes
這個專案提供在 Node 和瀏覽器環境中處理腦電圖資料的可管道化的 RxJS 操作符,包括的功能比如 FFT、功率譜密度(PSD)和功率頻寬、緩衝和 Epoching、IIR 濾波器等。注意需要一個關於腦電圖的 Observable,可以使用 RxJS 的 fromEvent
將回撥事件壓入 Observable 流中。試用一下。
7. Open BCI & JS
Open BCI 是一個提供腦機介面和低成本硬體的開源專案。由工程師、研究人員和製造商組成的開發小組建立,他們希望“分享對利用腦電訊號來更深入地理解並擴充套件我們是誰的堅定熱情”。
基於此,它為各種各樣腦電相關軟硬體實現構築了一個基礎。其中有一些非常棒的 Javascript 實現,使用從 Node.js 到 Angular 進行腦電圖處理、視覺化和一系列工作。這是一些例子。
-
[pwstegman/WebBCI: _WebBCI — :bar_chart: 基於 JavaScript 的腦電訊號處理]((github.com/pwstegman/W…)
-
NeuroJS/openbci-dashboard: _openbci-dashboard — 一個獲取並視覺化 OpenBCI 腦電資料的全棧 Javascript 應用
-
neurosity/openbci-observable: _openbci-observable — Making OpenBCI for Node Reactive_github.com
-
alexcastillo/angular-openbci-rx: _angular-openbci-rx — 使用 Angular 4 實現腦電時序資料視覺化
還可以看看:
遇見 Bit
Bit 可以幫助你的團隊通過匯入元件和模組到編譯模組中來快速搭建應用,這些非常容易分享、開發並在任意地方去構建新的工程專案。用 Javascript、React 或者其他方式試用下 Bit。
更多瞭解
-
Monorepos Made Easier with Bit and NPM:如何利用 Bit 和 NPM 更簡單地建立 Monorepos。
-
Write GraphQL APIs on Node with MongoDB:如何使用 Node.js 和 MongoDB 來編寫 GraphQL APIs。
-
11 Javascript Utility Libraries You Should Know In 2018:能夠加快開發的 11 個有用的 Javascript 工具包。
如果發現譯文存在錯誤或其他需要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可獲得相應獎勵積分。文章開頭的 本文永久連結 即為本文在 GitHub 上的 MarkDown 連結。
掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。