ท้าทายความจำของคุณ! เล่นเกม N-Back ใหม่ในแอป Emotiv
ท้าทายความจำของคุณ! เล่นเกม N-Back ใหม่ในแอป Emotiv
ท้าทายความจำของคุณ! เล่นเกม N-Back ใหม่ในแอป Emotiv
Lab Streaming Layer (LSL) สำหรับการซิงโครไนซ์สตรีมข้อมูลหลายรายการ
โรชินี รันเดนิยา
แชร์:

โดย โรชินี รันเดนิยา และ ลูคัส คลายเน
การทำงาน:
เมื่อทำงานใน command line สคริปต์นี้จะเริ่มสตรีม LSL ทันที เมื่อกดปุ่ม 'Enter' มันจะส่งทริกเกอร์และเล่นไฟล์เสียง
import sounddevice as sd
import soundfile as sf
จาก pylsl นำเข้า StreamInfo, StreamOutlet
ฟังก์ชัน wait_for_keypress():
พิมพ์("กด ENTER เพื่อเริ่มเล่นเสียงและส่ง LSL marker.")
while True: # This loop waits for a keyboard input input_str = input() # Wait for input from the terminal if input_str == "": # If the enter key is pressed, proceed break
ฟังก์ชัน AudioMarker(audio_file, outlet): # ฟังก์ชันสำหรับเล่นเสียงและส่ง marker
data, fs = sf.read(audio_file) # โหลดไฟล์เสียง
print("Playing audio and sending LSL marker...") marker_val = [1] outlet.push_sample(marker_val) # Send marker indicating the start of audio playback sd.play(data, fs) # play the audio sd.wait() # Wait until audio is done playing print("Audio playback finished.")
ถ้า name == "main": # MAIN LOOP
# ตั้งค่า LSL stream สำหรับ markers
stream_name = 'AudioMarkers'
stream_type = 'Markers'
n_chans = 1
sr = 0 # ตั้งอัตราการสุ่มเป็น 0 เพราะ markers ไม่สม่ำเสมอ
chan_format = 'int32'
marker_id = 'uniqueMarkerID12345'
info = StreamInfo(stream_name, stream_type, n_chans, sr, chan_format, marker_id) outlet = StreamOutlet(info) # create LSL outlet # Keep the script running and wait for ENTER key to play audio and send marker while True: wait_for_keypress() audio_filepath = "/path/to/your/audio_file.wav" # replace with correct path to your audio file AudioMarker(audio_filepath, outlet) # After playing audio and sending a marker, the script goes back to waiting for the next keypress</code></pre><p><em><strong>**By running this file (even before playing the audio), you've initiated an LSL stream through an outlet</strong></em><strong>. Now we'll view that stream in LabRecorder</strong></p><p><strong>STEP 5 - Use LabRecorder to view and save all LSL streams</strong></p><ol><li data-preset-tag="p"><p>Open LabRecorder</p></li><li data-preset-tag="p"><p>Press <em><strong>Update</strong></em>. The available LSL streams should be visible in the stream list<br> • You should be able to see streams from both EmotivPROs (usually called "EmotivDataStream") and the marker stream (called "AudioMarkers")</p></li><li data-preset-tag="p"><p>Click <em><strong>Browse</strong></em> to select a location to store data (and set other parameters)</p></li><li data-preset-tag="p"><p>Select all streams and press <em><strong>Record</strong></em> to start recording</p></li><li data-preset-tag="p"><p>Click Stop when you want to end the recording</p></li></ol><p><br></p><img alt="" src="https://framerusercontent.com/images/HFGuJF9ErVu2Jxrgtqt11tl0No.jpg"><h2><strong>Working with the data</strong></h2><p><strong>LabRecorder outputs an XDF file (Extensible Data Format) that contains data from all the streams. XDF files are structured into, </strong><em><strong>streams</strong></em><strong>, each with a different </strong><em><strong>header</strong></em><strong> that describes what it contains (device name, data type, sampling rate, channels, and more). You can use the below codeblock to open your XDF file and display some basic information.</strong></p><pre data-language="JSX"><code>
**ด้วยการรันไฟล์นี้ (แม้โดยที่ยังไม่ต้องเล่นเสียง), คุณได้เริ่มต้นสตรีม LSL ผ่าน outlet. ตอนนี้เราจะดูสตรีมนั้นใน LabRecorder
STEP 5 - ใช้ LabRecorder เพื่อดูและบันทึก LSL streams ทั้งหมด
เปิด LabRecorder
กด Update การสตรีม LSL ที่มีอยู่จะปรากฏในรายการสตรีม
• คุณควรเห็นสตรีมจาก emotivpro (มักเรียกว่า "EmotivDataStream") และสตรีม marker (เรียกว่า "AudioMarkers")กด Browse เพื่อเลือกตำแหน่งที่จะเก็บข้อมูล (และตั้งค่าพารามิเตอร์อื่น ๆ)
เลือกสตรีมทั้งหมดแล้วกด Record เพื่อเริ่มการบันทึก
กด Stop เมื่อคุณต้องการสิ้นสุดการบันทึก

