标签: google-speech-api

Google 语音 API 流式传输

我正在尝试使用syncrecognize方法将我的PBX IVR连接到Google Speech API,但是由于我需要录制语音,将其发送到API,等待响应并将其处理回来,所以不可能进行正常的对话或尝试进行正常对话正常对话/处理语音,使用它来提供实时服务。还有其他推荐的API吗?或者有没有办法设置 VoIP/流媒体到 Google。类似于 Alexa/Google Home。我没有找到RecognitionAudio对象的任何内容:

google-speech-api

3
推荐指数
1
解决办法
9089
查看次数

isRecognitionAvailable 在 Android 上返回 false

我在 Android 上使用 android.speech.SpeechRecognizer。在某些情况下,isRecognitionAvailable 返回 false,因此我无法识别该语音。有没有办法在手机上启用 android.speech.SpeechRecognizer?或者有类似的服务吗?

android speech-recognition google-speech-api

3
推荐指数
1
解决办法
1986
查看次数

将AudioKit麦克风管道连接到Google语音转文本

我正在尝试AudioKit将麦克风通过管道传输到Google的语音文本API,如此处所示但我不确定如何解决。

要为语音转文本引擎准备音频,您需要设置编码并将其作为块传递。在Google使用的示例中,他们使用了Apple的示例AVFoundation,但是我想使用AudioKit,这样我就可以进行一些预处理,例如削减低振幅等。

我相信执行此操作的正确方法是使用Tap

首先,我应该通过以下方式匹配格式:

var asbd = AudioStreamBasicDescription()
asbd.mSampleRate = 16000.0
asbd.mFormatID = kAudioFormatLinearPCM
asbd.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked
asbd.mBytesPerPacket = 2
asbd.mFramesPerPacket = 1
asbd.mBytesPerFrame = 2
asbd.mChannelsPerFrame = 1
asbd.mBitsPerChannel = 16

AudioKit.format = AVAudioFormat(streamDescription: &asbd)!
Run Code Online (Sandbox Code Playgroud)

然后创建一个水龙头,例如:

open class TestTap {
    internal let bufferSize: UInt32 = 1_024

