question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Failed to unpack object from 'any' field. Expected com.google.cloud.speech.v1.LongRunningRecognizeResponse, found

See original GitHub issue

In which file did you encounter the issue?

java-docs-samples/blob/master/speech/cloud-client/src/main/java/com/example/speech/Recognize.java

Describe the issue

Using attached file as an example, upload to a bucket and try to long recognize:

java -cp target/speech-google-cloud-samples-1.0.0-jar-with-dependencies.jar
com.example.speech.Recognize asyncrecognize gs://bucket/omelete_hyperdrive.ogg

After completion, the exception:

Caused by: com.google.api.gax.rpc.UnknownException: java.lang.IllegalStateException: Failed to unpack object from ‘any’ field. Expected com.google.cloud.speech.v1.LongRunningRecognizeResponse, found at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:117) at com.google.api.gax.grpc.ProtoOperationTransformers$ResponseTransformer.apply(ProtoOperationTransformers.java:69) at com.google.api.gax.grpc.ProtoOperationTransformers$ResponseTransformer.apply(ProtoOperationTransformers.java:46) at com.google.api.core.ApiFutures$GaxFunctionToGuavaFunction.apply(ApiFutures.java:153) at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:239) at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.doTransform(AbstractTransformFuture.java:229) at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:130) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900) at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811) at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:653) at com.google.api.gax.retrying.BasicRetryingFuture.handleAttempt(BasicRetryingFuture.java:159) at com.google.api.gax.retrying.CallbackChainRetryingFuture$AttemptCompletionListener.handle(CallbackChainRetryingFuture.java:134) at com.google.api.gax.retrying.CallbackChainRetryingFuture$AttemptCompletionListener.run(CallbackChainRetryingFuture.java:114) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900) at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811) at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:653) at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.setResult(AbstractTransformFuture.java:245) at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:177) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900) at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811) at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:653) at com.google.api.core.AbstractApiFuture$InternalSettableFuture.set(AbstractApiFuture.java:90) at com.google.api.core.AbstractApiFuture.set(AbstractApiFuture.java:73) at com.google.api.gax.grpc.GrpcExceptionCallable$ExceptionTransformingFuture.onSuccess(GrpcExceptionCallable.java:86) at com.google.api.core.ApiFutures$1.onSuccess(ApiFutures.java:66) at com.google.common.util.concurrent.Futures$4.run(Futures.java:1132) at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900) at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811) at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:653) at io.grpc.stub.ClientCalls$GrpcFuture.set(ClientCalls.java:487) at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:465) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:475) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:557) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:478) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:590) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) … 1 common frames omitted Caused by: java.lang.IllegalStateException: Failed to unpack object from ‘any’ field. Expected com.google.cloud.speech.v1.LongRunningRecognizeResponse, found at com.google.api.gax.grpc.ProtoOperationTransformers$AnyTransformer.apply(ProtoOperationTransformers.java:131) at com.google.api.gax.grpc.ProtoOperationTransformers$ResponseTransformer.apply(ProtoOperationTransformers.java:67) … 51 common frames omitted

Same error when used inside my project:

RecognitionConfig config = RecognitionConfig.newBuilder()
                                            .setEncoding(AudioEncoding.OGG_OPUS)
                                            .setLanguageCode("pt-BR")
                                            .setSampleRateHertz(16000)
                                            .setEnableWordTimeOffsets(true)
                                            .build()

RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(gcsUri).build();
OperationFuture<LongRunningRecognizeResponse, LongRunningRecognizeMetadata> response = speech.longRunningRecognizeAsync(config, audio);

while (!response.isDone()) {
          LOG.debug("Waiting for response...");
          Thread.sleep(10000);
}
				
results = response.get().getResultsList();
...

Gradle:

compile('com.google.cloud:google-cloud-storage:1.14.0')
compile('com.google.cloud:google-cloud-speech:0.34.0-alpha')

Tried with different files (including FLAC files) and got the same result.

P.S.: FIles under 1min duration are working fine.

omelete_hyperdrive.zip

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:6 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
nnegreycommented, Feb 26, 2018

So I converted the audio file to FLAC (.raw) and was able to get a transcription back. Still looking in to why the OGG_OPUS format is not working.

