इंडेक्स
- 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 | |
|---|---|
| 
 एम्बेड की गई Assistant सेवा से बातचीत शुरू करता है या उसे जारी रखता है. हर कॉल एक दोतरफ़ा यात्रा करता है, जिसमें सेवा को ऑडियो अनुरोध भेजा जाता है और ऑडियो जवाब मिलता है. नतीजे पाने के लिए, ऑडियो भेजने के दौरान  बातचीत एक या इससे ज़्यादा gRPC कनेक्शन होते हैं. हर कनेक्शन में, स्ट्रीम किए गए कई अनुरोध और जवाब शामिल होते हैं. उदाहरण के लिए, उपयोगकर्ता मेरी ख़रीदारी की सूची में जोड़ो कहता है और Assistant जवाब देती है कि आप क्या जोड़ना चाहते हैं?. पहले gRPC मैसेज में, स्ट्रीम किए गए अनुरोधों और जवाबों का क्रम यह हो सकता है: 
 इसके बाद, उपयोगकर्ता बैगल कहता है और Assistant जवाब देती है, ठीक है, मैंने आपकी ख़रीदारी की सूची में बैगल जोड़ दिए हैं. इसे स्ट्रीम किए गए अनुरोधों और जवाबों के साथ, फिर से  
 हालांकि, जवाबों के सटीक क्रम की कोई गारंटी नहीं है, लेकिन क्रम में दिए गए ConverseResponse.audio_out मैसेज में हमेशा ऑडियो के क्रम वाले हिस्से शामिल होंगे. 
 | |
AudioInConfig
इस नीति से, audio_in के उस डेटा को प्रोसेस करने का तरीका बताया जाता है जो बाद के अनुरोधों में दिया जाएगा. सुझाई गई सेटिंग के लिए, Google Assistant gRPC API से जुड़े सबसे सही तरीके देखें.
| फ़ील्ड | |
|---|---|
| encoding | 
                    सभी  | 
| sample_rate_hertz | 
 
                    सभी  | 
एन्कोडिंग
ऑडियो मैसेज में भेजे गए डेटा की ऑडियो एन्कोडिंग. ऑडियो एक-चैनल (मोनो) का होना चाहिए. फ़िलहाल, "en-US" भाषा का इस्तेमाल किया जा सकता है.
| Enums | |
|---|---|
| ENCODING_UNSPECIFIED | जानकारी नहीं दी गई. google.rpc.Code.INVALID_ARGUMENTनतीजा दिखाएगा. | 
| LINEAR16 | बिना कंप्रेस किए 16-बिट साइन किए हुए लिटिल-एंडियन सैंपल (लीनियर PCM). इस एन्कोडिंग में कोई हेडर नहीं होता, सिर्फ़ रॉ ऑडियो बाइट शामिल होती हैं. | 
| FLAC | FLAC(मुफ़्त लॉसलेस ऑडियो कोडेक) एन्कोडिंग का सुझाव दिया जाता है, क्योंकि इससे कोई नुकसान नहीं होता--इसलिए, पहचान से छेड़छाड़ नहीं की जाती--और इसमेंLINEAR16की करीब आधी बैंडविथ होनी चाहिए. इस एन्कोडिंग मेंFLACस्ट्रीम हेडर के बाद ऑडियो डेटा शामिल होता है. यह 16-बिट और 24-बिट वाले सैंपल के साथ काम करता है. हालांकि,STREAMINFOके सभी फ़ील्ड काम नहीं करते. | 
AudioOut
वह ऑडियो जिसमें क्वेरी के लिए Assistant का जवाब मौजूद है. ऑडियो डेटा के कई हिस्से, क्रम में चलने वाले ConverseResponse मैसेज में मिलते हैं.
| फ़ील्ड | |
|---|---|
| audio_data | 
 
                    आउटपुट-ओनली ऑडियो डेटा, जिसमें क्वेरी के लिए Assistant का जवाब शामिल होता है. ऑडियो डेटा के कई हिस्से, क्रम में चलने वाले  | 
