Skip to main content

No project description provided

Project description

quiet-transfer


PyPI - Status PyPI - License PyPI - Python Version

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 from stdin.
  • <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:
    1. If <inputfile> is missing or is -, the flag is ignored.
    2. Otherwise, the <inputfile> is read in memory all at once and its CRC32 is calculated.
    3. 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.
    4. Some information messages are written to stderr

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 to stdout.
  • --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


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)

Uploaded Source

Built Distributions

quiet_transfer-0.2.5-pp310-pypy310_pp73-win_amd64.whl (639.3 kB view hashes)

Uploaded PyPy Windows x86-64

quiet_transfer-0.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-pp39-pypy39_pp73-win_amd64.whl (639.3 kB view hashes)

Uploaded PyPy Windows x86-64

quiet_transfer-0.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-pp38-pypy38_pp73-win_amd64.whl (639.3 kB view hashes)

Uploaded PyPy Windows x86-64

quiet_transfer-0.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-pp37-pypy37_pp73-win_amd64.whl (639.3 kB view hashes)

Uploaded PyPy Windows x86-64

quiet_transfer-0.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp313-cp313-win_amd64.whl (650.6 kB view hashes)

Uploaded CPython 3.13 Windows x86-64

quiet_transfer-0.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp312-cp312-win_amd64.whl (650.6 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

quiet_transfer-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp311-cp311-win_amd64.whl (650.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

quiet_transfer-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp310-cp310-win_amd64.whl (650.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

quiet_transfer-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp39-cp39-win_amd64.whl (650.5 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

quiet_transfer-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp38-cp38-win_amd64.whl (650.5 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

quiet_transfer-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

quiet_transfer-0.2.5-cp37-cp37m-win_amd64.whl (650.5 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

quiet_transfer-0.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page