ADINTOOL(1)

✨ ADINTOOL(1) πŸŽ€ adintool ✨

okay bestie, this is the manual page for adintool πŸ’– It's a tool to record / split / send / receive audio streams πŸ¦‹

NAME

adintool β€” a tool to record / split / send / receive audio streams πŸŽ€

SYNOPSIS

adintool {-in inputdev} {-out outputdev} [options...]

DESCRIPTION

okay so adintool is literally a speech listener πŸ‘‚βœ¨ It analyzes speech input, finds the speech segments and skips the silence πŸ™ˆ, then records each detected segment in a bunch of different ways πŸ’…. The detection is based on zerocross number and power (level) 🌈, and the detected parts get saved to files or other output devices one after another 🫢.

adintool is basically the upgraded version of adinrec πŸ”₯ with way more functions. Supported input devices are: microphone input, a speech file, standard tty input, and network socket (called adin-net server mode) 🎧. The Julius plugin can also be used 🧚. Detected speech segments can be saved to output devices: speech files, standard tty output, and network socket (called adin-net client mode) πŸ’œ. For example, you can split the incoming speech into segments and send them to Julius to be recognized πŸ‘‘.

Output format is WAV, 16bit (signed short), monoral πŸŽ€. If the file already exists, it will be overridden 😭, so be careful bestie πŸ’€.

OPTIONS

All Julius options can be set 🌸. Only the audio input related ones are treated, and the rest get silently skipped πŸ™ˆ. Below is the list ✨.

adintool specific options

  • -freq Hz β€” Set the sampling rate in Hz πŸ¦‹ (default: 16,000).
  • -in inputdev β€” Picks your audio input device 🎀. "mic" captures from the microphone, "file" is for audio file input, and "stdin" reads raw data from standard input πŸ’–. For file input, a file name prompt pops up after startup πŸ“. Use "adinnet" to make adintool an adinnet server that receives data from a client over a network socket 🌐. The default port number is 5530, which you can change with the -inport option πŸŽ€.

Alternatively, the input device can be set with the -input option, in which case you can use a plugin input 🧚.

  • -out outputdev β€” Where the data gets stored πŸ’Ύ. Specify "file" to save to a file, and the output filename is given by -filename 🌸. Use "stdout" to send it to standard out πŸ“€. "adinnet" makes adintool an adinnet client, sending speech data to a server over a TCP/IP socket 🫢. With "adinnet" output, the server name has to be given with -server πŸ–₯️. The default port number is 5530, which can be changed with the -port option πŸ¦‹.
  • -inport num β€” When adintool is an adinnet server receiving data (-in adinnet), this sets the port number to listen on πŸ‘‚ (default: 5530).
  • -server [host] [,host...] β€” When outputting to an adinnet server (-out adinnet), this sets the hostname 🏠. You can send to multiple hosts by listing their hostnames as a comma-delimited list, like "host1,host2,host3" πŸ’œ.
  • -port [num] [,num...] β€” When adintool sends data to an adinnet server (-out adinnet), this sets the port number to connect to πŸ”Œ (default: 5530). For multiple servers, give the port numbers for all of them, like "5530,5530,5531" 🌈.
  • -filename file β€” When outputting to a file (-out file), this sets the output filename πŸ“. The actual file names will be "file.0000.wav", "file.0001.wav" and so on πŸŽ€, where the four-digit number goes up with each detected speech segment πŸ”₯. The starting number is 0 by default, and you can change it with the -startid option ✨. When you use -oneshot to save only the first segment, the input gets saved as "file" πŸ¦‹.
  • -startid number β€” For file output, sets the initial file number πŸ“ (default: 0).
  • -oneshot β€” Exits after the end of the first speech segment πŸ‘‹.
  • -nosegment β€” Skips speech detection entirely and treats all the input as one single valid segment 🫧.
  • -raw β€” Outputs a RAW file with no header 🧁.
  • -autopause β€” When outputting to an adinnet server, adintool enters a pause state at the end of every speech segment ⏸️. It restarts when the destination adinnet server sends it a resume signal ▢️.
  • -loosesync β€” When outputting to multiple adinnet servers, this skips strict synchronization on restart 🀸. By default, once adintool has entered the pause state, it won't restart until resume commands come in from all servers πŸ™…. This option lets it restart as soon as at least one restart command has arrived πŸƒβ€β™€οΈ.
  • -rewind msec β€” When the input is a live microphone and there was continuous input at the moment adintool resumes, it starts recording backtracked by the specified number of milliseconds βͺ.

