Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2010, 08:01
Avatar de Javier01
Javier01
 
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 2 meses
Puntos: 31
Unir dos .WAV en C#.Net

Buenas tardes a todos. Tengo un pequeño problema y capas puedan ayudarme.
Primero que nada, les comento que no se casi nada .NET,
pero debo realizar esta aplicación, en esta (para mi nueva) plataforma.

La idea es esta;

Tengo un pequeño código que al pasarle un texto, y un tipo de voz,
genera un archivo con extensión .WAV, de esa voz, diciendo ese texto.

Lo que tengo que hacer que ese texto sea leído por dos voces distintas.
O sea pasando dos voces, una parte la lea una voz, y otra parte, la lea otra voz.
Pero todo en el mismo archivo .WAV.

El código en términos generales, por lo que entiendo,
genera un archivo físico (SpFileStream), y luego le incluye el sonido (speech)
Podría:
1 - Crear 2 archivos .WAV (no tengo complicación) y unirlos. ¿Pero, como puedo unirlos?

2 - Antes de guardar 2 sonidos (speech), concatenarlos, y guardarlos en el archivo.
¿Pero como los concateno o como unir las variables con sonido?

Bueno, si alguien tiene alguna idea, se lo agradecería! Saludos!

El codigo es este:

Código:
public void TextToWav(string inputText, string filePath, string voiceIdString)
{
	try 
	{
		SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; 
		SpVoice speech = new SpVoice();
		
		SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
		SpFileStream SpFileStream = new SpFileStream();
		SpFileStream.Format.Type = mAudioFormatType;
		if( ! filePath.ToLower().EndsWith(".wav"))filePath += ".wav";
		//Creo archivo fisico
		SpFileStream.Open(filePath, SpFileMode, false);
		//Inserto speech que es la voz, en el archivo
		speech.AudioOutputStream = SpFileStream;
		speech.Speak(inputText, SpFlags);
		speech.WaitUntilDone(Timeout.Infinite);
		SpFileStream.Close();				
	}
	catch
	{
		throw;
	}
}
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.