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

FreeBSD Manual Pages


home | help
MP3SPLT(1)		    General Commands Manual		    MP3SPLT(1)

       mp3splt,	 oggsplt,  flacsplt  -	utility	for mp3, ogg vorbis and	native
       flac splitting without decoding

       mp3splt [OPTIONS] FILE_OR_DIR1 [FILE_OR_DIR2] ... [BEGIN_TIME]  [TIME2]
       ... [END_TIME]

       FILE_OR_DIR:  mp3, ogg vorbis, native flac file to be split or a	direc-
       tory.  If you want to specify STDIN as input, you can use "m-" (or "-")
       when  input is mp3, and "o-" when ogg. Multiple files can be specified,
       all files will be split with the	same  criterion.  If  a	 directory  is
       specified,  a recursive scan is performed in that directory to find out
       all the supported file formats.


       minutes.seconds[.hundredths] or EOF-minutes.seconds[.hundredths]

	      Minutes (required): There	is no limit to minutes.	(You must  use
	      this format also for minutes over	59)

	      Seconds (required): Must be between 0 and	59.

	      Hundredths   (optional):	Must be	between	0 and 99. Use them for
	      higher precision.

       Multiple	split points can be specified. After the  minimal  2,  another
       indefinite  number  of  split points can	be specified. Each split point
       will be an end time for the previous, and a begin  for  the  following.
       If  you want to reach the end of	file, you can use "EOF"	as last	split-
       point.  EOF-minutes.seconds[.hundredths]	only works when	input is seek-

       mp3splt	is  a  free command-line utility that allows you to split mp3,
       ogg vorbis and native flac files	from several splitpoints, without need
       of  decoding and	reencoding.  It	is useful to split large mp3, ogg vor-
       bis and native flac to make smaller files or to split entire albums  to
       obtain original tracks.

       If you are splitting an album you can get splitpoints and filenames au-
       tomatically from	servers	on internet like,  or
       from  a local .XMCD (.CDDB) or .CUE file	(see -c	option), with the pos-
       sibility	to adjust them automatically with silence  detection  (see  -a

       You  can	 also  try to split files automatically	with silence detection
       (see -s option),	trim files using silence detection (see	-r option), or
       by a fixed time length (see -t option)

       Or if you have a	file created either with Mp3Wrap or AlbumWrap, you can
       easily split it just with one command (see -w option).

       IMPORTANT NOTE for FLAC:	FLAC support is	still experimental. Please use
       with  caution. Missing FLAC features are	stdin (input not seekable) and

       NOTE for	MP3: usually mp3splt understands if mp3	is VBR by checking the
       presence	 of  a	Xing  or  Info	header	and will consequently start in
       framemode, but if this is not present, mp3splt will start  in  standard
       mode.  This means that splitting	process	will be	quicker, but imprecise
       due to variable bitrate,	you  can  split	 those	VBR  files  only  with
       framemode (see -f option).

       NOTE  for OGG: in some cases, mp3splt does not manage to	split ogg vor-
       bis streams correctly. Splitting	the input file from 0.0	to  EOF	 might
       fix the issues.

       NOTES about TAGS: by default, mp3splt will put the original tags	in the
       split files with	one exception: the track number	starts at 1 and	is in-
       cremented  along	split files. When copying the original file tags, only
       one artist, album, title	are supported.	 Custom	 tags  for  the	 split
       files  can be set with the -g option.  Setting exactly the same tags as
       the original file is possible with -g %[@O] (mp3	only) or -g %[@o].

       NOTE about MP3 TAGS: in order to	extract	the  original  tags  from  mp3
       files,  libmp3splt  must	be compiled with 'id3tag' support. By default,
       the output files	will have the same ID3 tag version as the input	 file;
       this behaviour can be changed with the -T option. If the	input file has
       no tags and the -g option is used, then both ID3v1 and ID3v2 are	 writ-
       ten.  Total  tracknumber	is not yet supported.  Only writing ID3v2.4 is
       supported for custom tags; note that some software only support ID3v2.3
       and will	not be able to read them. However, it is possible to write the
       exact original tags using %[@O],	keeping	the same tags  version	as  in
       the original file.

       NOTE about the OUTPUT DIRECTORY:	by default, mp3splt will put the split
       files in	the directory of the input file. In order to change the	output
       directory,  you can use one of the following options: -d	or -o.	Please
       note that directories from the -o option	will be	 created  relative  to
       the input file directory.

       -w	 Wrap Mode. Use	to split file created with:

		 Mp3Wrap  This	tool joins two
		 or more mp3 files in one large	 playable  file	 that  usually
		 contains the string MP3WRAP in	filename and a special comment
		 in ID3v2. If the file you are splitting is a Mp3Wrap file the
		 splitting  process  will be very fast and you will obtain all
		 files just with  one  command.	  If  your  filename  contains
		 MP3WRAP  and  you  have  errors or you	don't want to use wrap
		 mode, just remove it from the file.

		 AlbumWrap: mp3splt is compatible also with  albumwrap	files,
		 which	usually	 contain the string ALBW in filename and ID3v2
		 contains AlbumWrap.  But,  as	AlbumWrap  extractor,  mp3splt
		 doesn't give any warranty.

       -l	 List  mode (Only for Wrap mode).  Lists all tracks wrapped in
		 a Mp3Wrap or AlbumWrap	archive	without	any  extraction.   Use
		 this  to view the content of the file or to test if file is a
		 valid wrapped file.

       -e	 Error mode (mp3 only).	 It is	useful	to  split  large  file
		 derivated  from  a concatenation of smaller files. It detects
		 split points from the so  called  "sync  errors"  (data  that
		 break	stream,	such as	ID3 or junk data).  Examples of	appli-
		 cable files are wrapped file (both AlbumWrap and Mp3Wrap)  or
		 file  created by appending many mp3 files together.  So, when
		 you have a file to split, you should always try to  use  this

		 Audacity labels mode.	Split with splitpoints from the	audac-
		 ity labels file. Example of audacity  labels  file  (in  sec-
		    10.000000 67.000000	first_file
		    67.000000 127.000000 second_file
		    149.000000	206.000000 third_file

       -t TIME[>MIN_TIME]
		 Time  mode.   This option will	create an indefinite number of
		 smaller files with a fixed  time  length  specified  by  TIME
		 (which	 has the same format described above). It is useful to
		 split long files into smaller	(for  example  with  the  time
		 length	 of  a	CD).  Adjust option (-a) can be	used to	adjust
		 splitpoints with silence detection. >MIN_TIME can be used  to
		 specify the theoretical minimum track length of the last seg-
		 ment; it allows avoiding to create very small	files  as  the
		 last  segment.	 Make  sure  to	 quote the argument when using

		 Equal time tracks mode.  Split	in SPLIT_NUMBER	files.

       -r	 Trim using silence detection, to trim	using  silence	detec-
		 tion.	To  trim  using	 silence  detection  we	need to	decode
		 files,	so this	option can be really slow  if  used  with  big
		 files.	  It accepts some parameters with -p option (see below
		 for a detailed	description): threshold	level  (th)  which  is
		 the  sound level to be	considered silence, min	(min) which is
		 the minimum silence length to trigger a trimming; this	amount
		 of  silence  will  be kept in the split file at the beginning
		 and at	the end.

       -s	 Silence mode, to split	with silence detection.	When  you  use
		 -s  option,  mp3splt attempts to detect silence points	in all
		 the file (or just in some parts, see  -a  and	-c  below  for
		 this).	To detect silence we need to decode files, so this op-
		 tion can be really slow if used with big files.   It  accepts
		 some  parameters with -p option (see below for	a detailed de-
		 scription): threshold level (th) which	is the sound level  to
		 be considered silence,	number of tracks (nt) which is the de-
		 sired number of tracks, cutpoint offset (off)	which  is  the
		 offset	 of cutpoint in	silence, minimum_length	(min) which is
		 the minimum silence length in seconds,	 remove	 silence  (rm)
		 which	allows you to remove the silence between split tracks.
		 If you	don't specify any parameter, mp3splt will use the  de-
		 fault	values.	 Of course if you specify the number of	tracks
		 to split, you will help mp3splt to understand	what  are  the
		 most  probable	split points, anyway once you scan a file with
		 -s option, mp3splt will write a file named  "mp3splt.log"  in
		 which	it saves all silence points found. If this file	exists
		 in the	current	 working  directory,  mp3splt  will  read  the
		 splitpoints from this file and	will not recompute the silence
		 splitpoints.  This allows you to run mp3splt  with  different
		 parameters  (except  th  and  min)  without decoding the file
		 again.	Finally, if the	number of silence points is  not  cor-
		 rect,	you have many chances to achieve right result. For ex-
		 ample if a silence point was not detected because too	short,
		 you  can  manually  split  the	 long track in the two smaller
		 ones.	Or if file is an MP3 (not with ogg) and	there are  too
		 many  silence	points	that can't be discarded	reducing track
		 number	(because are longer than right points) you can	safely
		 concatenate  them  with  'cat'	 programs or similar ('copy /b
		 file1+file2' for dos) because split files are consecutive, no
		 data  is lost.	 This option is	intended to split small/medium
		 size (but even	large if you can wait ;)  mp3  and  ogg	 files
		 where	tracks	are separated by a reasonable silence time. To
		 try to	split mixed albums or files  with  consecutive	tracks
		 (such as live performances) might be only a waste of time.

		 Note about "mp3splt.log":

		   The first line contains the name of the split file
		   The	second line contains the threshold and the minimum si-
		 lence length
		   The next lines contain each one three columns:
		       -the first column is the	start position	of  the	 found
		 silence (in seconds.fractions)
		       -the second column is the end position of the found si-
		 lence (in seconds.fractions)
		       -the third column is the	order of magnitude of the  si-
		 lence	length;	it is useful to	find out most probable silence

       -c SOURCE CDDB mode. To get  splitpoints	 and  filenames	 automatically
		 from  SOURCE, that is the name	of a ".CUE" file (note that it
		 must end with ".cue", otherwise it  will  be  wrongly	inter-
		 preted	 as a cddb file) or a local .XMCD (.CDDB) file on your
		 hard disk.

		 Furthermore, if you want  to  split  using  internal  sheets,
		 SOURCE	must be	internal_sheet.	 Currently two internal	sheets
		 are supported:	internal CUE sheet of native  FLAC  files  and
		 ID3v2 chapters	for MP3	files (note that there is a limitation
		 on ID3v2 chapters for overlapped chapters).

		 If you	want to	get informations from  Internet,  SOURCE  must
		 have one of the following formats:

		     query[search=protocol://SITE:PORT,		    get=proto-

		 If a string is	specified between '{' and '}', then the	inter-
		 net  search  is  made on this string and the user will	not be
		 requested to interactively input a search string.  The	number
		 between  '('  and ')' is for auto-selecting the result	number
		 ALBUM_RESULT_NUMBER; thus, the	user will not be requested  to
		 interactively input a result number.

		 The  other parameters between '[' and ']' are used to specify
		 the protocols and the sites.  If  those  parameters  are  not
		 specified,  default  values  will  be	chosen,	which are good
		 enough	in most	cases.	Inside the square  brackets,  'search'
		 defines  the CDDB search protocol and site (for searching the
		 disc ID from the album	and title);  'get'  defines  the  CDDB
		 download  protocol  and  site	(for downloading the CDDB file
		 from the disc ID). Valid 'search' protocols are :  'cddb_cgi'
		 and 'cddb_protocol'.  Valid 'get' protocols are: 'cddb_cgi'.



		 Mp3splt  will connect to the server and start to find the re-
		 quested informations. If  the	right  album  is  found,  then
		 mp3splt  will	query the server to get	the selected album and
		 (if no	problem	occurs)	will write a file  named  "query.cddb"
		 from which will get splitpoints and filenames.

		 Proxy	support:  The first time that the user queries the in-
		 ternet	(and if	the quiet mode is not enabled),	 mp3splt  asks
		 for some information about proxy usage. Mp3splt has basic au-
		 thentification	support	using base64 for HTTP proxies. A  file
		 named	'.mp3splt'  is created in the user home	directory con-
		 taining the informations provided by the user.	Deleting  this
		 file  will  make mp3splt to query the user again. Please note
		 that the authentification storage is not secure.  The	'user-
		 name:password'	is stored as base64 and	can be easily decoded.

		 IMPORTANT  NOTE  FOR CDDB: File split with this option	can be
		 not very precise due to:

		 1) Who	extracts CD tracks may use  "Remove  silence"  option.
		 This means that the large file	is shorter than	CD Total time.
		 Never use this	option.
		 2) Who	burns CD may add extra pause seconds  between  tracks.
		 Never do it.
		 3)  Encoders  may  add	 some  padding	frames so that file is
		 longer	than CD.
		 4) There are several entries of  the  same  cd	 on  CDDB.  In
		 mp3splt they appears with "\=>" symbol.  Try some of them and
		 find the best for yours; usually you  can  find  the  correct
		 splitpoints, so good luck!


       -a	 Auto-adjust  mode.   This  option  uses  silence detection to
		 auto-adjust splitpoints. It can be used in standard mode,  or
		 with  -t  and -c option (of course if there is	silence	in the
		 file ;).  It accepts some parameters with -p option (see  be-
		 low  for  a detailed description): threshold level (th) which
		 is the	sound level to be considered silence, cutpoint	offset
		 (off)	which  is the offset of	cutpoint in silence, min (min)
		 which is the minimum silence length  in  seconds,  gap	 (gap)
		 which	is  the	 gap value around splitpoint to	search for si-
		 lence.	 If you	don't specify any parameter, mp3splt will  use
		 the  default values.  With -a option splitting	process	is the
		 same, but for each splitpoint mp3splt will decode  some  time
		 (gap) before and some after to	find silence and adjust	split-

       -p PARAMETERS
		 Parameters for	-a, -s and -r option. When using -a, -s	and -r
		 option	some users parameters can be specified in the argument
		 and must be in	the form:


		 You can specify an indefinite number of them, with no	spaces
		 and separated by comma. Available parameters are:

       For -s, -a and -r

       th=FLOAT	 Threshold  level (dB) to be considered	silence. It is a float
		 number	between	-96 and	0. Default is -48 dB, which is a value
		 found by tests	and should be good in most cases.

		 Positive  integer of  the minimum number of shots to be found
		 as non	silence	after the silence.  Default  is	 25.  Decrease
		 this  value  if you need to split files having	closer silence

       min=FLOAT Positive float	of the minimum number of seconds to be consid-
		 ered as valid silence.	All silences shorter than min are dis-
		 carded. Default is 0.	For the	trim silence split, it is  the
		 minimum  silence length to trigger a trimming;	this amount of
		 silence will be kept in the split file	at the	beginning  and
		 at the	end.

       Both -s and -a

       off=FLOAT Float	number	between	 -2 and	2 and allows you to adjust the
		 offset	of cutpoint in silence time. 0 is  the	begin  of  si-
		 lence,	 and  1	 the  end. Default is 0.8.  In most cases, you
		 will only need	to use a value between 0 and 1.

		 Offset	visualization:

						v off=0	   v off=1
		  ++++	...  ++++++++++++++++++++++----------++++++++++	   ...
					    ^off=-0.5	       ^off=1.5
				       ^off=-1			    ^off=2

		 Legend:  pluses  are 'audio', minuses 'silence', 'v' down-ar-
		 row, '^' up-arrow and '...' a segment of the audio file  (si-
		 lence or audio)

       Only -s

		 Positive  integer  number of tracks to	be split when using -s
		 option. By default all	tracks are split.

		 It is used to remove silence when using the -s	 option.   Can
		 be  used  without additional numbers -	by default it will cut
		 all the silence found.	 Users can keep	some  of  the  silence
		 found	by passing the number of seconds to be kept at the be-
		 ginning of the	output files and at  the  end  of  the	output
		 files.	 For  example, 'rm=2_6'	will keep 2 seconds of silence
		 at the	beginning of the split files and 6 seconds at the end.
		 If  the  silence length is less than the sum of the number of
		 seconds passed	to the rm parameter, the  split	 will  convert
		 the  values to	a percentage of	the silence length. Taking the
		 previous example, if the silence length is less than  8  sec-
		 onds,	the  split  will be done at 75%	of the silence segment
		 starting from the beginning of	the silence ( 75% = 6/(2+6) ).

		 Positive float	of the minimum number of seconds for  a	 track
		 to  be	 written  out.	 Tracks	 shorter than trackmin will be
		 skipped during	the output phase.  The default value 0.0 means
		 to not	skip any tracks.

		 Positive  float  of the minimum number	of seconds for a track
		 to be written out.  Tracks shorter  than  trackjoin  will  be
		 joined	 with others. The main difference between this parame-
		 ter and trackmin is that using	this one, no part of the orig-
		 inal  file  will  be lost.  The default value of 0.0 means to
		 not join any tracks.  If using	both trackmin  and  trackjoin,
		 tracks	shorter	than trackmin will be discarded, but after the

       Only -a

		 Positive integer for the time	to  decode  before  and	 after
		 splitpoint,  increase if splitpoints are completely wrong, or
		 decrease if wrong for only few	seconds. Of course the smaller
		 the  gap,  the	faster the process.  Default gap is 30 seconds
		 (so for each song, total decode time is one minute).

		 Print a warning for each splitpoint if	it has not been	 auto-

		 Stop  the  split process with error if	one of the splitpoints
		 has not been auto-adjusted.

       -f	 Frame mode (mp3 only).	Process	all frames, seeking split  po-
		 sitions  by counting frames and not with bitrate guessing. In
		 this mode you have higher precision and you can  split	 vari-
		 able  bitrate (VBR) mp3.  (You	can also split costant bitrate
		 mp3, but it will take more time). Note	also that "high"  pre-
		 cision	means that time	seeking	is reliable, but may not coin-
		 cide for example with another player program that  uses  time
		 seeking  with	bitrate	 guessing, so make your	choice.	 Frame
		 mode will print extra info on split process, such as sync er-
		 rors.	If you obtain some sync	errors,	try also to split with
		 -e option.

       -b	 [Experimental]	Bit reservoir handling	for  gapless  playback
		 (mp3  only).  Handles bit reservoir issues when splitting mp3
		 files.	This option also allows	playback at the	 exact	sample
		 specified by the input	time, instead of the music data	bound-
		 aries.	Warning: split files will play gapless only on players
		 supporting  mp3 gapless playback using	the LAME tag delay and
		 padding values	(example of gapless mp3	players: cmus, mpg123,
		 foobar2000).	The feature is heavily inspired	by pcutmp3 de-
		 veloped by Sebastian Gesemann.	 Use with caution  because  it
		 is still an experimental feature.

       -k	 Input not seekable. Consider input not	seekable (default when
		 using STDIN as	input).	 This allows you to split mp3  streams
		 which	can  be	 read  only one	time and can't be seeked. Both
		 framemode and standard	mode are available, but	framemode  can
		 be really slow	if used	with big files,	because	to seek	split-
		 points	we need	to process all bytes and all frames. -k	option
		 (so  STDIN as input too) can't	be used	together with -s -a -w
		 -e, because input must	be seekable for	those options. Copying
		 original  tags	 is not	yet supported for the non seekable op-

       -M	 Write MD5 sum (FLAC only). Using this option, the frames  are
		 decoded just before being written in the output files and MD5
		 sum of	the unencoded data is computed in  order  to  complete
		 the STREAMINFO	metadata block of the created files.  This op-
		 tion is disabled by  default  because	the  decoding  process
		 makes	the  split to be much slower (it can be	twice slower).
		 However, even when using this	option,	 the  process  remains
		 faster	 compared  to splitting	by decoding and	then re-encod-

       -O TIME	 Overlap split files. TIME will	be added to  each  end	split-
		 point.	 Current implementation	of this	option makes the split

       -o FORMAT Output	format.	FORMAT is a string that	will be	used as	output
		 directory  and/or  filename.  If  FORMAT contains the DIRCHAR
		 character ('\'	on windows and '/' on other systems), directo-
		 ries will be created for each DIRCHAR if they don't exist and
		 the output files will be created in the corresponding	direc-
		 tory. If the -d option	is not specified, the output directory
		 is the	concatenation of the input file	directory and the  ex-
		 tracted path from FORMAT. If the -d option is also specified,
		 the output directory will be the concatenation	between	the -d
		 option	value and the extracted	path from the -o FORMAT	(char-
		 acters	up to the last DIRCHAR). Invalid  filename  characters
		 from the tags are transformed to '_'.

		 It  can  contain  name	variables, that	must begin with	@ char
		 and that can be:

		 @A: performer if found, otherwise artist
		 @a: artist name
		 @p: performer of each song (only with .cue)
		 @b: album title
		 @g: genre
		 @t: song title*
		 @n: track number identifier* (not the	real  ID3  track  num-
		 @N: track tag number**
		 @l:  track  number  identifier	 as lowercase letter* (not the
		 real ID3 track	number)**
		 @L: track tag number as lowercase letter**
		 @u: track number identifier as	 uppercase  letter*  (not  the
		 real ID3 track	number)**
		 @U: track tag number as uppercase letter**
		 @f: input filename (without extension)
		 @d:  last directory of	the input filename or the filename it-
		 self if no directory
		 @m, @s	or @h: the number of minutes, seconds or hundreths  of
		 seconds of the	start splitpoint**
		 @M,  @S or @H:	the number of minutes, seconds or hundreths of
		 seconds of the	end splitpoint**

		 (**) One digit	may follow defining the	number	of  digits  to
		 If  the  digit	 is 0, then a special rule is applied when the
		 pattern value is equal	to 0:
		 - the pattern is discarded
		 - all characters like : _ . and -. preceding it are discarded
		 - all characters following it are discarded up	to the next  @
		 or a separator	like : _ . and -
		 This  rule is useful for discarding the last part of the time
		 when equal to 0.  For example @m_@s_@h0hundreths__@M_@S  will
		 only output @m_@s__@M_@S if the hundreths of seconds are 0.

		 When  split  files are	more than one, at least	one of @t, @n,
		 @N, @l, @L, @u	or @U (*) must be present to  avoid  ambiguous
		 names.	  You  can  put	 any  prefix, separator, suffix	in the
		 string, for more elegance.  To	make easy the  use  spaces  in
		 output	filename without interfering with line parameters, you
		 can use the char '+' that will	be automatically replaced with
		 a space.  Valid examples are:

		 @a+-+@n+-+@t (default if using	-c and -o is not specified)
		 @a/@b/@t_@n  (will  create  the  directories  '<artist>'  and

       -d NAME	 Output	directory.  To put all output files in	the  directory
		 named NAME. If	directory does not exists, it will be created.
		 The -o	option can also	be used	to output files	into a	direc-

       -n	 No  tags.  Does  not  write  ID3  or Vorbis comment in	output
		 files.	Use if you need	clean files.  See also the -x option.

       -x	 No Xing header. Does not write	 the  Xing  header  in	output
		 files.	Use this option	with -n	if you wish to concatenate the
		 split files and obtain	a similar file as the input file.

		 Force output tags version. For	mp3 files,  force  output  ID3
		 tags as version ID3v1,	ID3v2 or ID3v1 and ID3v2. TAGS_VERSION
		 can be	1, 2 or	12. Default is to set the output tags  version
		 as the	tags version of	the input file.

		 Set encoding of the ID3V2 tags. For mp3 files,	set the	encod-
		 ing of	ID3V2 tags.  ID3V2_TEXT_ENCODING can be	1  for	latin1
		 (iso-8859-1),	8  for	UTF-8  or  16  for UTF-16.  Default is

		 Set encoding of the input tags	for mp3	files.	INPUT_TAGS_EN-
		 CODING_FOR_ID3V2  can	be  1  for  latin1 (iso-8859-1), 8 for
		 UTF-8 or 16 for UTF-16.  Default is UTF-8.

       -N	 No silence log	file. Don't create the 'mp3splt.log' log  file
		 when  using  silence  detection.  This	 option	cannot be used
		 without the '-s' option.

       -K	 Keep original tags for	CDDB or	CUE. When importing a CDDB  or
		 CUE  file,  set the original input file tags and then replace
		 them with those read from the imported	file.

       -g TAGS	 Custom	tags. Set custom tags to the split files.  If you want
		 to  set  spaces  in  tags, you	might need to double quote the
		 whole TAGS.  TAGS should contain a list  of  square  brackets
		 pairs []. The tags defined in the first pair of square	brack-
		 ets will be set on the	first split file, those	defined	in the
		 second	 pair  of  square  brackets  will be set on the	second
		 split file, ... Inside	a pair of square brackets, each	tag is
		 defined  as  @variable=value and tags are separated by	comma.
		 If a percent sign % is	found before the open  square  bracket
		 character,  then  the pair of square brackets following the %
		 character will	define	the  default  tags  in	the  following
		 files.	Multiple '%' can be defined. An	optional 'r' character
		 can be	placed at the start, to	replace	tags in	tags. The 're-
		 place	tags  in  tags'	option is not recursive. The variables
		 can be:

		 @a: artist name
		 @b: album title
		 @t: audio title
		 @y: year
		 @c: comment
		 @g: genre
		 @n: track number (set to -2 for none)
		 @o: set original tags
		 @O: set exactly the same original tag bytes and discard other
		 variables (mp3	only)
		 @N:  auto  increment  track  number:  this variable has to be
		 placed	inside the %[] field in	order to have the track	number
		 auto incremented for all the split files following it
		 @m,  @s or @h:	the number of minutes, seconds or hundreths of
		 seconds of the	start splitpoint
		 @M, @S	or @H: the number of minutes, seconds or hundreths  of
		 seconds of the	end splitpoint

		 Using the 'replace tags in tags' option, you can also use the
		 following variables, which are	replaced by the	data from  the
		 original  tags:  #a, #b, #t, #y, #c, #g.  Note	that this will
		 only work if @o has been found	before.

		 Example    of	  tags	  format:     %[@o,@N=1,@b=special_al-
		 bum][@a=foo,@b=bar][@t=footitle].  In this example, the first
		 split file will have the original tags	 with  album  tag  re-
		 placed	 by  'special  album'; the second split	file will have
		 the tags of the first split, with the artist tag replaced  by
		 'foo'	and  the  album	tag replaced by	'bar'; the third split
		 file will have	the tags of the	first split,  with  the	 title
		 tag  replaced by 'footitle'. The track	number will start at 1
		 for the first split file and  auto  increment	to  the	 other

		 Example   of	replacing   tags  in  tags:  r%[@o,@N=1,@b=al-
		 bum,@a=artist_@b_@N]. Having the 'r' option, the replace tags
		 in   tags   mode  is  activated;  thus,  output  artists  are
		 'artist_album_1','artist_album_2', ...	 Without the  'r'  op-
		 tion, output artists are 'artist_@b_@N'.

		 Replacement	 is	not    recursive:    r%[@o,@N=1,@b=al-
		 bum_@N,@a=artist_@b] will output albums  as  'album_1',  'al-
		 bum_2', ... but artists as 'artist_album_@N'.

		 Example   of	replacing  tags	 in  tags  with	 #  variables:
		 r%[@o,@N=1,@t=@N_#t]This will prepend	the  auto  incremented
		 track number to the original input file title;	supposing that
		 the input file	title is 'one_title', this will	set the	titles
		 as follows: '1_one_title', '2_one_title', ...

       -G regex=REGEX
		 Tags  from filename regex. Set	tags from input	filename regu-
		 lar expression.  REGEX	can contain those variables:
		    (?<artist>),   (?<album>),	 (?<title>),	(?<tracknum>),
		 (?<year>), (?<comment>), (?<genre>)

		 Example:   if	the  input  filename  is  artist1__album2__ti-
		 the  following	 regular   expression	(?<artist>.*?)__(?<al-
		 num>.*?)__(?<year>.*?)__(?<genre>.*) extracts the tags:
		   (?<artist>):	artist1
		   (?<album>): album2
		   (?<title>): title3
		   (?<genre>): Samba
		   (?<comment>): comment4
		   (?<tracknum>): 2
		   (?<year>): 2004

       -m M3U	 Create	.m3u file. Creates a .m3u file	containing  the	 split
		 files.	 The generated .m3u file only contains the split file-
		 names without the path. If an output directory	 is  specified
		 with  -d  or  -o,  the	file is	created	in this	directory. The
		 path of M3U is	ignored. This option cannot be used with  STD-
		 OUT output.

       -E CUE_FILE
		 Export	 to  .cue  file.  Creates  a  .cue file	containing the
		 splitpoints.  Use -P to export	the splitpoints	without	 actu-
		 ally splitting.  The cue file contains	the tags of the	split-
		 points	as comments (for example REM  ALBUM,  REM  GENRE,  REM
		 DATE).	 There	is  however  one  limitation: REM TRACK	is not
		 written if the	track was auto incremented  without  user  de-
		 fined tags.

		 Export	 the full log of silence detection. The	full log file-
		 name is useful	to draw	the amplitude wave of the  input  file
		 (in dB) in order to choose a threshold.

		 Note about the	file structure:
		      -the  first  column  is  a  dummy	column which is	always
		 zero, for plotting on zero axis purposes
		      -the second column is the	time in	seconds	as double
		      -the third column	is the dB level
		      -the fourth column is the	silences shots counter
		      -the five	column is the number of	splitpoints found
		      -the sixth column	is the start time of the silence  spot
		      -the  seventh column is the end time of the silence spot

		 Example of plotting the full log file with gnuplot:

		 gnuplot -e "file='silence_logs.txt'; set decimalsign  locale;
		 set  xlabel  'Time  in	 seconds';  plot  file using 2:3 title
		 'Threshold', file using 2:4 title 'Silence shots' with	lines-
		 points, file using 2:5	title 'Number of silence points	found'
		 with fsteps, file using 6:1 title 'Begin  of  silence',  file
		 using 7:1 title 'End of silence' with points; pause -1"

       -P	 Pretend  to split. Simulation of the process without creating
		 any files or directories.

       -q	 Quiet mode. Stays quiet :) i.e. do not	prompt	the  user  for
		 anything and print less messages.  When you use quiet option,
		 mp3splt will try to end program without  asking  anything  to
		 the  user  (useful  for  scripts).  In	Wrap mode it will also
		 skip CRC check, use if	you are	in such	a hurry.

       -Q	 Very quiet mode. Enables the -q option	 and  does  not	 print
		 anything  to  STDOUT.	This option cannot be used with	STDOUT

       -D	 Debug mode. Experimental debug	support. Print extra  informa-
		 tions	about what is being done. Current print	doesn't	have a
		 nice format.

       -v	 Print version.	Print the version of  mp3splt  and  libmp3splt
		 and exit.

       -h	 Print help. Print a short usage of mp3splt and	exit.

       mp3splt album.mp3 54.32.19 67.32	-o out
       mp3splt album.ogg 54.32.19 67.32	-o out

       This is the standard use	of mp3splt for constant	bitrate	mp3 or for any
       ogg.  You specify a begin time (which in	 this  case  uses  hundredths,
       54.32.19), an end time and an output file.

       mp3splt -f -d newdir album.mp3 album2.mp3 145.59	 234.2

       This  is	 frame	mode for variable bitrate mp3 and multiple files.  You
       can see that time format	uses min.sec even  if  minutes	are  over  60.
       Output  files  in  this case will be: album_145m_59s_0h__234m_2s_0h.mp3
       and album2_145m_59s_0h__234m_2s_0h.mp3 because user didn't  specify  it
       and they	will be	in the directory named newdir.

       mp3splt	-nf album.mp3  0.12  21.34.7  25.3  30.40  38.58

       This  is	the use	of -n option and multiple splitpoints. Four files will
       be created and will not contain ID3 informations.

       mp3splt	-w  album_MP3WRAP.mp3

       This is Wrap mode. You can use this when	mp3 is	a  file	 wrapped  with
       Mp3Wrap	or AlbumWrap.  You can specify an output directory with	the -d

       mp3splt	-lq  album.mp3

       This is List mode. You can use this when	you want to list all tracks of
       a  wrapped  file	without	extracting them.  With quiet option (-q), pro-
       gram will not calculate CRC!

       mp3splt -s f.mp3	or mp3splt -s -p th=-50,nt=10 f.mp3

       This is silence option. Mp3splt will try	to automatically detect	split-
       points  with  silence  detection	 and  in the first case	will split all
       tracks found with default parameters, while in the second 10 tracks (or
       less  if	too much) with the most	probable silence points	at a threshold
       of -50 dB.

       mp3splt	-c  file.cddb  album.mp3

       This is CDDB mode with a	local file. Filenames and splitpoints will  be
       taken from file.cddb.

       mp3splt	-c  query  album.mp3

       This  is	 CDDB  mode  with  internet query. Will	ask you	the keyword to
       search and you will select the wanted cd.

       mp3splt	-a -c  file.cddb album.mp3

       This is CDDB mode with auto-adjust option (default parameters).	Split-
       points will be adjusted with silence detection in a range of 30 seconds
       before and after	cddb splitpoints.

       mp3splt	-a -p gap=15,th=-23,rm -c  file.cddb album.mp3

       This is CDDB mode with auto-adjust option. Splitpoints will be adjusted
       with  silence  detection	in a range of 15 seconds before	and after cddb
       splitpoints, with a threshold of	-23 dB,	and silence will be removed.

       mp3splt	-c  query  album.mp3 -n	-o @n_@t

       This is CDDB mode with internet query with Frame	mode, NoID3 and	Output
       format.	Output filenames will be named like: 01_Title.mp3

       mp3splt	-t  10.00  album.mp3

       This  is	-t option. It will split album.mp3 in many files of 10 minutes

       Report any bugs you find	to authors (see	below).	Advices,  support  re-
       quests and contributions	are welcome.


       Matteo Trotta <>
       Alexandru Ionut Munteanu	<>

       Visit for	latest release.

       mp3splt-project is

       (C) 2002-2005 by	Matteo Trotta
       (C) 2005-2014 by	Alexandru Ionut	Munteanu

       Permission  is  granted to copy,	distribute and/or modify this document
       under the terms of the GNU General Public License.  This	can  be	 found
       as COPYING in mp3splt packages.



Want to link to this manual page? Use this URL:

home | help