GoogleTextToSpeechClient synthesizeSpeech генерирует исполнение внутренней ошибки - PullRequest
0 голосов
/ 19 января 2020

Я получаю эту трассировку стека для com.google.cloud.texttospeech.v1.TextToSpeechClient во время синтеза. Тот же самый ввод текста SSML работает, когда я пытаюсь второй раз. Эта проблема возникает случайно. Может кто-нибудь помочь, пожалуйста, как отладить это?

Я использую en-US-Wavenet-F голос с SsmlVoiceGender.FEMALE Я убедился, что нет конкретного c ввода текста, который вызывает эту проблему.

com.google.api.gax.rp c .InternalException: io.grp c .StatusRuntimeException: INTERNAL: обнаружена внутренняя ошибка. на com.google.api.gax.rp c .ApiExceptionFactory.createException (ApiExceptionFactory. java: 67) на com.google.api.gax.grp c .GrpcApiExceptionFactory.create (GrpcApiExceptionFactory. java). 72) в com.google.api.gax.grp c .GrpcApiExceptionFactory.create (GrpcApiExceptionFactory. java: 60) в com.google.api.gax.grp c .GrpcExceptionCallable $ ExceptionTransformingFuture.onCailureCalp ( java: 97) на com.google.api.core.ApiFutures $ 1.onFailure (ApiFutures. java: 68) на com.google.common.util.concurrent.Futures $ 4.run (Futures. java: 1123) на com.google.common.util.concurrent.MoreExecutors $ DirectExecutor.execute (MoreExecutors. java: 435) на com.google.common.util.concurrent.AbstractFuture.executeListener (AbstractFuture. java: 900) на com.google.common.util.concurrent.AbstractFuture.complete (AbstractFuture. java: 811) на com.google.common.util.concurrent.AbstractFuture.setException (AbstractFuture. java: 675) на io.grp c .stub.ClientCalls $ GrpcFuture.setException (ClientCal ls. java: 515) на io.grp c .stub.ClientCalls $ UnaryStreamToFuture.onClose (ClientCalls. java: 490) на io.grp c .PartialForwardingClientCallListener.onClose * (PartialForwardingClient. 39) в io.grp c .ForwardingClientCallListener.onClose (ForwardingClientCallListener. java: 23) в io.grp c .ForwardingClientCallListener $ SimpleForwardingClientCallListener.onClose * (40 * 1040) .Call (ForwardingClient) * .internal.CensusStatsModule $ StatsClientInterceptor $ 1 $ 1.onClose (CensusStatsModule. java: 700) по адресу io.grp c .PartialForwardingClientCallListener.onClose (PartialForwardingClientCallListener. c .Cr. onClose (ForwardingClientCallListener. java: 23) по адресу io.grp c .ForwardingClientCallListener $ SimpleForwardingClientCallListener.onClose (ForwardingClientCallListener. java: 40) по адресу io.grp cЦенцентрЦеныЦены. CensusTracingModule. java: 399) на io.grp c .intern al.ClientCallImpl.closeObserver (ClientCallImpl. java: 500) по адресу io.grp c .internal.ClientCallImpl.access $ 300 (ClientCallImpl. java: 65) по адресу io.grp c .internal.ClientCallImpl $ .close (ClientCallImpl. java: 592) по адресу io.grp c .internal.ClientCallImpl $ ClientStreamListenerImpl.access $ 700 (ClientCallImpl. java: 508) по адресу io.grp c .internal.ClientCallImpl 1 StreamClosed.runInContext (ClientCallImpl. java: 632) на io.grp c .internal.ContextRunnable.run (ContextRunnable. java: 37) на io.grp c .internal.SerializingExecutor.run (SerializingExecutor. java: 123) в java .base / java .util.concurrent.Executors $ RunnableAdapter.call (Executors. java: 515) в java .base / java .util.concurrent. FutureTask.run (FutureTask. java: 264) в java .base / java .util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor. java: 304) в java .base / . * .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor java: 1 128) в java .base / java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 628) в java .base / java .lang.Thread.run (поток. java: 834) Исключено: com.google.api.gax.rp c .AsyncTaskException: сбой асинхронной задачи в com.google.api.gax.rp c. ApiExceptions.callAndTranslateApiException (ApiExceptions. java: 57) на com.google.api.gax.rp c .UnaryCallable.call (UnaryCallable. java: 112) на com.google.cloud.texttospeech.v1.TextToSpeech , 1090 *: 67) на com.macheye.animator.services.SceneProcessor $ 1.call (SceneProcessor. java: 185) на com.macheye.animator.services.SceneProcessor $ 1.call (SceneProcessor. java: 152) на java .base / java .util.concurrent.FutureTask.run (FutureTask. java: 264) ... пропущено 3 общих кадра. Причины: io.grp c .StatusRuntimeException: INTERNAL: обнаружена внутренняя ошибка , at io.grp c .Status.asRuntimeException (Status. java: 533) ... пропущено 22 общих кадра

Код здесь

 public void run() 
    { 
        try
        { 
            // Displaying the thread that is running 
            System.out.println ("Thread " + 
                  Thread.currentThread().getId() + 
                  " is running"); 
                  String ttsString = "<speak> hello this is a test.</speak> "; 
                  byte [] audioMp3 = null;
        InputStream instream = null;
        try {
            com.google.cloud.texttospeech.v1.TextToSpeechClient ttsClient = com.google.cloud.texttospeech.v1.TextToSpeechClient.create();
            SynthesisInput input = SynthesisInput.newBuilder().setSsml(ttsString).build();

            String VoiceName = "-Wavenet-F";

            VoiceSelectionParams voice = VoiceSelectionParams.newBuilder()
                    .setName("en-US"+VoiceName)
                    .setLanguageCode("en-US")
                    .setSsmlGender(SsmlVoiceGender.FEMALE)
                    .build();
            AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();
            SynthesizeSpeechResponse response =ttsClient.synthesizeSpeech(input, voice, audioConfig);
            ByteString audioContents = response.getAudioContent();
            instream = audioContents.newInput();
            audioMp3 = IOUtils.toByteArray(instream);
            if(instream == null || audioMp3 == null)
                System.out.println("TextToSpeechClient returned empty audio");
            OutputStream out = new FileOutputStream("/Users/sudhin/Desktop/test"+Thread.currentThread().getId()+".mp3");
            out.write(audioMp3);

        } catch (Exception ex) {
            System.out.println(ex.getStackTrace());
        }
        System.out.println("DONE");

        } 
        catch (Exception e) 
        { 
            // Throwing an exception 
            e.printStackTrace(); 
        } 
    }
...