[ubuntu-studio-users] Tunning music files in batch?

Ralf Mardorf ralf.mardorf at alice-dsl.net
Tue Nov 19 08:19:49 UTC 2013

On Mon, 2013-11-18 at 20:13 -0500, Hazan Pérez wrote:
> I want to tune many music files in batch, that is, change the tone
> without changing the tempo of the song.

Why don't you use the same as Audacity does use?

"libsoundtouch0 Sound stretching library" -

[rocketmouse at archlinux ~]$ pacman -Ql soundtouch | grep bin
soundtouch /usr/bin/
soundtouch /usr/bin/soundstretch
[rocketmouse at archlinux ~]$ soundstretch --help

   SoundStretch v1.7.1 -  Written by Olli Parviainen 2001 - 2012
author e-mail: <oparviai at iki.fi> - WWW: http://www.surina.net/soundtouch

This program is subject to (L)GPL license. Run "soundstretch -license"
more information.

This application processes WAV audio files by modifying the sound tempo,
pitch and playback rate properties independently from each other.

Usage :
    soundstretch infilename outfilename [switches]

To use standard input/output pipes, give 'stdin' and 'stdout' as

Available switches are:
  -tempo=n : Change sound tempo by n percents  (n=-95..+5000 %)
  -pitch=n : Change sound pitch by n semitones (n=-60..+60 semitones)
  -rate=n  : Change sound rate by n percents   (n=-95..+5000 %)
  -bpm=n   : Detect the BPM rate of sound and adjust tempo to meet 'n'
             If '=n' is omitted, just detects the BPM rate.
  -quick   : Use quicker tempo change algorithm (gain speed, lose
  -naa     : Don't use anti-alias filtering (gain speed, lose quality)
  -speech  : Tune algorithm for speech processing (default is for music)
  -license : Display the program license text (LGPL)

If you don't want to use the same as Audacity does use, perhaps you like
this one:

[rocketmouse at archlinux ~]$ rubberband --help

Rubber Band
An audio time-stretching and pitch-shifting library and utility program.
Copyright 2007-2012 Particular Programs Ltd.

   Usage: rubberband [options] <infile.wav> <outfile.wav>

You must specify at least one of the following time and pitch ratio options.

  -t<X>, --time <X>       Stretch to X times original duration, or
  -T<X>, --tempo <X>      Change tempo by multiple X (same as --time 1/X), or
  -T<X>, --tempo <X>:<Y>  Change tempo from X to Y (same as --time X/Y), or
  -D<X>, --duration <X>   Stretch or squash to make output file X seconds long

  -p<X>, --pitch <X>      Raise pitch by X semitones, or
  -f<X>, --frequency <X>  Change frequency by multiple X

  -M<F>, --timemap <F>    Use file F as the source for key frame map

A map file consists of a series of lines each having two numbers separated
by a single space.  These are source and target sample frame numbers for fixed
time points within the audio data, defining a varying stretch factor through
the audio.  You must specify an overall stretch factor using e.g. -t as well.

The following options provide a simple way to adjust the sound.  See below
for more details.

  -c<N>, --crisp <N>      Crispness (N = 0,1,2,3,4,5,6); default 5 (see below)
  -F,    --formant        Enable formant preservation when pitch shifting

The remaining options fine-tune the processing mode and stretch algorithm.
These are mostly included for test purposes; the default settings and standard
crispness parameter are intended to provide the best sounding set of options
for most situations.  The default is to use none of these options.

  -L,    --loose          Relax timing in hope of better transient preservation
  -P,    --precise        Ignored: The opposite of -L, this is default from 1.6
  -R,    --realtime       Select realtime mode (implies --no-threads)
         --no-threads     No extra threads regardless of CPU and channel count
         --threads        Assume multi-CPU even if only one CPU is identified
         --no-transients  Disable phase resynchronisation at transients
         --bl-transients  Band-limit phase resync to extreme frequencies
         --no-lamination  Disable phase lamination
         --window-long    Use longer processing window (actual size may vary)
         --window-short   Use shorter processing window
         --smoothing      Apply window presum and time-domain smoothing
         --detector-perc  Use percussive transient detector (as in pre-1.5)
         --detector-soft  Use soft transient detector
         --pitch-hq       In RT mode, use a slower, higher quality pitch shift
         --centre-focus   Preserve focus of centre material in stereo
                          (at a cost in width and individual channel quality)

  -d<N>, --debug <N>      Select debug level (N = 0,1,2,3); default 0, full 3
                          (N.B. debug level 3 includes audible ticks in output)
  -q,    --quiet          Suppress progress output

  -V,    --version        Show version number and exit
  -h,    --help           Show this help

"Crispness" levels:
  -c 0   equivalent to --no-transients --no-lamination --window-long
  -c 1   equivalent to --detector-soft --no-lamination --window-long (for piano)
  -c 2   equivalent to --no-transients --no-lamination
  -c 3   equivalent to --no-transients
  -c 4   equivalent to --bl-transients
  -c 5   default processing options
  -c 6   equivalent to --no-lamination --window-short (may be good for drums



More information about the ubuntu-studio-users mailing list