Transcription: Ragnarok Liga da Justiça E as novidades do mundo de Star Wars 7 pendrive De hoje em diante da televisão explique de atenção protagonista Ela será Ellen Page ela vai interpretar a personagem Vânia que é meio que uma ovelha negra dentro de um grupo de super-heróis Ainda não temos detalhes de quem vai dirigir o Como está o desenvolvimento da produção dessa nova série da Netflix que deve estrear no próximo ano fica Júlio Aquino Mallet pen drive para mais novidades nos Estados Unidos a previsão é que ele consiga ultrapassar a bilheteria de 700 milhões de dólares se tornando um dos filmes que mais arrecadou dinheiro em 2017 vamos ver se ele vai conseguir superar a marca de Guardiões da Galáxia 2 e também de Mulher Maravilha 2 dos filmes de super-heróis mais lucrativos de 2017 de Liga da Justiça vemos pela primeira vez o Superman Transcription: liga aí Ricardinho está com uma roupa completa do Herói ao lado do Batman da Mulher Maravilha do Flash e do Produtor Charles roven além de Zack Snyder naquela época ainda estava dirigindo o filme não custa lembrar que liga da justiça chega aos cinemas na próxima quarta-feira aqui no Brasil e olha fica de olho no Twitter no Facebook no YouTube do omelete que hoje hoje na sexta-feira saem as primeiras impressões da gente sobre o filme nós assistimos ele na semana passada e a crítica completa sai na próxima terça-feira deixa nos comentários O que que você está esperando de Liga da Justiça pede para o 2 ganhou seu primeiro cachê como não podia ser diferente ele faz uma nova piada todos os novos personagens do filme estão dentro dessa arte onde você vê o Deadpool segurando um peru para o Dia de Ação de Graças que é uma data muito comemorada nos Estados Unidos e ao lado dele está o cable também nos próximos dias já que a campanha de marketing Transcription: Deadpool está marcada para o começo do ano que vem dia 9 de novembro a última quinta-feira foi um dia bombástico para os fãs de Star Wars a Disney junto com a lucasfilm anunciou que uma nova trilogia da série vai ser produzida dirigida escrita por Brian Johnson o diretor de Star Wars os últimos Jedi espere uma trilogia com personagens completamente novos isso não teremos mais a família Sky Walker nem Rei Nem sim nem ninguém que a gente conhece agora vai ser uma coisa completamente nova no universo de Star Wars ainda não existe previsão de estreia e a única coisa certa é que o Brian Johnson vai encabeçar esse novo projeto além disso a Disney confirmou também que uma série com atores para franquia Star Wars está sendo produzida e vai estrear no novo serviço de streaming deles que vai chegar ao mercado em 2019 junto com essa série de Star Wars teremos também uma série de High School Music 1 de monstros s.a. muitas novidades que vão ser discutidas Transcription: gilete nos próximos dias não esquece de deixar seu comentário sobre as notícias curtir o vídeo e assinar o canal tchau

0reactions
nnegreycommented, Dec 7, 2018

Was able to dig into this a bit more and finally found the issue. Turns out that underlying codec in that audio file is OGG Vorbis where the Speech API only supports OGG_OPUS

Read more comments on GitHub >

github_iconTop Results From Across the Web

Package google.cloud.speech.v1 - Google Cloud
Performs asynchronous speech recognition: receive results via the google.longrunning.Operations interface. Returns either an Operation.error or ...
Read more >
google.cloud.speech.v1.RecognizeRequest.audio
The audio property in the request needs to be an object with the audioBytes as a property called content , like in the...
Read more >
Index | Google GAX and Proto Client PHP - googleapis.github.io
Classifies set of possible modifications to an object in the service configuration. ConfigChange — Class in namespace Google\Api: Output generated from ...
Read more >
STT longRunningRecognize in Cloud function
Audio content can be sent directly to Cloud Speech-to-Text or it can process audio content that already resides in Google Cloud Storage.
Read more >
speech package - google.golang.org/api/speech/v2beta1 - Go ...
Package speech provides access to the Cloud Speech-to-Text API. This package is DEPRECATED. Use package cloud.google.com/go/speech/apiv1 instead.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found