AudioOutConfig
यह नीति audio_out मैसेज दिखाने के लिए, सर्वर को इस्तेमाल करने के लिए पसंदीदा फ़ॉर्मैट बताती है.
| फ़ील्ड | |
|---|---|
| encoding | 
                    ज़रूरी है सभी  | 
| sample_rate_hertz | 
 
                    ज़रूरी है  | 
| volume_percentage | 
 ज़रूरी है डिवाइस के ऑडियो आउटपुट की मौजूदा वॉल्यूम सेटिंग. वैल्यू 1 से 100 के बीच की होती हैं, जो 1% से 100% के बीच होती हैं. | 
एन्कोडिंग
ऑडियो मैसेज में दिखाए गए डेटा की ऑडियो एन्कोडिंग. सभी एन्कोडिंग रॉ ऑडियो बाइट होती हैं, जिनमें कोई हेडर नहीं होता. हालांकि, यहां बताया गया है कि डेटा को कोड में बदलने के लिए कौनसे तरीके इस्तेमाल किए जाते हैं.
| Enums | |
|---|---|
| ENCODING_UNSPECIFIED | जानकारी नहीं दी गई. google.rpc.Code.INVALID_ARGUMENTनतीजा दिखाएगा. | 
| LINEAR16 | बिना कंप्रेस किए 16-बिट साइन किए हुए लिटिल-एंडियन सैंपल (लीनियर PCM). | 
| MP3 | MP3 ऑडियो एन्कोडिंग. सैंपल रेट को पेलोड में एन्कोड किया जाता है. | 
| OPUS_IN_OGG | ओजीजी कंटेनर में रैप किया गया Opus-एन्कोडेड ऑडियो. इससे एक ऐसी फ़ाइल बनेगी जिसे मूल रूप से Android पर और कुछ ब्राउज़र (जैसे Chrome) में चलाया जा सकता है. समान बिटरेट का इस्तेमाल करने पर, कोड में बदलने के तरीके की क्वालिटी MP3 से काफ़ी बेहतर होती है. सैंपल रेट को पेलोड में एन्कोड किया जाता है. | 
ConverseConfig
ConverseRequest मैसेज को प्रोसेस करने का तरीका बताता है.
| फ़ील्ड | |
|---|---|
| audio_in_config | ज़रूरी है: इससे, आने वाले ऑडियो को प्रोसेस करने का तरीका पता चलता है. | 
| audio_out_config | ज़रूरी है: इससे पता चलता है कि किस ऑडियो को फ़ॉर्मैट किया जाएगा. | 
| converse_state | ज़रूरी है यह डायलॉग बॉक्स की मौजूदा स्थिति दिखाता है. | 
ConverseRequest
क्लाइंट से मिला टॉप लेवल मैसेज. क्लाइंट को कम से कम दो और आम तौर पर कई ConverseRequest मैसेज भेजने होंगे. पहले मैसेज में config मैसेज होना चाहिए और इसमें audio_in डेटा नहीं होना चाहिए. बाद के सभी मैसेज में audio_in डेटा होना चाहिए और config मैसेज नहीं होना चाहिए.
| फ़ील्ड | ||
|---|---|---|
| यूनियन फ़ील्ड converse_request. हरConverseRequestमें, इनमें से कोई एक फ़ील्ड दिया जाना चाहिए.converse_requestइनमें से सिर्फ़ एक हो सकता है: | ||
| config | 
                     | |
| audio_in | 
 
                    पहचाना जाने वाला ऑडियो डेटा. ऑडियो डेटा के कई हिस्से, क्रम में चलने वाले  | |
ConverseResponse
क्लाइंट को मिला टॉप लेवल मैसेज. एक या उससे ज़्यादा ConverseResponse मैसेज की सीरीज़, क्लाइंट को वापस स्ट्रीम की जाती है.
| फ़ील्ड | ||
|---|---|---|
| यूनियन फ़ील्ड converse_response. इनमें से सिर्फ़ एक फ़ील्ड में, हरConverseResponseमें अपने-आप जानकारी भर जाएगी.converse_responseइनमें से सिर्फ़ एक हो सकता है: | ||
| error | 
                    सिर्फ़ आउटपुट के लिए इस नीति को सेट करने पर,  | |
