我正在处理通过Quicktime录制并保存为.m4a格式的音频。我想使用Google Cloud Provider的Speech API,他们的建议是:
做:
使用无损编解码器记录和传输音频。建议使用FLAC或LINEAR16。
避免:
在录制或传输过程中使用mp3,mp4,m4a,mu-law,a-law或其他有损编解码器可能会降低准确性。如果您的音频已经采用API不支持的编码,请将其转码为无损FLAC或LINEAR16。如果您的应用程序必须使用有损编解码器以节省带宽,则建议您按照首选顺序使用AMR_WB,OGG_OPUS或SPEEX_WITH_HEADER_BYTE编解码器。
来源:https://cloud.google.com/speech/docs/best-practices
该API支持FLAC,WAV或raw,我正在尝试将我的文件以编程方式转码为其中一种以便在应用程序中使用。但是,我找不到合适的Python库来执行此操作。
更新:这是答案:https : //www.ffmpeg.org/(不是python,但是可以肯定的是,其中最全面的工具)
我正在通过"C编程语言"并尝试反转C风格的字符串.我的理解是像"voldemort"这样的字符串文字表示为9个字符后跟空字符的字符数组(每个字符的大小为1):
v o l d e m o r t \0
_ _ _ _ _ _ _ _ _ _
Run Code Online (Sandbox Code Playgroud)
我想要反转字符串的想法是找到长度,然后使用它来声明一个适当长度的数组,并将其定义为反向,最后保持null.
t r o m e d l o v \0
_ _ _ _ _ _ _ _ _ _
Run Code Online (Sandbox Code Playgroud)
然而,在我的反向弦中,长度突然变长,我没有任何运气弄清楚原因.
#include <stdio.h>
int mystrlen(char s[]);
void reverse(char original[], char reversed[], int len);
int mystrlen(char s[]) {
int i = 0;
while (s[i] != '\0') {
++i;
}
return i;
}
void reverse(char original[], char reversed[], int len) …Run Code Online (Sandbox Code Playgroud)