空结果如下所示:
json[0] "{\"result\":[]}"
json[1] ""
非空结果(所需结果)如下所示:
json[0] "{\"result\":[]}"
json[1] "{\"result\":[{\"alternative\":[{\"transcript\":\"good morning Google how are you feeling today\",\"confidence\":0.987629}],\"final\":true}],\"result_index\":0}"
json[2] ""
我有这个函数,它应该获取“. flac”文件并将其转换为文本。出于某种原因,只有这两个示例“. flac”文件在通过Google Speech API时返回字符串,其他flac文件返回EMPTY结果。这些人遇到的同样问题:链接
这是我所有的flac文件:链接
<代码>我的。flac和此\u is\u a\u测试。flac工作得很好,google语音API给了我一个jason对象,其中包含文本。
但是,记录了。flac不能与google语音API一起使用,它给了我空的json对象。
调试:
>
我以为是麦克风出了问题,于是我录了下来。flac
多次,声音清晰,并使用ffmpeg将其转换为flac。但谷歌语音API仍然无法识别录制的语音。flac
我想我把代码的格式弄错了,所以我试着
_HWR_SpeechToTextContentType="音频/116;速率=16000";
而不是
_HWR_SpeechToTextContentType="音频/x-flac;速率=44100";
Then, none of them worked, not a single flac file. so i changed it back.
这是我的谷歌语音API代码,它可以将FLAC文件转换为TEXT(我认为没有必要,但是,无论如何):
public void convert_to_text()
{
FileStream fileStream = File.OpenRead("recorded.flac");//my.flac
MemoryStream memoryStream = new MemoryStream();
memoryStream.SetLength(fileStream.Length);
fileStream.Read(memoryStream.GetBuffer(), 0, (int)fileStream.Length);
byte[] BA_AudioFile = memoryStream.GetBuffer();
HttpWebRequest _HWR_SpeechToText = null;
_HWR_SpeechToText = (HttpWebRequest)HttpWebRequest.Create("https://www.google.com/speech-api/v2/recognize?output=json&lang=en-us&key=" + ACCESS_GOOGLE_SPEECH_KEY);
_HWR_SpeechToText.Credentials = CredentialCache.DefaultCredentials;
_HWR_SpeechToText.Method = "POST";
_HWR_SpeechToText.ContentType = "audio/x-flac; rate=44100";
_HWR_SpeechToText.ContentLength = BA_AudioFile.Length;
Stream stream = _HWR_SpeechToText.GetRequestStream();
stream.Write(BA_AudioFile, 0, BA_AudioFile.Length);
stream.Close();
HttpWebResponse HWR_Response = (HttpWebResponse)_HWR_SpeechToText.GetResponse();
StreamReader SR_Response = new StreamReader(HWR_Response.GetResponseStream());
string responseFromServer = (SR_Response.ReadToEnd());
String[] jsons = responseFromServer.Split('\n');
foreach (String j in jsons)
{
dynamic jsonObject = JsonConvert.DeserializeObject(j);
if (jsonObject == null || jsonObject.result.Count <= 0)
{
continue;
}
text = jsonObject.result[0].alternative[0].transcript;
jsons = null;
}
label1.Content = text;
}
首先检查文件是否为16位PCM单声道而不是立体声。易于使用http://www.audacityteam.org/
然后,您可以使用以下简单代码来执行此操作:
string api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string path = @"C:\temp\good-morning-google.flac";
byte[] bytes = System.IO.File.ReadAllBytes(path);
WebClient client = new WebClient();
client.Headers.Add("Content-Type", "audio/x-flac; rate=44100");
byte[] result = client.UploadData(string.Format(
"https://www.google.com/speech-api/v2/recognize?client=chromium&lang=en-us&key={0}", api_key), "POST", bytes);
string s = client.Encoding.GetString(result);
问题内容: 我正在使用JDBC来实现非常简单的数据库连接。 我已经创建了连接/语句并执行了查询。我在调试器中检查语句的查询对象,以确认它正在发送正确的查询。然后,我再次检查了数据库中的查询(直接从调试器复制),以确保其返回数据。但是,返回的结果集在.next()上给出false 这里有我遗漏的常见陷阱吗? 还有myDB类(一个简单的包装程序,使我可以将连接/语句代码放入任何项目中) 编辑:根据建议
方法返回空结果。我正在尝试使用Spring-boot、h2数据库和JPA来实现rest服务。 下面是我的 我的文件包括: 实体: 接口:
你好,我有一个问题与elasticsearch php api,Elastica。 如果我运行这个: 我得到0个结果
我有一个如下所示的查询:,它返回所有实体(当前为15个)。我只想选择某些字段来提高查询的内存效率(有很多我不需要的嵌入实体)。 我有2个多对一关系,a和b,其中一个通常为空,另一个有一个值。如果执行,我将得到a不为null的10个结果,而执行时,我将得到b不为null的另外5个结果。但是,如果执行,则返回0个结果。我假定它全部为15,并将其作为返回。为什么会发生这种情况,我是否可以更改它,以便返回
我正在尝试处理新的AndroidLollipopMediaProjection API。 我发现(至少在我的股票三星Galaxy S4 jfltexx上),当我开始意图获取捕获屏幕的权限()时,除非我在前面的尝试中选中了“不要再次询问”,否则在中不会有结果... 和结果处理: 权限对话框显示得很好,但是我的活动被隐藏了,它永远不会转到。 知道出什么问题了吗?
我有以下表格结构: 1-课程(course_id、course_nam、语言、course_price、create_date、average_rating、course_description、certifica_price、course_creator_id) 2-学生(学生证、钱包) 3-折扣(折扣id、折扣课程id、允许的许可课程id、开始日期、结束日期、百分比) 4-报名(student