Pensando en Red nada es tan fácil como parece serlo

29mar/110

Recuperando viejas ideas – rsstopodcast.com

Llevo ya mucho tiempo hablando del proyecto de www.arreglamicarretera.com y aunque todavía tengo cuerda para rato, hoy toca comentar que he rescatado una vieja idea que tenía perdida en el cajón de los dominios.

RSS To Podcast, ahora podéis probar el funcionamiento de unas voces sintéticas open source en http://api.rsstopodcast.com

Un bug detectado es que si navegas Google Chrome (muy probable si andas por estos lares) el fichero que se descarga lo tienes que renombrar a mp3.

En el formulario, escribimos un texto de prueba, seleccionamos idioma y luego enviamos el formulario. Tras el envío se descargará un fichero mp3 con el texto sintetizado.

Aunque en un principio este proyecto era más ambicioso, la idea ha sido simplificada para poder tener una versión lo antes posible.

A divertirse con las voces sintéticas! :-)

4dic/093

Sintetizar texto a voz con Festival en Web

En este post doy por hecho que sabemos hacer la instalación del servicio de Festival en nuestro equipo linux, si no es así siempre podéis pasar por Festival, de texto a voz en linux.

Después de unos post "filosóficos" hoy pasamos nuevamente a la parte ténica, en donde con un par de ficheros podremos generar un fichero mp3 sintetizado con Festival mediante un texto de un formulario web.

El ejemplo que expongo a continuación es una página web sencilla que tras rellenar el texto en un textarea lo envía a si misma y retorna la descarga de un fichero mp3 con el texto sintetizado, siempre que tengamos el servicio de festival configurado.

El ejemplo de página web sería:

<?php
if($_POST['texto']){
   $filename = md5($_POST['texto']);
   $txtFile=$filename;
   $mp3File=$filename.".mp3";
   $fp = fopen($txtFile, 'w');
   fwrite($fp,$_POST['texto']);
   fclose($fp);
   exec("./lanza.sh $txtFile");
   if(file_exists($mp3File)){
      $fp = fopen($mp3File,'r');
      if (filesize($mp3File)) {
        $mp3 = fread($fp, filesize($mp3File));
      }
      fclose($fp);
   }
   if(isset($mp3)){
      header('Content-Type: audio/x-mp3');
      header('Content-Disposition: attachment; filename="'.$mp3File);
      header('Content-Length: '. filesize($mp3File));
      echo $mp3;
      unlink($mp3File);
      unlink($txtFile);
   }
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
 <head>
   <title>Demo</title>
 </head>
<body>
 <h1>Demo</h1>
 <form action="" method="post">
   <textarea name="texto" rows="10" cols="50"></textarea>
   <br />
   <input type="submit" name="enviar" value="enviar" />
 </form>
</body>
</html>
<?
}
?>

Como podemos ver, lanzamos un script para generar el fichero mp3, que es la parte más importante ya que cualquier programador y más si hablamos de alguien experto en PHP puede observar que el código es realmente sencillo. Pero lo más divertido fue crear el script sh para generar el fichero mp3.

#!/bin/sh
TEXT=`cat $1`
PAR1="(Parameter.set 'Wavefiletype 'riff)n"
PAR2="(let ((utt (Utterance Text "$TEXT"))) (begin (utt.synth utt) (utt.save.wave utt "$1.wav"))) n"
echo Inicio festival!
echo $PAR1$PAR2 | festival -b --pipe --language spanish
lame -hf $1.wav $1.mp3
rm $1.wav

Aquí en el script, lo que hacemos es indicarle a Festival que la salida la queremos en un fichero Wav. De todas formas no tenemos todo resuelto! tenemos que generar el mp3, y con lame lo hacemos de una manera sencilla :-)

Espero que os pueda ser de utilidad esta mini-receta, cualquier duda siempre podéis plasmarla en un comentario.

Etiquetado con: , , 3 Comentarios
2jul/080

Como cortar archivos mp3 con Ubuntu

Si quieres cortar un trozo de un mp3 utilizando ubuntu/debian tienes que instalar el paquete poc-streamer. Este paquete contiene dos herramientas:

  • mp3cue: mp3cue puede cortar un gran fichero mp3 de acuerdo con una de canciones contenidas en un archivo .cue
  • mp3cut: Puede dividir o concatenar mp3 de acorde a los espacios de tiempo que se le indican.

Para instalar el paquete poc-streamer ejecuta en consola:

sudo aptitutde install poc-streamer

Sintaxis de mp3cut

mp3cut [ -o outputfile ] [ -T title ] [ -A artist ] [ -N album-name ] [ -t [hh:]mm:ss[+ms]-[hh:]mm:ss[+ms] ] mp3file [[ -t … ] mp3file1 …]

Etiquetado con: No hay comentarios
   

Page optimized by WP Minify WordPress Plugin