From 05a3403137d513f7b6ed839e9429f5505dbd749d Mon Sep 17 00:00:00 2001 From: oparviai Date: Mon, 30 Oct 2017 16:53:17 +0000 Subject: [PATCH] Refactored C# interface & example --- README.html | 37 +- source/csharp-example/MainWindow.xaml | 2 +- source/csharp-example/MainWindow.xaml.cs | 75 ++- source/csharp-example/SoundProcessor.cs | 6 +- source/csharp-example/SoundTouch.cs | 637 +++++++++++++++-------- 5 files changed, 492 insertions(+), 265 deletions(-) diff --git a/README.html b/README.html index 3d733e2..4e6f91b 100644 --- a/README.html +++ b/README.html @@ -13,7 +13,7 @@
-

SoundTouch audio processing library v2.0

+

SoundTouch audio processing library v2.0.1pre

SoundTouch library Copyright © Olli Parviainen 2001-2017


1. Introduction

@@ -123,7 +123,7 @@ destination locations.

-

2.2.1 Required GNU tools 

+

2.2.1 Required GNU tools

Bash shell, GNU C++ compiler, libtool, sample rate transposing and time-stretching.

Sample rate transposing affects both the audio stream duration and pitch. It's implemented simply by converting the original -audio sample stream to the  desired duration by interpolating from +audio sample stream to the desired duration by interpolating from the original audio samples. In SoundTouch, linear interpolation with anti-alias filtering is used. Theoretically a higher-order interpolation provide better result than 1st order linear @@ -271,7 +271,7 @@ length of a single processing sequence in milliseconds which determines the how the original sound is chopped in the time-stretch algorithm. Larger values mean fewer sequences are used in processing. In principle a larger value sounds better when slowing down the tempo, but worse -when increasing the tempo and vice versa. 
+when increasing the tempo and vice versa.

By default, this setting value is calculated automatically according to tempo value.
@@ -280,7 +280,7 @@ tempo value.
default length in milliseconds is for the algorithm that seeks the best possible overlapping location. This determines from how wide a sample "window" the algorithm can use to find an optimal mixing location when -the sound sequences are to be linked back together. 
+the sound sequences are to be linked back together.

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 @@ -348,7 +348,7 @@ computation burden Default value is relatively large, chosen to suit with above parameters. -   + If you reduce the "sequence ms" setting, you might wish to try a smaller value. Increasing the parameter value increases @@ -361,7 +361,7 @@ computation burden

The time-stretch routine has a 'quick' mode that substantially speeds up the algorithm but may slightly compromise the sound quality. This mode is activated by calling SoundTouch::setSetting() -function with parameter  id of SETTING_USE_QUICKSEEK and value +function with parameter id of SETTING_USE_QUICKSEEK and value "1", i.e.

setSetting(SETTING_USE_QUICKSEEK, 1);

@@ -445,13 +445,13 @@ file format). Give "stdin" as filename to use standard input pipe. Name of the output sound file where the resulting sound is saved (in .WAV audio file format). This parameter -may be omitted if you  don't want to save the output (e.g. when +may be omitted if you don't want to save the output (e.g. when only calculating BPM rate with '-bpm' switch). Give "stdout" as filename to use standard output pipe. -
 [switches]
+
[switches]
Are one or more control switches. @@ -575,10 +575,11 @@ this corresponds to lowering the pitch by -0.318 semitones:

5.1. SoundTouch library Change History

2.0.1pre:

2.0: