반응형
 
Dialogflow 샘플코드 작성 중... gRPC 인터페이스의 메시지 포맷을 보고 싶어서(IDL 없이 gRPC 기반 API만 받은 경우)
다음과 같은 코드를 작성해 보았다. Dialogflow에 있는 InputAudioConfig 라는 객체를 분해해서 파라미터 포맷을 출력한다.
 
      Iterator<FieldDescriptor> it = InputAudioConfig.getDescriptor().getFields().iterator();
      while(it.hasNext()) {
          FieldDescriptor fd = it.next();
          System.out.println(fd);
      }
      
      it = InputAudioConfig.getDescriptor().getExtensions().iterator();
      while(it.hasNext()) {
          FieldDescriptor fd = it.next();
          System.out.println(fd);
      }
      
      Map<FieldDescriptor, Object> allOptions = InputAudioConfig.getDescriptor().getOptions().getAllFields();
      it = allOptions.keySet().iterator();
      while(it.hasNext()) {
          FieldDescriptor fd = it.next();
          System.out.println(fd);
      }
      
      Iterator<OneofDescriptor> it2 = InputAudioConfig.getDescriptor().getOneofs().iterator();
      while(it2.hasNext()) {
          OneofDescriptor fd = it2.next();
          System.out.println(fd);
      }
 
      it = QueryInput.getDescriptor().getFields().iterator();
      while(it.hasNext()) {
          FieldDescriptor fd = it.next();
          System.out.println(fd);
      }
      
      // Instructs the speech recognizer how to process the audio content.
      InputAudioConfig inputAudioConfig = InputAudioConfig.newBuilder()
          .setAudioEncoding(audioEncoding) // audioEncoding = AudioEncoding.AUDIO_ENCODING_LINEAR_16
          .setLanguageCode(languageCode) // languageCode = "en-US"
          .setSampleRateHertz(sampleRateHertz) // sampleRateHertz = 16000
          .setModel("phone_call")
          .setModelVariant(SpeechModelVariant.USE_ENHANCED)
//          .setModelVariantValue(SpeechModelVariant.USE_ENHANCED_VALUE)
//          .setField(field, value)
          .build();
      
      OutputAudioEncoding outputAudioEncoding = OutputAudioEncoding.OUTPUT_AUDIO_ENCODING_LINEAR_16;
      int outputSampleRateHertz = 16000;
      OutputAudioConfig outputAudioConfig =
          OutputAudioConfig.newBuilder()
              .setAudioEncoding(outputAudioEncoding)
              .setSampleRateHertz(outputSampleRateHertz)
              .build();
      // Build the query with the InputAudioConfig
      QueryInput queryInput = QueryInput.newBuilder().setAudioConfig(inputAudioConfig).build();
 

'기술' 카테고리의 다른 글

Python PyDev IDE 개발툴  (0) 2019.08.07
Maven Profile + Exec Java  (0) 2019.08.07
Window에서 taskmgr(task manager) 대치  (0) 2019.08.07
OpenStack All-In-One 설치 과정  (0) 2019.08.07
TCP 다이어그램과 CLOSE_WAIT + FIN_WAIT  (0) 2019.08.07
Posted by Hey Jerry
,