Cortex เวอร์ชัน 2.6.1 ได้เปิดตัวแล้วพร้อมกับ BCI-OSC

ผู้เขียน

อัปเดตเมื่อ

7 ก.พ. 2567

Cortex เวอร์ชัน 2.6.1 ได้เปิดตัวแล้วพร้อมกับ BCI-OSC

ผู้เขียน

อัปเดตเมื่อ

7 ก.พ. 2567

Cortex เวอร์ชัน 2.6.1 ได้เปิดตัวแล้วพร้อมกับ BCI-OSC

ผู้เขียน

อัปเดตเมื่อ

7 ก.พ. 2567

BCI - OSC Open Sound Control (OSC) เป็นโปรโตคอลการสื่อสารสากลที่ได้รับการปรับให้เหมาะกับเครือข่ายสมัยใหม่ เพื่อให้สามารถเชื่อมต่อระหว่างคอมพิวเตอร์และอุปกรณ์มัลติมีเดียอื่น ๆ ได้.


Emotiv’s BCI-OSC ช่วยให้ Emotiv Brainwear® และ Virtual Brainwear® สามารถเชื่อมต่อกับฮาร์ดแวร์และแอปพลิเคชันซอฟต์แวร์ที่รองรับ OSC ได้หลากหลายมากขึ้น OSC ช่วยให้คุณส่งคำสั่งทางความคิด การแสดงสีหน้า หรือค่าประสิทธิภาพไปยังอุปกรณ์ภายนอกที่เชื่อมต่อกับเครือข่ายได้ ตัวอย่างต่อไปนี้อธิบายขั้นตอนในการเชื่อมต่อ Emotiv’s BCI-OSC กับ Max MSP ซึ่งเป็นภาษาการเขียนโปรแกรมเชิงภาพสำหรับดนตรีและมัลติมีเดีย.


ขั้นตอนที่ 1: เปิด BCI

ขั้นตอนที่ 2: เลือกโปรไฟล์และเชื่อมต่อกับเฮดเซ็ต (เสมือนหรือจริง)

ขั้นตอนที่ 3: เปิดแท็บ BCI-OSC และตั้งค่า: โหมดการส่ง: Unicast ไปยัง Self IP: 127.0.0.1 พอร์ต: 8000 สตรีมข้อมูล: เลือกชุดที่คุณต้องการใช้

ขั้นตอนที่ 4: คลิก Start

ขั้นตอนที่ 5: เปิด Max MSP ไปที่ File > Package Manager และติดตั้ง CNMAT Externals

ขั้นตอนที่ 6: ไปที่ https://github.com/Emotiv/opensoundcontrol/tree/develop (ต้องได้รับสิทธิ์ในการเข้าถึง) และตรวจสอบตารางที่มี OSC Address Patterns (ดูภาพด้านล่าง)

ขั้นตอนที่ 7: สร้าง (ทำซ้ำ) โหนดด้านล่างและเปลี่ยน OSC-route ตาม OSC Pattern ที่คุณต้องการกำหนดเป้าหมาย (ในภาพตัวอย่างคือ การแสดงสีหน้า/ยิ้ม) - ตรวจสอบตารางในขั้นตอนก่อนหน้าสำหรับที่อยู่

ขั้นตอนที่ 8: เปิด Processing และไปที่ Sketch > Import Library… > Add Library , ค้นหาและติดตั้ง oscP5

ขั้นตอนที่ 9: เปิดไฟล์ใหม่หนึ่งไฟล์.

ขั้นตอนที่ 10: นำเข้า oscP5 ไปยังโค้ดและเริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000 ตัวอย่างโค้ด (คัดลอกและวางใน Processing):

import oscP5.; // รับ OSC ผ่าน oscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC

float importedValue = 0;
float radius;

void setup() {
size(1200,1000); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);
}

void draw() {
background (0); // ปรับค่าที่นำเข้าให้ขยายขึ้น
radius = importedValue * 1000; // แสดงวงกลมที่ตำแหน่งเวกเตอร์
stroke(255);
strokeWeight(2);
fill(255);
ellipse(500,500, radius, radius);
println(radius);
}

void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}

ขั้นตอนที่ 11: คลิกปุ่ม Play และดูกราฟิกเปลี่ยนไปตาม Smile importedValue เชื่อมโยงกับรัศมีของวงกลม

ขั้นตอนที่ 12: เปิดโค้ดตัวอย่างใดก็ได้ใน File > Examples…

ขั้นตอนที่ 13: เชื่อมโยง importedValue กับตัวแปร float ใดก็ได้จากไลบรารีใดก็ได้เพื่อทดลองใช้งาน อย่าลืมว่า:

นำเข้า oscP5:
import oscP5.; //OSC receiveOscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC
r

เริ่มต้น importedValue (ก่อน void setup);
float importedValue = 0;

เริ่มต้น oscP5 (วางไว้ภายใน void setup); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);


