transform audio file to silk
Project description
Graiax-silkcoder
现在版本:
这,是一个Python的silk转码器
通过将kn007/silk-v3-decoder通过简单的封装制成
安装
从 PyPI
# 如果需要转换非wav的音频文件,则需要自行安装ffmpeg
pip install graiax-silkcoder
# 也可以通过下面的方式使用imageio-ffmpeg中的ffmpeg
pip install graiax-silkcoder[ffmpeg]
# 在 0.3.0 后,可以通过以下方式使用libsndfile来解析音频
pip install graiax-silkcoder[libsndfile]
注: 假设你是Windows用户,安装时出现了error: Microsoft Visual C++ 14.0 is required:
请安装Microsoft C++ Build Tools
从 conda-forge
conda install graiax-silkcoder -c conda-forge
# 如果需要 ffmpeg,可以一并从 conda-forge 安装
conda install ffmpeg -c conda-forge
Q&A
ImportError:DLL load failed while importing _silkv3:找不到指定的模块
相关issue: #23
现在本库已经通过 Github Actions
来预编译 whl 了,出现这种问题一般不是说没有编译。
如果遇到这种问题,请在这里下载最新版本的 C++ Redistributable
我去除了大部分的 C++ 的代码,但是我保留了一部分,才让你知道,才知道你用的,是 C++
IOS 音频问题
IOS 的音频解码器因为某些特性,只支持解码 25kbps 以下 的音频。
所以在 0.2.6 中,我们新增了一个 ios_adaptive
参数(默认为 False)。
当为 True 时,将把自适应最高码率限制在 24kbps 以下(一般是限制在 100kbps 以下)
ffmpeg 转换成 aac
格式的问题
因为 graiax-silkcoder
全程采用 PIPE 的形式跟 ffmpeg 传输,
所以假设你想要将 silk 转码成 aac 的时候,就会出现一些问题。
解决方法如下
await silkcoder.async_decode("a.silk", "a.m4a", audio_format="adts")
注:ADTS 是 AAC 音频的传输流格式
自定义ffmpeg_path
可能有一些用户会想要自定义ffmpeg的路径 你可以使用以下方法解决:
from graiax import silkcoder
silkcoder.set_ffmpeg_path("./ffmpeg")
CLI(0.2.0新增)
使用办法
# 其他参数与encode / decode 保持一致
python -m graiax.silkcoder encode -i "a.wav" "a.silk"
python -m graiax.silkcoder decode -i "a.silk" "a.wav"
是 ffmpeg
还是 libsndfile
在该项目最开始的时候,就有人吐槽过:为了简简单单的音频转换去下载一个大的离谱的 ffmpeg,这也太麻了吧。
(注:虽然说 ffmpeg 可以通过 disable 一大堆不必要视频/滤镜库来达到减小体积的目的,但是这需要自己编译,对小白挺不友好的)
所以,从 0.3.0 开始,开始增加了通过 libsndfile 来使用解析音频。
libsndfile 是一款广泛用于读写音频文件的C语言库, 他支持包括 flac, ogg, opus, mp3[1]等多种格式。
注:在同时可以使用 ffmpeg
和 libsndfile
的情况下, graiax-silkcoder
会优先使用 ffmpeg
进行转码
使用方法
Tips:
因为同步和异步的区别只有前面是否有一个 async_
所以下面我们就只拿同步方法距离了
编码
你可以传入 pathlike、str、bytes 作为你的输入
from io import BytesIO
from pathlib import Path
from graiax import silkcoder
data: bytes = silkcoder.encode("a.wav")
data: bytes = silkcoder.encode(Path("a.wav"))
data: bytes = silkcoder.encode(Path("a.wav").read_bytes())
data: bytes = silkcoder.encode(BytesIO(Path("a.wav").read_bytes()))
它也能输出到 filelike、bytes
from io import BytesIO
from pathlib import Path
from graiax import silkcoder
data: bytes = silkcoder.encode("a.wav")
silkcoder.encode("a.wav", "a.silk")
silkcoder.encode("a.wav", Path("a.silk"))
silkcoder.encode("a.wav", BytesIO())
它能做到截取一部分来编码
from graiax import silkcoder
#从最开始截取 5s
silkcoder.encode("a.wav", "a.silk", t=5)
#从第 10s 开始截取 5s
silkcoder.encode("a.wav", "a.silk", ss=10, t=5)
你可以指定你的编码器
from graiax import silkcoder
from graiax.silkcoder import Codec
silkcoder.encode("a.mp3", "a.silk", codec = Codec.libsndfile)
silkcoder.encode("a.mp3", "a.silk", codec = Codec.ffmpeg)
在 ffmpeg 模式下,你甚至可以直接传入 ffmpeg 参数
from graiax import silkcoder
# 虽然 -vn 是可有可无,但我想不出其他例子了
silkcoder.encode("a.mp4", "a.silk", codec = Codec.ffmpeg,
ffmpeg_para = ["-vn"])
你还可以指定输出 silk 的码率大小
from graiax import silkcoder
# 默认状态下将会将尝试将目标语音大小限制在980kb上下
silkcoder.encode("a.wav", "a.silk", rate = 70000)
解码
跟编码一样,你的输入和输出都支持 pathlike、str、bytes
在非 wave 模式下,你可以写 metadata
from graiax import silkcoder
from graiax.silkcoder import Codec
metadata = {"title": "xx群",
"artist": "xx网友"}
# Tips: 如果你硬是选了 wave,他会忽略 metadata 参数而不是报错
silkcoder.decode("a.silk", "a.flac",
codec = Codec.libsndfile,
metadata = metadata)
在 ffmpeg 模式下,你可以选择输出的码率(仅对于有损格式)
在 libsndfile 模式下,你可以选择输出的质量(vbr)(仅对于有损格式)
from graiax import silkcoder
from graiax.silkcoder import Codec
#ffmpeg 转换成 128kbps 的 mp3
silkcoder.decode("a.silk", "a.mp3",
codec = Codec.ffmpeg,
rate = 128000)
#libsndfile 转换为 压缩率最大 的 flac (注,quality 参数只能在 0~ 1 )
silkcoder.decode("a.silk", "a.flac",
codec = Codec.libsndfile,
quality = 1)
你甚至可以在 ffmpeg 模式下输入 ffmpeg 参数
from graiax import silkcoder
silkcoder.decode("a.silk", "a.mp3", ffmpeg_para = ["-ar", "44100"])
注
graiax-silkcoder
对libsndfile
的支持来源于第三方库soundfile
,而该库在 0.11.0 之前并不支持mp3、opus。
可能有一些库会将soundfile
锁定在 0.11.0 版本前,如果 mp3 无法读取,请选择 ffmpeg
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
Built Distributions
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcc8595158306748a03c99a7b89bb4f0a459458ec0144c4add0861d7bce132e2 |
|
MD5 | 1e096d015705bbae1a2598050f79ecc3 |
|
BLAKE2b-256 | bff5322ba14629e3f40d3fbc3ff93d14dc4a2178c245a3f33016efc713016448 |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebd5a021cd26c41875015f38a9e01ef9df88b1840728a0e80b34a3c611ee8793 |
|
MD5 | df3b5343a69232a82afd8a58b2d08e34 |
|
BLAKE2b-256 | 40d7594d4dfd11be6be72c4c7ebd171b94a2f9d542e4e80b1a915168f79b76ac |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c1b8d09823225641f3c336e692fea582be2337b29782d44ecd78970f1ce23ee |
|
MD5 | 8359122d7504cd3dbcfce66f578f5810 |
|
BLAKE2b-256 | 375782279870486dfa2d3abc3579f4252ececab02eec16e83d04fd28ee59858d |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c110f140675f3b04e3642e224c77e8bcfdef371b3a9a0cd1d50294404f38d53e |
|
MD5 | 0a1d53264a723a523ce651d72272e376 |
|
BLAKE2b-256 | 41877dc92b4f98d019d45da926ac191d61cb4c236e90a2544facacefd6d9a2db |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3aae09e3a4f92bd1beaf5915689b97b36a25543469d6a5fcbee562e574e30b5 |
|
MD5 | 80ef55c95eff9cdbda527378970cb3b8 |
|
BLAKE2b-256 | 1f76e2f51fdf03d4134657becf127669189f0e78379a7c0c42acba90c0fa4cfc |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8095387f0e1842667c1a0bd60ebe281385119476499b7370663ea97bbc561db6 |
|
MD5 | 7061d66d4424436e599f7642bc59f4cd |
|
BLAKE2b-256 | 644f23ae2a8df4dcc36bdfc53e2e560381966f7718597be730d19322ab37d6d8 |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea1aef10328bd55777faf4ee7ef10a4e4a0034b3c2cc8a95d5125ec253953d81 |
|
MD5 | 5b69aa1725ee2414340048ea36f68e76 |
|
BLAKE2b-256 | 798d1ffe885a99fb3a0cf11d50ccac254ccb47526e38e1eaf91f7152bfc646ad |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c04ab59ed0334db382da7e4845feaf52439705dadb0e53509004d71ef289c38d |
|
MD5 | 33b8d74c030572403ce42a583c6cbe5c |
|
BLAKE2b-256 | 94f3dc25e12e24bce91299f27f7e093d6f745af110d591dc4d0124a6668f2712 |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26ea6b282f8866d089eac1efb0c4fe3fedcbfa3107b477756856251786be3063 |
|
MD5 | 7aefe88399e094caea0e906bc8188ae5 |
|
BLAKE2b-256 | 21d925fcf3e0ed2a2fd37fe7ccc40a603704b47a8329c102acd7a18cfe12a048 |
Hashes for graiax_silkcoder-0.3.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9068ed7a00ebb0532431429d6280cfb7b49b72d24e275f164a5b09db2ee711ff |
|
MD5 | 0ed5ee6f53ba60d7ab52c4e9904a7093 |
|
BLAKE2b-256 | 70d875f19a04e6b9106b0ad0f2a00aa492c5905d3ae9249da823ea6b5c3e94d3 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c2c413be55efff52b7d0bb7d854ad5a6a99246149de8c4cfe2ea6ec919c8d12 |
|
MD5 | fcbcfaf41b962d3e2e8e43df7b487fd8 |
|
BLAKE2b-256 | 5afd1ba113b6ecf317b7510d6ad7cb10d4691c9b32d8f0ceb6e88db15299c78e |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06da1386bf314b247187e1977e782f747319ebf671e89bccda1691dc2ef8e393 |
|
MD5 | a2757f9f970f60864dd81530e85e7559 |
|
BLAKE2b-256 | f5ef92b9dde66bdda31a99765c056c25263347cdba66c3c595a1e7bbb9a4ea85 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f503d05aac8ec0d39ee094205d377befdf77ae71ba4f4dd096de0e72bf554f17 |
|
MD5 | f5ced0df84b216c8416d9cb7acdc05e6 |
|
BLAKE2b-256 | b440f1770f215d7a039b778f9b3c9423176e5878d65177168fc445b7ec2f1420 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f92f0482cab0f356cf27629308d0b53663a3abd539a0c418b94f60c2b5ce9c |
|
MD5 | 401a1aadd0b9650c28aa468ac5be6238 |
|
BLAKE2b-256 | 1e4898ae6a8c97520e0f5ab85cf3c3fcd0751b260cd74e9d7e0bb361b5980ee5 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b656845440859d1a1270fe92c984e6ccffa761e30c4b00fb53021b25e0d18512 |
|
MD5 | 529fd38cfb1927fadf4a69f55e9f4783 |
|
BLAKE2b-256 | acfec3cd87521d1b843e123a88cdc8ad84d27993f8da08f1933c16152d91830c |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdbefd099536bf0f11eb2a55399a402defafeeeae8c96b2996b90d747ca58eec |
|
MD5 | 13e79838cfc926e1896672b2c29cc218 |
|
BLAKE2b-256 | cf17481f8564e5c5cd7591d855e3e7db6a673784a07d0d16624cae30e318d846 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea69e8d8f3865b633ef1bfa7b977bb5b8620e54643351970914e87a59b00dc2 |
|
MD5 | 4858028dfa10a140b62b993b0cdbbfb9 |
|
BLAKE2b-256 | b93924aa90128ae91d4c765e0933ed27fd54f282bea35aba0c45c9ea13c9844d |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b0bfe8ea2024d08a4d7e127deffaa0f855a832dee6d954a0588e97a6f9a9d4f |
|
MD5 | 8e386f27f10f6d93fcd07d202aa969dc |
|
BLAKE2b-256 | fd274699e22e97b7a2a70fe3ebac5def78d692bd1b785f70517c2cbcc6b762ab |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4baebd4c8205f2ba2d98b6aa3ea4b0d5dd35a4aba6b9f8b1f4ac5d2f03071e9 |
|
MD5 | f37aadf7966b8db0ee8f56f02b4bf732 |
|
BLAKE2b-256 | a774e7f0858d4dbf47b4faf362067cf0b7466abced0b62463f1160a636968467 |
Hashes for graiax_silkcoder-0.3.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e2acbdfb2a23f2d04785e0a8a822647074b11325aa405ec8b8bd3b853fc7a8c |
|
MD5 | 817c9ed62362553413a68ee7895b79ff |
|
BLAKE2b-256 | 8068e3f9aee7d09a1bcad58a5f2fd8b981a4a47e60992949a3e35a3beb148d40 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bf6a3b35e45684168851c6d24409f79cb2a1d574912d29b4ba19d4a4a6c602a |
|
MD5 | 591ab6e8be340071a7e4b5efc3eb7cb4 |
|
BLAKE2b-256 | 0aef250648d16c4cb401f211e62d98e6dcbb8768adcaa95a2639187e091594c7 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b54a805af9b1327f92e7fab04fa216b901d8e747b44f88f58a23aced059cd1f3 |
|
MD5 | 9f341f38c6f2bc0a9796e6f127263b08 |
|
BLAKE2b-256 | 3becdafa93c489b68dcf6710b27b8696da9c5206aa37e696e6a4e3d7ecc98c4d |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f325b1381f3f37d83e58ceca015ab1d8895f901234cd77dfee06d521e2324099 |
|
MD5 | 162f5a6e8a8dade85b80b7f87cd8f412 |
|
BLAKE2b-256 | 156df62c0db04b0472bae5f02e924d691282683cfe2970ab87df20b84d9bbc9d |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d58375c20bd89ec71111a3c874302b11d9491ed3cd5266fce2533d8253b0e74 |
|
MD5 | 972cf301030c7069816e1f0ce2bbfe2d |
|
BLAKE2b-256 | c569ecf71c21c29cf359490a1f42cbc885e27b5b0b87431ebd78613cbdac3f46 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 236783604dfb889f6da5743d9f7e8ec94e1e9b2ffaba6ec5009014d1661e9eb6 |
|
MD5 | 41ec88b7ac6c529bfdf94d277a7ac313 |
|
BLAKE2b-256 | 8e0a682aba21d32763cd8447a083b6518094d771b3b5451c06db6ad033a56683 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fe53ad28332338b2ce924b8854c6838e78df1ad22053ec24709a68fd12d3b48 |
|
MD5 | 9dca658321e8db1fb18041fe6c262193 |
|
BLAKE2b-256 | 018fe3aa707a50869f405f5b2f55dfeb25b44e50dbb749641db861034aa42d67 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd99a9e274a313b46bd19eccc351adcb8a60dd76560b51617d72ac07a1c953a1 |
|
MD5 | 2be0251903a99d008ec7d94c48a93a43 |
|
BLAKE2b-256 | 3b47f244b6cc4c3ce7a20b4718f43c17cba61036df30af7427ee0273f12b9c4b |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58fe593712ab7fed255eeb8db5bfbcdacbf0277891d0d4ed7e61fba07353e079 |
|
MD5 | b2eb9ad91e11714a5c78ca77b5cb25ec |
|
BLAKE2b-256 | 93a4d67da08130490b393786af9142cd13e6447251ad62e60a1efb481d7a3364 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4d54c214705fd752d6d944a3adfdbe3bd344693207294cdce061add2d0915a6 |
|
MD5 | a24f621b8bcdf0f9f6dbaeba5fec61bd |
|
BLAKE2b-256 | 8c528923eef2d133eec5c937c8833f27489679341da2f2eb2a78752924011ab8 |
Hashes for graiax_silkcoder-0.3.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e8ba31b3ebc05a67b32e4c694918ad32acbe61fef6c87a0e682231cc5b400c4 |
|
MD5 | 3cdc79f50b745c2094d329fe0b0e517e |
|
BLAKE2b-256 | 6b593b26e0323db45cd768804acca880a44cb9a33066681e54d93af0cf44e802 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3a22977d7629a3db65d35c7733417900b219051dbd9ad80d473a4f7aa3943ad |
|
MD5 | 20f73eb89d58c239f93be66856575eab |
|
BLAKE2b-256 | ef8b8f67d3a90e2a56dc13cc336d88d885318e8c6e028d0d0b19607125c0d505 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a28c2e66ffc1d8509a5f65f81cb44a888e4979f794ac8be64be95abdb496190 |
|
MD5 | f75a658261ab0468231f04608421700d |
|
BLAKE2b-256 | 94b547895b5720be732924307337199dd05fb053a7f6cc0879e1d273169b3062 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8218a5d8099aabec393403032a27a4fa504274b420b2390cbc48cdec72e33a27 |
|
MD5 | 5a759a8c527121973c9936a7fb9f903d |
|
BLAKE2b-256 | 012f24f9c2f1e944ac9646c504bdfd642c402e652efd6639dd16483a9d730725 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b540240aaa036a94a89284d026393f64988f65aefb87ef2167e59f66a96154 |
|
MD5 | f6d0af9d15d1ec68f49edd87c0c3627b |
|
BLAKE2b-256 | 35dfda62aa6cd32b31fbc0a47d007db7539b83965729ef5bd2b93940eff803e9 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15ceedadd78cc6a3dd1d53b176769a2996ca4b8314f272746e1570752ed3cd9f |
|
MD5 | ad14b032f8bc51d93897d238f9ec4e4b |
|
BLAKE2b-256 | ec10e066306524b6c485ba2f046d820511b4bcbfec47bf832d515e11edbd94c6 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f104347d8bcdbe09b0f81303f7b0f8525663333c5659c145cd7dd931079c2317 |
|
MD5 | ac351d3e6d0c6e26f42aee63b24864db |
|
BLAKE2b-256 | 1c2c8df9ee57dc0911fe48ae0a4d79a2c736c3a84ca16d18659540524d984508 |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4128841660ead23c0551bd6c223773f765988018a71ca8921eebf6d497ce1fbc |
|
MD5 | 0bc9cf121e3f0cabe7b57612a3232e66 |
|
BLAKE2b-256 | 7884f066ffb316898c249eda865c750ce86524a969e0a2a7fbae8a79f71942dd |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d42d8b5f78b45a1b8338debd5a49e2744f0012e4191088f4e467a518ae1b0e7 |
|
MD5 | cecd5b4fba4a943abdc1dc75beaf2efc |
|
BLAKE2b-256 | c0f59c8012579e97152a6fc31fbf85b4c2e8613788d849eb24084f47f239b6fe |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1c4b5b55679f18057846a1822b7341dd5d44417c563e1af2c53d441f3efdf5 |
|
MD5 | c541d9689bcde2cb8e9ef02fe5db0afa |
|
BLAKE2b-256 | 48742d42909fbc1dc04a5f6931ee31d8805af6509f65b7647e7470d8966ae6cc |
Hashes for graiax_silkcoder-0.3.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9121d10cbf890606b654f37e69c3d346d0053c5288fa14bc1b394cbe23293995 |
|
MD5 | aa3c1c42ab0486559237407c476b80f6 |
|
BLAKE2b-256 | d38d44eb89d1d3f209fe1b5dd59cc7d13762aa5ef27ed09cfa9ac2b8e4ba0dc4 |