Ffmpeg 将WAV转换为TETRA格式

Ffmpeg 将WAV转换为TETRA格式,ffmpeg,speech-recognition,codec,sox,Ffmpeg,Speech Recognition,Codec,Sox,我正在尝试将wav文件转换为TETRA编码文件()。Tetra供消防人员使用,它提供类似无线电的声音 我正在尝试使用()上提供的官方tetra编解码器代码,我们可以使用()上提供的脚本轻松编译它 但是,我不知道如何使用这些文件将wav文件转换为tetra编解码器文件。我试着浏览编译文件的文档(ccoder、cdecoder、scoder、sdecoder) 我尝试了以下命令- tetra/bin/scoder input.wav串行文件合成文件 这里,serial_文件和synth_文件是输出文

我正在尝试将wav文件转换为TETRA编码文件()。Tetra供消防人员使用,它提供类似无线电的声音

我正在尝试使用()上提供的官方tetra编解码器代码,我们可以使用()上提供的脚本轻松编译它

但是,我不知道如何使用这些文件将wav文件转换为tetra编解码器文件。我试着浏览编译文件的文档(ccoder、cdecoder、scoder、sdecoder)

我尝试了以下命令-

tetra/bin/scoder input.wav串行文件合成文件

这里,serial_文件和synth_文件是输出文件,在scoder.c文件中有以下文档:

    INPUT   :   - Description : speech file to be analyzed
                - Format : binary file 16 bit-samples
                  240 samples per frame

serial_file :   - Description : serial stream output file 
            - Format : binary file 16 bit-samples
              each 16 bit-sample represents one encoded bit
              138 (= 1 + 137) bits per frame

synth_file  :   - Description : local synthesis output file 
            - Format : binary file 16 bit-samples
对于大小为13M的输入文件,我获得了大小为8.0M和16M的串行_文件和synth_文件。然而,我认为由于wav文件被转换成对讲机类型的信号,输出文件的大小会小很多

我想澄清一下:

  • 我使用正确的代码将输入wav文件转换为tetra格式的输出文件
  • 你能帮我理解一下,什么是串行文件和合成文件吗
谢谢,
Ashish是一个内部计算的参数,您可以忽略它

serial_文件
是实际编码的数据,您可以在sdecoder中使用它

传统上,ETSI代码使用非常不有效的输出格式,在这种格式中,它们不输出位,而是输出这些位的文本或扩展表示。也就是说,他们写一个16位的字,其中所有位都是0,最后一位有信息。我想,他们这样做是为了与他们的传输损坏测试工具进行交互

因此,串行文件的实际长度应该小16倍,因此您将13Mb转换为0.5Mb,这是正常的