Bark Web UI
แอปพลิเคชั่นนี้เป็นเว็บ UI ที่ใช้ขวดหลามที่ออกแบบมาเพื่ออำนวยความสะดวกในการสร้างข้อความเป็นคำพูดโดยใช้เปลือกไม้ของ Suno AI มันมีตัวเลือกการปรับแต่งที่หลากหลายรวมถึงความสามารถในการปรับเปลี่ยนระดับเสียงความเร็วและพารามิเตอร์อื่น ๆ
ภาพหน้าจอ
การติดตั้ง
- ติดตั้งเปลือกไม้โดยทำตามคำแนะนำจากที่เก็บเปลือกไม้ 1a. หากคุณยังไม่ได้เรียกใช้เปลือกไม้ก่อนที่คุณจะต้องดาวน์โหลดโมเดลการรันการทดสอบจะดาวน์โหลดและแคชรุ่นที่ต้องการ (โมเดลโน้ตแตกต่างกันไปตามขนาดรวมถึงขนาดมากกว่า 5GB)
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- เมื่อเปลือกไม้ใช้โคลน repo นี้ลงในไดเรกทอรีที่เรียกว่า
webui ภายในตำแหน่งการติดตั้ง bark
cd bark
git clone https://github.com/bradsec/barkwebui webui
- ติดตั้งแพ็คเกจ Python เพิ่มเติมใด ๆ ที่กล่าวถึงในไฟล์ข้อกำหนด. txt เพื่อตอบสนองการนำเข้าที่จำเป็นใน
app.py และ bark_connector.py จะมีการนำเข้าที่ใช้ร่วมกันโดยกระบวนการตั้งค่าเปลือกไม้แล้ว หากมีก่อนการติดตั้งการนำเข้าจะเปิดใช้งานสภาพแวดล้อม Python Venv หรือ Conda/Miniconda ที่คุณใช้สำหรับเปลือกไม้ - เรียกใช้
python barkwebui_server.py จากภายในโฟลเดอร์ webui เพื่อเริ่มแอปพลิเคชันเว็บเซิร์ฟเวอร์ Flask และควรแสดงผลที่คล้ายกัน:
* Serving Flask app 'barkwebui_server'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
- เข้าถึงเว็บแอปพลิเคชันผ่านที่อยู่เบราว์เซอร์ดังที่แสดงในหน้าต่างเทอร์มินัล
โครงสร้าง
barkwebui_server.py ให้ฟังก์ชันการทำงานของเว็บเซิร์ฟเวอร์ Flask ได้รับและส่งคืนข้อมูลจากเว็บอินเตอร์เฟสและส่งผ่านไปยัง barkwebui_connector.py ยังจัดการการเขียนและการลบจากรายการจาก JSON Tateset
barkwebui_connector.py แบ่งอินพุตข้อความก่อนส่งข้อความไปยังแอปพลิเคชัน BARK นอกจากนี้ยังใช้เอฟเฟกต์เสียงใด ๆ ที่เลือกเช่นการเปลี่ยนแปลงความเร็วระดับเสียงการลดเสียงรบกวนและการลบความเงียบหากเลือก จากนั้นจะเขียน .wav ด้วยชื่อไฟล์ที่ไม่ซ้ำกันไปยังไดเรกทอรี static/output
templates/index.html ไฟล์ HTML เท่านั้นที่ใช้สำหรับแอพ มันจะอ้างอิงไฟล์อื่น ๆ เช่น CSS และ JavaScript จากไดเรกทอรี static
static/js - ไดเรกทอรีนี้มีสอง JavaScript สำหรับหน้าแม่แบบ index.html
-
barkwebui.js ให้ฟังก์ชันการทำงานส่วนใหญ่และลิงก์ระหว่าง app.py โดยใช้ socket.io -
populate.js เติมตัวเลือกการเลือกแบบเลื่อนลงใน index.html -
theme.js สำหรับการสลับธีมมืดและแสง
static/output มีไฟล์เสียง WAV ที่เสร็จสมบูรณ์
static/json มี barkwebui.json ซึ่งมีข้อมูลเกี่ยวกับไฟล์เสียงที่สร้างขึ้น
อุณหภูมิข้อความ
พารามิเตอร์นี้มีผลต่อวิธีที่โมเดลสร้างคำพูดจากข้อความ ค่าอุณหภูมิข้อความที่สูงขึ้นทำให้เอาต์พุตของโมเดลสุ่มมากขึ้นในขณะที่ค่าอุณหภูมิข้อความที่ต่ำกว่าทำให้เอาต์พุตของโมเดลกำหนดขึ้นได้มากขึ้น กล่าวอีกนัยหนึ่งด้วยอุณหภูมิข้อความสูงโมเดลมีแนวโน้มที่จะสร้างคำพูดที่ผิดปกติหรือไม่คาดคิดจากข้อความที่กำหนด ในทางกลับกันด้วยอุณหภูมิข้อความต่ำโมเดลมีแนวโน้มที่จะยึดติดกับเอาต์พุตที่น่าจะเป็นไปได้มากที่สุด อุณหภูมิคลื่น
พารามิเตอร์นี้มีผลต่อวิธีการสร้างรูปแบบคลื่นเสียงสุดท้าย ค่าอุณหภูมิของรูปคลื่นที่สูงขึ้นจะแนะนำการสุ่มมากขึ้นในเอาต์พุตเสียงซึ่งอาจส่งผลให้เสียงหรือการปรับเสียงผิดปกติมากขึ้น ในทางกลับกันอุณหภูมิของรูปคลื่นที่ต่ำกว่าทำให้เสียงที่สามารถคาดการณ์ได้และสอดคล้องกันมากขึ้น ลดการลดเสียงรบกวน / เสียงรบกวน (NR)
ลดเสียงรบกวนจากพื้นหลัง (ไม่ดีเท่ากับเครื่องทำความสะอาด AI ที่เพิ่มขึ้นและมักจะบอกผลกระทบต่อเสียงเนื่องจากการสุ่มของการพูดที่สร้างเปลือกแต่ละชิ้นแม้จะมีการตั้งค่าเดียวกัน แต่ก็ไม่สามารถลบเสียงสะท้อนหรือภาพหลอน AI) รหัสอ้างอิง (bark_connector.py): หากค่าของ 'down_noise' เป็นจริงมันจะกระตุ้นการลดเสียงรบกวนบนเสียงที่สร้างขึ้นโดยใช้ไลบรารี Noisereuce Rood_Noise ใช้ข้อมูลเสียงและอัตราตัวอย่างเป็นพารามิเตอร์และส่งคืนเสียงด้วยเสียงลดลง หากลด _Noise เป็นเท็จจะไม่มีการลดเสียงรบกวนและใช้เสียงดั้งเดิม ลบความเงียบ (RS)
ลบการหยุดชั่วคราวหรือความเงียบที่ขยายออกไป (อาจไม่ได้ทำอะไรมากสำหรับสถานการณ์เมื่อเสียงที่สร้างขึ้นมีการหยุดชั่วคราวด้วยเหตุผลที่ไม่ทราบสาเหตุ) รหัสอ้างอิง (bark_connector.py): หากค่าของ 'remove_silence' เป็นจริงมันจะเปิดใช้งานการกำจัดความเงียบก้าวร้าวโดยการตั้งค่า VAD (การตรวจจับกิจกรรมเสียง) เป็นระดับ 3 ไลบรารี WebRTCVAD ใช้สำหรับการตรวจจับกิจกรรมเสียง หาก remove_silence เป็นเท็จระดับ VAD จะถูกตั้งค่าเป็น 0 ซึ่งหมายความว่าไม่มีการใช้การกำจัดความเงียบ อัตราตัวอย่างจะต้องลดลงเหลือ 16000 จาก 24000 เพื่อให้ทำงานกับห้องสมุด WebRTCVAD ปรับความเร็วและระดับเสียง
การเปลี่ยนแปลงความเร็วและระดับเสียงอาจทำให้เกิดเสียงสะท้อนและเสียงสะท้อนในปริมาณที่เป็นไปได้ การรันเสียงผ่านเครื่องมือเสียง AI ของบุคคลที่สามอาจช่วยลบเสียงสะท้อนหรือเสียงสะท้อน ห้องสมุดที่เรียกว่า Librosa ใช้สำหรับจัดการความเร็วและระดับเสียง ความเร็วของเสียงถูกปรับโดยใช้ฟังก์ชั่น `librosa.effects.time_stretch` ซึ่งยืดหรือบีบอัดเสียงด้วยปัจจัยหนึ่ง หากพารามิเตอร์ความเร็วผ่านไปยังฟังก์ชั่น `generate_voice` ไม่ใช่ 1.0 (เช่นความเร็วของเสียงจะต้องเปลี่ยน) เสียงจะถูกยืดเวลาตามอัตราที่กำหนด ตัวอย่างเช่นหากความเร็วคือ 2 ระยะเวลาของเสียงจะลดลงครึ่งหนึ่งทำให้มันเล่นได้เร็วสองครั้ง ระดับเสียงของเสียงถูกปรับโดยใช้ฟังก์ชัน `librosa.effects.pitch_shift` ฟังก์ชั่นนี้เปลี่ยนระยะห่างของเสียงด้วยครึ่งขั้นตอนที่แน่นอน หากพารามิเตอร์ระดับเสียงส่งผ่านไปยังฟังก์ชั่น `generate_voice` ไม่ใช่ 0 (เช่นระยะห่างของเสียงจะต้องเปลี่ยน) ระดับเสียงของเสียงจะถูกเลื่อนตามจำนวนครึ่งขั้นตอนที่กำหนด ตัวอย่างเช่นหากสนามคือ 2 ระดับเสียงของเสียงจะเพิ่มขึ้น 2 ครึ่งขั้นตอน ผลลัพธ์การพูดและเสียงที่ชัดเจนยิ่งขึ้น
คุณจะได้รับคำพูดที่สะอาดและผลลัพธ์ที่ดีกว่าเพียงแค่สร้างโดยไม่ต้องตรวจสอบ NR หรือ RS และทำงานผ่านเครื่องมือที่เพิ่มขึ้น AI เช่น Adobe Podcast Enhance หรือเครื่องมืออื่น ๆ ที่คล้ายกัน