
Mycroft Open Source Mimic Technologies เป็นเอ็นจิ้นข้อความเป็นคำพูดซึ่งใช้ข้อความที่เป็นลายลักษณ์อักษรและแปลงเป็นเสียงพูด รุ่นล่าสุดของเทคโนโลยีนี้ Mimic 2 ใช้เทคนิคการเรียนรู้ของเครื่องเพื่อสร้างโมเดลที่สามารถพูดภาษาที่เฉพาะเจาะจงได้เสียงเหมือนเสียงที่ได้รับการฝึกฝน
สตูดิโอบันทึกเลียนแบบทำให้การรวบรวมข้อมูลการฝึกอบรมจากบุคคลนั้นง่ายขึ้นซึ่งแต่ละอันสามารถใช้ในการสร้างเสียงที่แตกต่างกันสำหรับการเลียนแบบ
git clone https://github.com/MycroftAI/mimic-recording-studio.gitcd mimic-recording-studiostart-windows.batทำไมต้อง Docker? เพื่อให้การติดตั้งนี้ง่ายสุด ๆ และเรียกใช้แพลตฟอร์มข้าม
git clone https://github.com/MycroftAI/mimic-recording-studio.git
cd mimic-recording-studio
docker-compose up เพื่อสร้างและเรียกใช้ ( หมายเหตุ: คุณอาจต้องใช้ sudo docker-compose up ขึ้นอยู่กับการกระจายของคุณ )
หรือคุณสามารถสร้างและเรียกใช้แยกต่างหาก docker-compose build docker-compose up แล้ว
ในเบราว์เซอร์ของคุณไปที่ http://localhost:3000
หมายเหตุ: การดำเนินการครั้งแรกของ docker-compose up จะใช้เวลาสักครู่เนื่องจากคำสั่งนี้จะสร้างคอนเทนเนอร์ Docker การประหารชีวิตที่ตามมาของ docker-compose up ควรจะเร็วกว่าในการบูต
cd backend/pip install -r requirements.txtpython run.py cd frontend/npm install หรือ yarn installnpm start หรือ yarn startออนไลน์, http://mimic.mycroft.ai เวอร์ชันโฮสต์ที่ต้องการการตั้งค่าเป็นศูนย์
เสียงถูกบันทึกเป็นไฟล์ WAV ไปยัง backend/audio_file/{uuid}/ ไดเรกทอรี แบ็กเอนด์จะปิดกั้นความเงียบเริ่มต้นและสิ้นสุดโดยอัตโนมัติสำหรับไฟล์ WAV ทั้งหมดโดยใช้ FFMPEG
ข้อมูลเมตายังถูกบันทึกไว้ใน backend/audio_file/{uuid}/ ไฟล์นี้แมปชื่อไฟล์ WAV กับวลีที่พูด สิ่งนี้พร้อมกับไฟล์ WAV เป็นสิ่งที่คุณต้องการเพื่อเริ่มต้นการฝึกอบรม Mimic 2
สำหรับตอนนี้เรามีคลังภาษาอังกฤษ, english_corpus.csv มีให้บริการซึ่งสามารถพบได้ใน backend/prompt/ เพื่อใช้คลังข้อมูลของคุณเองทำตามขั้นตอนเหล่านี้
english_corpus.csv โดยใช้แท็บ ( t ) เป็นตัวคั่นbackend/promptCORPUS ใน docker-compose.yml เป็นชื่อคลังข้อมูลของคุณ หากคุณต้องการพัฒนาคลังข้อมูลในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษคุณสามารถใช้สตูดิโอบันทึกเสียงเลียนแบบเพื่อสร้างการบันทึกเสียงสำหรับเสียง TTS ในภาษาเพิ่มเติม หากคุณกำลังสร้างคลังข้อมูลในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษเราขอแนะนำให้คุณเลือกวลีที่:
สำคัญ: สำหรับตอนนี้คุณต้องรีเซ็ตฐานข้อมูล sqlite เพื่อใช้คลังข้อมูลใหม่ หากคุณบันทึกไว้ในคลังข้อมูลอื่นและต้องการบันทึกข้อมูลนั้นคุณสามารถเปลี่ยนชื่อ sqlite DB ของคุณที่พบใน backend/db/ เป็นชื่ออื่น แบ็กเอนด์จะตรวจพบว่า mimicstudio.db ไม่ได้อยู่ที่นั่นและสร้างใหม่ให้คุณ คุณสามารถบันทึกข้อมูลสำหรับคลังข้อมูลใหม่ของคุณต่อไป
Web UI ถูกสร้างขึ้นโดยใช้ JavaScript และตอบสนองและสร้าง-react-App เป็นเครื่องมือนั่งร้าน อ้างถึง CRA.MD เพื่อหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ Create-React-App
บริการเว็บถูกสร้างขึ้นโดยใช้ Python, Flask เป็นกรอบแบ็คเอนด์, Gunicorn เป็น HTTP Webserver และ SQLite เป็นฐานข้อมูล
Docker ใช้เพื่อบรรจุแอปพลิเคชันทั้งสอง โดยค่าเริ่มต้นส่วนหน้าใช้พอร์ตเครือข่าย 3000 ในขณะที่แบ็กเอนด์ใช้พอร์ตเครือข่าย 5000 คุณสามารถกำหนดค่าสิ่งเหล่านี้ในไฟล์ docker-compose.yml
หมายเหตุ: หากคุณใช้งานด้านการเรียนรู้ docker-registry สิ่งนี้จะทำงานตามค่าเริ่มต้นบนพอร์ต 5000 ดังนั้นคุณจะต้องเปลี่ยนพอร์ตที่คุณใช้
การสร้างเสียงต้องใช้ความพยายาม แต่มีความพยายามอย่างมาก บุคคลจะต้องบันทึกวลี 15,000 - 20,000 วลี เพื่อให้ได้เสียงเลียนแบบที่ดีที่สุดเท่าที่จะเป็นไปได้การบันทึกจะต้องสะอาดและสม่ำเสมอ ด้วยเหตุนี้ให้ทำตามคำแนะนำเหล่านี้:
MIMIC-recording-Studio เขียนการบันทึกทั้งหมดในไฟล์ฐานข้อมูล SQLite ที่อยู่ภายใต้/backend/dB/ สามารถเปิดได้ด้วยเครื่องมือฐานข้อมูลเช่น DBeaver
ฐานข้อมูลมีสองตาราง

