Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GBSPLAY(1)		     Gameboy sound player		    GBSPLAY(1)

NAME
       gbsplay - Gameboy sound player

SYNOPSIS
       gbsplay	[OPTION]...   [--] GBS-FILE [START-AT-SUBSONG [STOP-AFTER-SUB-
       SONG] ]

DESCRIPTION
       gbsplay emulates	the sound hardware of the  Nintendo  Gameboy.	It  is
       able  to	 play the sounds from a	Gameboy	module dump (.GBS format) over
       /dev/dsp	and other sound	drivers.

OPTIONS
       -E endian
	      Set endianness to	endian.	 Valid values are b, l and n for  big,
	      little and native	endian respectively.

       -f fadeout-time
	      Set  fadeout  time  to fadeout-time seconds.  Instead of cutting
	      the subsong off hard, do a soft fadeout.	 Default  value	 is  3
	      seconds.

       -g subsong-gap
	      Set subsong gap to subsong-gap seconds.  Before playing the next
	      subsong  after  the  subsong timeout, subsong-gap	seconds	of si-
	      lence will be played.  Default value is 2	seconds.

       -h     Display short help and exit.

       -H filter
	      Set output high-pass type	 to  filter.   Valid  values  are  dmg
	      (Gameboy Classic), cgb (Gameboy Color) and off (no filter).  De-
	      fault value is dmg.

       -l     Set loop mode to range (see LOOP MODES below).

       -L     Set loop mode to single (see LOOP	MODES below).

       -o plugin
	      Select  sound  output plugin plugin.  Select list	to view	a list
	      of all available output plugins.	Default	value depends on  com-
	      pilation options.

       -q     Be  quieter,  reduce  verbosity.	Can be applied multiple	times.
	      Default verbosity	is 3.

       -r samplerate
	      Set the samplerate to samplerate Hz.  Default value is 44100Hz.

       -R refresh-delay
	      Set the refresh delay  to	 refresh-delay	milliseconds.	Larger
	      values  will  lower  CPU	usage,	but things as subsong changes,
	      fadeouts,	reactions to keypresses	and the	on-screen display will
	      be delayed.  Default value is 33 milliseconds.

       -t subsong-timeout
	      Set subsong timeout to subsong-timeout seconds.  When a  subsong
	      has  been	played for the given time, the player will skip	to the
	      next subsong.  A timeout of 0 seconds disables automatic subsong
	      changes.	Default	value is 120 seconds.

       -T silence-timeout
	      Set silence timeout to silence-timeout seconds.  When a  subsong
	      contains silence for the given time, the player will skip	to the
	      next subsong.  Default value is 2	seconds.

       -v     Increase verbosity, print	more information.  Can be applied mul-
	      tiple times.  Default verbosity is 3.

       -V     Display version number and exit.

       -z     Play  subsongs  in  shuffle  mode.  Every	subsong	will be	played
	      once in random order.

       -Z     Play subsongs in random mode.  Like shuffle  mode	 (-z),	but  a
	      subsong can be played multiple times.

       -1     Mute channel 1 on	start.

       -2     Mute channel 2 on	start.

       -3     Mute channel 3 on	start.

       -4     Mute channel 4 on	start.

       --     Marks  the end of	options.  The next argument will be treated as
	      a	filename, even when starting with a -.

       GBS-FILE
	      The sound	file to	play.  Must be in uncompressed .GBS format.

       START-AT-SUBSONG
	      The subsong from the sound file to play first.   If  not	speci-
	      fied, the	default	song declared in the sound file	will be	played
	      unless  shuffle  (-z)  or	 random	 mode  (-Z)  are  active.   An
	      out-of-bounds number will	be clipped to the  possible  range  of
	      subsongs.

       STOP-AFTER-SUBSONG
	      The last subsong to be played.  See LOOP MODES below for further
	      details.

KEYBOARD CONTROL
       gbsplay	supports  basic	 keyboard control.  The	following commands are
       recognized:

       p      Skip to the previous subsong.

       n      Skip to the next subsong.

       q or Esc
	      Quit gbsplay.

       Space  Toggle play/pause.

       1      Mute/unmute channel 1.

       2      Mute/unmute channel 2.

       3      Mute/unmute channel 3.

       4      Mute/unmute channel 4.

       l      Cycle through the	available loop modes.  See  LOOP  MODES	 below
	      for further details.