การทำงานกับข้อมูล
LabRecorder ส่งออกไฟล์ XDF (Extensible Data Format) ซึ่งประกอบด้วยข้อมูลจากสตรีมทั้งหมด ไฟล์ XDF ถูกจัดโครงสร้างเป็น, สตรีมแต่ละตัว, แต่ละตัวมี header ต่างกันที่อธิบายสิ่งที่มันมี (ชื่ออุปกรณ์, ชนิดข้อมูล, อัตราการสุ่ม, ช่อง, และอื่น ๆ) คุณสามารถใช้โค้ดบล็อกด้านล่างเพื่อเปิดไฟล์ XDF ของคุณและแสดงข้อมูลพื้นฐานได้
สคริปต์ตัวอย่างนี้แสดงฟังก์ชันพื้นฐานบางอย่างสำหรับนำเข้าและกำกับข้อมูล EEG ที่เก็บจากซอฟต์แวร์ EmotivPRO มันใช้ MNE ในการโหลดไฟล์ XDF, พิมพ์เมทาดาต้าพื้นฐาน, สร้างวัตถุ info และแสดงข้อมูลพลังงานของสเปกตรัม
import pyxdf
import mne
import matplotlib.pyplot as plt
import numpy as np
เส้นทางไปยังไฟล์ XDF ของคุณ
data_path = '/path/to/your/xdf_file.xdf'
โหลดไฟล์ XDF
streams, fileheader = pyxdf.load_xdf(data_path)
พิมพ์("XDF File Header:", fileheader)
พิมพ์("จำนวนสตรีมที่พบ:", len(streams))
for i, stream in enumerate(streams):
พิมพ์("\nStream", i + 1)
พิมพ์("ชื่อสตรีม:", stream['info']['name'][0])
พิมพ์("ประเภทสตรีม:", stream['info']['type'][0])
พิมพ์("จำนวนช่อง:", stream['info']['channel_count'][0])
sfreq = float(stream['info']['nominal_srate'][0])
พิมพ์("อัตราการสุ่ม:", sfreq)
พิมพ์("จำนวนตัวอย่าง:", len(stream['time_series']))
พิมพ์("พิมพ์จุดข้อมูล 5 ตัวแรก:", stream['time_series'][:5])
channel_names = [chan['label'][0] for chan in stream['info']['desc'][0]['channels'][0]['channel']] print("Channel Names:", channel_names) channel_types = 'eeg'
สร้างวัตถุ MNE info
info = mne.create_info(channel_names, sfreq, channel_types)
data = np.array(stream['time_series']).T # ข้อมูลต้องถูกย้าย: ช่อง x ตัวอย่าง
raw = mne.io.RawArray(data, info)
raw.plot_psd(fmax=50) # วาดสเปกโตรแกรมอย่างง่าย (ความหนาแน่นพลังงานสเปกตรัม)ทรัพยากรเพิ่มเติมดาวน์โหลดบทช่วยสอนนี้เป็นสมุดบันทึก Jupyter จาก EMOTIV GitHubตรวจสอบเอกสาร LSL ออนไลน์ รวมถึงไฟล์ README อย่างเป็นทางการบน GitHubคุณจะต้องใช้อุปกรณ์การรับข้อมูลที่รองรับหนึ่งหรือมากกว่านั้นสำหรับการเก็บข้อมูลอุปกรณ์สมองของ EMOTIV ทั้งหมดเชื่อมต่อกับซอฟต์แวร์ EmotivPRO ซึ่งมีความสามารถ LSL ในตัวสำหรับการส่งและรับสตรีมข้อมูลทรัพยากรเพิ่มเติม:โค้ดเพื่อรัน LSL โดยใช้อุปกรณ์ของ Emotiv พร้อมสคริปต์ตัวอย่างLSL demo ที่เป็นประโยชน์บน YouTubeSCCN LSL GitHub สำหรับไลบรารี่ทั้งหมดGitHub repository สำหรับคอลเลกชัน submodules และแอปพลิเคชันsฉบับ Hyperscan ของ HyPyP สำหรับการศึกษา Hyperscanning
โดย โรชินี รันเดนิยา และ ลูคัส คลายเน
การทำงาน:
เมื่อทำงานใน command line สคริปต์นี้จะเริ่มสตรีม LSL ทันที เมื่อกดปุ่ม 'Enter' มันจะส่งทริกเกอร์และเล่นไฟล์เสียง
import sounddevice as sd
import soundfile as sf
จาก pylsl นำเข้า StreamInfo, StreamOutlet
ฟังก์ชัน wait_for_keypress():
พิมพ์("กด ENTER เพื่อเริ่มเล่นเสียงและส่ง LSL marker.")
while True: # This loop waits for a keyboard input input_str = input() # Wait for input from the terminal if input_str == "": # If the enter key is pressed, proceed break
ฟังก์ชัน AudioMarker(audio_file, outlet): # ฟังก์ชันสำหรับเล่นเสียงและส่ง marker
data, fs = sf.read(audio_file) # โหลดไฟล์เสียง
print("Playing audio and sending LSL marker...") marker_val = [1] outlet.push_sample(marker_val) # Send marker indicating the start of audio playback sd.play(data, fs) # play the audio sd.wait() # Wait until audio is done playing print("Audio playback finished.")
ถ้า name == "main": # MAIN LOOP
# ตั้งค่า LSL stream สำหรับ markers
stream_name = 'AudioMarkers'
stream_type = 'Markers'
n_chans = 1
sr = 0 # ตั้งอัตราการสุ่มเป็น 0 เพราะ markers ไม่สม่ำเสมอ
chan_format = 'int32'
marker_id = 'uniqueMarkerID12345'
info = StreamInfo(stream_name, stream_type, n_chans, sr, chan_format, marker_id) outlet = StreamOutlet(info) # create LSL outlet # Keep the script running and wait for ENTER key to play audio and send marker while True: wait_for_keypress() audio_filepath = "/path/to/your/audio_file.wav" # replace with correct path to your audio file AudioMarker(audio_filepath, outlet) # After playing audio and sending a marker, the script goes back to waiting for the next keypress</code></pre><p><em><strong>**By running this file (even before playing the audio), you've initiated an LSL stream through an outlet</strong></em><strong>. Now we'll view that stream in LabRecorder</strong></p><p><strong>STEP 5 - Use LabRecorder to view and save all LSL streams</strong></p><ol><li data-preset-tag="p"><p>Open LabRecorder</p></li><li data-preset-tag="p"><p>Press <em><strong>Update</strong></em>. The available LSL streams should be visible in the stream list<br> • You should be able to see streams from both EmotivPROs (usually called "EmotivDataStream") and the marker stream (called "AudioMarkers")</p></li><li data-preset-tag="p"><p>Click <em><strong>Browse</strong></em> to select a location to store data (and set other parameters)</p></li><li data-preset-tag="p"><p>Select all streams and press <em><strong>Record</strong></em> to start recording</p></li><li data-preset-tag="p"><p>Click Stop when you want to end the recording</p></li></ol><p><br></p><img alt="" src="https://framerusercontent.com/images/HFGuJF9ErVu2Jxrgtqt11tl0No.jpg"><h2><strong>Working with the data</strong></h2><p><strong>LabRecorder outputs an XDF file (Extensible Data Format) that contains data from all the streams. XDF files are structured into, </strong><em><strong>streams</strong></em><strong>, each with a different </strong><em><strong>header</strong></em><strong> that describes what it contains (device name, data type, sampling rate, channels, and more). You can use the below codeblock to open your XDF file and display some basic information.</strong></p><pre data-language="JSX"><code>
**ด้วยการรันไฟล์นี้ (แม้โดยที่ยังไม่ต้องเล่นเสียง), คุณได้เริ่มต้นสตรีม LSL ผ่าน outlet. ตอนนี้เราจะดูสตรีมนั้นใน LabRecorder
STEP 5 - ใช้ LabRecorder เพื่อดูและบันทึก LSL streams ทั้งหมด
เปิด LabRecorder
กด Update การสตรีม LSL ที่มีอยู่จะปรากฏในรายการสตรีม
• คุณควรเห็นสตรีมจาก emotivpro (มักเรียกว่า "EmotivDataStream") และสตรีม marker (เรียกว่า "AudioMarkers")กด Browse เพื่อเลือกตำแหน่งที่จะเก็บข้อมูล (และตั้งค่าพารามิเตอร์อื่น ๆ)
เลือกสตรีมทั้งหมดแล้วกด Record เพื่อเริ่มการบันทึก
กด Stop เมื่อคุณต้องการสิ้นสุดการบันทึก

