mirror of
https://github.com/azahar-emu/soundtouch
synced 2025-11-09 00:20:06 +01:00
Updated for 1.4.0
This commit is contained in:
parent
9d7952e56e
commit
4c4bcae5e2
173
README.html
173
README.html
@ -18,10 +18,10 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="normal">
|
<body class="normal">
|
||||||
<hr>
|
<hr>
|
||||||
<h1>SoundTouch audio processing library v1.3.9 (1.4.0-pre)
|
<h1>SoundTouch audio processing library v1.4.0
|
||||||
</h1>
|
</h1>
|
||||||
<p class="normal">SoundTouch library Copyright (c) Olli
|
<p class="normal">SoundTouch library Copyright (c) Olli
|
||||||
Parviainen 2002-2008 </p>
|
Parviainen 2002-2009 </p>
|
||||||
<hr>
|
<hr>
|
||||||
<h2>1. Introduction </h2>
|
<h2>1. Introduction </h2>
|
||||||
<p>SoundTouch is an open-source audio
|
<p>SoundTouch is an open-source audio
|
||||||
@ -47,47 +47,37 @@ data instead of 16bit integers. See section "sample data format"
|
|||||||
for more information.</p>
|
for more information.</p>
|
||||||
<h3>2.1. Building in Microsoft Windows</h3>
|
<h3>2.1. Building in Microsoft Windows</h3>
|
||||||
<p>Project files for Microsoft Visual C++ 6.0 and Visual C++ .NET are
|
<p>Project files for Microsoft Visual C++ 6.0 and Visual C++ .NET are
|
||||||
supplied with the source code package. Please notice that SoundTouch
|
supplied with the source code package. </p>
|
||||||
library uses processor-specific optimiations for Pentium III and AMD
|
<p> Please notice that SoundTouch
|
||||||
processors that require a processor pack upgrade for
|
library uses processor-specific optimizations for Pentium III and AMD
|
||||||
the Visual Studio 6.0 to be installed in order to support these
|
processors. Visual Studio .NET and later versions supports the required
|
||||||
optimiations. The processor pack upgrade can be downloaded from
|
instructions by default, but Visual Studio 6.0 requires a processor pack upgrade
|
||||||
|
to be installed in order to support these optimizations. The processor pack upgrade can be downloaded from
|
||||||
Microsoft site at this URL:</p>
|
Microsoft site at this URL:</p>
|
||||||
<p><a
|
<p><a href="http://msdn.microsoft.com/en-us/vstudio/aa718349.aspx">http://msdn.microsoft.com/en-us/vstudio/aa718349.aspx</a></p>
|
||||||
href="http://msdn.microsoft.com/vstudio/downloads/tools/ppack/default.aspx">
|
|
||||||
http://msdn.microsoft.com/vstudio/downloads/tools/ppack/default.aspx</a></p>
|
|
||||||
<p>If the above URL is unavailable or removed, go
|
<p>If the above URL is unavailable or removed, go
|
||||||
to <a href="http://msdn.microsoft.com/">http://msdn.microsoft.com</a>
|
to <a href="http://msdn.microsoft.com/">http://msdn.microsoft.com</a>
|
||||||
and perform a search with keywords processor pack. </p>
|
and perform a search with keywords "processor pack". </p>
|
||||||
<p>Visual Studio .NET supports required
|
<p>To build the binaries with Visual C++
|
||||||
instructions by default and thus doesn't require installing the
|
compiler, either run "make-win.bat" script, or open the
|
||||||
processor pack.</p>
|
|
||||||
<p>To build the binaries with Visual C++ 6.0
|
|
||||||
compiler, either run "make-win.bat" script or open the
|
|
||||||
appropriate project files in source code directories with Visual
|
appropriate project files in source code directories with Visual
|
||||||
Studio. The final executable will appear under the "SoundTouch\bin"
|
Studio. The final executable will appear under the "SoundTouch\bin"
|
||||||
directory. If using the Visual Studio IDE instead of the
|
directory. If using the Visual Studio IDE instead of the
|
||||||
make-win.bat script, directories bin and
|
make-win.bat script, directories bin and
|
||||||
lib have to be created manually to the SoundTouch
|
lib may need to be created manually to the SoundTouch
|
||||||
package root for the final executables. The make-win.bat script
|
package root for the final executables. The make-win.bat script
|
||||||
creates these directories automatically.
|
creates these directories automatically.
|
||||||
</p>
|
</p>
|
||||||
<p>Also other C++ compilers than Visual C++ can be
|
|
||||||
used, but project or makefiles then have to be adapted accordingly.
|
|
||||||
Performance optimiations are written in Visual C++ compatible
|
|
||||||
syntax, they may or may not be compatible with other compilers. If
|
|
||||||
using GCC (Gnu C Compiler) compiler package such as DJGPP or Cygwin,
|
|
||||||
please see next chapter for instructions. </p>
|
|
||||||
<h3>2.2. Building in Gnu platforms</h3>
|
<h3>2.2. Building in Gnu platforms</h3>
|
||||||
<p>The SoundTouch library can be compiled in
|
<p>The SoundTouch library can be compiled in
|
||||||
practically any platform supporting GNU compiler (GCC) tools.
|
practically any platform supporting GNU compiler (GCC) tools.
|
||||||
SoundTouch have been tested with gcc version 3.3.4., but it
|
SoundTouch have been tested with gcc version 3.3.4., but it
|
||||||
shouldn't be very specific about the gcc version. Assembler-level
|
shouldn't be very specific about the gcc version. Assembler-level
|
||||||
performance optimiations for GNU platform are currently available in
|
performance optimizations for GNU platform are currently available in
|
||||||
x86 platforms only, they are automatically disabled and replaced with
|
x86 platforms only, they are automatically disabled and replaced with
|
||||||
standard C routines in other processor platforms.</p>
|
standard C routines in other processor platforms.</p>
|
||||||
<p>To build and install the binaries, run the
|
<p>To build and install the binaries, run the
|
||||||
following commands in SoundTouch/ directory:</p>
|
following commands in the SoundTouch/ directory:</p>
|
||||||
<table border="0" cellpadding="0" cellspacing="4">
|
<table border="0" cellpadding="0" cellspacing="4">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr valign="top">
|
<tr valign="top">
|
||||||
@ -121,14 +111,13 @@ binaries to the destination locations.</p>
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p><b>NOTE:</b> At the time of release the SoundTouch package has been
|
<p><b>NOTE:</b> At the release time the SoundTouch package has been
|
||||||
tested
|
tested
|
||||||
to compile in GNU/Linux platform. However, in past it's happened that
|
to compile in GNU/Linux platform. However, in past it's happened that
|
||||||
new
|
new
|
||||||
gcc versions aren't necessarily compatible with the assembler setttings
|
gcc versions aren't necessarily compatible with the assembler setttings
|
||||||
used in the optimied routines. <b>If you have problems getting the
|
used in the optimized routines. <b>If you have problems getting the
|
||||||
SoundTouch library compiled, try the workaround of disabling the
|
SoundTouch library compiled, try the workaround of disabling the optimizations</b> by editing the file "include/STTypes.h" and removing
|
||||||
optimiations</b> by editing the file "include/STTypes.h" and removing
|
|
||||||
the following definition there:</p>
|
the following definition there:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define ALLOW_OPTIMIZATIONS 1</pre>
|
<pre>#define ALLOW_OPTIMIZATIONS 1</pre>
|
||||||
@ -142,7 +131,7 @@ default is 32bit floating point. </p>
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
In Windows environment, the sample data format is chosen
|
In Windows environment, the sample data format is chosen
|
||||||
in file "STTypes.h" by choosing one of the following
|
in file "STTypes.h" by choosing one of the following
|
||||||
defines:</p>
|
defines:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><span style="font-weight: bold;">#define INTEGER_SAMPLES</span>
|
<li><span style="font-weight: bold;">#define INTEGER_SAMPLES</span>
|
||||||
@ -194,8 +183,7 @@ effects, <em>sample rate transposing</em> and <em>time-stretching</em>.</p>
|
|||||||
<p><em>Sample rate transposing</em> affects
|
<p><em>Sample rate transposing</em> affects
|
||||||
both the audio stream duration and pitch. It's implemented simply
|
both the audio stream duration and pitch. It's implemented simply
|
||||||
by converting the original audio sample stream to the desired
|
by converting the original audio sample stream to the desired
|
||||||
duration by interpolating from the original audio samples. In
|
duration by interpolating from the original audio samples. In SoundTouch, linear interpolation with anti-alias filtering is
|
||||||
SoundTouch, linear interpolation with anti-alias filtering is
|
|
||||||
used. Theoretically a higher-order interpolation provide better
|
used. Theoretically a higher-order interpolation provide better
|
||||||
result than 1st order linear interpolation, but in audio
|
result than 1st order linear interpolation, but in audio
|
||||||
application linear interpolation together with anti-alias
|
application linear interpolation together with anti-alias
|
||||||
@ -228,7 +216,7 @@ original duration but increased pitch.</li>
|
|||||||
</ul>
|
</ul>
|
||||||
<h3>3.4 Tuning the algorithm parameters</h3>
|
<h3>3.4 Tuning the algorithm parameters</h3>
|
||||||
<p>The time-stretch algorithm has few
|
<p>The time-stretch algorithm has few
|
||||||
parameters that can be tuned to optimie sound quality for
|
parameters that can be tuned to optimize sound quality for
|
||||||
certain application. The current default parameters have been
|
certain application. The current default parameters have been
|
||||||
chosen by iterative if-then analysis (read: "trial and error")
|
chosen by iterative if-then analysis (read: "trial and error")
|
||||||
to obtain best subjective sound quality in pop/rock music
|
to obtain best subjective sound quality in pop/rock music
|
||||||
@ -236,10 +224,10 @@ processing, but in applications processing different kind of
|
|||||||
sound the default parameter set may result into a sub-optimal
|
sound the default parameter set may result into a sub-optimal
|
||||||
result.</p>
|
result.</p>
|
||||||
<p>The time-stretch algorithm default
|
<p>The time-stretch algorithm default
|
||||||
parameter values are set by these #defines in file "TDStretch.h":</p>
|
parameter values are set by these #defines in file "TDStretch.h":</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>#define DEFAULT_SEQUENCE_MS 82
|
<pre>#define DEFAULT_SEQUENCE_MS AUTOMATIC
|
||||||
#define DEFAULT_SEEKWINDOW_MS 28
|
#define DEFAULT_SEEKWINDOW_MS AUTOMATIC
|
||||||
#define DEFAULT_OVERLAP_MS 12</pre>
|
#define DEFAULT_OVERLAP_MS 12</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>These parameters affect to the time-stretch
|
<p>These parameters affect to the time-stretch
|
||||||
@ -251,13 +239,16 @@ which determines the how the original sound is chopped in
|
|||||||
the time-stretch algorithm. Larger values mean fewer sequences
|
the time-stretch algorithm. Larger values mean fewer sequences
|
||||||
are used in processing. In principle a larger value sounds better when
|
are used in processing. In principle a larger value sounds better when
|
||||||
slowing down the tempo, but worse when increasing the tempo and vice
|
slowing down the tempo, but worse when increasing the tempo and vice
|
||||||
versa.<br>
|
versa. <br>
|
||||||
|
<br>
|
||||||
|
By default, this setting value is calculated automatically according to
|
||||||
|
tempo value.<br>
|
||||||
</li>
|
</li>
|
||||||
<li><strong>DEFAULT_SEEKWINDOW_MS</strong>: The seeking window
|
<li><strong>DEFAULT_SEEKWINDOW_MS</strong>: The seeking window
|
||||||
default length in milliseconds is for the algorithm that seeks the best
|
default length in milliseconds is for the algorithm that seeks the best
|
||||||
possible overlapping location. This determines from how
|
possible overlapping location. This determines from how
|
||||||
wide a sample "window" the algorithm can use to find an optimal mixing
|
wide a sample "window" the algorithm can use to find an optimal mixing
|
||||||
location when the sound sequences are to be linked back together.<br>
|
location when the sound sequences are to be linked back together. <br>
|
||||||
<br>
|
<br>
|
||||||
The bigger this window setting is, the higher the possibility to find a
|
The bigger this window setting is, the higher the possibility to find a
|
||||||
better mixing position becomes, but at the same time large values may
|
better mixing position becomes, but at the same time large values may
|
||||||
@ -265,6 +256,9 @@ cause a "drifting" sound artifact because neighboring sequences can be
|
|||||||
chosen at more uneven intervals. If there's a disturbing artifact that
|
chosen at more uneven intervals. If there's a disturbing artifact that
|
||||||
sounds as if a constant frequency was drifting around, try reducing
|
sounds as if a constant frequency was drifting around, try reducing
|
||||||
this setting.<br>
|
this setting.<br>
|
||||||
|
<br>
|
||||||
|
By default, this setting value is calculated automatically according to
|
||||||
|
tempo value.<br>
|
||||||
</li>
|
</li>
|
||||||
<li><strong>DEFAULT_OVERLAP_MS</strong>: Overlap
|
<li><strong>DEFAULT_OVERLAP_MS</strong>: Overlap
|
||||||
length in milliseconds. When the sound sequences are mixed back
|
length in milliseconds. When the sound sequences are mixed back
|
||||||
@ -290,9 +284,7 @@ magnitude</strong></td>
|
|||||||
affects...</strong></td>
|
affects...</strong></td>
|
||||||
<td valign="top"><strong>Smaller value
|
<td valign="top"><strong>Smaller value
|
||||||
affects...</strong></td>
|
affects...</strong></td>
|
||||||
<td valign="top"><strong>Music</strong></td>
|
<td valign="top"><strong>Effect to CPU burden</strong></td>
|
||||||
<td valign="top"><strong>Speech</strong></td>
|
|
||||||
<td valign="top"><strong>Effect in CPU burden</strong></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
@ -306,9 +298,6 @@ better for slowing down tempo. Growing the value decelerates the
|
|||||||
<td valign="top">Smaller value might be better
|
<td valign="top">Smaller value might be better
|
||||||
for speeding up tempo. Reducing the value accelerates the "echoing"
|
for speeding up tempo. Reducing the value accelerates the "echoing"
|
||||||
artifact when slowing down the tempo </td>
|
artifact when slowing down the tempo </td>
|
||||||
<td valign="top">Default value usually good</td>
|
|
||||||
<td valign="top">A smaller value than default
|
|
||||||
might be better</td>
|
|
||||||
<td valign="top">Increasing the parameter
|
<td valign="top">Increasing the parameter
|
||||||
value reduces computation burden</td>
|
value reduces computation burden</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -322,9 +311,6 @@ large, chosen for slowing down music tempo</td>
|
|||||||
good mixing position, but may cause a "drifting" artifact</td>
|
good mixing position, but may cause a "drifting" artifact</td>
|
||||||
<td valign="top">Smaller reduce possibility to
|
<td valign="top">Smaller reduce possibility to
|
||||||
find a good mixing position, but reduce the "drifting" artifact.</td>
|
find a good mixing position, but reduce the "drifting" artifact.</td>
|
||||||
<td valign="top">Default value usually good,
|
|
||||||
unless a "drifting" artifact is disturbing.</td>
|
|
||||||
<td valign="top">Default value usually good</td>
|
|
||||||
<td valign="top">Increasing the parameter
|
<td valign="top">Increasing the parameter
|
||||||
value increases computation burden</td>
|
value increases computation burden</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -337,15 +323,13 @@ large, chosen to suit with above parameters.</td>
|
|||||||
<td valign="top"> </td>
|
<td valign="top"> </td>
|
||||||
<td valign="top">If you reduce the "sequence
|
<td valign="top">If you reduce the "sequence
|
||||||
ms" setting, you might wish to try a smaller value.</td>
|
ms" setting, you might wish to try a smaller value.</td>
|
||||||
<td valign="top"> </td>
|
|
||||||
<td valign="top"> </td>
|
|
||||||
<td valign="top">Increasing the parameter
|
<td valign="top">Increasing the parameter
|
||||||
value increases computation burden</td>
|
value increases computation burden</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<h3>3.5 Performance Optimiations </h3>
|
<h3>3.5 Performance Optimizations </h3>
|
||||||
<p><strong>General optimiations:</strong></p>
|
<p><strong>General optimizations:</strong></p>
|
||||||
<p>The time-stretch routine has a 'quick' mode
|
<p>The time-stretch routine has a 'quick' mode
|
||||||
that substantially speeds up the algorithm but may degrade the
|
that substantially speeds up the algorithm but may degrade the
|
||||||
sound quality by a small amount. This mode is activated by
|
sound quality by a small amount. This mode is activated by
|
||||||
@ -354,34 +338,55 @@ of SETTING_USE_QUICKSEEK and value "1", i.e. </p>
|
|||||||
<blockquote>
|
<blockquote>
|
||||||
<p>setSetting(SETTING_USE_QUICKSEEK, 1);</p>
|
<p>setSetting(SETTING_USE_QUICKSEEK, 1);</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p><strong>CPU-specific optimiations:</strong></p>
|
<p><strong>CPU-specific optimizations:</strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Intel MMX optimied routines are used with
|
<li>Intel MMX optimized routines are used with
|
||||||
compatible CPUs when 16bit integer sample type is used. MMX
|
compatible CPUs when 16bit integer sample type is used. MMX optimizations are available both in Win32 and Gnu/x86 platforms.
|
||||||
optimiations are available both in Win32 and Gnu/x86 platforms.
|
|
||||||
Compatible processors are Intel PentiumMMX and later; AMD K6-2, Athlon
|
Compatible processors are Intel PentiumMMX and later; AMD K6-2, Athlon
|
||||||
and later. </li>
|
and later. </li>
|
||||||
<li>Intel SSE optimied routines are used with
|
<li>Intel SSE optimized routines are used with
|
||||||
compatible CPUs when floating point sample type is used. SSE
|
compatible CPUs when floating point sample type is used. SSE optimizations are currently implemented for Win32 platform only.
|
||||||
optimiations are currently implemented for Win32 platform only.
|
|
||||||
Processors compatible with SSE extension are Intel processors starting
|
Processors compatible with SSE extension are Intel processors starting
|
||||||
from Pentium-III, and AMD processors starting from Athlon XP. </li>
|
from Pentium-III, and AMD processors starting from Athlon XP. </li>
|
||||||
<li>AMD 3DNow! optimied routines are used with
|
<li>AMD 3DNow! optimized routines are used with
|
||||||
compatible CPUs when floating point sample type is used, but SSE
|
compatible CPUs when floating point sample type is used, but SSE
|
||||||
extension isn't supported . 3DNow! optimiations are currently
|
extension isn't supported . 3DNow! optimizations are currently
|
||||||
implemented for Win32 platform only. These optimiations are used in
|
implemented for Win32 platform only. These optimizations are used in
|
||||||
AMD K6-2 and Athlon (classic) CPU's; better performing SSE routines are
|
AMD K6-2 and Athlon (classic) CPU's; better performing SSE routines are
|
||||||
used with AMD processor starting from Athlon XP. </li>
|
used with AMD processor starting from Athlon XP. </li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<h3>3.6 GNU compilation issues </h3>
|
||||||
|
<p><b>Required GNU tools</b> </p>
|
||||||
|
<p> Bash shell, GNU C++ compiler, autoconf and automake tools are required to compile
|
||||||
|
the SoundTouch library. These are usually included in the Linux distribution, but if
|
||||||
|
not, install these packages. For example, in Ubuntu these can be acquired and
|
||||||
|
installed in the "build-essentials" package by the following command:</p>
|
||||||
|
<pre><b>sudo apt-get install build-essential</b></pre>
|
||||||
|
<p><b>Problems with configure script or build process</b> </p>
|
||||||
|
<p>Due differences between various GNU toolchain versions, you may get errors when running the "configure" script or building the source
|
||||||
|
codes, if your GNU tool versions are not compatible with the versions used for
|
||||||
|
preparing the SoundTouch kit. </p>
|
||||||
|
<p>In such case, regenerate the configure script with your local tools by running
|
||||||
|
the "<b>./bootstrap</b>" script included in the SoundTouch source code
|
||||||
|
kit. After that, run the <b>configure</b> script and <b>make</b> as usually.</p>
|
||||||
|
<p><b>Compiler issues with non-x86 processors</b></p>
|
||||||
|
<p>SoundTouch works also on non-x86 processors.</p>
|
||||||
|
<p>However, in case that you get compiler errors when compiling for non-Intel processor,
|
||||||
|
then edit the file
|
||||||
|
"<b>source\SoundTouch\Makefile.am</b>" and remove the "<b>-msse2</b>"
|
||||||
|
flag on the <b>AM_CXXFLAGS </b>line:</p>
|
||||||
|
<pre><b>AM_CXXFLAGS=-O3 -fcheck-new -I../../include # Note: -msse2 flag removed!</b></pre>
|
||||||
|
<p>After that, run "<b>./bootstrap</b>" script, and then run <b>configure</b>
|
||||||
|
and <b>make</b> again.</p>
|
||||||
<hr>
|
<hr>
|
||||||
<h2><a name="SoundStretch"></a>4. SoundStretch audio processing utility
|
<h2><a name="SoundStretch"></a>4. SoundStretch audio processing utility
|
||||||
</h2>
|
</h2>
|
||||||
<p>SoundStretch audio processing utility<br>
|
<p>SoundStretch audio processing utility<br>
|
||||||
Copyright (c) Olli Parviainen 2002-2005</p>
|
Copyright (c) Olli Parviainen 2002-2009</p>
|
||||||
<p>SoundStretch is a simple command-line
|
<p>SoundStretch is a simple command-line
|
||||||
application that can change tempo, pitch and playback rates of
|
application that can change tempo, pitch and playback rates of
|
||||||
WAV sound files. This program is intended primarily to
|
WAV sound files. This program is intended primarily to
|
||||||
demonstrate how the "SoundTouch" library can be used to
|
demonstrate how the "SoundTouch" library can be used to
|
||||||
process sound in your own program, but it can as well be used for
|
process sound in your own program, but it can as well be used for
|
||||||
processing sound files.</p>
|
processing sound files.</p>
|
||||||
<h3>4.1. SoundStretch Usage Instructions</h3>
|
<h3>4.1. SoundStretch Usage Instructions</h3>
|
||||||
@ -448,8 +453,8 @@ n percents (n = -95.0 .. +5000.0 %) </td>
|
|||||||
<td valign="top">
|
<td valign="top">
|
||||||
<pre>-bpm=n</pre>
|
<pre>-bpm=n</pre>
|
||||||
</td>
|
</td>
|
||||||
<td valign="top">Detect the Beats-Per-Minute
|
<td valign="top">Detect the Beats-Per-Minute (BPM) rate of the sound and adjust the tempo to meet 'n'
|
||||||
(BPM) rate of the sound and adjust the tempo to meet 'n' BPMs. When this switch is
|
BPMs. When this switch is
|
||||||
applied, the "-tempo" switch is ignored. If "=n" is
|
applied, the "-tempo" switch is ignored. If "=n" is
|
||||||
omitted, i.e. switch "-bpm" is used alone, then the BPM rate is
|
omitted, i.e. switch "-bpm" is used alone, then the BPM rate is
|
||||||
estimated and displayed, but tempo not adjusted according to the BPM
|
estimated and displayed, but tempo not adjusted according to the BPM
|
||||||
@ -532,13 +537,15 @@ estimates the BPM rate:</p>
|
|||||||
<h2>5. Change History</h2>
|
<h2>5. Change History</h2>
|
||||||
<h3>5.1. SoundTouch library Change History </h3>
|
<h3>5.1. SoundTouch library Change History </h3>
|
||||||
|
|
||||||
<p><strong>v1.3.9 (1.4.0 pre):</strong></p>
|
<p><strong>1.4.0:</strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Improved sound quality by automatic calculation of time stretch algorithm
|
||||||
|
processing parameters according to tempo setting</li>
|
||||||
<li>Moved BPM detection routines from SoundStretch application into SoundTouch
|
<li>Moved BPM detection routines from SoundStretch application into SoundTouch
|
||||||
library</li>
|
library</li>
|
||||||
<li>Bugfixes: Using uninitialied variables, GNU build scripts, compiler errors
|
<li>Bugfixes: Usage of uninitialied variables, GNU build scripts, compiler errors
|
||||||
due to 'const' keyword mismatch.</li>
|
due to 'const' keyword mismatch.</li>
|
||||||
<li>Some source code cleanup</li>
|
<li>Source code cleanup</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -546,10 +553,10 @@ estimates the BPM rate:</p>
|
|||||||
</strong></p>
|
</strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Changed static class declaration to GCC 4.x compiler compatible syntax.</li>
|
<li>Changed static class declaration to GCC 4.x compiler compatible syntax.</li>
|
||||||
<li>Enabled MMX/SSE-optimied routines also for GCC compilers. Earlier
|
<li>Enabled MMX/SSE-optimized routines also for GCC compilers. Earlier
|
||||||
the MMX/SSE-optimied routines were written in compiler-specific inline
|
the MMX/SSE-optimized routines were written in compiler-specific inline
|
||||||
assembler, now these routines are migrated to use compiler intrinsic
|
assembler, now these routines are migrated to use compiler intrinsic
|
||||||
syntax which allows compiling the same MMX/SSE-optimied source code with
|
syntax which allows compiling the same MMX/SSE-optimized source code with
|
||||||
both Visual C++ and GCC compilers. </li>
|
both Visual C++ and GCC compilers. </li>
|
||||||
<li>Set floating point as the default sample format and added switch to
|
<li>Set floating point as the default sample format and added switch to
|
||||||
the GNU configure script for selecting the other sample format.</li>
|
the GNU configure script for selecting the other sample format.</li>
|
||||||
@ -563,13 +570,13 @@ the GNU configure script for selecting the other sample format.</li>
|
|||||||
error </li>
|
error </li>
|
||||||
<li>Implemented separate processing routines for integer and
|
<li>Implemented separate processing routines for integer and
|
||||||
floating arithmetic to allow improvements to floating point routines
|
floating arithmetic to allow improvements to floating point routines
|
||||||
(earlier used algorithms mostly optimied for integer arithmetic also
|
(earlier used algorithms mostly optimized for integer arithmetic also
|
||||||
for floating point samples) </li>
|
for floating point samples) </li>
|
||||||
<li>Fixed a bug that distorts sound if sample rate changes during the
|
<li>Fixed a bug that distorts sound if sample rate changes during the
|
||||||
sound stream </li>
|
sound stream </li>
|
||||||
<li>Fixed a memory leak that appeared in MMX/SSE/3DNow! optimied
|
<li>Fixed a memory leak that appeared in MMX/SSE/3DNow! optimized
|
||||||
routines </li>
|
routines </li>
|
||||||
<li>Reduced redundant code pieces in MMX/SSE/3DNow! optimied
|
<li>Reduced redundant code pieces in MMX/SSE/3DNow! optimized
|
||||||
routines vs. the standard C routines.</li>
|
routines vs. the standard C routines.</li>
|
||||||
<li>MMX routine incompatibility with new gcc compiler versions </li>
|
<li>MMX routine incompatibility with new gcc compiler versions </li>
|
||||||
<li>Other miscellaneous bug fixes </li>
|
<li>Other miscellaneous bug fixes </li>
|
||||||
@ -587,8 +594,7 @@ SAMPLETYPE definitions.</li>
|
|||||||
<p><strong>v1.2.0: </strong></p>
|
<p><strong>v1.2.0: </strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Added support for 32bit floating point sample
|
<li>Added support for 32bit floating point sample
|
||||||
data type with SSE/3DNow! optimiations for Win32 platform (SSE/3DNow!
|
data type with SSE/3DNow! optimizations for Win32 platform (SSE/3DNow! optimizations currently not supported in GCC environment)</li>
|
||||||
optimiations currently not supported in GCC environment)</li>
|
|
||||||
<li>Replaced 'make-gcc' script for GNU environment
|
<li>Replaced 'make-gcc' script for GNU environment
|
||||||
by master Makefile</li>
|
by master Makefile</li>
|
||||||
<li>Added time-stretch routine configurability to
|
<li>Added time-stretch routine configurability to
|
||||||
@ -599,8 +605,7 @@ SoundTouch main class</li>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Moved SoundTouch under lesser GPL license (LGPL). This allows using SoundTouch library in programs that aren't
|
<li>Moved SoundTouch under lesser GPL license (LGPL). This allows using SoundTouch library in programs that aren't
|
||||||
released under GPL license. </li>
|
released under GPL license. </li>
|
||||||
<li>Changed MMX routine organiation so that MMX
|
<li>Changed MMX routine organiation so that MMX optimized routines are now implemented in classes that are derived from
|
||||||
optimied routines are now implemented in classes that are derived from
|
|
||||||
the basic classes having the standard non-mmx routines. </li>
|
the basic classes having the standard non-mmx routines. </li>
|
||||||
<li>MMX routines to support gcc version 3. </li>
|
<li>MMX routines to support gcc version 3. </li>
|
||||||
<li>Replaced windows makefiles by script using the .dsw files </li>
|
<li>Replaced windows makefiles by script using the .dsw files </li>
|
||||||
@ -622,18 +627,19 @@ files. </li>
|
|||||||
<h3>5.2. SoundStretch application Change
|
<h3>5.2. SoundStretch application Change
|
||||||
History </h3>
|
History </h3>
|
||||||
|
|
||||||
<p><strong>v1.3.9 (1.4.0 pre):</strong></p>
|
<p><strong>1.4.0:</strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Moved BPM detection routines from SoundStretch application into SoundTouch
|
<li>Moved BPM detection routines from SoundStretch application into SoundTouch
|
||||||
library</li>
|
library</li>
|
||||||
<li>Allow using standard input/output pipes for processing </li>
|
<li>Allow using standard input/output pipes as audio processing input/output
|
||||||
|
streams</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><strong>v1.3.0:</strong></p>
|
<p><strong>v1.3.0:</strong></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Simplified accessing WAV files with floating
|
<li>Simplified accessing WAV files with floating
|
||||||
point sample format.<br>
|
point sample format.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><strong>v1.2.1: </strong></p>
|
<p><strong>v1.2.1: </strong></p>
|
||||||
@ -686,9 +692,8 @@ SoundTouch v1.3.1: </p>
|
|||||||
Copyright (c) Olli Parviainen</p>
|
Copyright (c) Olli Parviainen</p>
|
||||||
<p>This library is free software; you can
|
<p>This library is free software; you can
|
||||||
redistribute it and/or modify it under the terms of the GNU
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
Lesser General Public License as published by the Free Software
|
Lesser General Public License vesrion 2.1 as published by the Free Software
|
||||||
Foundation; either version 2.1 of the License, or (at your option)
|
Foundation.</p>
|
||||||
any later version.</p>
|
|
||||||
<p>This library is distributed in the hope
|
<p>This library is distributed in the hope
|
||||||
that it will be useful, but WITHOUT ANY WARRANTY; without even
|
that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user