Sema คือสนามเด็กเล่นที่คุณสามารถสร้างต้นแบบภาษาเล็กๆ สำหรับการเขียนโค้ดสดสำหรับการสังเคราะห์สัญญาณ การเรียนรู้ของเครื่อง และการฟังของเครื่องได้อย่างรวดเร็ว
Sema มุ่งหวังที่จะจัดเตรียมสภาพแวดล้อมออนไลน์แบบบูรณาการสำหรับการออกแบบทั้งภาษาระดับสูงที่เป็นนามธรรมและภาษาระดับต่ำที่มีประสิทธิภาพยิ่งขึ้น
Sema ใช้ชุดหลักการออกแบบหลัก:
เอ็นจิ้นสัญญาณแบบรวม – ในแง่ของภาษาและการรวมเอ็นจิ้นสัญญาณ ไม่มีการแบ่งแยกแนวความคิด ทุกอย่างคือสัญญาณ อย่างไรก็ตาม เพื่อประโยชน์ของโมดูลาร์ การนำกลับมาใช้ใหม่ได้ และสถาปัตยกรรมเสียง กลไกสัญญาณของ sema ถูกนำมาใช้โดยไลบรารี sema-engine
การประมวลผลสัญญาณตัวอย่างเดี่ยว – การประมวลผลเสียงต่อตัวอย่างสำหรับเทคนิคสนับสนุนที่ใช้ฟีดแบ็คลูป เช่น การสร้างแบบจำลองทางกายภาพ เสียงก้อง และการกรอง IIR
การถ่ายโอนอัตราตัวอย่าง - การประมวลผลสัญญาณด้วยอัตราตัวอย่างหลักอัตราเดียวจะง่ายกว่า ซึ่งก็คืออัตราเสียง ข้อกำหนดด้านอัตราการสุ่มตัวอย่างที่แตกต่างกันของวัตถุที่ต้องพึ่งพาสามารถแก้ไขได้โดยการอัปแซมปลิงและดาวน์แซมปลิงโดยใช้ทรานสดิวเซอร์ แนวคิดของทรานสดิวเซอร์ช่วยให้เราสามารถรองรับกระบวนการที่หลากหลายด้วยอัตราตัวอย่างที่แตกต่างกัน (วิดีโอ อัตราสเปกตรัม เซ็นเซอร์ การอนุมานโมเดล ML) ภายในกลไกเดียว
นามธรรมน้อยที่สุด – ไม่มีนามธรรมระดับสูง เช่น บัส ซินธ์ โหนด เซิร์ฟเวอร์ หรือระบบสนับสนุนภาษาใดๆ ในเครื่องมือสัญญาณของเรา นามธรรมดังกล่าวอยู่ภายในพื้นที่การออกแบบภาษาของผู้ใช้ปลายทาง
Sema จำเป็นต้องติดตั้งการพึ่งพาต่อไปนี้:
เพื่อที่จะรัน Sema จะต้องเชื่อมต่อ กับ URL ของโปรเจ็กต์และคีย์ API ไปยัง แบ็กเอนด์ Supabase
หากคุณตัดสินใจที่จะใช้ npm
เพื่อสร้าง sema คุณสามารถปฏิบัติตามรายการคำสั่งนี้ได้:
$ cd sema
$ npm install
$ npm run build
$ npm run dev
หากคุณตัดสินใจที่จะใช้ Yarn package manager แทน คุณสามารถใช้รายการคำสั่งต่อไปนี้:
วิธีใช้เส้นด้าย:
$ cd sema
$ yarn
$ yarn build
$ yarn dev
เมื่อคุณมี sema ทำงานเป็นแอปพลิเคชันโหนด คุณสามารถโหลดบนเบราว์เซอร์ของคุณบนพอร์ตต่อไปนี้
การเร่งด้วยฮาร์ดแวร์จะมีผลอย่างมากต่อความเร็วการฝึกโมเดล Tensorflow.js
หากต้องการเปิดใช้งานใน Chrome:
วิธีเปิดใช้งานใน Firefox:
about:preferences
Sema ใช้ Web Audio API Audio Worklets ประสิทธิภาพของพวกเขาดูเหมือนจะไวต่อการปรับกำลังของ CPU มาก หากคุณประสบปัญหาด้านคุณภาพเสียง ให้ลองตั้งค่า CPU Governor ให้เป็นโหมด ประสิทธิภาพ เช่นบน Ubuntu
$ cpupower frequency-set --governor performance
เอกสารภายใน ของ Sema มีวัตถุประสงค์เพื่อสนับสนุนประสบการณ์การเรียนรู้ของผู้ใช้ มีการบูรณาการภายในแอปพลิเคชันและประกอบด้วยส่วนต่างๆ ดังต่อไปนี้:
เริ่มต้นใช้งาน
สนามเด็กเล่น
การเข้ารหัสสด
การเรียนรู้ของเครื่อง
การสร้างภาษา
เอกสาร Wiki ของ Sema มีวัตถุประสงค์เพื่อสนับสนุนการมีส่วนร่วม มุ่งเน้นไปที่การออกแบบและสร้าง Sema:
สถาปัตยกรรมของเสมาเป็นอย่างไร?
Sema ใช้งานและใช้บริการเว็บอย่างไร
จะติดตั้ง Sema บนเว็บเซิร์ฟเวอร์ของตัวเองได้อย่างไร?
ฉันจะเพิ่มไลบรารี ML ใหม่ลงใน Sema ได้อย่างไร
ฉันจะสร้างและเพิ่มวิดเจ็ตใหม่ให้กับ Sema ได้อย่างไร
ฉันจะเพิ่มเอกสารของตัวเองใน Sema ได้อย่างไร
ร้าน Svelte ในเสมาทำงานอย่างไร?
Sema เป็นโครงการโอเพ่นซอร์ส และหวังว่าวิสัยทัศน์ เป้าหมาย และโครงสร้างที่ซ่อนอยู่จะกระตุ้นให้คุณมีส่วนร่วม ตรวจสอบสิ่งต่อไปนี้:
ฉันจะบริจาคเงินให้กับ Sema ได้อย่างไร?
การมีส่วนร่วม.md
เตรียมพร้อมสำหรับการพัฒนา
การดีบักเสมา
คู่มือการออกแบบ
เบอร์นาร์โด, เอฟ., คีเฟอร์, ซี., แมกนัสสัน, ที. (2021) การประเมินการสนับสนุนสำหรับความคิดสร้างสรรค์ของสนามเด็กเล่นสำหรับการเรียนรู้ของเครื่องเข้ารหัสแบบสด ใน: Baalsrud Hauge J., CS Cardoso J., Roque L., Gonzalez-Calero PA (eds) Entertainment Computing – ICEC 2021 ICEC 2021. Lecture Notes in Computer วิทยาศาสตร์ เล่ม 13056. สปริงเกอร์, จาม. https://doi.org/10.1007/978-3-030-89394-1_38
เบอร์นาร์โด, เอฟ., คีเฟอร์, ซี., แมกนัสสัน, ที. (2020) เครื่องมือสัญญาณสำหรับระบบนิเวศภาษาการเข้ารหัสแบบสด, J. Audio Eng สค. ฉบับ. 68 ไม่ใช่ 10, หน้า 756-766. ดอย: https://doi.org/10.17743/jaes.2020.0016
เบอร์นาร์โด, เอฟ., คีเฟอร์, ซี., แมกนัสสัน, ที. (2020) การออกแบบสำหรับระบบนิเวศภาษา Live Code แบบพหุนิยมและใช้งานง่ายด้วย Sema การประชุมนานาชาติเรื่อง Live Coding ครั้งที่ 5 ณ มหาวิทยาลัย Limerick เมือง Limerick ประเทศไอร์แลนด์
เบอร์นาร์โด, เอฟ., คีเฟอร์, ซี., แมกนัสสัน, ที. (2019) เครื่องส่งสัญญาณที่ใช้ AudioWorklet สำหรับระบบนิเวศภาษาการเข้ารหัสแบบสด ในการดำเนินการของ Web Audio Conference 2019, Norwegian University of Science and Technology (NTNU), Trondheim, นอร์เวย์ (Best Paper Award จาก Web Audio Conference 2019)