การทำงานกับข้อมูล
LabRecorder ส่งออกไฟล์ XDF (Extensible Data Format) ซึ่งประกอบด้วยข้อมูลจากสตรีมทั้งหมด ไฟล์ XDF ถูกจัดโครงสร้างเป็น, สตรีมแต่ละตัว, แต่ละตัวมี header ต่างกันที่อธิบายสิ่งที่มันมี (ชื่ออุปกรณ์, ชนิดข้อมูล, อัตราการสุ่ม, ช่อง, และอื่น ๆ) คุณสามารถใช้โค้ดบล็อกด้านล่างเพื่อเปิดไฟล์ XDF ของคุณและแสดงข้อมูลพื้นฐานได้
สคริปต์ตัวอย่างนี้แสดงฟังก์ชันพื้นฐานบางอย่างสำหรับนำเข้าและกำกับข้อมูล EEG ที่เก็บจากซอฟต์แวร์ EmotivPRO มันใช้ MNE ในการโหลดไฟล์ XDF, พิมพ์เมทาดาต้าพื้นฐาน, สร้างวัตถุ info และแสดงข้อมูลพลังงานของสเปกตรัม
import pyxdf
import mne
import matplotlib.pyplot as plt
import numpy as np
เส้นทางไปยังไฟล์ XDF ของคุณ
data_path = '/path/to/your/xdf_file.xdf'
โหลดไฟล์ XDF
streams, fileheader = pyxdf.load_xdf(data_path)
พิมพ์("XDF File Header:", fileheader)
พิมพ์("จำนวนสตรีมที่พบ:", len(streams))
for i, stream in enumerate(streams):
พิมพ์("\nStream", i + 1)
พิมพ์("ชื่อสตรีม:", stream['info']['name'][0])
พิมพ์("ประเภทสตรีม:", stream['info']['type'][0])
พิมพ์("จำนวนช่อง:", stream['info']['channel_count'][0])
sfreq = float(stream['info']['nominal_srate'][0])
พิมพ์("อัตราการสุ่ม:", sfreq)
พิมพ์("จำนวนตัวอย่าง:", len(stream['time_series']))
พิมพ์("พิมพ์จุดข้อมูล 5 ตัวแรก:", stream['time_series'][:5])
channel_names = [chan['label'][0] for chan in stream['info']['desc'][0]['channels'][0]['channel']] print("Channel Names:", channel_names) channel_types = 'eeg'
สร้างวัตถุ MNE info
info = mne.create_info(channel_names, sfreq, channel_types)
data = np.array(stream['time_series']).T # ข้อมูลต้องถูกย้าย: ช่อง x ตัวอย่าง
raw = mne.io.RawArray(data, info)
raw.plot_psd(fmax=50) # วาดสเปกโตรแกรมอย่างง่าย (ความหนาแน่นพลังงานสเปกตรัม)ทรัพยากรเพิ่มเติมดาวน์โหลดบทช่วยสอนนี้เป็นสมุดบันทึก Jupyter จาก EMOTIV GitHubตรวจสอบเอกสาร LSL ออนไลน์ รวมถึงไฟล์ README อย่างเป็นทางการบน GitHubคุณจะต้องใช้อุปกรณ์การรับข้อมูลที่รองรับหนึ่งหรือมากกว่านั้นสำหรับการเก็บข้อมูลอุปกรณ์สมองของ EMOTIV ทั้งหมดเชื่อมต่อกับซอฟต์แวร์ EmotivPRO ซึ่งมีความสามารถ LSL ในตัวสำหรับการส่งและรับสตรีมข้อมูลทรัพยากรเพิ่มเติม:โค้ดเพื่อรัน LSL โดยใช้อุปกรณ์ของ Emotiv พร้อมสคริปต์ตัวอย่างLSL demo ที่เป็นประโยชน์บน YouTubeSCCN LSL GitHub สำหรับไลบรารี่ทั้งหมดGitHub repository สำหรับคอลเลกชัน submodules และแอปพลิเคชันsฉบับ Hyperscan ของ HyPyP สำหรับการศึกษา Hyperscanning
โดย โรชินี รันเดนิยา และ ลูคัส คลายเน
การทำงาน:
เมื่อทำงานใน command line สคริปต์นี้จะเริ่มสตรีม LSL ทันที เมื่อกดปุ่ม 'Enter' มันจะส่งทริกเกอร์และเล่นไฟล์เสียง
import sounddevice as sd
import soundfile as sf
จาก pylsl นำเข้า StreamInfo, StreamOutlet
ฟังก์ชัน wait_for_keypress():
พิมพ์("กด ENTER เพื่อเริ่มเล่นเสียงและส่ง LSL marker.")
while True: # This loop waits for a keyboard input input_str = input() # Wait for input from the terminal if input_str == "": # If the enter key is pressed, proceed break
ฟังก์ชัน AudioMarker(audio_file, outlet): # ฟังก์ชันสำหรับเล่นเสียงและส่ง marker
data, fs = sf.read(audio_file) # โหลดไฟล์เสียง
print("Playing audio and sending LSL marker...") marker_val = [1] outlet.push_sample(marker_val) # Send marker indicating the start of audio playback sd.play(data, fs) # play the audio sd.wait() # Wait until audio is done playing print("Audio playback finished.")
ถ้า name == "main": # MAIN LOOP
# ตั้งค่า LSL stream สำหรับ markers
stream_name = 'AudioMarkers'
stream_type = 'Markers'
n_chans = 1
sr = 0 # ตั้งอัตราการสุ่มเป็น 0 เพราะ markers ไม่สม่ำเสมอ
chan_format = 'int32'
marker_id = 'uniqueMarkerID12345'
info = StreamInfo(stream_name, stream_type, n_chans, sr, chan_format, marker_id) outlet = StreamOutlet(info) # create LSL outlet # Keep the script running and wait for ENTER key to play audio and send marker while True: wait_for_keypress() audio_filepath = "/path/to/your/audio_file.wav" # replace with correct path to your audio file AudioMarker(audio_filepath, outlet) # After playing audio and sending a marker, the script goes back to waiting for the next keypress</code></pre><p><em><strong>**By running this file (even before playing the audio), you've initiated an LSL stream through an outlet</strong></em><strong>. Now we'll view that stream in LabRecorder</strong></p><p><strong>STEP 5 - Use LabRecorder to view and save all LSL streams</strong></p><ol><li data-preset-tag="p"><p>Open LabRecorder</p></li><li data-preset-tag="p"><p>Press <em><strong>Update</strong></em>. The available LSL streams should be visible in the stream list<br> • You should be able to see streams from both EmotivPROs (usually called "EmotivDataStream") and the marker stream (called "AudioMarkers")</p></li><li data-preset-tag="p"><p>Click <em><strong>Browse</strong></em> to select a location to store data (and set other parameters)</p></li><li data-preset-tag="p"><p>Select all streams and press <em><strong>Record</strong></em> to start recording</p></li><li data-preset-tag="p"><p>Click Stop when you want to end the recording</p></li></ol><p><br></p><img alt="" src="https://framerusercontent.com/images/HFGuJF9ErVu2Jxrgtqt11tl0No.jpg"><h2><strong>Working with the data</strong></h2><p><strong>LabRecorder outputs an XDF file (Extensible Data Format) that contains data from all the streams. XDF files are structured into, </strong><em><strong>streams</strong></em><strong>, each with a different </strong><em><strong>header</strong></em><strong> that describes what it contains (device name, data type, sampling rate, channels, and more). You can use the below codeblock to open your XDF file and display some basic information.</strong></p><pre data-language="JSX"><code>
**ด้วยการรันไฟล์นี้ (แม้โดยที่ยังไม่ต้องเล่นเสียง), คุณได้เริ่มต้นสตรีม LSL ผ่าน outlet. ตอนนี้เราจะดูสตรีมนั้นใน LabRecorder
STEP 5 - ใช้ LabRecorder เพื่อดูและบันทึก LSL streams ทั้งหมด
เปิด LabRecorder
กด Update การสตรีม LSL ที่มีอยู่จะปรากฏในรายการสตรีม
• คุณควรเห็นสตรีมจาก emotivpro (มักเรียกว่า "EmotivDataStream") และสตรีม marker (เรียกว่า "AudioMarkers")กด Browse เพื่อเลือกตำแหน่งที่จะเก็บข้อมูล (และตั้งค่าพารามิเตอร์อื่น ๆ)
เลือกสตรีมทั้งหมดแล้วกด Record เพื่อเริ่มการบันทึก
กด Stop เมื่อคุณต้องการสิ้นสุดการบันทึก