LOOP MODES
       gbsplay	supports  different loop modes that govern what	happens	when a
       subsong has finished playing.  The default loop	mode  is  none.	  When
       multiple	 loop  modes  are set, the last	mode set wins.	The term first
       subsong refers to the parameter START-AT-SUBSONG	if it is set,  or  the
       first  subsong  in the file otherwise.  The term	next subsong refers to
       next subsong in numerical order unless shuffle mode (-z)	or random mode
       (-Z) are	active.	  The  term  last  subsong  refers  to	the  parameter
       STOP-AFTER-SUBSONG if it	is set and not out-of-bounds, or the last sub-
       song in the file	otherwise.

       none   When a subsong has finished playing, the next subsong will start
	      to  play.	  When	the last subsong has finished playing, gbsplay
	      will exit.

       range  When a subsong has finished playing, the next subsong will start
	      to play.	When the last subsong has finished playing,  the  fist
	      subsong will start to play again.

       single When a subsong has finished playing, the same subsong will start
	      to play again.  The STOP-AFTER-SUBSONG parameter will be ignored
	      as  no  subsong change can occur.	 The subsong-timeout parameter
	      will be ignored as well, allowing	the selected subsong  to  play
	      endlessly	without	any forced restarts.

OUTPUT PLUGINS
       Output plugins are sometimes called plugouts because that's shorter, so
       don't  be  confused.   Not all of the plugins listed here may be	avail-
       able, see `gbsplay -o list'.

       alsa   Use the ALSA sound driver	for sound output.

       altmidi
	      Alternative implementation of the	MIDI output plugin  (see  midi
	      below).  Should export more accurate note	off events (the	length
	      register	is  taken into account), but generated MIDI files will
	      be more complicated and fine grained and probably	 not  suitable
	      for editing or printing a	score.

       devdsp Use the OSS sound	driver for sound output	via /dev/dsp.

       dsound Use  the	DirectSound sound driver for sound output on Microsoft
	      Windows.

       iodumper
	      Dump IO calls to the Gameboy sound hardware to stdout.  This re-
	      duces the	verbosity to 0 (see -q)	because	stdout is used for the
	      dumped data.

       midi   Write a simple MIDI conversion of	the song into a	separate  file
	      per  subsong.   The files	are called gbsplay-%d.mid, where %d is
	      replaced with the	subsong	number.	 The files are created in  the
	      current  working directory and existing files are	silently over-
	      written.	Only channels 1	to 3 are converted  to	MIDI,  because
	      channel  4 contains noise	data that can't	be converted into MIDI
	      note events.  Every GBS channel is exported to a	separate  MIDI
	      channel.	When multiple voices share a channel, they will	not be
	      separated	 in  the  output.   The	conversion is rather basic and
	      complicated GBS files using tricks and hacks will	 not  be  con-
	      verted properly.

       nas    Use  the	NAS  sound  driver for sound output to a Network Audio
	      Server.

       pipewire
	      Use the PipeWire sound driver for	sound output.

       pulse  Use the Pulseaudio sound driver for sound	output.

       sdl    Use SDL sound driver for sound output.   On  Microsoft  Windows,
	      libSDL  might  use the wasapi audio backend by default which can
	      result in	choppy sound.  To fix this, set	the environment	 vari-
	      able SDL_AUDIODRIVER to directsound to select a different	libSDL
	      audio backend (or	switch to the dsound plugout instead).

       stdout Dump the raw audio stream	to stdout.  This reduces the verbosity
	      to  0  (see -q) because stdout is	used for the dumped data.  The
	      raw audio	is always stereo (2  channels),	 16  bit  signed  PCM.
	      Sample rate and endianness can be	set via	-r and -E.

       vgm    Write  separate  VGM  files  for	every  subsong.	 The files are
	      called gbsplay-%d.vgm, where %d is  replaced  with  the  subsong
	      number.	The files are created in the current working directory
	      and existing files are silently overwritten.

       wav    Write separate WAV files (RIFF WAVE)  for	 every	subsong.   The
	      files  are  called gbsplay-%d.wav, where %d is replaced with the
	      subsong number.  The files are created in	 the  current  working
	      directory	and existing files are silently	overwritten.  The out-
	      put  is always encoded as	stereo (2 channels), 16	bit signed PCM
	      in little	endian (the -E switch is ignored).  Sample rate	can be
	      set via -r.

FILES
       /usr/local/etc/gbsplayrc
	      Default location of the global configuration file.

       ~/.gbsplayrc
	      User configuration file.

BUGS
       If    you    encounter	  bugs,	    please     report	  them	   via
       https://github.com/mmitch/gbsplay/issues

AUTHORS
       gbsplay	was  written  by  Tobias Diedrich <ranma+gbsplay@tdiedrich.de>
       (with contributions from	others,	see README.md).

COPYRIGHT
       gbsplay is licensed under GNU GPL v1 or,	at your	option,	any later ver-
       sion.

SEE ALSO
       gbsinfo(1), gbsplayrc(5)

Tobias Diedrich			   0.0.99ish			    GBSPLAY(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gbsplay&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help