- Feasible Impossibilities - https://www.impossibilities.com/v4 -

Podcast Enclosure Tags for RSS and ATOM Feeds Fixed and New Text-To-Speech Engine Running

I finally had a bit of time this evening to restore my dynamic text-to-speech engine on my server. I had to rebuild my server from scratch recently, so I decided to upgrade the core speech engine as pat of the rebuilding process. I have a small laundry list of little things I need to rebuild that still haven’t made it over from the old server, but this was one item i wanted to work on ASAP, as the quality of text-to-speech engines has improved greatly in the last few years. The new engine is a huge improvement over the old one. I’ve had it working for a couple weeks, but hadn’t had a chance to wire it back into my blog. I finally put that together this evening. I also added a new way to include the text-to-speech not only through the small “Speak” Flash widget underneath each entry on my blog and archive pages, but also a better method for the enclosure tag in both my RSS [1] and ATOM [2] feeds. Now they no longer require a redirect which some older RSS/ATOM feed readers didn’t handle properly on enclosure tags. When i have some more time I’m going to add in the necessary iTunes tags, and put together a way to download individual entries or archives via iTunes. I plan on incorporating this into another site I’m getting ready to launch where all of this will make more sense. I wrote about all this originally back in late 2004 [3] when podcasting first reared its head, so its been a couple years since I had really touched this. I’ve worked on the underlying TTS-to-Flash framework off an on in the hope of open-sourcing it. I had tentative plans to release it through IFBIN a few months ago, but I’m re-evaluating what the best way to release this might be now. I’m leaning towards OSFlash [4] now, I need to give this some more thought. My next step is to re-create a better version of the little “Speak” Flash widget to give a little better UI and some additional feedback now that the backend is pretty stable and I can take advantage of some new features of Flash 8 now that the penetration numbers are pretty high.

Couple things to note:

Finally for those of you that are curious, here is a link to a sample of the old engine quality [5]. For comparison with the new engine, click the green “Speak” widget with the speaker icon underneath any of my blog entries to hear the new engine quality, or pull up either my RSS [1] or ATOM [2] feed in Safari or a newsreader that supports enclosure tags/podcasts and listen to any entry. The difference in quality is huge.

One last note, my old blog site was run on a totally out of date version of Pivot [6]. I had started it when Pivot was still in beta before version 1.0 back in late 2002 [7] when I switched from my all Flash blog to Pivot. Over time, I had made so many modifications to it to incorporate features like this, that I never could upgrade to the latest versions. (At the time Pivot didn’t even have support for RSS generation, so I built that myself – yikes!) As much as the features worked and were convenient, it was a real-pain and a major mistake on my part to work on the core, as it made it a nightmare to upgrade. When I rebuilt everything recently, I took the opportunity to start from scratch and use the latest version of Pivot, which has made a lot of progress recently. I learned my lesson on modifying the core, so now I’m taking advantage of new snippet and extension plugin like features of the latest version of Pivot so that I can cleanly separate my custom code from the core system. Its much easier this way in terms of maintenance and opens the door for me to release it as an extension for Pivot. I’ve finally got a good solid framework that i can keep updated, and still add on my own custom features and tweaks.

UPDATE: 01:19AM
Looks like I’m running into some memory and execution time limitations with the new server and engine which eats up more memory than I anticipated. Working on a solution, will post an update when its resolved. In the meantime you may get an audible error message if a thread takes up to much memory/time to render.