ดัชนี
EmbeddedAssistant
(อินเทอร์เฟซ)AudioInConfig
(ข้อความ)AudioInConfig.Encoding
(enum)AudioOut
(ข้อความ)AudioOutConfig
(ข้อความ)AudioOutConfig.Encoding
(enum)ConverseConfig
(ข้อความ)ConverseRequest
(ข้อความ)ConverseResponse
(ข้อความ)ConverseResponse.EventType
(enum)ConverseResult
(ข้อความ)ConverseResult.MicrophoneMode
(enum)ConverseState
(ข้อความ)
EmbeddedAssistant
บริการที่ใช้งาน Google Assistant API
Converse | |
---|---|
เริ่มหรือสนทนาต่อด้วยบริการผู้ช่วยที่ฝังไว้ การโทรแต่ละครั้งจะดำเนินการไป-กลับ 1 รอบ โดยจะส่งคำขอแบบเสียงไปยังบริการและรับสายตอบกลับ ใช้การสตรีมแบบ 2 ทิศทางเพื่อรับผลลัพธ์ เช่น เหตุการณ์ การสนทนาคือการเชื่อมต่อ gRPC อย่างน้อย 1 รายการ โดยแต่ละรายการประกอบด้วยคำขอและการตอบกลับที่สตรีมหลายรายการ ตัวอย่างเช่น ผู้ใช้พูดว่าเพิ่มลงในรายการช็อปปิ้งของฉัน และ Assistant ตอบกลับว่าคุณต้องการเพิ่มอะไร ลำดับของคำขอและการตอบกลับที่สตรีมในข้อความ gRPC แรกอาจเป็นดังนี้
จากนั้นผู้ใช้พูดว่าเบเกิล และผู้ช่วยตอบว่าโอเค ฉันเพิ่มเบเกิลลงในรายการช็อปปิ้งแล้ว ระบบจะส่งข้อมูลนี้เป็นการเรียกใช้การเชื่อมต่อ gRPC ไปยังเมธอด
แม้ว่าจะไม่มีการรับประกันการเรียงลำดับคำตอบที่แน่นอน แต่ข้อความ ConverseResponse.audio_out ที่เรียงตามลำดับจะมีเสียงในส่วนต่างๆ ตามลำดับเสมอ
|
AudioInConfig
ระบุวิธีประมวลผลข้อมูล audio_in
ที่จะมีการระบุในคำขอที่ตามมา โปรดดูการตั้งค่าที่แนะนำในแนวทางปฏิบัติแนะนำเกี่ยวกับ gRPC API ของ Google Assistant
ช่อง | |
---|---|
encoding |
จำเป็น การเข้ารหัสข้อมูลเสียงที่ส่งในข้อความ |
sample_rate_hertz |
จำเป็น อัตราการสุ่มตัวอย่าง (หน่วยเป็นเฮิรตซ์) ของข้อมูลเสียงที่ส่งในข้อความ |
การเข้ารหัส
การเข้ารหัสเสียงของข้อมูลที่ส่งในข้อความเสียง เสียงต้องเป็นแบบช่องเดียว (โมโน) ภาษาที่รองรับคือ "en-US"
Enum | |
---|---|
ENCODING_UNSPECIFIED |
ไม่ได้ระบุ จะให้ผลลัพธ์เป็น google.rpc.Code.INVALID_ARGUMENT |
LINEAR16 |
ตัวอย่าง Endian แบบมีเครื่องหมาย 16 บิตที่ไม่มีการบีบอัด (PCM เชิงเส้น) การเข้ารหัสนี้จะไม่มีส่วนหัว แต่ระบุเฉพาะไบต์ของเสียงแบบ RAW เท่านั้น |
FLAC |
FLAC (ตัวแปลงสัญญาณเสียงแบบ Free Lossless) คือการเข้ารหัสที่แนะนำเนื่องจากเป็นแบบไม่สูญเสียรายละเอียด การจดจำจึงจะไม่ได้รับผลกระทบ และใช้แบนด์วิดท์ประมาณครึ่งหนึ่งของ LINEAR16 เท่านั้น การเข้ารหัสนี้รวมถึงส่วนหัวของสตรีม FLAC ตามด้วยข้อมูลเสียง โดยจะรองรับตัวอย่าง 16 บิตและ 24 บิต แต่ก็ไม่รองรับบางฟิลด์ใน STREAMINFO |
AudioOut
เสียงที่มีคําตอบของ Assistant สําหรับคําถาม ได้รับข้อความ "ConverseResponse
" ที่เรียงกันตามลำดับของข้อมูลเสียง
ช่อง | |
---|---|
audio_data |
Export-only ข้อมูลเสียงที่มีคําตอบของ Assistant ต่อคําถาม ได้รับข้อความ " |
AudioOutConfig
ระบุรูปแบบที่ต้องการให้เซิร์ฟเวอร์ใช้เมื่อแสดงผลข้อความ audio_out
ช่อง | |
---|---|
encoding |
จำเป็น การเข้ารหัสข้อมูลเสียงที่จะแสดงในข้อความ |
sample_rate_hertz |
จำเป็น อัตราตัวอย่างเป็นเฮิรตซ์ของข้อมูลเสียงที่แสดงใน |
volume_percentage |
จำเป็น การตั้งค่าระดับเสียงปัจจุบันของเอาต์พุตเสียงของอุปกรณ์ ค่าที่ใช้ได้คือ 1 ถึง 100 (ตรงกับ 1% ถึง 100%) |
การเข้ารหัส
การเข้ารหัสเสียงของข้อมูลที่แสดงในข้อความเสียง การเข้ารหัสทั้งหมดเป็นไบต์เสียงดิบที่ไม่มีส่วนหัว ยกเว้นตามที่ระบุไว้ด้านล่าง
Enum | |
---|---|
ENCODING_UNSPECIFIED |
ไม่ได้ระบุ จะให้ผลลัพธ์เป็น google.rpc.Code.INVALID_ARGUMENT |
LINEAR16 |
ตัวอย่าง Endian แบบมีเครื่องหมาย 16 บิตที่ไม่มีการบีบอัด (PCM เชิงเส้น) |
MP3 |
การเข้ารหัสเสียง MP3 ระบบจะเข้ารหัสอัตราการสุ่มตัวอย่างในเพย์โหลด |
OPUS_IN_OGG |
ระบบเสียงที่เข้ารหัส Opus ในที่เก็บ Ogg ผลที่ได้ที่ได้ก็จะเป็นไฟล์ที่สามารถเล่นได้ในเครื่อง Android และในบางเบราว์เซอร์ (เช่น Chrome) การเข้ารหัสมีคุณภาพสูงกว่า MP3 เป็นอย่างมากในขณะที่ใช้อัตราบิตเดียวกัน ระบบจะเข้ารหัสอัตราการสุ่มตัวอย่างในเพย์โหลด |
ConverseConfig
ระบุวิธีประมวลผลข้อความ ConverseRequest
ช่อง | |
---|---|
audio_in_config |
ต้องระบุ ระบุวิธีประมวลผลเสียงขาเข้าที่ตามมา |
audio_out_config |
ต้องระบุ ระบุวิธีจัดรูปแบบเสียงที่จะแสดง |
converse_state |
ต้องระบุ แสดงสถานะปัจจุบันของกล่องโต้ตอบ |
ConverseRequest
ข้อความระดับบนสุดที่ลูกค้าส่ง โดยไคลเอ็นต์จะต้องส่งข้อความอย่างน้อย 2 ข้อความ ซึ่งโดยทั่วไปจะConverseRequest
เป็นจำนวนมาก ข้อความแรกต้องมีข้อความ config
และต้องไม่มีข้อมูล audio_in
ข้อความที่ตามมาทั้งหมดต้องมีข้อมูล audio_in
และต้องไม่มีข้อความ config
ช่อง | ||
---|---|---|
ฟิลด์การรวม converse_request ต้องระบุ 1 ช่องเหล่านี้ในแต่ละ ConverseRequest converse_request ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
config |
ข้อความ |
|
audio_in |
ข้อมูลเสียงที่จะจดจำ ระบบจะส่งข้อมูลเสียงเป็นกลุ่มตามลําดับในข้อความ |
ConverseResponse
ข้อความระดับบนสุดที่ลูกค้าได้รับ ระบบจะสตรีมชุดข้อความ ConverseResponse
อย่างน้อย 1 ข้อความกลับไปยังไคลเอ็นต์
ช่อง | ||
---|---|---|
ฟิลด์การรวม converse_response ระบบจะป้อนข้อมูลในช่องใดช่องหนึ่งเหล่านี้อยู่เสมอใน ConverseResponse แต่ละรายการ converse_response ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
||
error |
เอาต์พุตเท่านั้น หากมีการตั้งค่า ระบบจะแสดงข้อความ |
|
event_type |
เอาต์พุตเท่านั้น ระบุประเภทของเหตุการณ์ |
|
audio_out |
Export-only เสียงที่มีคําตอบของ Assistant สําหรับคําถาม |
|
result |
Export-only ผลลัพธ์เชิงความหมายสำหรับคำค้นหาที่ผู้ใช้พูด |
EventType
ระบุประเภทของเหตุการณ์
Enum | |
---|---|
EVENT_TYPE_UNSPECIFIED |
ไม่ได้ระบุเหตุการณ์ |
END_OF_UTTERANCE |
เหตุการณ์นี้แสดงว่าเซิร์ฟเวอร์ตรวจพบเสียงพูดของผู้ใช้สิ้นสุดลงและคาดว่าจะไม่มีเสียงพูดเพิ่มเติม ดังนั้น เซิร์ฟเวอร์จะไม่ประมวลผลเสียงเพิ่มเติม (แม้ว่าอาจมีผลลัพธ์เพิ่มเติมในภายหลัง) ไคลเอ็นต์ควรหยุดส่งข้อมูลเสียงเพิ่มเติม ปิดการเชื่อมต่อ gRPC ครึ่งหนึ่ง และรอผลลัพธ์เพิ่มเติมจนกว่าเซิร์ฟเวอร์จะปิดการเชื่อมต่อ gRPC |
ConverseResult
ผลลัพธ์เชิงความหมายสำหรับคำค้นหาที่ผู้ใช้พูด
ช่อง | |
---|---|
spoken_request_text |
เอาต์พุตเท่านั้น ข้อความถอดเสียงที่ระบบรู้จักของสิ่งที่ผู้ใช้พูด |
spoken_response_text |
Export-only ข้อความตอบกลับที่ Assistant พูด ซึ่งจะแสดงผลสำหรับการดำเนินการ IFTTT เท่านั้น |
conversation_state |
ข้อมูลสถานะเอาต์พุตเท่านั้นสำหรับ |
microphone_mode |
เอาต์พุตเท่านั้น ระบุโหมดของไมโครโฟนหลังจากประมวลผล |
volume_percentage |
ระดับเสียงเท่านั้น อัปเดตระดับเสียงแล้ว ค่าจะเป็น 0 หรือไม่ใส่ (หมายความว่าไม่มีการเปลี่ยนแปลง) เว้นแต่คำสั่งเสียง เช่น "เพิ่มระดับเสียง" หรือ "ตั้งระดับเสียง 4" ซึ่งในกรณีนี้ ค่าจะอยู่ระหว่าง 1 ถึง 100 (ตรงกับระดับเสียงใหม่ 1% ถึง 100%) โดยปกติแล้ว ลูกค้าควรใช้ระดับเสียงนี้เมื่อเล่นข้อมูล |
MicrophoneMode
สถานะที่เป็นไปได้ของไมโครโฟนหลังจาก RPC Converse
เสร็จสมบูรณ์
Enum | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
ไม่ได้ระบุโหมด |
CLOSE_MICROPHONE |
บริการไม่ต้องการคําถามต่อเนื่องจากผู้ใช้ ไมโครโฟนควรปิดอยู่จนกว่าผู้ใช้จะเปิดใช้งานอีกครั้ง |
DIALOG_FOLLOW_ON |
บริการคาดว่าจะมีคำถามจากผู้ใช้ต่อเนื่อง ไมโครโฟนควรเปิดอีกครั้งเมื่อ AudioOut เล่นจบ (ด้วยการเริ่มเรียก Converse RPC ใหม่เพื่อส่งเสียงใหม่) |
ConverseState
ให้ข้อมูลเกี่ยวกับสถานะของกล่องโต้ตอบปัจจุบัน
ช่อง | |
---|---|
conversation_state |
ต้องระบุ ค่า |