当前位置: 首页 > 知识库问答 >
问题:

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

郭意
2023-03-14

IBM speech to text-我如何将MP3音频文件转换成字节数组,然后发送到IBM Watson服务器,使用speech to text API将音频转换成文本

共有1个答案

空浩淼
2023-03-14

您可以像这样将mp3转换为bytearray;

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;
}
 类似资料:
  • 问题内容: 我只想知道在Java或C#中是否有任何库或外部库中的构建允许我获取音频文件并对其进行解析并从中提取文本。 我需要创建一个应用程序,但是我不知道从哪里开始。 问题答案: 以下是您的一些选择: 微软演讲 光明 龙自然讲 狮身人面像4

  • Im尝试使用IBM speech to text API在messenger to text脚本中转录音频。 我使用请求从我在邮件中获得的url获取音频文件。但我只能得到w4a文件,沃森只支持 音频/FLAC 音频/WAV 音频/L16 音频/Ogg 我如何转换w4a格式的音频到wav以适应规格。 还是有别的办法? 多谢了。

  • 使用Microsoft语音API转录中/大型音频文件(每个文件约6-10分钟)的最佳方式是什么?比如批量音频文件转录? 我使用了https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text-sample中提供的代码,用于连续转录语音,但它在某个时候停止转录。转录有任何限制吗?我只使用免

  • 我能够使用链接中包含的教程转录音频(https://cloud.google.com/speech-to-text/docs/async-recognize),但它仅适用于WAV格式的音频。我想让它与MP3或M4A格式的音频一起工作。 我已经测试了链接中包含的所有可能性(https://github.com/GoogleCloudPlatform/java-docs-samples/blob/ma

  • 问题内容: 在过去的几天里,尝试使其正常工作时遇到了麻烦。但是我想要的是我们有一个可以通过网络发送原始数据的应用程序。然后,我读入此二进制数据并将其保存到wav(任何音频)文件中。稍后可以查看压缩。 所以有问题的代码: 也尝试过使用上述声明,但是我得到了例外:。因此,我认为正在发生的事情是因为我的流是原始音频数据,并且没有wave报头,所以抛出异常? 该文件确实可以成功写入,但是它都是静态的,是否

  • 我目前正在处理音频样本。我从AVAssetReader获得它们,并有一个,其内容如下: 如您所见,我找到的唯一用于转换[Int16]->[Float]的方法是,但这样做会增加我的处理时间。是否存在将Int16指针转换为Float指针的其他方法?