kdxf speex

speex

import subprocess

# 定义FFmpeg命令
ffmpeg_command = [
    'ffmpeg',
    #'-f', 'dshow',
    '-i', r'd:\tug\iat_mp3_16k.mp3',
    '-acodec', 'speex',
    '-ar', '16000',
    '-ab', '16000',
    '-ac', '1',
    'output.spx'
]
spxcmd='spxTest -enc 16000 7 1280 D:\\tug\iat_pcm_16k.pcm 1.speex'
#ffmpeg -f dshow -i audio="your_microphone_name" -acodec speex -ar 16000 -ac 1 output.spx

# 执行FFmpeg命令
subprocess.call(spxcmd)

kdxf speex_第1张图片

Windows&linux平台speex工具使用文档

Linux平台

  1. spxTest工具编译:

cd到linux_speex目录下,输入./build.sh命令,生成spxTest

  1. spxTest工具使用:

cd到linux_speex目录下,输入./spxTest 编解码选项 采样率 编解码等级 一次输入数据大小 输入文件 输出文件

例如:./spxTest -enc 16000 7 1280 1.pcm 1.speex

      ./spxTest -dec 16000 7 122 1.speex 1.pcm

详细参数参见下表:

Windows平台

  1. spxTest工具编译:

build spxTest工程,生成spxTest.exe

  1. spxTest工具使用:

打开dos窗口,切换到windows_speex_tools\spxTest\Release目录下,输入./spxTest 编解码选项 采样率 编解码等级 一次输入数据大小 输入文件 输出文件

例如:.\spxTest.exe -enc 16000 7 1280 1.pcm 1.speex

      .\spxTest.exe -dec 16000 7 122 1.speex 1.pcm

详细参数参见下表

参数

参数说明

编解码选项

-enc:编码

-dec:解码

采样率

16000

8000

编码等级

[0~10]

["speex-wb"] = {11, 16, 21, 26, 33, 43, 53, 61, 71, 87, 107}

["speex"] = {7, 11, 16, 21, 21, 29, 29, 39, 39, 47, 63}

一次性输入数据大小

当在解码时,输入的数据的大小必须为与编码等级对应的数组下标里面的值得倍数7 122 , 122是61的倍数

输出文件

自定义

你可能感兴趣的:(speex,kdxf)