เชื่อมโยงเหตุการณ์กับตัวแปร importedValue (วางไว้หลัง void draw);
void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}


Cortex 2.6.1 ใหม่ยังมีการอัปเดตและการปรับปรุงอื่น ๆ อีกมากมายรอให้คุณสำรวจอยู่!

BCI - OSC Open Sound Control (OSC) เป็นโปรโตคอลการสื่อสารสากลที่ได้รับการปรับให้เหมาะกับเครือข่ายสมัยใหม่ เพื่อให้สามารถเชื่อมต่อระหว่างคอมพิวเตอร์และอุปกรณ์มัลติมีเดียอื่น ๆ ได้.


Emotiv’s BCI-OSC ช่วยให้ Emotiv Brainwear® และ Virtual Brainwear® สามารถเชื่อมต่อกับฮาร์ดแวร์และแอปพลิเคชันซอฟต์แวร์ที่รองรับ OSC ได้หลากหลายมากขึ้น OSC ช่วยให้คุณส่งคำสั่งทางความคิด การแสดงสีหน้า หรือค่าประสิทธิภาพไปยังอุปกรณ์ภายนอกที่เชื่อมต่อกับเครือข่ายได้ ตัวอย่างต่อไปนี้อธิบายขั้นตอนในการเชื่อมต่อ Emotiv’s BCI-OSC กับ Max MSP ซึ่งเป็นภาษาการเขียนโปรแกรมเชิงภาพสำหรับดนตรีและมัลติมีเดีย.


ขั้นตอนที่ 1: เปิด BCI

ขั้นตอนที่ 2: เลือกโปรไฟล์และเชื่อมต่อกับเฮดเซ็ต (เสมือนหรือจริง)

ขั้นตอนที่ 3: เปิดแท็บ BCI-OSC และตั้งค่า: โหมดการส่ง: Unicast ไปยัง Self IP: 127.0.0.1 พอร์ต: 8000 สตรีมข้อมูล: เลือกชุดที่คุณต้องการใช้

ขั้นตอนที่ 4: คลิก Start

ขั้นตอนที่ 5: เปิด Max MSP ไปที่ File > Package Manager และติดตั้ง CNMAT Externals

ขั้นตอนที่ 6: ไปที่ https://github.com/Emotiv/opensoundcontrol/tree/develop (ต้องได้รับสิทธิ์ในการเข้าถึง) และตรวจสอบตารางที่มี OSC Address Patterns (ดูภาพด้านล่าง)

ขั้นตอนที่ 7: สร้าง (ทำซ้ำ) โหนดด้านล่างและเปลี่ยน OSC-route ตาม OSC Pattern ที่คุณต้องการกำหนดเป้าหมาย (ในภาพตัวอย่างคือ การแสดงสีหน้า/ยิ้ม) - ตรวจสอบตารางในขั้นตอนก่อนหน้าสำหรับที่อยู่

ขั้นตอนที่ 8: เปิด Processing และไปที่ Sketch > Import Library… > Add Library , ค้นหาและติดตั้ง oscP5

ขั้นตอนที่ 9: เปิดไฟล์ใหม่หนึ่งไฟล์.

ขั้นตอนที่ 10: นำเข้า oscP5 ไปยังโค้ดและเริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000 ตัวอย่างโค้ด (คัดลอกและวางใน Processing):

import oscP5.; // รับ OSC ผ่าน oscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC

float importedValue = 0;
float radius;

void setup() {
size(1200,1000); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);
}

void draw() {
background (0); // ปรับค่าที่นำเข้าให้ขยายขึ้น
radius = importedValue * 1000; // แสดงวงกลมที่ตำแหน่งเวกเตอร์
stroke(255);
strokeWeight(2);
fill(255);
ellipse(500,500, radius, radius);
println(radius);
}

void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}

ขั้นตอนที่ 11: คลิกปุ่ม Play และดูกราฟิกเปลี่ยนไปตาม Smile importedValue เชื่อมโยงกับรัศมีของวงกลม

ขั้นตอนที่ 12: เปิดโค้ดตัวอย่างใดก็ได้ใน File > Examples…

ขั้นตอนที่ 13: เชื่อมโยง importedValue กับตัวแปร float ใดก็ได้จากไลบรารีใดก็ได้เพื่อทดลองใช้งาน อย่าลืมว่า:

นำเข้า oscP5:
import oscP5.; //OSC receiveOscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC
r

เริ่มต้น importedValue (ก่อน void setup);
float importedValue = 0;

เริ่มต้น oscP5 (วางไว้ภายใน void setup); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);


เชื่อมโยงเหตุการณ์กับตัวแปร importedValue (วางไว้หลัง void draw);
void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}


Cortex 2.6.1 ใหม่ยังมีการอัปเดตและการปรับปรุงอื่น ๆ อีกมากมายรอให้คุณสำรวจอยู่!

