No project description provided
Project description
quiet-transfer
Tool to send/receive text/binary file over audio via many modulation schemes
Installation
pip install quiet-transfer
Dependencies
cffi>=1.12.0
, pyaudio
, soundfile
Documentation
quiet-transfer
can be used as a command line command. It's purpose is to convert data to sound and send it
to a sound card or to a WAV file, and all the way back.
Usage
usage: quiet-transfer [-h] {send,receive} ...
Command line utility to send/receive files/strings via quiet library.
options:
-h, --help show this help message and exit
commands:
{send,receive} send or receive data.
send modulate data into audio signal.
receive demodulate data from audio signal.
Send
usage: quiet-transfer send [-h] [-i <inputfile>] [-o <wavoutputfile>] [-p <protocol>] [-f]
Command line utility to send/receive files/strings via quiet library.
options:
-h, --help show this help message and exit
-i <inputfile>, --input <inputfile>
input file (use '-' for stdin).
-o <wavoutputfile>, --output-wav <wavoutputfile>
write audio to this wav file.
-p <protocol>, --protocol <protocol>
protocol
-f, --file-transfer enable file transfer mode.
<inputfile>
can be the name of a file to read data from or-
(default) if you want to read data fromstdin
.<wavoutputfile>
is the optional name of a WAV file to write audio data to. If not present, the audio data will be written to the current default output audio device<protocol>
can be one of:- audible
- audible-7k-channel-0
- audible-7k-channel-1
- cable-64k
- ultrasonic
- ultrasonic-3600
- ultrasonic-whisper
- the
--file-transfer
flag enables the following behaviour:- If
<inputfile>
is missing or is-
, the flag is ignored. - Otherwise, the
<inputfile>
is read in memory all at once and its CRC32 is calculated. - The file size and the CRC32 are put in a JSON header which is encoded in audio and sent to audio/written to the WAV file.
- Some information messages are written to
stderr
- If
Receive
usage: quiet-transfer receive [-h] [-o <outputfile>] [-w] [-d <dumpfile>] [-p <protocol>] [-i <wavinputfile>] [-f]
Command line utility to send/receive files/strings via quiet library.
options:
-h, --help show this help message and exit
-o <outputfile>, --output <outputfile>
output file (use '-' for stdout).
-w, --overwrite overwrite output file if it exists.
-d <dumpfile>, --dump <dumpfile>
dump received audio to this wav file.
-p <protocol>, --protocol <protocol>
protocol
-i <wavinputfile>, --input-wav <wavinputfile>
WAV file to read from.
-f, --file-transfer enable file transfer mode.
<outputfile>
can be the name of a file to write data to or-
(default) if you want to write data tostdout
.--overwrite
must be specified if<outputfile>
already exists.<protocol>
can be one of:- audible
- audible-7k-channel-0
- audible-7k-channel-1
- cable-64k
- ultrasonic
- ultrasonic-3600
- ultrasonic-whisper
<dumpfile>
is the optional name of a WAV file. All the audio data read from the soundcard or from a input WAV file is written to this file.<wavinputfile>
is the optional name of a WAV file to analyze. Usually this file is generated using the--output-wav
option.--file-transfer
enables parsing the JSON header generated while sending, used to compare the remote file's size and CRC32 with the received file's ones.
See also
fm-transfer: (https://github.com/matteotenca/fm-transfer)
gg-transfer: (https://github.com/matteotenca/gg-transfer)
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
quiet_transfer-0.2.5.tar.gz
(848.9 kB
view hashes)
Built Distributions
Close
Hashes for quiet_transfer-0.2.5-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1ec484cab538c779eb8ef519dce1562f3a55f8a88c53170ca2344db79f4f9d |
|
MD5 | e6fc63906ff16701ce192ca6fe82e019 |
|
BLAKE2b-256 | 7d8135ab8d09636f6da1cabac12027e5441a887b507fb2c628265181ca90389a |
Close
Hashes for quiet_transfer-0.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d5471a9f19db1008c13f4f57853c3acc0b0b10dcdbe27c536e75cb17ca78e6a |
|
MD5 | fceb925d6b51fc26b84b3225c58aab24 |
|
BLAKE2b-256 | 1f140565432049c0b28467d8d253141eb95d7a67d6bf87fcbe9d0d68386e72d8 |
Close
Hashes for quiet_transfer-0.2.5-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32759055daf45360a364c4e753c424a2cac63468448856178898b4f7a277b04f |
|
MD5 | b90a04480ec951609e75409afc6410db |
|
BLAKE2b-256 | a332443ab37313014cbd2f8f89cc186849f995ce175be10d2a07937995971bdd |
Close
Hashes for quiet_transfer-0.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c09b7af26699536a7f4489f9b1509b94deef979299b0d01c37241b35c77f01e2 |
|
MD5 | 4acb6ee8abebe6c355da4c9dedeeb613 |
|
BLAKE2b-256 | 1f3500256a67f99ac51fb8bb8508ade59c18c57d7407821b422a1b528c5c4d83 |
Close
Hashes for quiet_transfer-0.2.5-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cadf75ac73240a75d3e762f276e72233cd45c1c378f6fda923f8fce29e15ee9 |
|
MD5 | 15db4e4a9721f89b9eedda35288c234d |
|
BLAKE2b-256 | ed7c52d32c12e738384e9250364ec3acb6aebfacd74e858b752dbfcf4e36fffc |
Close
Hashes for quiet_transfer-0.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fdd242abaaa7b2ea6ca8fce1a74307f624ba51b097baff3d1c08c44dfd59e2c |
|
MD5 | eef4d7b287e66835f0abd642c746f9c6 |
|
BLAKE2b-256 | 4ac75b43f1a7b6fab78cecc9f753286a242d3a4797ea7ce1ca35d419a312582d |
Close
Hashes for quiet_transfer-0.2.5-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ade75b0b6d952ec8aa273009616b863f58c33c13b019cc1b79419900f1ebf5b8 |
|
MD5 | 425cdb8576186c625f8e47d263958282 |
|
BLAKE2b-256 | b39af2333af31ab0e91f958fc4595423b1d1e6ac17891325c3c38d50b55d41d7 |
Close
Hashes for quiet_transfer-0.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0d3e94753a0e54eaf3ad2f811218cf5188f2446607de5b451d50b6f5b8c612b |
|
MD5 | a5481b7674e64c6fc4d74678d3725432 |
|
BLAKE2b-256 | 280f255c63567cedb34f797810638815c431bba8d2281de05ec5497b8dcaf2f2 |
Close
Hashes for quiet_transfer-0.2.5-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80bd9d3c14b54ead46c29f3d106f4949e177b0f02ca5a2be370ca540ec0aa004 |
|
MD5 | b7a142fde4682bd9b0d3e6daaaa08553 |
|
BLAKE2b-256 | 22033aef7c1433ab8e50863d31d1f0b316ee206e4d6d262c8ee071126cae45f9 |
Close
Hashes for quiet_transfer-0.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a1879d8f9f0b72f4372ec22d1da6d3947135170f7b66bb6cd6104ff7f5e481 |
|
MD5 | ac5e2829757b86c645b0f7cd411581fe |
|
BLAKE2b-256 | ccb5d718eabf7ec9064e9a0467103286332ac8ec8b430c8c91838d7ee9e8026c |
Close
Hashes for quiet_transfer-0.2.5-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0460c63a503ce2804d1f2bdb81e806dac6351d3ec55fd9be35d63b30d8f00fd |
|
MD5 | db344d45d6e10b37c4744dedc67b7c1a |
|
BLAKE2b-256 | 3926b802528f8af915d98050836d742d60339c163f15189e98b06881e6445226 |
Close
Hashes for quiet_transfer-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d691e69b3d6361cc4031f0641c33c1a626e8a0a829fe4198208de00fea7ac6a0 |
|
MD5 | 5eb4e48d483e97428e189a3548bf195b |
|
BLAKE2b-256 | 14efa3019c854b4c9a803dca4240decb2a6867715ee494f4b5c4ae97b55f2602 |
Close
Hashes for quiet_transfer-0.2.5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afdd53136cb1a45c719893d947f99274e2c2dadeaf96edf2745689158bac9c0e |
|
MD5 | 37a4d7e4388248a503f8fd30a8d689b8 |
|
BLAKE2b-256 | 725e7b61b99e1b46c3dfc2ab40337a822705391093395dae98647732b1811ea7 |
Close
Hashes for quiet_transfer-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26890e68e46f99ce16230db2066560dffc941cb2295a4a3880c35445b9b82750 |
|
MD5 | 49ca8a1fb168f8a85bd5b1efc4fe3127 |
|
BLAKE2b-256 | 451b140ad85ade62f9c5b9422534f525b758a5e2040fa2c0ba984d72dde4f706 |
Close
Hashes for quiet_transfer-0.2.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8060e57ba2a2a79c7d439c4f2fb3da029afb78ed925c5a3a7e79373854e9f057 |
|
MD5 | c7880444f24f3a76aab1d62ca052c1eb |
|
BLAKE2b-256 | 1aba6be8afdadd3d4e66726e0279ee566c48086fc265a742b0d7230c7699263d |
Close
Hashes for quiet_transfer-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f31359e62400b05b97d4f33a27192f760f67290dd7b13f99366da87c24b2cbc6 |
|
MD5 | 43d504455b1da2b955c44bdc5f34b285 |
|
BLAKE2b-256 | 43a52d7cb1c3deab508871ecbef89760a3a3b3dbb49b815d73f6ab4900ad3bc9 |
Close
Hashes for quiet_transfer-0.2.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88209cb0d078cb51b33fb9fca69d37e08094d0a871dc92b63b348e7ac8306ac9 |
|
MD5 | 060483517410985052d20464421b7253 |
|
BLAKE2b-256 | bed8836dba280294f2bee45c784c36736ce83fa56898c1d8149cfff39c667aba |
Close
Hashes for quiet_transfer-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 695a9e3d175a485fb545952d588822d5199c9a72a8af2dcd4329d54363f8ada8 |
|
MD5 | 891c9daa960373193871966c19c5ba25 |
|
BLAKE2b-256 | e7c48b1a4a8ec3dd4ee4ee506ef6637a98ca996957bcac1738ffd7937d386ce7 |
Close
Hashes for quiet_transfer-0.2.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5e49370276f5762d8991542d475ea8cf542bb92c5ff86ba7ef5c2e90d312c9d |
|
MD5 | 8974d7202385f96ea73cf2119af49c02 |
|
BLAKE2b-256 | 4876b0ee1955f8a2ae4a6736180eec07c51f71db0dc5bbec390f8f39a58bd568 |
Close
Hashes for quiet_transfer-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f3bc85f9646cf3de94020be51d4cc440986fc4c096c8039853808bc1b70d016 |
|
MD5 | 6bb755a92eada54bdbbb67532a4d27ca |
|
BLAKE2b-256 | 89781b2d61a17f51bf10e3adaeb27c0800fa94d17e40c40f9cd35c2ce34a8e05 |
Close
Hashes for quiet_transfer-0.2.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8fb7d65c22e1ebe7ff121a1946e2395ba2a661818ca72777cc62af6f182a0a8 |
|
MD5 | c47fdc74d4fb47659e19b1dacbeeb47f |
|
BLAKE2b-256 | d8447420ef6a28f5d4d70a7d51ef5b1bd4972eef163d3710a8235ca0530d4e0a |
Close
Hashes for quiet_transfer-0.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007493ffe036a7082880888dc7542298c7b8c99b13754e62362aa21dce991881 |
|
MD5 | 0a539f1bad4115c23f6159f65a2ee0c3 |
|
BLAKE2b-256 | e905bcf7de3a2087bf530e6a0e0ee704ec641b8319de0f2d997356b938a4bc40 |