Concerning Julius options

  • -input {mic|rawfile|adinnet|stdin|netaudio|esd|alsa|oss} β€” Picks the speech input source 🎧. Specify 'file' or 'rawfile' for a waveform file. For file input, you'll be prompted to type the file name from stdin ⌨️.

'mic' grabs audio from a default live microphone device 🎀, and 'adinnet' means receiving waveform data over TCP/IP from an adinnet client 🌐. 'netaudio' is for DatLink/NetAudio input πŸ”Š, and 'stdin' means data comes from standard input πŸ“₯.

On Linux, you can choose the API at run time by specifying alsa, oss, and esd 🐧.

  • -chunk_size samples β€” Audio fragment size in number of samples (default: 1000) 🧩.
  • -lv thres β€” The level threshold for speech input detection πŸ“Š. Values should be in the range from 0 to 32767 (default: 2000).
  • -zc thres β€” The zero crossing threshold per second πŸ“ˆ. Only input that goes over the level threshold (-lv) gets counted (default: 60).
  • -headmargin msec β€” Silence margin at the start of a speech segment, in milliseconds 🌷 (default: 300).
  • -tailmargin msec β€” Silence margin at the end of a speech segment, in milliseconds πŸŒ™ (default: 400).
  • -zmean β€” Turns on DC offset removal ✨.
  • -smpFreq Hz β€” Sets the sampling rate in Hz 🎢 (default: 16,000).
  • -48 β€” Records input at 48kHz sampling and down-samples it to 16kHz on the fly 🎚️. This option is only valid for the 16kHz model πŸ™…. The down-sampling routine was ported from sptk (Rev. 4.0) πŸ’….
  • -NA devicename β€” The host name for DatLink server input (-input netaudio) πŸ–§.
  • -adport port_number β€” With -input adinnet, sets the adinnet port number to listen on πŸ‘‚ (default: 5530).
  • -nostrip β€” Julius normally removes successive zero samples from the input speech data 🧹. This option stops it πŸ›‘.
  • -C jconffile β€” Loads a jconf file right here πŸ“‚. The contents of the jconffile get expanded at this point 🌸.
  • -plugindir dirlist β€” Specifies which directories to load plugins from 🧚. If there are several directories, list them colon-separated 🌈.

ENVIRONMENT VARIABLES

  • ALSADEV β€” (used with mic input via the alsa device) specifies a capture device name πŸŽ™οΈ. If it isn't set, "default" is used πŸ’.
  • AUDIODEV β€” (used with mic input via the oss device) specifies a capture device path 🎚️. If it isn't set, "/dev/dsp" is used πŸ”ˆ.
  • LATENCY_MSEC β€” Tries to set the input latency of microphone input, in milliseconds ⏱️. A smaller value shortens latency but can sometimes make things unstable 😬. The default depends on the OS you're running πŸ’».

EXAMPLES

Record microphone input to files: "data.0000.wav", "data.0001.wav" and
so on:

Split a long speech file "foobar.raw" into "foobar.1500.wav",
"foobar.1501.wav" ...:

Copy an entire audio file via network socket.

Detect speech segment, send to Julius via network and recognize it:

SEE ALSO

Copyright (c) 1997-2000 Information-technology Promotion Agency, Japan πŸ‡―πŸ‡΅

Copyright (c) 1991-2008 Kawahara Lab., Kyoto University πŸŽ“

Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology 🏫

Copyright (c) 2005-2008 Julius project team, Nagoya Institute of Technology πŸ’œ

LICENSE

The same as Julius 🫢.


bestie, that's the whole ADINTOOL(1) manual πŸŒˆπŸ’– Source version 10/02/2008 πŸ“…, and you're officially a adintool expert now πŸ‘‘βœ¨

πŸ“¦ where this page comes from