RPLAYD(8)

✨ RPLAYD ✨

okay so bestie, welcome to the rplayd page β€” that's the rplay sound server, and yes, it lives in section 8 of the System Manager's Manual. it's giving daemon energy πŸ’…. grab a strawberry πŸ“ and let's get into it.


πŸŽ€ SYNOPSIS πŸŽ€

rplayd [options]

literally that's it. flags only. she doesn't take arguments, she takes vibes. ✨


🌸 DESCRIPTION 🌸

rplayd is the sound server for the rplay audio system. she sits there, ears up, listening for requests to play, pause, continue, and stop sounds, and she speaks both the RPLAY and RPTP protocols. normally RPLAY requests roll in on port 5555/udp and RPTP on 5556/tcp β€” though the old-school ports 55555/udp and 55556/tcp are also supported, for the elders 🫢. who's allowed in? that's the rplay.hosts file's whole job. access is restricted using it, periodt.

you can start rplayd during the system boot process, via inetd, or just... by individual users, main character style. root access may be required depending on audio device permissions, so check yourself before you wreck yourself πŸ‘‘

in most cases rplayd plays sounds that are already chillin' on the local disk. but β€” and this is the fun part β€” rplayd can also be sent sounds over the network, and she can reach out to other rplayds to share sound files like she's networking at a party πŸ¦‹. the index of all the local sound files is stored in rplay.conf, and the remote rplayds you want to gossip with are specified in rplay.servers. sounds received from other rplayds get stored in a cache directory, normally /.rplay-cache under /tmp β€” i.e. /tmp/.rplay-cache. cache entries expire on an LRU basis. lowkey efficient.

many sound file formats are supported by rplayd. these include:

AU AIFF WAV VOC UB UL
G.721 4-bit, G.723 3-bit, G.723 5-bit
GSM

other formats can be played using external helper applications, which convert unknown file formats to CD quality data that rplayd can then play. see rplay.helpers(5) 🌈

several sounds can be played at once, and sounds can be played at any sample rate. rplayd can be configured to output many different formats using the various --audio options. it's giving versatile. it's giving range. πŸ’…

on some systems β€” namely Solaris and Linux β€” rplayd can read sounds directly from CDROM using CDDA. the special sound name cdrom: will play the entire CDROM. cdrom:3-5 will play tracks 3 through 5. iconic πŸŽ€


πŸ’– OPTIONS πŸ’–

