Chỉ mục
EmbeddedAssistant
(giao diện)AudioInConfig
(thông báo)AudioInConfig.Encoding
(enum)AudioOut
(thông báo)AudioOutConfig
(thông báo)AudioOutConfig.Encoding
(enum)ConverseConfig
(thông báo)ConverseRequest
(thông báo)ConverseResponse
(thông báo)ConverseResponse.EventType
(enum)ConverseResult
(thông báo)ConverseResult.MicrophoneMode
(enum)ConverseState
(thông báo)
EmbeddedAssistant
Dịch vụ triển khai API Trợ lý Google.
Converse | |
---|---|
Bắt đầu hoặc tiếp tục cuộc trò chuyện với dịch vụ trợ lý được nhúng. Mỗi lệnh gọi sẽ thực hiện một lượt khứ hồi, gửi một yêu cầu âm thanh đến dịch vụ và nhận phản hồi bằng âm thanh. Sử dụng tính năng truyền trực tuyến hai chiều để nhận kết quả (chẳng hạn như sự kiện Một cuộc trò chuyện là một hoặc nhiều kết nối gRPC, mỗi kết nối bao gồm một số yêu cầu và phản hồi được truyền trực tuyến. Ví dụ: người dùng nói Thêm vào danh sách mua sắm của tôi và trợ lý trả lời Bạn muốn thêm gì?. Trình tự các yêu cầu và phản hồi được truyền trực tuyến trong thông báo gRPC đầu tiên có thể là:
Sau đó, người dùng nói bánh mì vòng và Trợ lý trả lời OK, tôi đã thêm bánh mì vòng vào danh sách mua sắm của bạn. Lệnh này được gửi dưới dạng một lệnh gọi kết nối gRPC khác đến phương thức
Mặc dù không đảm bảo thứ tự chính xác của các câu trả lời, các thông báo ConverseResponse.audio_out tuần tự sẽ luôn chứa các phần âm thanh tuần tự.
|
AudioInConfig
Chỉ định cách xử lý dữ liệu audio_in
sẽ được cung cấp trong các yêu cầu tiếp theo. Để biết các chế độ cài đặt được đề xuất, hãy xem các phương pháp hay nhất về API gRPC của Trợ lý Google.
Các trường | |
---|---|
encoding |
Bắt buộc Mã hoá dữ liệu âm thanh được gửi trong tất cả tin nhắn |
sample_rate_hertz |
Bắt buộc Tốc độ lấy mẫu (tính bằng Hertz) của dữ liệu âm thanh gửi trong tất cả tin nhắn |
Mã hoá
Mã hoá âm thanh của dữ liệu được gửi trong tin nhắn âm thanh. Âm thanh phải là một kênh (đơn âm). Ngôn ngữ duy nhất được hỗ trợ là "en-US".
Enum | |
---|---|
ENCODING_UNSPECIFIED |
Chưa xác định. Sẽ trả về kết quả google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Các mẫu 16 bit có chữ ký nhỏ không nén (Linear PCM). Phương thức mã hoá này không bao gồm tiêu đề, chỉ bao gồm các byte âm thanh thô. |
FLAC |
FLAC (Bộ mã hoá âm thanh miễn phí không tổn hao) là phương thức mã hoá được đề xuất vì đây là phương thức mã hoá không tổn hao – do đó, khả năng nhận dạng không bị xâm phạm và chỉ cần khoảng một nửa băng thông của LINEAR16 . Quá trình mã hoá này bao gồm tiêu đề luồng FLAC , theo sau là dữ liệu âm thanh. Thư viện này hỗ trợ các mẫu 16 bit và 24 bit. Tuy nhiên, không phải trường nào trong STREAMINFO cũng được hỗ trợ. |
AudioOut
Âm thanh có chứa câu trả lời của trợ lý cho truy vấn. Các phần dữ liệu âm thanh tuần tự sẽ được nhận trong thông báo ConverseResponse
tuần tự.
Các trường | |
---|---|
audio_data |
Chỉ đầu ra Dữ liệu âm thanh chứa phản hồi của trợ lý cho truy vấn. Các phần dữ liệu âm thanh tuần tự sẽ được nhận trong thông báo |
AudioOutConfig
Chỉ định định dạng mong muốn để máy chủ sử dụng khi trả về thông báo audio_out
.
Các trường | |
---|---|
encoding |
Bắt buộc Mã hoá dữ liệu âm thanh trả về trong tất cả thông báo |
sample_rate_hertz |
Bắt buộc Tốc độ lấy mẫu tính bằng Hertz của dữ liệu âm thanh được trả về trong |
volume_percentage |
Bắt buộc Chế độ cài đặt âm lượng hiện tại cho đầu ra âm thanh của thiết bị. Giá trị hợp lệ là từ 1 đến 100 (tương ứng với 1% đến 100%). |
Mã hoá
Mã hoá âm thanh của dữ liệu được trả về trong tin nhắn âm thanh. Tất cả chế độ mã hoá đều là các byte âm thanh thô không có tiêu đề, ngoại trừ những trường hợp được nêu dưới đây.
Enum | |
---|---|
ENCODING_UNSPECIFIED |
Chưa xác định. Sẽ trả về kết quả google.rpc.Code.INVALID_ARGUMENT . |
LINEAR16 |
Các mẫu 16 bit có chữ ký nhỏ không nén (Linear PCM). |
MP3 |
Mã hoá âm thanh MP3. Tốc độ lấy mẫu được mã hoá trong tải trọng. |
OPUS_IN_OGG |
Âm thanh được mã hoá Opus được gói trong một vùng chứa ogg. Kết quả sẽ là một tệp có thể được phát nguyên gốc trên Android và trong một số trình duyệt (như Chrome). Chất lượng mã hoá cao hơn đáng kể so với MP3 trong khi sử dụng cùng tốc độ bit. Tốc độ lấy mẫu được mã hoá trong tải trọng. |
ConverseConfig
Chỉ định cách xử lý thông báo ConverseRequest
.
Các trường | |
---|---|
audio_in_config |
Bắt buộc Chỉ định cách xử lý âm thanh đầu đến tiếp theo. |
audio_out_config |
Bắt buộc Chỉ định cách định dạng âm thanh sẽ được trả về. |
converse_state |
Bắt buộc Đại diện cho trạng thái hộp thoại hiện tại. |
ConverseRequest
Tin nhắn cấp cao nhất do ứng dụng gửi. Ứng dụng phải gửi ít nhất 2 và thường là nhiều tin nhắn ConverseRequest
. Tin nhắn đầu tiên phải chứa thông báo config
và không được chứa dữ liệu audio_in
. Tất cả thông báo tiếp theo phải chứa dữ liệu audio_in
và không được chứa thông báo config
.
Các trường | ||
---|---|---|
Trường nhóm converse_request . Bạn phải chỉ định chính xác một trong các trường này trong mỗi ConverseRequest . converse_request chỉ có thể là một trong những trạng thái sau đây: |
||
config |
Thông báo |
|
audio_in |
Dữ liệu âm thanh cần được nhận dạng. Các đoạn dữ liệu âm thanh tuần tự sẽ được gửi trong thông báo |
ConverseResponse
Tin nhắn cấp cao nhất mà ứng dụng nhận được. Một loạt một hoặc nhiều thông báo ConverseResponse
được truyền trực tuyến trở lại ứng dụng.
Các trường | ||
---|---|---|
Trường nhóm converse_response . Chính xác một trong các trường này sẽ được điền vào mỗi ConverseResponse . converse_response chỉ có thể là một trong những trạng thái sau đây: |
||
error |
Chỉ có thể xuất Nếu được đặt, sẽ trả về thông báo |
|
event_type |
Chỉ có dữ liệu đầu ra Cho biết loại sự kiện. |
|
audio_out |
Chỉ đầu ra Âm thanh có chứa phản hồi của trợ lý cho truy vấn. |
|
result |
Chỉ có đầu ra Kết quả ngữ nghĩa cho truy vấn bằng giọng nói của người dùng. |
EventType
Cho biết loại sự kiện.
Enum | |
---|---|
EVENT_TYPE_UNSPECIFIED |
Chưa chỉ định sự kiện nào. |
END_OF_UTTERANCE |
Sự kiện này cho biết rằng máy chủ đã phát hiện thấy kết thúc giọng nói của người dùng và không muốn nhận thêm giọng nói nào. Do đó, máy chủ sẽ không xử lý âm thanh bổ sung (mặc dù sau đó máy chủ có thể trả về kết quả bổ sung). Ứng dụng cần ngừng gửi dữ liệu âm thanh bổ sung, đóng một nửa kết nối gRPC và đợi tất cả kết quả bổ sung cho đến khi máy chủ đóng kết nối gRPC. |
ConverseResult
Kết quả ngữ nghĩa cho truy vấn bằng giọng nói của người dùng.
Các trường | |
---|---|
spoken_request_text |
Chỉ có thể xuất Bản chép lời được ghi nhận trong nội dung người dùng nói. |
spoken_response_text |
Chỉ xuất Nội dung câu trả lời bằng giọng nói của trợ lý. Dữ liệu này chỉ được trả về cho một thao tác IFTTT. |
conversation_state |
Thông tin trạng thái chỉ có thể xuất thông tin trạng thái của |
microphone_mode |
Chỉ đầu ra Chỉ định chế độ của micrô sau khi RPC |
volume_percentage |
Chỉ đầu ra Đã cập nhật mức âm lượng. Giá trị sẽ là 0 hoặc bị bỏ qua (tức là không thay đổi) trừ khi lệnh thoại như "Tăng âm lượng" hoặc "Đặt mức âm lượng 4" đã được công nhận, trong trường hợp này, giá trị sẽ nằm trong khoảng từ 1 đến 100 (tương ứng với mức âm lượng mới từ 1% đến 100%). Thông thường, ứng dụng phải sử dụng mức âm lượng này khi phát dữ liệu |
MicrophoneMode
Các trạng thái có thể có của micrô sau khi RPC Converse
hoàn tất.
Enum | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
Chưa chỉ định chế độ nào. |
CLOSE_MICROPHONE |
Dịch vụ không mong đợi người dùng tiếp tục nhận câu hỏi. Micrô sẽ vẫn tắt cho đến khi người dùng bật lại. |
DIALOG_FOLLOW_ON |
Dịch vụ đang mong đợi người dùng tiếp tục nhận câu hỏi. Bạn phải mở lại micrô khi quá trình phát AudioOut hoàn tất (bằng cách bắt đầu một lệnh gọi RPC Converse mới để gửi âm thanh mới). |
ConverseState
Cung cấp thông tin về trạng thái hiện tại của hộp thoại.
Các trường | |
---|---|
conversation_state |
Bắt buộc Giá trị |