IBM 语音转文本 - 如何将 MP3 音频文件转换为字节数组

Posted

技术标签:

【中文标题】IBM 语音转文本 - 如何将 MP3 音频文件转换为字节数组【英文标题】:IBM speech to text- How can I convert MP3 audio file into an array of bytes 【发布时间】:2019-02-15 11:13:41 【问题描述】:

以发送到 IBM Watson 中的服务器,以使用语音转文本 API 将音频转换为文本

【问题讨论】:

你可以使用 thius 库 github.com/Kaljurand/speechutils 我会试试这个先生谢谢 先生,我有一个问题,这是否支持说话者标签,例如识别说话者是谁? 那不是您在问题中要求的。但是,您可以使用一些工具来解决您需要检查的问题:docs.microsoft.com/en-us/azure/cognitive-services/speech/… 此外,如果您需要内容识别。因为你需要在音频文件中找到特定的歌手,你可以在这个库中获得所有帮助:docs.microsoft.com/en-us/azure/cognitive-services/speech/… 【参考方案1】:

您可以像这样将 mp3 转换为字节数组;

fun convert(context: Context): ByteArray 

        val outputFile = Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS).absolutePath + "/sample.mp3"

        var soundBytes = ByteArray(0)
        try 
            val inputStream = context.contentResolver.openInputStream(Uri.fromFile(File(outputFile)))
            soundBytes = IOUtils.toByteArray(inputStream)
         catch (e: Exception) 
            e.printStackTrace()
        

        return soundBytes

Java

public byte[] convert(Context context) 

    String outputFile =
            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/sample.mp3";

    byte[] soundBytes = new byte[0];
    try 
        InputStream inputStream =
                context.getContentResolver().openInputStream(Uri.fromFile(new File(outputFile)));

        soundBytes = new byte[inputStream.available()];
        soundBytes = IOUtils.toByteArray(inputStream);

     catch (Exception e) 
        e.printStackTrace();
    

    return soundBytes;

【讨论】:

先生?这是什么方法?有趣的转换(上下文:上下文):字节数组 ? 先生什么是有趣的转换方法? 这是 Kotlin 语言,你用的是 Java 吗? android 工作室先生是的先生 先生?您能否将 ibm watson 语音中的转换字节合并到上述代码中的文本 api 中,请先生帮助我

以上是关于IBM 语音转文本 - 如何将 MP3 音频文件转换为字节数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将音频文件转为base64 编码

如何将音频文件转为base64 编码

怎么通过ffmpeg将音频文件转换成Mp3 转

如何将flac格式的音频文件转换为MP3格式?

如何将文字变成声音,然后录制成音频?

如何将 Android 的语音与音频示例文件一起用于文本