audioline(1) General Commands Manual
NAME
audioline - Transfers byte streams and classic tape formats through audio devices or WAV files using REFCODES FSK or PWM codecs.
SYNOPSIS
| audioline | send [ --config <config> ] [ -f <format> ] [ -p <profile> ] [ -S <sampleRate> ] [ -c <channelSelector> ] [ -m <modemMode> ] [ -t <frequencyThreshold> ] [ --preamble-bits <preambleBits> ] [ --silence-threshold <silenceThreshold> ] [ -i <inputFile> ] [ -o <outputFile> ] [ -O <outputDevice> ] [ -v ] [ --debug ] |
| audioline | receive [ --config <config> ] [ -f <format> ] [ -p <profile> ] [ -S <sampleRate> ] [ -c <channelSelector> ] [ -m <modemMode> ] [ -t <frequencyThreshold> ] [ --preamble-bits <preambleBits> ] [ --silence-threshold <silenceThreshold> ] [ -i <inputFile> ] [ -I <inputDevice> ] [ -o <outputFile> ] [ --receive-idle-millis <receiveIdleMillis> ] [ -v ] [ --debug ] |
| audioline | -l [ --config <config> ] [ -v ] [ --debug ] |
| audioline | --init [ --config <config> ] [ -v ] [ --debug ] |
| audioline | --help | --sysinfo |
DESCRIPTION
This manual page documents the audioline command. The send operation reads
payload bytes from STDIN or --input-file. It writes the modulated signal to
the selected Java Sound output device, or to a WAV --output-file when one is
specified. The receive operation reads a modulated signal from the selected
Java Sound input device, or from a WAV --input-file, and writes decoded payload
bytes to STDOUT or --output-file.
The --format option selects the arbitrary byte-stream FSK or PWM modem,
or one of the supported Atari and Commodore 64 tape formats. FSK is the
default. Sender and receiver must use the same format. Atari formats accept XEX
files, while Commodore 64 formats accept PRG files including their load-address
prefix. When a recording contains several complete tape files, an output path
receives numbered files such as program-1.xex and program-2.xex; such a
recording cannot be written to unframed STDOUT.
The AUDIO profile is intended for a loudspeaker-to-microphone connection and
favours robust transmission. The LINE profile is intended for a direct
line-out-to-line-in cable and favours throughput. Sender and receiver must use
the same profile and the same individually overridden transmission settings.
Diagnostic output is written separately from the received payload so that
STDOUT remains a clean byte stream.
Use --list-devices to obtain the Java Sound mixer names accepted by
--input-device and --output-device. Use --init to create an editable
configuration file. Command-line options take precedence over configured
values.
Depending on the executable’s flavor the command might also be named audioline-x.y.z.jar, audioline-bundle-x86_64-x.y.z.elf, audioline-bundle-x86_64-x.y.z.exe, audioline-installer-x86_64-x.y.z.msi, audioline-launcher-x.y.z.sh, audioline-launcher-x86_64-x.y.z.elf, audioline-launcher-x86_64-x.y.z.exe, audioline-native-x86_64-x.y.z.elf where x.y.z stands for the version of the audioline command. The according executable’s name will be referenced to in this manual as audioline.
The command-line help follows the effective message locale. Set the Java system property org.refcodes.messages.locale or the environment variable ORG_REFCODES_MESSAGES_LOCALE to de to explicitly select German output; otherwise the JVM’s default display locale is used, with English as the fallback when no localized bundle is available.
OPTIONS
| send: | Sends STDIN or an input file to a WAV file or the selected output device. |
| receive: | Receives a transmission from a WAV file or the selected input device and writes its payload to STDOUT or an output file. |
| -c --channel-selector <channelSelector>: | The PCM channel arrangement to use: { MONO, STEREO, LEFT, RIGHT }. |
| --config <config>: | Specifies the resource or file to use when loading the configuration. |
| --debug: | Enables debug mode with additional developer-readable informational output. During live reception, diagnostics are shown until the first payload byte is received. |
| --help: | Shows this help. |
| -f --format <format>: | The byte-stream modem or tape format: { FSK, PWM, ATARI_FSK, ATARI_TURBO_2000, ATARI_SUPER_TURBO, C64_ROM_PAL, C64_ROM_NTSC, C64_TURBO_TAPE_64, C64_NOVALOAD_SPECIAL }. |
| -I --input-device <inputDevice>: | The Java Sound input device name or complete displayed description. Use --list-devices to list valid devices. |
| -i --input-file <inputFile>: | The byte-stream, XEX or PRG file to send, or the WAV file to receive from. STDIN or the selected audio input device is used when omitted. |
| --init: | Initializes the configuration from a template. |
| -l --list-devices: | Lists the available Java Sound input and output devices. |
| -m --modem-mode <modemMode>: | The FSK modem mode to use: { SOFT_MODEM_1, SOFT_MODEM_2, SOFT_MODEM_3, SOFT_MODEM_4, SOFT_MODEM_5 }. |
| -O --output-device <outputDevice>: | The Java Sound output device name or complete displayed description. Use --list-devices to list valid devices. |
| -o --output-file <outputFile>: | The WAV file to send to, or the byte-stream, XEX or PRG output file. Multiple tape files receive numeric suffixes. The selected audio output device or STDOUT is used when omitted. |
| -p --profile <profile>: | The transmission profile to use (defaults to AUDIO): { AUDIO, LINE }. When repeated, the last profile is used and supplies the defaults for omitted individual transmission settings. |
| --preamble-bits <preambleBits>: | The positive number of preamble bits preceding each FSK or PWM data block. |
| --receive-idle-millis <receiveIdleMillis>: | The idle time after the final decoded modem byte or after a completed tape file becomes silent (defaults to 1500 ms). |
| -S --sample-rate <sampleRate>: | The PCM sample rate to use: { STEREO, MONO, SEMI }. |
| --silence-threshold <silenceThreshold>: | The non-negative signal threshold used by byte-stream modems and live tape reception. |
| --sysinfo: | Shows some system information for debugging purposes. |
| -t --frequency-threshold <frequencyThreshold>: | The accepted FSK frequency correlation variance: { THRESHOLD_1, THRESHOLD_5, THRESHOLD_10, THRESHOLD_20, THRESHOLD_50, THRESHOLD_60 }. |
| -v --verbose: | Enables verbose mode with additional human-readable informational output. |
EXAMPLES
Send a payload file over a loudspeaker-to-microphone link:
- audioline send -p AUDIO -i <inputFile>
Receive a payload file over a loudspeaker-to-microphone link:
- audioline receive -p AUDIO -o <outputFile>
Encode a payload file as WAV audio:
- audioline send -i <inputFile> -o <outputFile.wav>
Decode a WAV file to a payload file:
- audioline receive -i <inputFile.wav> -o <outputFile>
Encode and decode a byte stream using the PWM modem:
- audioline send -f PWM -i <inputFile> -o <outputFile.wav>
- audioline receive -f PWM -i <inputFile.wav> -o <outputFile>
Encode and decode an Atari XEX file using the standard Atari FSK format:
- audioline send -f ATARI_FSK -i <inputFile.xex> -o <outputFile.wav>
- audioline receive -f ATARI_FSK -i <inputFile.wav> -o <outputFile.xex>
Encode and decode a Commodore 64 PRG file using the PAL ROM format:
- audioline send -f C64_ROM_PAL -i <inputFile.prg> -o <outputFile.wav>
- audioline receive -f C64_ROM_PAL -i <inputFile.wav> -o <outputFile.prg>
Send STDIN over a direct line-out-to-line-in cable:
- audioline send -p LINE
Receive a transmission to STDOUT over a direct line-out-to-line-in cable:
- audioline receive -p LINE
Select an output device when sending:
- audioline send -O <outputDevice> -i <inputFile>
Select an input device when receiving:
- audioline receive -I <inputDevice> -o <outputFile>
List available Java Sound devices:
- audioline -l
Create an editable configuration file:
- audioline --init
BUGS
See BitBucket issues at <https://bitbucket.org/funcodez/funcodes-audioline/issues>
AUTHOR
Siegfried Steiner steiner@refcodes.org
