Index: gtk2_ardour/editor_timefx.cc
===================================================================
--- gtk2_ardour/editor_timefx.cc	(revision 4224)
+++ gtk2_ardour/editor_timefx.cc	(working copy)
@@ -71,7 +71,8 @@
 	  quick_button (_("Quick but Ugly")),
 	  antialias_button (_("Skip Anti-aliasing")),
 	  stretch_opts_label (_("Contents:")),
-	  precise_button (_("Strict Linear"))
+	  precise_button (_("Strict Linear")),
+	  preserve_formants_button(_("Preserve Formants"))
 {
 	set_modal (true);
 	set_position (Gtk::WIN_POS_MOUSE);
@@ -111,6 +112,9 @@
 
 		pitch_cent_spinner.set_digits (1);
 
+		upper_button_box.pack_start (preserve_formants_button, false, false);
+
+
 		add_button (_("Shift"), Gtk::RESPONSE_ACCEPT);
 
 		get_vbox()->pack_start (upper_button_box, false, false);
@@ -253,6 +257,7 @@
 	bool peaklock = true;
 	bool longwin = false;
 	bool shortwin = false;
+	bool preserve_formants = false;
 	string txt;
 
 	enum {
@@ -262,6 +267,7 @@
 	} transients = Transients;
 	
 	precise = current_timefx->precise_button.get_active();
+	preserve_formants = current_timefx->preserve_formants_button.get_active();
 	
 	txt = current_timefx->stretch_opts_selector.get_active_text ();
 
@@ -284,10 +290,14 @@
 
 	if (realtime)    options |= RubberBandStretcher::OptionProcessRealTime;
 	if (precise)     options |= RubberBandStretcher::OptionStretchPrecise;
+	if (preserve_formants)	options |= RubberBandStretcher::OptionFormantPreserved;
+
 	if (!peaklock)   options |= RubberBandStretcher::OptionPhaseIndependent;
 	if (longwin)     options |= RubberBandStretcher::OptionWindowLong;
 	if (shortwin)    options |= RubberBandStretcher::OptionWindowShort;
 		
+		
+		
 	switch (transients) {
 	case NoTransients:
 		options |= RubberBandStretcher::OptionTransientsSmooth;
Index: gtk2_ardour/editor.h
===================================================================
--- gtk2_ardour/editor.h	(revision 4224)
+++ gtk2_ardour/editor.h	(working copy)
@@ -2003,6 +2003,7 @@
 	    Gtk::ComboBoxText     stretch_opts_selector;
 	    Gtk::Label            stretch_opts_label;
 	    Gtk::ToggleButton     precise_button;
+	    Gtk::ToggleButton     preserve_formants_button;
 	    Gtk::HBox             opts_box;
 
 	    Gtk::Button*          cancel_button;
