Foros del Web » Programación para mayores de 30 ;) » .NET »

Unir dos .WAV en C#.Net

Estas en el tema de Unir dos .WAV en C#.Net en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/01/2010, 08:01
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 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.
  #2 (permalink)  
Antiguo 01/02/2010, 08:33
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Unir dos .WAV en C#.Net

Bueno, no se si no me explique bien, o no se entendió lo que necesitaba,
pero ya lo encontré!
La idea era unir 2 voces distintas, en un mismo archivo .wav.
Luego de que creo el archivo, le "guardo" la variable que contiene la voz y el texto:
speech.Speak(inputText, SpFlags);
Bueno, lo único que tenía que hacer es duplicar ese código ponerle el texto y la voz nueva:
speech.Speak(inputText2, SpFlags2);
y listo, nada mas que eso. Bueno gracias igual a todos! Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.

Etiquetas: dos, unir, wav
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.