| event_type | आउटपुट-ओनली, इवेंट टाइप के बारे में बताता है. | |
| audio_out | आउटपुट-ओनली वह ऑडियो जिसमें क्वेरी का Assistant का जवाब मौजूद होता है. | |
| result | आउटपुट-ओनली, उपयोगकर्ता की बोली गई क्वेरी के सिमैंटिक नतीजा. | |
EventType
यह बताता है कि इवेंट किस तरह का है.
| Enums | |
|---|---|
| EVENT_TYPE_UNSPECIFIED | कोई इवेंट मौजूद नहीं है. | 
| END_OF_UTTERANCE | इस इवेंट से पता चलता है कि सर्वर ने उपयोगकर्ता की बोली की बातचीत के खत्म हो जाने का पता लगा लिया है. इसलिए, सर्वर को कोई और आवाज़ नहीं सुनाई देगी. इसलिए, सर्वर अतिरिक्त ऑडियो को प्रोसेस नहीं करेगा. हालांकि, हो सकता है कि बाद में सर्वर अन्य ऑडियो को भी प्रोसेस करे. क्लाइंट को अतिरिक्त ऑडियो डेटा भेजना बंद कर देना चाहिए, gRPC कनेक्शन को आधा बंद करना चाहिए, और सर्वर के gRPC कनेक्शन को बंद करने तक किसी भी अतिरिक्त नतीजे का इंतज़ार करना चाहिए. | 
ConverseResult
उपयोगकर्ता की बोली गई क्वेरी के लिए सिमैंटिक नतीजा.
| फ़ील्ड | |
|---|---|
| spoken_request_text | 
 आउटपुट-ओनली: उपयोगकर्ता की बोली गई ट्रांसक्रिप्ट. | 
| spoken_response_text | 
 आउटपुट-ओनली Assistant, बोलकर दिए गए जवाब का टेक्स्ट. इसे सिर्फ़ IFTTT कार्रवाई के लिए लौटाया जाता है. | 
| conversation_state | 
 
                    बाद के  | 
| microphone_mode | 
                    आउटपुट-ओनली, इस  | 
| volume_percentage | 
 
                    आउटपुट-ओनली आवाज़ के लेवल को अपडेट किया गया. वैल्यू को 0 या उसमें कोई बदलाव नहीं दिखाया जाएगा. यह तब तक नहीं रहेगा, जब तक "वॉल्यूम बढ़ाएं" या "आवाज़ का लेवल 4 सेट करें" जैसा कोई वॉइस कमांड नहीं मिलता. ऐसे में, वैल्यू 1 से 100 के बीच होगी (जैसे, 1% से 100% के नए वॉल्यूम लेवल पर). आम तौर पर, क्लाइंट को  | 
MicrophoneMode
Converse RPC पूरा होने के बाद माइक्रोफ़ोन की संभावित स्थितियां.
| Enums | |
|---|---|
| MICROPHONE_MODE_UNSPECIFIED | कोई मोड दर्ज नहीं है. | 
| CLOSE_MICROPHONE | इस सेवा को उपयोगकर्ता से फ़ॉलो-ऑन सवाल की उम्मीद नहीं होनी चाहिए. माइक्रोफ़ोन तब तक बंद रहना चाहिए, जब तक उपयोगकर्ता उसे फिर से चालू न कर दे. | 
| DIALOG_FOLLOW_ON | इस सेवा को उपयोगकर्ता से फ़ॉलो-ऑन सवाल की उम्मीद होती है. AudioOutप्लेबैक पूरा होने पर माइक्रोफ़ोन फिर से चालू होना चाहिए (नया ऑडियो भेजने के लिए, नयाConverseRPC कॉल शुरू करके). | 
ConverseState
डायलॉग बॉक्स की मौजूदा स्थिति के बारे में जानकारी देता है.
| फ़ील्ड | |
|---|---|
| conversation_state | 
 
                    ज़रूरी है  | 
