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

Hazan Pérez hapk02 at gmail.com
Tue Nov 19 20:40:27 UTC 2013

El 19/11/13 03:19, Ralf Mardorf escribió:
> 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" -
> http://packages.ubuntu.com/saucy/audacity
> [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"
> for
> 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
> filenames.
> 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'
> BPMs.
>              If '=n' is omitted, just detects the BPM rate.
>   -quick   : Use quicker tempo change algorithm (gain speed, lose
> quality)
>   -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
> http://breakfastquay.com/rubberband/
> Regards,
> Ralf
Hi guys, thanks for the help. When I wrote in batch I meant several
files in a row; and I know that I also asked for a CLI, must remember
that is called shell script in Linux, solution but was able to solve it
using Audacity's GUI.

I asked the same question in the Audacity forums and received the right
answer. This is made by the use of Chains inside of Audacity.

This is the thread in the forums, in case someone is curious

Thanks again, and I hope that this info is useful for someone else.


Hazan Pérez C.
Twisto Creative

More information about the ubuntu-studio-users mailing list