การบันทึกทั้งหมดยังคงมีอยู่ในตารางนี้ด้วย
ฐานข้อมูลสามารถใช้ในการสืบค้นการบันทึกของคุณ
นี่คือตัวอย่างการสืบค้น:
-- List all recordings
SELECT * FROM audiomodel;
-- Lists recordings from january 2020 order by phrase
SELECT * FROM audiomodel WHERE created_date BETWEEN ' 2020-01-01 ' AND ' 2020-01-31 ' ORDER BY prompt;
-- Lists number of recordings per day
SELECT DATE (created_date), COUNT ( * ) AS RecordingsPerDay
FROM audiomodel
GROUP BY DATE (created_date )
ORDER BY DATE (created_date)
-- Shows average text length of recordings
SELECT AVG (LENGTH(prompt)) AS avgLength FROM audiomodelมีหลายวิธีที่การสืบค้นฐานข้อมูล SQLite อาจมีประโยชน์ ตัวอย่างเช่นการค้นหาการบันทึกในช่วงเวลาที่กำหนดอาจช่วยลบการบันทึกที่เกิดขึ้นในสภาพแวดล้อมที่ไม่ดี
Mimic-recording-studio สามารถใช้งานได้โดยลำโพงมากกว่าหนึ่งลำโดยใช้ไฟล์ฐานข้อมูล SQLite เดียวกัน
ตารางนี้ให้ข้อมูลต่อไปนี้ต่อลำโพง:
ค่าเหล่านี้ใช้ในการคำนวณตัวชี้วัด ตัวอย่างเช่นจังหวะการพูดอาจแสดงว่าวลีที่บันทึกเร็วเกินไปหรือช้าเมื่อเทียบกับการบันทึกก่อนหน้านี้
ตารางสอบถาม "USERMODEL" เพื่อรับรายชื่อลำโพงรวมถึง UUID และสถิติการบันทึกบางส่วน
SELECT user_name AS [name], uuid FROM usermodel;
เบราว์เซอร์ที่ใช้ในการบันทึกวลีของคุณยังคงมีผู้ใช้ uuid และ name ใน localstorage เพื่อให้มันซิงโครนัสกับ sqlite และระบบไฟล์
หากมีปัญหาเกิดขึ้นและเบราว์เซอร์ของคุณจะสูญเสีย/เปลี่ยนแปลงการทำแผนที่ UUID สำหรับการเลียนแบบสตูดิโอบันทึกการบันทึกคุณอาจมีปัญหาในการดำเนินการบันทึกก่อนหน้านี้ต่อไป จากนั้นอัปเดตแอตทริบิวต์สองรายการต่อไปนี้ใน LocalStorage ของเบราว์เซอร์ของคุณ:
เปิดสตูดิโอบันทึกการล้อเลียนในเบราว์เซอร์ของคุณข้ามไปยังตัวเลือกผู้พัฒนาเว็บตัวเลือกการจัดเก็บข้อมูลท้องถิ่นและตั้งชื่อและ UUID เป็นค่าดั้งเดิม

หลังจากนั้นคุณควรจะสามารถสานต่อเซสชันการบันทึกก่อนหน้านี้ได้โดยไม่มีปัญหาเพิ่มเติม
เรายินดีต้อนรับการบริจาคเสียงของคุณไปยัง MyCroft เพื่อใช้ในแอปพลิเคชันข้อความเป็นคำพูด หากคุณต้องการให้การบันทึกเสียงของคุณคุณ ต้อง อนุญาตให้เราภายใต้ใบอนุญาต Creative Commons CC0 Public Domain เพื่อให้เราสามารถใช้มันในเสียง TTS - ซึ่งเป็นงานอนุพันธ์ หากคุณพร้อมที่จะบริจาคการบันทึกเสียงของคุณส่งอีเมลถึงเราที่ [email protected]
PR ได้รับการยอมรับอย่างยินดี!
คุณสามารถขอความช่วยเหลือและสนับสนุนด้วยสตูดิโอบันทึกเลียนแบบได้ที่;