transform audio file to silk
Project description
Graiax-silkcoder
现在版本:
这,是一个Python的silk转码器
通过将kn007/silk-v3-decoder通过简单的封装制成
安装
# 如果需要转换非wav的音频文件,则需要自行安装ffmpeg
pip install graiax-silkcoder
# 也可以通过下面的方式使用imageio-ffmpeg中的ffmpeg
pip install graiax-silkcoder[ffmpeg]
注: 假设你是Windows用户,安装时出现了error: Microsoft Visual C++ 14.0 is required:
请安装Microsoft C++ Build Tools
自定义ffmpeg_path
可能有一些用户会想要自定义ffmpeg的路径 你可以使用以下方法解决:
from graiax import silkcoder
silkcoder.set_ffmpeg_path("./ffmpeg")
使用方法
# 假设你是以 python -m asyncio 启动的python
from pathlib import Path
from graiax import silkcoder
#silk编码
#你可以文件→文件
await silkcoder.encode('a.wav', 'a.silk')
#你可以文件→二进制数据
silk: bytes=await silkcoder.encode('a.wav')
#你可以二进制数据→二进制数据
silk: bytes=await silkcoder.encode(Path('a.wav').read_bytes())
#你可以二进制数据→文件
await silkcoder.encode(Path('a.wav').read_bytes(), audio_format='wav', 'a.silk')
#你可以指定让ffmpeg解码音频,也可以让程序自己选择
#注:只有当音频是wav且ensure_ffmpeg=None时才会不使用ffmpeg处理
await silkcoder.encode('a.wav', 'a.silk', ensure_ffmpeg=True)
#你也可以设置码率(默认状态下将会将尝试将目标语音大小限制在980kb上下)
await silkcoder.encode('a.wav', 'a.silk', rate=70000)
#你甚至可以剪辑音频
await silkcoder.encode('a.wav', 'a.silk', ss=10, t=5)#从第10s开始剪辑5s的音频
#silk解码
#你可以文件→文件
await silkcoder.decode('a.silk', 'a.wav')
#你可以文件→二进制数据
wav: bytes=await silkcoder.decode('a.silk')
#你可以二进制数据→二进制数据(必填audio_format)
mp3: bytes=await silkcoder.decode(Path('a.silk').read_bytes(), audio_format='mp3')
#你可以二进制数据→文件
await silkcoder.decode(Path('a.silk').read_bytes(), 'a.wav')
#你可以指定让ffmpeg解码音频,也可以让程序自己选择
#注:只有当音频是wav且ensure_ffmpeg=None时才会不使用ffmpeg处理
await silkcoder.decode('a.silk', 'a.wav', ensure_ffmpeg=True)
#你也可以直接传入ffmpeg参数来输出
await silkcoder.decode('a.silk', 'a.mp3', ffmpeg_para=['-ab', '320k'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
graiax-silkcoder-0.1.2.tar.gz
(206.3 kB
view hashes)
Built Distributions
Close
Hashes for graiax_silkcoder-0.1.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac457713ebaa7268873a2066537b69dcd0a0aa4a933fdff2df11b86c3aa71a08 |
|
MD5 | 897ac629a6a1525defd8c8da7290299f |
|
BLAKE2b-256 | 3ea2d38288be07b5efefeb4a74416c1335b2c8184994816b466204dd09770211 |
Close
Hashes for graiax_silkcoder-0.1.2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a97bb365a72663aa2b8393cb8b6865732bc01449c193953d34a64d58ecd8cfe |
|
MD5 | 533827fe08dfcf1be28245e9a5b6c1e9 |
|
BLAKE2b-256 | 43ebc496300bf82adb2887806521db05845610d5a072deb0ecc56baf94a52074 |
Close
Hashes for graiax_silkcoder-0.1.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c9ebadaa7f9500e377a7238d02379a97c7fe7d42bf95e304a8bfa1e9963ed20 |
|
MD5 | cb133ccea418a554b0cddd896d066a70 |
|
BLAKE2b-256 | f0e7d39c535dee35a5df0e57a056e556193685aad15730d10467f8219e7f6219 |
Close
Hashes for graiax_silkcoder-0.1.2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1a9ef675fcd4da78b21b9fb0fc93fff448ee0b1a28b7d82c774eae75ec1a82 |
|
MD5 | c3433f7e716f5e339cd96e5f7e3b2379 |
|
BLAKE2b-256 | 765c3f905bd2d6638f265f3b52dce36b99b2c7b3ecd5e94c5d63fc1700211963 |
Close
Hashes for graiax_silkcoder-0.1.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfa2ff8ab9c4043c74521a56829909c6b4b2695c9e4ca086dd6a365cd1add4b4 |
|
MD5 | 71184751bd9b2d7bbf09bf10dfed0243 |
|
BLAKE2b-256 | a016c2705612fa2853db8ac9fd754cbee4d5de9c985ca4cc241ca4e03535aeec |
Close
Hashes for graiax_silkcoder-0.1.2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a6bd4850c6aecda7979926ebfddf0e8084260a62bf189cc885209a05d153b98 |
|
MD5 | 66324e85f9036cdfdf8051b59824e991 |
|
BLAKE2b-256 | e6998148cb262ed4a5c5e347f26fa9291b5b990cd07732ae33b989a1c1092997 |