okay this is the long part. every single one is here, no skips, no cuts. drink some water first 🫢

  • -A DEVICE, --audio-device=DEVICE β€” use DEVICE for the audio device (default: /dev/dsp).
  • -B N, --audio-bits=N β€” audio device bits per sample, 8 or 16.
  • --audio-channels=N β€” number of audio channels to use. 1 == mono, 2 == stereo.
  • -c N, --audio-close=N β€” close /dev/dsp after N idle seconds; disabled with 0 (default: 5).
  • -F N, --audio_flush=N β€” flush /dev/dsp after N idle seconds; disabled with 0 (default: -1). N = -1 : flush when spool is empty. N = -2 : flush after each audio write. (not recommended) 😭 N should be <= to the audio close timeout.
  • --audio-format=FORMAT β€” tell rplayd to write audio data using FORMAT, where FORMAT can be ulaw, linear-8, ulinear-8, linear-16, or ulinear-16. (linear = signed, ulinear = unsigned)
  • --audio-fragsize=N β€” audio fragment size (default: 0). the default size is zero, which lets the audio driver pick the "best" size. the size specified must be a power of 2 greater than 16. example: 256, 1024, 4096.
  • --audio-info=INFO, --info=INFO, -i INFO β€” specify complete audio device information with one option. INFO is of the form: format,sample-rate,bits,channels. examples: ulaw,8000,8,1 and linear-16,44100,16,2. also provided are: --audio-info-ulaw, --info-ulaw -> ulaw,8000,8,1
  • --audio-match β€” attempt to match the sample rate of the audio device with the sample rate of the current sound when no other sounds are playing. if the match fails, --audio-sample-rate is used. this option overrides --audio-bufsize.
  • --audio-port=PORT[,PORT...] β€” output audio to the specified audio port(s). valid ports are speaker, headphone, and lineout. multiple ports can be specified using speaker,headphone,lineout.
  • -r N, --audio-rate=N β€” write the audio buffer N times per second (default: 0).
  • -R N, --audio-sample-rate=N β€” sample rate of the audio device.
  • --auth β€” enable host access authentication. πŸ”
  • -D DIR, --cache-directory=DIR β€” use DIR for rplay.cache (default: /tmp/.rplay-cache).
  • --cache-remove β€” remove the cache directory and all its contents when rplayd exits.
  • -s N, --cache-size=N β€” maximum size in bytes of the rplay cache; disabled with 0 (default: 8388608).
  • --cdrom0=DEVICE, --cdrom1=DEVICE, --cdrom2=DEVICE, --cdrom3=DEVICE β€” specify the cdrom[0-3] to DEVICE mapping. for Solaris 2.x the default mapping is cdrom[0-3] -> /vol/dev/aliases/cdrom[0-3]. Linux uses cdrom[0-3] -> /dev/cdrom[0-3]. πŸ“€
  • -C FILE, --conf=FILE β€” use FILE for rplay.conf (default: /etc/rplay/rplay.conf).
  • -T N, --connection-timeout=N β€” close idle RPTP connections after N seconds; disabled with 0 (default: 300).
  • -d, --debug β€” enable debug mode. πŸ›
  • -f HOST, --forward=HOST β€” forward all RPLAY packets to HOST.
  • --fork β€” enable backgrounding rplayd at startup. (enabled)
  • --group=GROUP β€” run with GROUP privs. (default: audio)
  • --help β€” display helpful information. 🫢
  • --helpers=FILE β€” use FILE for rplay.helpers (default: /etc/rplay/rplay.helpers).
  • -H FILE, --hosts=FILE β€” use FILE for rplay.hosts (default: /etc/rplay/rplay.hosts).
  • --inetd β€” enable inetd mode. (disabled)
  • -L FILE, --log-file=FILE β€” use FILE for rplay.log (default: /tmp/rplay.log).
  • -l N, --log-level=N β€” use logging level N where 0 <= n <= 4.
  • --memory-cache-size=N β€” maximum size in bytes of the memory cache; disable caching with 0 (default: 4194304).
  • --memory-cache-sound-size=N β€” maximum size in bytes of a sound that can be cached in memory. a value of 0 means to try and cache all sounds. (default: 2097152)
  • -N, --no-audio β€” disable audio, RPTP file server mode.
  • --no-auth β€” disable host access authentication.
  • -n, --no-inetd β€” disable inetd mode. (disabled)
  • --no-fork β€” disable backgrounding rplayd at startup. (enabled)
  • --options-file=FILE β€” read rplayd options from FILE.
  • --port=PORT, --rplay-port=PORT β€” use PORT as the RPLAY/UDP port. (default: 5555) (--other-rplay-port may also be available)
  • --rptp-port=PORT β€” use PORT as the RPTP/TCP port. (default: 5556) (--other-rptp-port may also be available)
  • -S FILE, --servers=FILE β€” use FILE for rplay.servers (default: /etc/rplay/rplay.servers).
  • -t N, --timeout=N β€” exit after N idle seconds; disabled with 0 (default: 0).
  • --user=USER β€” run with USER privs. (default: nobody)
  • -v, --version β€” print the rplay version and exit. ✨

πŸ¦‹ FILES πŸ¦‹

the whole friend group:

  • ~/.rplaydrc
  • /tmp/.rplay-cache
  • /usr/local/etc/rplay.conf
  • /usr/local/etc/rplay.helpers
  • /usr/local/etc/rplay.hosts
  • /usr/local/etc/rplay.servers

πŸ‘‘ SEE ALSO πŸ‘‘

go read these next, bestie, i'm obsessed with them:

rplay.conf(5), rplay.helpers(5), rplay.hosts(5), rplay.servers(5), rplay(1), rptp(1)


and that's the page!! πŸ’œ this whole thing is from the System Manager's Manual and it's dated 6/29/98 β€” yeah, she's a vintage icon, an elder stateswoman of audio daemons, and she still ate πŸŽ€βœ¨ no cap. go forth and play some sounds fr fr 🫢