我正在使用SpeechToText API从现场麦克风录音中获取语音转录。这适用于简单的 LINEAR16 编码,但我需要减少带宽,因此我切换到 OGG Opus 编码。
使用这个库在 OGG Opus 客户端中记录和编码音频。
然后,它使用 websocket 发送到后端应用程序。
最后,后端应用程序以流模式请求 STT API,该模式保持静默(没有错误,但输出中也没有文本)。
这些是编码选项:
var options = {
monitorGain: 0,
recordingGain: 1,
numberOfChannels: 1,
encoderSampleRate: 16000,
encoderPath: "./javascript/ogg_opus/encoderWorker.min.js",
originalSampleRateOverride: 16000,
streamPages: true,
encoderApplication: 2048
};
Run Code Online (Sandbox Code Playgroud)
这是发送到 API 的配置:
{
encoding: 'OGG_OPUS',
language: 'fr',
rate: 16000
}
Run Code Online (Sandbox Code Playgroud)
这是将音频发送到 websocket 的方式:
recorder.ondataavailable = function(typedArray){
var dataBlob = new Blob([typedArray], { type: 'audio/ogg' });
websocket.emit('audio_data', dataBlob);
};
Run Code Online (Sandbox Code Playgroud)
后端部分是用 Python 开发的,遵循这个例子。
您知道使 API 工作所需的 …
我在 MongoDB 3.2 上运行了一些聚合查询。我想按一个字段对文档进行分组,并在另一个数字字段上取平均值。我需要平均值来忽略 0 值。问题是我无法完全过滤文档,因为我需要另一个字段进行计数。
让我们举例说明:
这是我的文档的结构:
{"stringToGroupByOn":"foo", "valueToAvg":42, "valueToSum":21}
{"stringToGroupByOn":"foo", "valueToAvg":0, "valueToSum":13}
Run Code Online (Sandbox Code Playgroud)
我不能像这样过滤:
db.foobar.aggregate([
{
$match : { valueToAvg : { $gt : 0 } }
},
{
$group : {
_id : '$stringToGroupByOn',
avg : { $avg : '$valueToAvg' },
count : { $sum : '$valueToSum' }
}
}
])
Run Code Online (Sandbox Code Playgroud)
因为我失去了计数的值 13。
你认为有一种方法可以只在一个查询中做到这一点吗?
我在使用 GitLab CI 将 Python 3 应用程序自动部署到 App Engine 标准时遇到了问题。
出现以下错误:
DEBUG: (gcloud.app.deploy) Error Response: [7] Failed to create cloud build: Permission denied
Traceback (most recent call last):
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 984, in Execute
resources = calliope_command.Run(cli=self, args=args)
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 807, in Run
resources = command_instance.Run(args)
File "/google-cloud-sdk/lib/surface/app/deploy.py", line 110, in Run
default_strategy=flex_image_build_option_default))
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 642, in RunDeploy
ignore_file=args.ignore_file)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 432, in Deploy
extra_config_settings)
File "/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/appengine_api_client.py", line 208, in DeployService
poller=done_poller)
File "/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/operations_util.py", line 314, in …Run Code Online (Sandbox Code Playgroud) 我需要在开发人员元数据中存储工作表的上次修改用户和日期。
我使用 onEdit 函数在每次编辑工作表时更新这些元数据(请参阅下面的代码)
我的问题是在撤消历史记录中考虑了元数据创建/更新。
所以用户需要按 ctrl+Z 三次才能取消...
您知道避免这种行为的方法吗?
function onEdit(e) {
// Prevent errors if no object is passed.
if (!e) return;
var dateMetadata;
var dateKey = 'lastModificationDate';
var userMetadata;
var userKey = 'lastModificationUser';
// Get the active sheet.
var sheet = e.source.getActiveSheet();
var user = e.user.getEmail();
var date = Math.floor(Date.now() / 1000);
metadatas = sheet.getDeveloperMetadata();
for each (var m in metadatas) {
if (m.getKey() === dateKey) {
dateMetadata = m;
}
if (m.getKey() === userKey) {
userMetadata = …Run Code Online (Sandbox Code Playgroud)