BCI - OSC Open Sound Control (OSC) เป็นโปรโตคอลการสื่อสารสากลที่ได้รับการปรับให้เหมาะกับเครือข่ายสมัยใหม่ เพื่อให้สามารถเชื่อมต่อระหว่างคอมพิวเตอร์และอุปกรณ์มัลติมีเดียอื่น ๆ ได้.


Emotiv’s BCI-OSC ช่วยให้ Emotiv Brainwear® และ Virtual Brainwear® สามารถเชื่อมต่อกับฮาร์ดแวร์และแอปพลิเคชันซอฟต์แวร์ที่รองรับ OSC ได้หลากหลายมากขึ้น OSC ช่วยให้คุณส่งคำสั่งทางความคิด การแสดงสีหน้า หรือค่าประสิทธิภาพไปยังอุปกรณ์ภายนอกที่เชื่อมต่อกับเครือข่ายได้ ตัวอย่างต่อไปนี้อธิบายขั้นตอนในการเชื่อมต่อ Emotiv’s BCI-OSC กับ Max MSP ซึ่งเป็นภาษาการเขียนโปรแกรมเชิงภาพสำหรับดนตรีและมัลติมีเดีย.


ขั้นตอนที่ 1: เปิด BCI

ขั้นตอนที่ 2: เลือกโปรไฟล์และเชื่อมต่อกับเฮดเซ็ต (เสมือนหรือจริง)

ขั้นตอนที่ 3: เปิดแท็บ BCI-OSC และตั้งค่า: โหมดการส่ง: Unicast ไปยัง Self IP: 127.0.0.1 พอร์ต: 8000 สตรีมข้อมูล: เลือกชุดที่คุณต้องการใช้

ขั้นตอนที่ 4: คลิก Start

ขั้นตอนที่ 5: เปิด Max MSP ไปที่ File > Package Manager และติดตั้ง CNMAT Externals

ขั้นตอนที่ 6: ไปที่ https://github.com/Emotiv/opensoundcontrol/tree/develop (ต้องได้รับสิทธิ์ในการเข้าถึง) และตรวจสอบตารางที่มี OSC Address Patterns (ดูภาพด้านล่าง)

ขั้นตอนที่ 7: สร้าง (ทำซ้ำ) โหนดด้านล่างและเปลี่ยน OSC-route ตาม OSC Pattern ที่คุณต้องการกำหนดเป้าหมาย (ในภาพตัวอย่างคือ การแสดงสีหน้า/ยิ้ม) - ตรวจสอบตารางในขั้นตอนก่อนหน้าสำหรับที่อยู่

ขั้นตอนที่ 8: เปิด Processing และไปที่ Sketch > Import Library… > Add Library , ค้นหาและติดตั้ง oscP5

ขั้นตอนที่ 9: เปิดไฟล์ใหม่หนึ่งไฟล์.

ขั้นตอนที่ 10: นำเข้า oscP5 ไปยังโค้ดและเริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000 ตัวอย่างโค้ด (คัดลอกและวางใน Processing):

import oscP5.; // รับ OSC ผ่าน oscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC

float importedValue = 0;
float radius;

void setup() {
size(1200,1000); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);
}

void draw() {
background (0); // ปรับค่าที่นำเข้าให้ขยายขึ้น
radius = importedValue * 1000; // แสดงวงกลมที่ตำแหน่งเวกเตอร์
stroke(255);
strokeWeight(2);
fill(255);
ellipse(500,500, radius, radius);
println(radius);
}

void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}

ขั้นตอนที่ 11: คลิกปุ่ม Play และดูกราฟิกเปลี่ยนไปตาม Smile importedValue เชื่อมโยงกับรัศมีของวงกลม

ขั้นตอนที่ 12: เปิดโค้ดตัวอย่างใดก็ได้ใน File > Examples…

ขั้นตอนที่ 13: เชื่อมโยง importedValue กับตัวแปร float ใดก็ได้จากไลบรารีใดก็ได้เพื่อทดลองใช้งาน อย่าลืมว่า:

นำเข้า oscP5:
import oscP5.; //OSC receiveOscP5
oscP5; // ค่านี้ถูกตั้งโดยตัวจัดการเหตุการณ์ OSC
r

เริ่มต้น importedValue (ก่อน void setup);
float importedValue = 0;

เริ่มต้น oscP5 (วางไว้ภายใน void setup); // เริ่มต้นอินสแตนซ์ที่รับฟังที่พอร์ต 12000
oscP5 = new OscP5(this,8500);


เชื่อมโยงเหตุการณ์กับตัวแปร importedValue (วางไว้หลัง void draw);
void oscEvent(OscMessage theOscMessage) {
float value = theOscMessage.get(0).floatValue(); importedValue = value;
}


Cortex 2.6.1 ใหม่ยังมีการอัปเดตและการปรับปรุงอื่น ๆ อีกมากมายรอให้คุณสำรวจอยู่!