    @objc public init(_ input: AKNode?) {
        input?.avAudioNode.installTap(onBus: 0, bufferSize: bufferSize, format: AudioKit.format) { buffer, _ in

         // do work here

        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

ios google-cloud-platform google-speech-api audiokit

3
推荐指数
1
解决办法
388
查看次数

Google Cloud Speech API protobuf导致找不到"debugAndroidTestCompile"

我上个月在这个位置复制并编译了语音api的源代码https://github.com/GoogleCloudPlatform/android-docs-samples/tree/master/speech/Speech 并且正常工作.现在,当我重新访问它时,我找不到名为'debugAndroidTestCompile'配置.错误.

是什么造成的?如果你问我怎么知道它是那个,我做了消除的过程.我在gradle文件上逐个删除并同步.当我删除了应用插件:'com.google.protobuf'时,错误消失了.

android google-speech-api

3
推荐指数
1
解决办法
1518
查看次数

Google Speech to Text iOS 应用示例:无法构建模块“googleapis”

有没有人能够在Swift 4 中成功构建 Google 的 Speech to Text iOS 示例?

The swift project posted to the Github repo: GoogleCloudPlatform/ios-docs-samples does not seem to be well-maintained. When I open the workspace example, I immediately get 3 build errors in locating header files and "could not build module googleapis."

On installing googleapis

I looked up documentation on pod install for pod 'googleapis', :path=> "." but this produces the following error: [!] No podspec found for googleapis in . I found …

google-api header-files swift google-speech-api swift4

3
推荐指数
1
解决办法
1820
查看次数

Google Cloud Platform:大型媒体文件的语音到文本转换

我正在尝试从从 youtube 下载的 mp4 媒体文件中提取文本。由于我正在使用谷歌云平台,所以想尝试谷歌云语音。

在所有安装和配置之后,我复制了以下代码片段以开始使用:

with io.open(file_name, 'rb') as audio_file:
    content = audio_file.read()
    audio = types.RecognitionAudio(content=content)

config = types.RecognitionConfig(encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code='en-US')   

response = client.long_running_recognize(config, audio)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下有关文件大小的错误:

InvalidArgument:400 内联音频超出持续时间限制。请使用 GCS URI。

然后我读到我应该对大型媒体文件使用流。所以,我尝试了以下代码片段:

with io.open(file_name, 'rb') as audio_file:
    content = audio_file.read()

#In practice, stream should be a generator yielding chunks of audio data.

stream = [content]
requests = (types.StreamingRecognizeRequest(audio_content=chunk)for chunk in stream)

config = types.RecognitionConfig(encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,sample_rate_hertz=16000,language_code='en-US')

streaming_config = types.StreamingRecognitionConfig(config=config)

responses = client.streaming_recognize(streaming_config, requests)
Run Code Online (Sandbox Code Playgroud)

但我仍然收到以下错误:

InvalidArgument:400 无效的音频内容:太长。

因此,任何人都可以提出一种转录 mp4 文件和提取文本的方法。我对非常大的媒体文件没有任何复杂的要求。媒体文件最长可达 10-15 分钟。谢谢

speech-recognition speech-to-text google-cloud-platform google-speech-api google-cloud-speech

3
推荐指数
1
解决办法
3558
查看次数

如何在 PHP 应用程序中验证 Google Cloud Speech-To-Text 客户端?

对于 PHP 应用程序中的 Cloud Speech-To-Text 客户端身份验证,我使用以下内容:

 $credentials = 'C:\cred.json';
 $client=new SpeechClient(['credentials'=>json_decode(file_get_contents($credentials), true)]);
Run Code Online (Sandbox Code Playgroud)

由于某些原因,我收到错误消息:

致命错误:未捕获的 GuzzleHttp\Exception\ClientException:客户端错误:POST https://oauth2.googleapis.com/token导致400 Bad Request响应:{"error":"invalid_scope","error_description":"提供的 OAuth 范围或 ID 令牌受众无效。"}

上述身份验证方法在 Text-To-Speech API 中完美运行。

$credentials = 'C:\cred.json';
$client = new TextToSpeechClient(['credentials' => json_decode(file_get_contents($credentials), true)]);
Run Code Online (Sandbox Code Playgroud)

有什么问题/缺失?

php google-authentication google-speech-api google-speech-to-text-api

3
推荐指数
1
解决办法
350
查看次数

Google Speech API凭证

我正在尝试使用Google Speech API进行一些测试,但是要从Google Cloud外部进行测试。在较旧的Beta版本中,我可以指定一个凭证文件,但现在在SpeechClient类中找不到该选项。

如何使用Google Speech API Java库指定身份验证密钥?

java google-speech-api

2
推荐指数
2
解决办法
2731
查看次数

在 React-Native 上实现 Google Cloud 语音转文本

我正在尝试在本机反应应用程序上实现谷歌的语音到文本,但我找不到有关它的示例或文档,我对反应本机相当陌生,所以我有点迷失了,有一个使用的示例谷歌官方文档上的node.js,我试图将其“复制”到react-native,但我没有取得任何成功。

这是 Node.js 示例:

async function main() {
  // Imports the Google Cloud client library
  const speech = require('@google-cloud/speech');
  const fs = require('fs');

  // Creates a client
  const client = new speech.SpeechClient();

  // The name of the audio file to transcribe
  const fileName = './resources/audio.raw';

  // Reads a local audio file and converts it to base64
  const file = fs.readFileSync(fileName);
  const audioBytes = file.toString('base64');

  // The audio file's encoding, sample rate in hertz, and BCP-47 language code
  const …
Run Code Online (Sandbox Code Playgroud)

speech-to-text react-native google-speech-api

2
推荐指数
1
解决办法
6280
查看次数

如何将客户端 WebRTC 音频流式传输到谷歌语音到文本服务器

简而言之,这就是我正在尝试做的事情:

\n

浏览器/WebRTc音频==>服务器端(节点js)socket.io服务器==>谷歌云

\n

I\xe2\x80\x99m 在浏览器中使用 webRTC 从浏览器麦克风捕获音频。该音频在传入时作为带有 base64 字符串的对象发送到 socket.io 服务器。这部分工作是因为我在记录传入数据时可以看到它。

\n

我陷入困境的是将此流发送到谷歌云语音API以将其转录。

\n

谷歌云语音文档中有一个快速入门应用程序,用于将麦克风数据流式传输到谷歌语音并获取实时转录。我设法让它工作,但它使用计算机\xe2\x80\x99s 麦克风。该应用程序使用节点node-record-lpcm16和SoX来访问computer\xe2\x80\x99s麦克风并将流传输到google cloud api。

\n

音频通过 SpeechClient 上的 StreamingRecognize 方法发送到谷歌云。请求对象被传递给该方法。请求对象有一个名为audio_content的字段,这是我认为传入的音频流应该去的地方(???)。

\n

下面是包含 socket.io 实例和来自与 node-record-lpcm16 包一起使用的 google cloud Quickstart 应用程序的代码的服务器文件。

\n
let io = require(\'socket.io\')(3000, {\n  cors: {origin: [\'http://localhost:8080\']},\n})\n\nconst speech = require(\'@google-cloud/speech\');\n  \n// Create a speech client\nconst client = new speech.SpeechClient();\n\n\nconst encoding = \'LINEAR16\';\nconst sampleRateHertz = 16000;\nconst languageCode = \'en-US\';\n\n//speech client request header\nconst request = {\n  config: {\n    encoding: encoding,\n    sampleRateHertz: sampleRateHertz,\n    languageCode: languageCode,\n …
Run Code Online (Sandbox Code Playgroud)

sockets node.js webrtc google-speech-api

2
推荐指数
1
解决办法
2311
查看次数