Python silk 库 支持微信语音

本文介绍了Python库pilk用于微信语音的SILK编解码,包括安装、SILK格式解析及快速入门示例。pilk支持标准SILK文件与Tencent系语音文件的转换,并提供了获取语音文件持续时间的函数。同时,文章还提到了音频文件与PCM数据之间的转换,以及如何利用ffmpeg进行转换。

GitHub 项目地址

python silk codec binding 支持微信语音编解码

pilk

python silk codec binding 支持微信语音编解码

pilk: python + silk

安装

请添加图片描述

pip install pilk

介绍与说明

SILK 是一种语音编码格式,由 Skype
公司研发,网上可找到的最新版本是 2012 发布的。

SILK 原始代码已上传到 v0.0.1 release , 包含规范文档

Tencent 系语音支持来自 silk-v3-decoder

v0.0.1 release
中也包含 silk-v3-decoder 重编译的 x64-win 版本

SILK 编码格式 和 Tencent 系语音的关系:

此处 Tencent 系语音,仅以微信语音为例

  1. 标准 SILK 文件以 b'#!SILK_V3' 开始,以 b'\xFF\xFF' 结束,中间为语音数据
  2. 微信语音文件在标准 SILK 文件的开头插入了 b'\x02',去除了结尾的 b'\xFF\xFF',中间不变

已下统称为语音文件

语音数据

语音数据分为很多个独立 frame,每个 frame 开头两字节存储剩余 frame 数据的大小,每个 frame 默认存储 20ms 的音频数据

据此可写出获取 语音文件 持续时间(duration) 的函数(此函数 pilk 中已包含)

def get_duration(silk_path: str, frame_ms: int = 20) -> int:
    """获取 silk 文件持续时间,单位:ms"""
    with open
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值