【问题标题】:Speech recognition from wav file or from precessed raw audio buffer来自 wav 文件或经过处理的原始音频缓冲区的语音识别
【发布时间】:2017-11-20 10:25:54
【问题描述】:

我正在开发一个 android 项目,我需要从音频缓冲区原始数据或存储的 wav 文件中对文本进行语音转换。可以在安卓上做到这一点吗?更具体地说,我从这里获取音频缓冲区

record.read(audioBuffer, 0, audioBuffer.length);

我处理音频缓冲区并将其存储为波形文件。我需要将处理后的音频缓冲区转换为文本,或者在音频缓冲区文件保存为波形文件之后,我可以使用谷歌的离线语音到文本选项将 wav 转换为文本。请让我知道我该怎么做。我在这里看到了其他线程,但它们已经很老了。 (比如4、6、7岁……)

【问题讨论】:

  • 情况没有太大变化
  • 该线程已有 6 年历史。那么现在我可以提供一个音频缓冲区作为语音识别功能的输入吗?任何示例代码都会对我有所帮助...
  • 找到了一些关于google cloud speech api的资料

标签: android speech-to-text


【解决方案1】:

我遇到了谷歌的 can Speech API,它可以将原始音频文件作为输入并执行异步语音识别。我的应用程序开发经验和 Java 有限。 https://cloud.google.com/speech/docs/async-recognize 这个链接展示了如何做,这里是一些加长的源代码https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/speech/cloud-client/src/main/java/com/example/speech/QuickstartSample.java。但问题是,当我在 android studio mainactivity.java 中将以下导入语句添加到我的应用程序代码中时,会显示为灰色,并且有些标记为红色。

import com.google.cloud.speech.v1.RecognitionAudio;
import com.google.cloud.speech.v1.RecognitionConfig;
import com.google.cloud.speech.v1.RecognitionConfig.AudioEncoding;
import com.google.cloud.speech.v1.RecognizeResponse;
import com.google.cloud.speech.v1.SpeechClient;
import com.google.cloud.speech.v1.SpeechRecognitionAlternative;
import com.google.cloud.speech.v1.SpeechRecognitionResult;
import com.google.protobuf.ByteString;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

【讨论】:

  • 安装了cloud api sdk后,我不再遇到这个问题。这些不是默认的 android 库,但需要安装 SDK。
猜你喜欢
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 2014-07-14
  • 1970-01-01
相关资源
最近更新 更多