来自wav文件或来自原始音频缓冲区

时间:2017-11-20 10:25:54

标签: android speech-to-text

我正在开发一个Android项目,我需要从音频缓冲区原始数据或存储的wav文件发送文本。有可能在Android上这样做吗?更具体地说,我从这里获得音频缓冲区

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

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

1 个答案:

答案 0 :(得分:0)

我遇到了google的语音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语句时,得到灰色,有些用红色标记。

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;