การทำงานกับข้อมูล
LabRecorder ส่งออกไฟล์ XDF (Extensible Data Format) ซึ่งประกอบด้วยข้อมูลจากสตรีมทั้งหมด ไฟล์ XDF ถูกจัดโครงสร้างเป็น, สตรีมแต่ละตัว, แต่ละตัวมี header ต่างกันที่อธิบายสิ่งที่มันมี (ชื่ออุปกรณ์, ชนิดข้อมูล, อัตราการสุ่ม, ช่อง, และอื่น ๆ) คุณสามารถใช้โค้ดบล็อกด้านล่างเพื่อเปิดไฟล์ XDF ของคุณและแสดงข้อมูลพื้นฐานได้
สคริปต์ตัวอย่างนี้แสดงฟังก์ชันพื้นฐานบางอย่างสำหรับนำเข้าและกำกับข้อมูล EEG ที่เก็บจากซอฟต์แวร์ EmotivPRO มันใช้ MNE ในการโหลดไฟล์ XDF, พิมพ์เมทาดาต้าพื้นฐาน, สร้างวัตถุ info และแสดงข้อมูลพลังงานของสเปกตรัม
import pyxdf
import mne
import matplotlib.pyplot as plt
import numpy as np
เส้นทางไปยังไฟล์ XDF ของคุณ
data_path = '/path/to/your/xdf_file.xdf'
โหลดไฟล์ XDF
streams, fileheader = pyxdf.load_xdf(data_path)
พิมพ์("XDF File Header:", fileheader)
พิมพ์("จำนวนสตรีมที่พบ:", len(streams))
for i, stream in enumerate(streams):
พิมพ์("\nStream", i + 1)
พิมพ์("ชื่อสตรีม:", stream['info']['name'][0])
พิมพ์("ประเภทสตรีม:", stream['info']['type'][0])
พิมพ์("จำนวนช่อง:", stream['info']['channel_count'][0])
sfreq = float(stream['info']['nominal_srate'][0])
พิมพ์("อัตราการสุ่ม:", sfreq)
พิมพ์("จำนวนตัวอย่าง:", len(stream['time_series']))
พิมพ์("พิมพ์จุดข้อมูล 5 ตัวแรก:", stream['time_series'][:5])
channel_names = [chan['label'][0] for chan in stream['info']['desc'][0]['channels'][0]['channel']] print("Channel Names:", channel_names) channel_types = 'eeg'
สร้างวัตถุ MNE info
info = mne.create_info(channel_names, sfreq, channel_types)
data = np.array(stream['time_series']).T # ข้อมูลต้องถูกย้าย: ช่อง x ตัวอย่าง
raw = mne.io.RawArray(data, info)
raw.plot_psd(fmax=50) # วาดสเปกโตรแกรมอย่างง่าย (ความหนาแน่นพลังงานสเปกตรัม)ทรัพยากรเพิ่มเติมดาวน์โหลดบทช่วยสอนนี้เป็นสมุดบันทึก Jupyter จาก EMOTIV GitHubตรวจสอบเอกสาร LSL ออนไลน์ รวมถึงไฟล์ README อย่างเป็นทางการบน GitHubคุณจะต้องใช้อุปกรณ์การรับข้อมูลที่รองรับหนึ่งหรือมากกว่านั้นสำหรับการเก็บข้อมูลอุปกรณ์สมองของ EMOTIV ทั้งหมดเชื่อมต่อกับซอฟต์แวร์ EmotivPRO ซึ่งมีความสามารถ LSL ในตัวสำหรับการส่งและรับสตรีมข้อมูลทรัพยากรเพิ่มเติม:โค้ดเพื่อรัน LSL โดยใช้อุปกรณ์ของ Emotiv พร้อมสคริปต์ตัวอย่างLSL demo ที่เป็นประโยชน์บน YouTubeSCCN LSL GitHub สำหรับไลบรารี่ทั้งหมดGitHub repository สำหรับคอลเลกชัน submodules และแอปพลิเคชันsฉบับ Hyperscan ของ HyPyP สำหรับการศึกษา Hyperscanning
อ่านต่อ
พื้นฐานของการสั่นของเซลล์ประสาท
