silk encode and decode
Project description
✨ pysilk ✨
The python binding for silk-v3-decoder
安装
pip install silk-python
使用
- encode
import pysilk
with open("verybiginput.pcm", "rb") as pcm, open("output.silk", "wb") as silk:
pysilk.encode(pcm, silk, 24000, 24000)
- decode
import pysilk
with open("verybiginput.silk", "rb") as silk, open("output.pcm", "wb") as pcm:
pysilk.decode(silk, pcm, 24000)
支持功能
- 接受任何二进制的
file-like object
,比如BytesIO
,可以流式解码大文件 - 包装了silk的全部C接口的参数,当然他们都有合理的默认值
- 基于
Cython
, 关键部位 内联C函数,高性能
公开函数
from typing import BinaryIO
def encode(input: BinaryIO, output: BinaryIO, sample_rate: int, bit_rate: int, max_internal_sample_rate: int = 24000, packet_loss_percentage: int = 0, complexity: int = 2, use_inband_fec: bool = False, use_dtx: bool = False, tencent: bool = True) -> bytes: ...
def decode(input: BinaryIO, output: BinaryIO, sample_rate: int, frame_size: int = 0, frames_per_packet: int = 1, more_internal_decoder_frames: bool = False, in_band_fec_offset: int = 0, loss: bool = False) -> bytes: ...
公开异常
class SilkError(Exception):
pass
✨v0.2.0✨
合并了CFFI 的工作
本机编译
python -m pip install setuptools wheel cython cffi
git clone https://github.com/synodriver/pysilk
cd pysilk
git submodule update --init --recursive
python setup.py bdist_wheel --use-cython --use-cffi
后端选择
默认由py实现决定,在cpython上自动选择cython后端,在pypy上自动选择cffi后端,使用SILK_USE_CFFI
环境变量可以强制选择cffi
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
silk-python-0.2.1.tar.gz
(300.6 kB
view hashes)
Built Distributions
Close
Hashes for silk_python-0.2.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c4548c18c91709d8c8c43307fbddbaca747320e5f9918e42bea046811fb89ba |
|
MD5 | aa22761f52b1eea5511b7d747c442a6b |
|
BLAKE2b-256 | c07026546309c691bcaa0281f7a576d2ad8fc1ef328f9c17669d74222c15a0c1 |
Close
Hashes for silk_python-0.2.1-pp38-pypy38_pp73-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad2ca8215fb744f35a071495132793df3b5f3f369ff99bf1877bd1f84174fb55 |
|
MD5 | ff4f1a0109c8fad92116e194b4d5e4e3 |
|
BLAKE2b-256 | d76893af683489b8650d0aaf965cf0590b52e28403bbf50e5d4dfcaf62e130cb |
Close
Hashes for silk_python-0.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45ce4f67b32dbf2fcd992c7c78d1e3d6b9842f4b727296dca6e31218135800cf |
|
MD5 | 7442eb77b90940416f8e622a8e5a47a4 |
|
BLAKE2b-256 | 3cc19531afab571f2d34f4e16d4eda45e2f0324fe36e0b1bc0646365c7abe0cd |
Close
Hashes for silk_python-0.2.1-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8aa36834b593bd358d7bee2c8ee1a6a85ffad6aceb86861aaee072dccc1ceb2 |
|
MD5 | ee6707d6020ff8f46a799d881cc0e020 |
|
BLAKE2b-256 | 795cc1a5a77ac60518c1f8b749fc14d725f23c3630d3fbf49a598172f2685261 |
Close
Hashes for silk_python-0.2.1-pp37-pypy37_pp73-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fe160c2beb0786a7af199214d151e6f999cfc818472721aef8b74b5a8edbf09 |
|
MD5 | 3e25c55eb1480ac0c526073662927074 |
|
BLAKE2b-256 | b8b53f614882136a654877c5fedd03524b59003d1df3438875b4fed140a5dbb9 |
Close
Hashes for silk_python-0.2.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab85e518ab50dad766b5329e05664ed1ef4ba96dcc174e8f0981faa22640531c |
|
MD5 | a9a4db2a2c1982d56529b4df6642d9f9 |
|
BLAKE2b-256 | d6ccef959e660d7b2f7e6d966b37be8325f46ceb0d0c15a97836db792874ef18 |
Close
Hashes for silk_python-0.2.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4acc9535958a9d5ddad8b5250b0579543b842a715a1526fed98295e18131a90 |
|
MD5 | 4b5731d45fe70bafbcde87898e7a36fc |
|
BLAKE2b-256 | 933fb422452dfde5314b877fb7de8b662ff491d1dae2b6642f372c8dbef5c64a |
Close
Hashes for silk_python-0.2.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 748a67c9b99270a86d8ca3e941cf93e91f481455df768488b0b6a319939df066 |
|
MD5 | 2138d15d9c7e56303a1778cc89ea25c8 |
|
BLAKE2b-256 | ee1689eb914e4993f0ae4ad7ca777236bba1a33ba2148ef9b328b274b6604bb8 |
Close
Hashes for silk_python-0.2.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 550095a667f30135cf3481a5e232b96e6ba43fff62255ef2a0c799f57a6a6048 |
|
MD5 | 61dbe0821193396291f2c7faa3a4e5bf |
|
BLAKE2b-256 | 58842d163fe7ebb6015a796a5f8ef921ce0d199f3f0cecba3924f389261602bd |
Close
Hashes for silk_python-0.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 237cb541fb5331e5850b4b1df7ab08f4400a835b294afb4e93d4941846a9cd59 |
|
MD5 | 636e1b94a757566b34b0a2ba722afe82 |
|
BLAKE2b-256 | 20ca303627506314d38f19fb0376d51bd1be9fd29d82ce585fd0aa74d2fa3d66 |
Close
Hashes for silk_python-0.2.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e1ab69132d1ef223a3b02eb5d9dcdb802cffddcbf3b7ca9e42bc7f38e8a0ae |
|
MD5 | 7613755124b7352484c383c405beb019 |
|
BLAKE2b-256 | 431028b79e707b4576517919ee0722c9c80b663d2ae62bd4640653d53c9f82d4 |
Close
Hashes for silk_python-0.2.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b62943c07d4e701c175e1eb12aaf8e0af2a3a8430d6e3f46aa5b863d1038d8d |
|
MD5 | db0ad35a9840c08f0d7234259088ddff |
|
BLAKE2b-256 | 8431d639318df0b3b9d2aa1b6c620c356e89cd5c14773bab41927b40be22b9a6 |
Close
Hashes for silk_python-0.2.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 874e5f5a1c65bfa978157608a55a7af62e67c98c81ef8a9f40bd6db74cfde5d5 |
|
MD5 | 3fd6059fc66c831a7e735d54c9163dc2 |
|
BLAKE2b-256 | f3eddccf1a5445215d865df2d33448f726e6c4843b7b4045cf6fd1b0d36ccdd4 |
Close
Hashes for silk_python-0.2.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ca9a5867b86f940ed9479f0433189581552e354f6325bb467a01bdcecd58523 |
|
MD5 | 4d76aebee3ecbd70d28e8aef035d3542 |
|
BLAKE2b-256 | d02f3dda5b337aef59acd6e32efb401c65161ca57e0b2e5bd64ff29ab80fcee4 |
Close
Hashes for silk_python-0.2.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e732c74e02569d87e008d8be83716347ebd86922282419b322b9df56ac09665 |
|
MD5 | aa87e123b92a46dcf275a45715ff8430 |
|
BLAKE2b-256 | 34e50a809cdf613c0eeb345550cdab05e09df3d666c8dc4948d77ea23b8fd0a3 |
Close
Hashes for silk_python-0.2.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2f0914630dfd468270c2f12b2ff829941b27adadbf9e758fce8efb33aa84701 |
|
MD5 | 7b749802a73afa53f8184402717458e6 |
|
BLAKE2b-256 | 34837108e9f8a297ac16e635fdc441db0c2b8a2f1a17a2595b71ecf52413dc27 |
Close
Hashes for silk_python-0.2.1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8126c7ce121b4418bd4ea99e2f27daec3725e4fa9d86b1f23b1fa85e8ad98b4d |
|
MD5 | 142e788e7e1f89b3656ea1172825ec40 |
|
BLAKE2b-256 | f857ff020a73c094d9cb6a8e205761213ec1b3523347e3d544157ebb274e68f9 |
Close
Hashes for silk_python-0.2.1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c07aacbed720905fded1128a1c053f0c7990a99794c29b263d5ab36df534a469 |
|
MD5 | 3fd0bcb4c09d2c7b70fea9d39494e18a |
|
BLAKE2b-256 | c6c65966d79e533d92b3eebdfd8ffcd0a1e9a70d51bde3f0281babc3ded62595 |
Close
Hashes for silk_python-0.2.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f7358885a31e25f9a14384bad7863f8a2840dd0fc7dc8ea08690d826fb9aa20 |
|
MD5 | 7f4caaf4e212592da1388a75c729981c |
|
BLAKE2b-256 | af444e7194991fa6b3013328b40e62276d3ea978db8b18b23184b2f60cc6d7e3 |
Close
Hashes for silk_python-0.2.1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09e8041dc7ca96262baec16c15c0e5c7655d7a065f48bd3e70b78d8ee7478b88 |
|
MD5 | 4e7b757eada7deec9167479f7c51697a |
|
BLAKE2b-256 | c92432bc32343d33b7b1a2a724b320c23e0ff0d67b3339b86b7dd19187851559 |
Close
Hashes for silk_python-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e72b36258d0b1662e0dd079751a13cadca64aa6a04b393ef841b14ee9ed32750 |
|
MD5 | d845d5ba617d9c27d40d64d6d4d167de |
|
BLAKE2b-256 | d1078ac871405906fcd07415b756f7e425bfe732a1a6043ce5f2fb739ec13ff8 |