Microsoft AI: MAI-Voice-2
MAI-Voice-2 ของ Microsoft AI สร้างเสียงหลายภาษาที่ถ่ายทอดอารมณ์สำหรับการบรรยาย บทสนทนา และแอปพลิเคชันเสียง ความสม่ำเสมอในเนื้อหายาว ผู้พูดหลายคน และการควบคุมอารมณ์ระดับรอบการพูด รองรับหนังสือเสียง บทเรียน และเสียงตัวละคร
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
MAI-Voice-2 เป็นโมเดลแปลงข้อความเป็นเสียงด้วยพรอมป์ต์ของ Microsoft AI สำหรับเนื้อหาพูดที่เป็นธรรมชาติและถ่ายทอดอารมณ์ ผู้ผลิตเน้นความเที่ยงตรงของเสียง ความสม่ำเสมอของผู้พูด และช่วงอารมณ์ งานตามเอกสารมีผู้ช่วย หนังสือเสียง พอดแคสต์ การบรรยาย ตัวละครเพื่อการศึกษา และเสียงบรรยายเพื่อการเข้าถึง ข้อความคำพูดจะกลายเป็นเสียงตามเสียงที่เลือก ส่วนรุ่นย่อย Voice-2-Flash มีขอบเขตของตัวเองสำหรับการโต้ตอบที่ให้การตอบสนองทันทีเป็นอันดับแรก
ภาษาและผู้พูด
ประกาศ Voice-2 ของ Microsoft อธิบายสิบห้าภาษา ได้แก่ อังกฤษ ฝรั่งเศส เยอรมัน อิตาลี สเปน โปรตุเกส ฮินดี เกาหลี จีนตัวย่อ ตุรกี รัสเซีย ไทย ดัตช์ โรมาเนีย และฮังการี บางภาษามีรูปแบบภูมิภาคแยกกัน ประกาศยังอธิบายการสลับฮินดีกับอังกฤษและสเปนกับอังกฤษ ทำให้ย่อหน้าผสมภาษาที่เหมาะสมรักษาวิธีสลับภาษาตามธรรมชาติของผู้พูดได้
เตรียมคำจริงที่จะพูดและรักษาภาษาที่ตั้งใจไว้ ย่อหน้าเพื่อการศึกษาสองภาษาอาจแนะนำศัพท์ด้วยภาษาหนึ่งและอธิบายด้วยอีกภาษา โดยคงชื่อและข้อความที่ยกมา ผลเสียงควรตรวจตามสำเนียงและผู้ฟังที่ชิ้นงานต้องการ ไม่ใช่ถือว่าทุกโลแคลใช้แทนกันได้
โมเดลการ์ดให้คลังเสียงที่คัดสรรและเส้นทางพรอมป์ต์เสียงอ้างอิงแยกต่างหาก เสียงอ้างอิงกำหนดตัวตนผู้พูดที่ต้องการโดยไม่ต้องปรับจูน Microsoft แนะนำการสนทนาธรรมชาติที่มีพลังปานกลาง เพราะเสียงบันทึกมีผลต่อจังหวะและวิธีถ่ายทอด ใช้เสียงบันทึกที่เป็นตัวแทนและได้รับความยินยอมเมื่องานต้องใช้เสียงกำหนดเอง
การบรรยายยาวและบทสนทนา
โมเดลการ์ดระบุการสร้างเนื้อหายาวด้วยการแบ่งชังก์และส่งต่อบริบท รองรับเสียงบรรยายที่เชื่อมกัน เช่น บทหนึ่งของหนังสือ บทเรียน หรือย่อหน้าพอดแคสต์ต่อเนื่อง แบ่งบทตรงขอบเขตส่วนที่มีความหมาย และรักษาคำศัพท์กับเสียงผู้พูดให้สม่ำเสมอ คำอธิบายยาวได้ประโยชน์จากประโยคเชื่อมที่บอกผู้ฟังว่าหัวข้อเปลี่ยนเมื่อใด
การรองรับผู้พูดหลายคนทำให้กำหนดบทบาทต่างกันในบทสนทนาที่เตรียมไว้ได้ กำหนดคำถามและคำตอบให้ผู้พูดที่ตั้งใจ และคงการกำหนดนั้นเมื่อบทบาทกลับมา อินพุตควรมีบทพูดที่เตรียมเสร็จแล้วและคำแนะนำการแสดงที่เกี่ยวข้อง ไม่ใช่คำขอปลายเปิดให้ตัวสังเคราะห์คิดบทสนทนาขึ้นเอง
โทนและการถ่ายทอดอารมณ์
Microsoft ระบุการควบคุมโทน วิธีถ่ายทอด และอารมณ์อย่างละเอียดระดับรอบการพูด ตัวอย่างในประกาศแสดงบทบาทพูดที่มีการแสดงออกและย่อหน้าสื่ออารมณ์ สำหรับเรื่องเล่า ให้กำหนดว่าประโยคไหนเป็นข้อเท็จจริง ครุ่นคิด หรือตื่นเต้น แล้วใช้วิธีถ่ายทอดตามความหมายนั้น ตัวอย่างคือ “ช่วงที่เงียบที่สุดของการทดลองกลับเป็นช่วงที่เผยให้เห็นมากที่สุด ที่ตรงนั้นเองที่รูปแบบเริ่มชัดเจน” ถ้อยคำทำให้การแสดงเปลี่ยนจุดเน้นอย่างมีเจตนา
สำหรับเสียงพากย์คำแนะนำ ให้การกระทำชัดเจนและแยกคำอธิบายเป็นอีกประโยค สำหรับบทสนทนา ให้แยกคำพูดของตัวละครจากบันทึกฉาก ฟังชื่อที่ใช้ซ้ำและจุดเปลี่ยนระหว่างย่อหน้าเพื่อให้ลำดับสุดท้ายต่อเนื่องกัน
ใช้งานเสียง
เอาต์พุตคือเสียงพูดที่สร้างใหม่จากข้อความที่ป้อน รูปแบบที่มีประโยชน์คือเสียงบรรยาย บทสนทนา หรือคำตอบแอปพลิเคชันที่เสียงกับวิธีถ่ายทอดตามบท เก็บข้อความ ผู้พูด และลำดับส่วนให้เชื่อมกับเสียงบันทึก เพื่อให้การแก้ไขเปลี่ยนย่อหน้าที่ต้องการได้โดยไม่เสียการแสดงส่วนอื่น
MAI-Voice-2 เน้นความเป็นธรรมชาติและการแสดงออกในประสบการณ์ฟังที่ยาว ความสามารถเนื้อหายาวไม่ได้กำหนดว่าอินพุตไม่มีขีดจำกัดหรือรับประกันเวลาบันทึกสูงสุด คำอธิบาย Voice-2 รุ่นนี้ต้องแยกจากรายการภาษาที่ขยายและการตั้งค่าเสียงของ Voice-2.1 รุ่นต่าง ๆ ที่มาภายหลัง
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech microsoft/mai-voice-2
microsoft/mai-voice-2เริ่มต้น
MAI-Voice-2 ของ Microsoft AI สร้างเสียงหลายภาษาที่ถ่ายทอดอารมณ์สำหรับการบรรยาย บทสนทนา และแอปพลิเคชันเสียง ความสม่ำเสมอในเนื้อหายาว ผู้พูดหลายคน และการควบคุมอารมณ์ระดับรอบการพูด รองรับหนังสือเสียง บทเรียน และเสียงตัวละคร
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- เสียง
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech
- ขาเข้า
text- ขาออก
audio- รูปแบบเอาต์พุต
- mp3
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด microsoft/mai-voice-2 | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 หน่วย: อักขระ Unicode | ค่าเริ่มต้น— |
ฟิลด์voice | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 | ค่าเริ่มต้น— |
ฟิลด์response_format | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด mp3 | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_speech · จำเป็น: input
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input, voice, response_format |
พารามิเตอร์voice_ids | ข้อกำหนดen-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 |
พารามิเตอร์response_format | ข้อกำหนดmp3 |
พารามิเตอร์max_input_characters | ข้อกำหนดnull |
พารามิเตอร์other_options | ข้อกำหนดfalse |
พารามิเตอร์input | ข้อกำหนดข้อความ UTF-8 ที่ตรงตามต้นฉบับ นับอักขระ Unicode โดยไม่ปรับรูปแบบมาตรฐาน |
พารามิเตอร์material_types | ข้อกำหนดtext |
วงจรการทำงาน: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
เลือกเสียงที่ตรงตามโปรไฟล์ของโมเดลนี้
อักขระขาเข้าและวินาทีเสียงเป็นหน่วยวัดคนละแบบ
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณที่ใช้คิดค่าบริการ | หน่วยคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณที่ใช้คิดค่าบริการ— | หน่วยคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต — / 1K โทเค็น ขาเข้า · การอ่านแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าUltra | ตารางอัตราค่าบริการ— | ปริมาณที่ใช้คิดค่าบริการนับแต่ละโค้ดพอยต์ Unicode เป็นหนึ่งอักขระ รวมถึงอักษรฮั่น | หน่วยคิดค่าบริการต่ออักขระอินพุต 1K ตัว | ค่าบริการ ขาเข้า · อักขระขาเข้า $0.044 ต่ออักขระอินพุต 1K ตัว |
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
Microsoft AI: MAI-Voice-2
ราคาตามการตั้งค่า
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าMicrosoft AI: MAI-Voice-2 · การตั้งค่าเริ่มต้น | เงื่อนไขคิดค่าบริการการตั้งค่าเริ่มต้น | ค่าบริการ ขาเข้า · อักขระอินพุต US$0.000044 ต่ออักขระอินพุต |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · การสังเคราะห์เสียงพูด
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "microsoft/mai-voice-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en-US-Harper:MAI-Voice-2", "es-MX-Valeria:MAI-Voice-2", "fr-FR-Soleil:MAI-Voice-2", "de-DE-Klaus:MAI-Voice-2"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
รับและบันทึกผลลัพธ์
Ailoot Ultra · การสังเคราะห์เสียงพูด
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
การอ่านเนื้อหาแบบอื่น
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน
เก็บผลลัพธ์ไบนารีและส่วนหัวให้ครบถ้วน หากได้รับ JSON/ผลลัพธ์หลายรายการ ให้เก็บข้อมูลทุกรายการและดึงไฟล์สื่อจาก URL แบบลงนามทุกรายการที่ได้รับจริง
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ operation_id/X-Client-Request-ID เดิมไว้เพื่อกระทบยอดโดยไม่ส่งคำขอซ้ำ ไม่มีเส้นทางเฉพาะสำหรับตรวจสอบสถานะงานเสียงเป็นระยะ
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์binary audio | ประเภทbytes |
ฟิลด์response headers | ประเภทheaders |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้อง | ขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่ |
การตอบกลับserver_error | เงื่อนไขการตอบกลับที่ได้รับระบุว่าต้องตรวจสอบการดำเนินการหรือผลลัพธ์ | ขั้นตอนถัดไปเก็บ ID การดำเนินการ/งานที่ส่งกลับมาแต่เดิม ส่วนหัวของคำขอ และการตอบกลับไว้ แล้วอ่านข้อมูลการดำเนินการเดิมนั้นต่อด้วยวิธีที่รองรับ ห้ามส่งคำขอสร้างซ้ำ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra microsoft/mai-voice-2
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Microsoft AI: MAI-Voice-2
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/audio/speech·microsoft/mai-voice-2:text→audio- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/audio/speech·microsoft/mai-voice-2:model,input,voice,response_format