Voice SlashDot

Japppppp 10.05.02 18:39

Lukee vaikkapa slashdotin RDF:n parsii sieltä titlet ja putkettaa sen festival puhe generaattorin kautta lamelle ja pukkaa ulos mp3sen

 Tekstiversio  Arvo: 1 (1 ääntä)  Äänestä: +  -
// Eli siis lame ja festival puhe generaattori pitää olla asennettuna
// bitrate on 32, mut sen voi muuttaa
// testata voi vaikka
// http://zander.labra.jypoly.fi/~drwn/slash.php

<?php

 header("Content-Type: audio/mpeg; filename=slashdot.mp3");
 header("Content-Disposition: ;filename=slashdot.mp3");


 $file = "http://slashdot.org/slashdot.rdf";
 $currentTag = "";
 $xml_parser;

function startElement($parser, $name, $attrs)
{
        global $profile;
        global $currentTag;
        $currentTag = $name;

        switch ($name)
        {
        case "TITLE":
        break;
    }
}

function endElement($parser, $name)
{
        global $currentTag;

        switch ($name)
        {
        case "TITLE":
        break;
    }
}


function characterData($parser, $data)
{

        global $currentTag;
        global $array_of_headlines;
        switch ($currentTag)
        {

        case "TITLE":
   
     if($data != "")
     {
     $array_of_headlines[] = $data;
     }

          break;
    }

}





function init($files)
{
  $file = $files;
  $xml_parser = xml_parser_create();
  global $array_of_headlines;

   xml_set_element_handler($xml_parser, "startElement", "endElement");
   xml_set_character_data_handler($xml_parser, "characterData");

  if (!($fp = fopen($file, "r")))
  {
    die("Cannot locate XML data file: $file");
  }


  while ($data = fread($fp, 4096))
  {
      xml_parse($xml_parser, $data, feof($fp));
  }


   xml_parser_free($xml_parser);

   return $array_of_headlines;

}

?>

<?php


  $myArray = init("http://slashdot.org/slashdot.rdf");
  $myText = "";
  $size = sizeof($myArray);

  $myValues = array_values($myArray);
  $myValues = array_unique($myValues);
  $counter = 0;
  for($i=0; $i<$size; $i++)
  {
   if($myValues[$i] != "")
   {
    if($i != 1)
   {
   $counter++;
  // echo $counter.".".$myValues[$i]."<br>";
   
   $myText .= $counter."\n\n\n\n\n\n\n".$myValues[$i]."\n\n\n\n\n\n\n\n\n\n\n";
   }
   }

  }
 
   passthru("echo \"$myText\" | /tmp/text2wave | lame -b 32 -m m - -");
    exit;



?>
 

henri_aleksi 13:54 12.4.05 
Sinulla on touossa ilmeisesti kaksi php- tiedostoa, miksei niiden nimiä ole mainittu ja jos siinä oikeasti
kuuluukin olla kaksi eri php- tiedotoa - niin missä on includet?