HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: paulski on 2003-06-23 21:10:43

Title: Text to speech component
Post by: paulski on 2003-06-23 21:10:43
I've just finished a little plugin that speaks aloud the artist and track whenever a new song starts. This is handy for when I'm in the shower and don't have access to my screen, but still want to know who's playing.

Is anyone interested in this? If so, I'll make it available.

Paulski

<edit>
Here is the url for foorbar 0.667: tts plugin (http://members.chello.nl/p.shrubsole2/software/foo_tts.zip)

and for foorbar 0.7: tts plugin (http://members.chello.nl/p.shrubsole2/software/foo_tts07.zip)
</edit>
Title: Text to speech component
Post by: meischder on 2003-06-23 21:58:23
Why not? Sounds very funny! If Peter has nothing against it, but why? 

Edit: I have got it! How does it work? I can't get it to work 
Title: Text to speech component
Post by: WavOX on 2003-06-24 05:45:15
After I have extracted the DLL to foobar2000 directory, I start my foobar.

but a dialog is popped up that the DLL requires MSVCR70.dll.

Could you pls let me download the run-time dll fr your site also?
Title: Text to speech component
Post by: picmixer on 2003-06-24 06:59:56
You should be able to get msvr70.dll fom this site:  http://fb2k-plugins.hydrogenaudio.org/General.html (http://fb2k-plugins.hydrogenaudio.org/General.html).
Several plugins require it to function.
Title: Text to speech component
Post by: Gemini on 2003-06-24 07:03:09
lol, this plugin is fun to use 
i just keep clicking on random songs to hear stuff
its even funnier cuz i have a lot of asian songs with romanized titles, and the pronunciations are completely funky 
Title: Text to speech component
Post by: mlejeune on 2003-06-24 07:17:47
Excellent 

Would be cool if we could disable it in the prefs though.
(or maybe I'm dumb

Mat
Title: Text to speech component
Post by: paulski on 2003-06-24 07:38:07
It is admittedly very basic at the moment. I'll add some prefs to it (especially the option to disable speech) and let you know when its updated. I'll also include the source code and the MSVCR70.dll file.

Paulski
Title: Text to speech component
Post by: paulski on 2003-06-24 09:37:53
meischder - do you have the same problem as WavOX? If not, it may be that your system does not have not have a speech engine installed.
If you use windows XP, it should run "out of the box" using the SAPI 5.1 speech runtime binaries. Look at the "speech" options in the windows XP control panel to see if you have any voices installed and enabled.
If you use windows 2000 then you are using an older version of the speech runtime library (SAPI 4.1). I assumed that these versions are compatible from an API call point of view, but I will look into it to be sure.

Any older version of windows means that you may need to download and install the runtime environment for the Microsoft TTS engine yourself: Microsoft SAPI 4 (http://www.microsoft.com/msagent/downloads/user.asp#tts).

Paulski
Title: Text to speech component
Post by: KosciaK on 2003-06-24 09:42:24
Hello!

I've just downloaded it and installed in Foobar2000 directory, I've got MSCR70.DLL installed. But this plugin does nothing.
There's no error messages, it's listed in components list in preferences.
Using win2k, Foobar v0.667

KosciaK
Title: Text to speech component
Post by: paulski on 2003-06-24 13:22:54
Ok, I have found the problem: SAPI 5.x (the windows XP speech environment) is NOT compatible with SAPI 4 (win2K and earlier).
For now, I suggest only winXP users bother with the plugin until I get a win2k compatible version together.

<edit>
For win98/win2k users:
You could of course download the SAPI 5.x SDK which installs the compatible speech engine for SAPI 5 but this is 68 MB!!!!!
</edit>

I'll keep you posted

Paulski
Title: Text to speech component
Post by: paulski on 2003-06-24 18:38:26
For XP users only: there is a new version of the plugin available that allows you to enable or disable speech output within foobar settings (TTS settings). See 1st post for link.
Title: Text to speech component
Post by: paulski on 2003-06-24 19:43:26
I've found a nice link to the Microsoft speech 5.1 runtime files for windows 98 and windows 2000 systems. It's a 6 MB download:

sapi51 runtime install (http://www.aldostools.com/sapi51.msi)

Goto  www.aldostools.com (http://www.aldostools.com/msagent.html) for more info on how to install.

Have fun

Paulski
Title: Text to speech component
Post by: ExUser on 2003-06-24 23:32:12
Quote
I've just finished a little plugin that speaks aloud the artist and track whenever a new song starts. This is handy for when I'm in the shower and don't have access to my screen, but still want to know who's playing.

Is anyone interested in this? If so, I'll make it available.

What would be really nifty would be to implement this as an input plugin as well.
Title: Text to speech component
Post by: ak on 2003-06-24 23:42:20
Heh, I can swear that evil MS Sam is singing along on some tracks he announces.
It's when he goes 'Tricky - She makes me wana die', starting from 'makes' he's perfectly in synch with Martina's singing.
This is the only case so far, but I think he's adapting to do more. 

Nice plugin btw.
Title: Text to speech component
Post by: spase on 2003-06-24 23:54:35
is there a way to get new speech packs, besides microsoft sam?
Title: Text to speech component
Post by: upNorth on 2003-06-25 00:11:29
I think it would be a nice feature to be able to hear the name of the song, before playback starts.
It's sometimes hard to hear what he says.
Title: Text to speech component
Post by: ExUser on 2003-06-25 02:14:04
Another nice feature would be the ability to specify what the plugin says.
Title: Text to speech component
Post by: paulski on 2003-06-25 08:59:19
I'm already working on your last suggestion Canar, but I'm not sure what the advantage of using it as an input plugin is. Can you expand on that?
upNorth - I'm not sure if it's possible to delay playback of the audio until the speech has finished because I currently use the callback from foobar that a song has just started as a trigger to speak. Any suggestions?

Paulski
Title: Text to speech component
Post by: Gemini on 2003-06-25 11:15:30
I'm also wondering if its possible to get different voices. I had the SDK already and used a speech program to convert text to mp3's, and I used different voices for that. I'm sure its possible with this as well.
Title: Text to speech component
Post by: Luxus on 2003-06-25 11:22:50
Quote
I'm also wondering if its possible to get different voices. I had the SDK already and used a speech program to convert text to mp3's, and I used different voices for that. I'm sure its possible with this as well.

yes where i get nice voices?
i hate sam :/
Title: Text to speech component
Post by: paulski on 2003-06-25 11:50:42
Go to the aldostools link I gave earlier. You can get Microsoft Mike and Mary using their installation. Although Mary sounds more like a castrated Mike, they're certainly better than Sam. I would love to get my hands on the AT&T natural voices engines - they sound soooo much more realistic, but you have to pay for them.
Title: Text to speech component
Post by: nexus on 2003-06-25 16:13:58
Nice plugin, i like it, but it would be so much better if you'll add option to change the tts engine options...
like replace between female - male voices.. speed and such. thanks.
Title: Text to speech component
Post by: paulski on 2003-06-25 22:17:47
There's an update that lets you choose a specific voice within the plugin.
Coming next: change voice rate, voice volume and text fields (3 of them) for specifying which tag fields (e.g. artist tag field) should be read aloud. Still thinking on how to speak the next track between songs (i.e. with no music playing until speech has finished). Maybe pause the track or turn down the volume until its finished speaking - I'll set it up as an option.

Paulski
Title: Text to speech component
Post by: ExUser on 2003-06-25 23:29:44
Quote
I'm already working on your last suggestion Canar, but I'm not sure what the advantage of using it as an input plugin is. Can you expand on that?

Just makes foobar a text-file-compatible audio player.  I've seen image viewers that were text-file compatible as well. Just an interesting idea, is all. Pure geek value. Like PC Speaker output. That would be cool.
Title: Text to speech component
Post by: upNorth on 2003-06-25 23:52:00
Quote
Quote
I'm already working on your last suggestion Canar, but I'm not sure what the advantage of using it as an input plugin is. Can you expand on that?

Just makes foobar a text-file-compatible audio player.  I've seen image viewers that were text-file compatible as well. Just an interesting idea, is all. Pure geek value. Like PC Speaker output. That would be cool.

Vocal remover, lyrics as input and you can have Sam sing your favourite tune... 
Title: Text to speech component
Post by: zanson on 2003-06-26 00:09:53
Quote
Vocal remover, lyrics as input and you can have Sam sing your favourite tune...  

SCARY VERY SCARY
Title: Text to speech component
Post by: VTR on 2003-06-26 03:20:01
I'm in the process of getting those AT&T natural voices.  I'll let yall know how it goes.
Title: Text to speech component
Post by: anza on 2003-06-26 19:41:15
A hard song for MS Mary: Led Zeppelin - D'yer Mak'er 
Title: Text to speech component
Post by: paulski on 2003-06-26 20:38:15
:lol:  Mary likes a challenge.
I'm looking forward to your impression on natural voices VTR.
Title: Text to speech component
Post by: zanson on 2003-06-26 20:39:27
Quote
I'm already working on your last suggestion Canar, but I'm not sure what the advantage of using it as an input plugin is. Can you expand on that?
upNorth - I'm not sure if it's possible to delay playback of the audio until the speech has finished because I currently use the callback from foobar that a song has just started as a trigger to speak. Any suggestions?

Paulski

kode54 has a "pause between tracks" plugin with source code on his page: http://www.cqasys.com/projects/kode54/ (http://www.cqasys.com/projects/kode54/) or http://www.cqasys.com/projects/kode54/0.7/ (http://www.cqasys.com/projects/kode54/0.7/) for it updated to the 0.7beta sdk.  You should be able to build upon this to insert the song names instead of a pause.  (I haven't looked at any of the code to see how he does the pauses)
Title: Text to speech component
Post by: paulski on 2003-06-26 22:55:26
There's a new version of the plugin available with the following features:
DJ mode: the volume of the music is reduced whilst speaking. (BTW thanks for the info zanson, I'll check it out coz theres currently a latency issue with reducing the volume).
Tag field customisation: There are 3 text fields where you can specifiy what tag fields should be read aloud.
The volume and the rate are currently not enabled (will let you know when).

Paulski
Title: Text to speech component
Post by: Saint on 2003-07-23 23:07:36
This sounds like a really great plugin, any news on a new version? maybe for 0.7x ?? 
Title: Text to speech component
Post by: jrbamford on 2003-07-24 16:00:53
I used some linux speech tools when porting a friends mp3 jukebox over to supporting mpc and the like... I had it so you could print out a list of albums with their numbers.. and then using a normal infra red remote you could just press the digits for the album you wanted

123 enter

and it would queue or play the album... or best of all leave it in random mode and it would just peruse all your tracks... it had some user management too, u logged in via telnet.. you rated songs and then in random mode it only played songs everyone liked (or at least wouldn't play any that SOMEONE logged in, didn't like) it was great for computer labs at uni...

I really would love to replicate something like this using foobar but I digress.. when i did the speech part it outputted the usual, artist, album, title... crucially.. it was on a button on the remote... pressing it paused the song... told you its details.. and then played it again... something like this would be really useful.. I dont know how IR controls of foobar are working as yet but this to me is the ideal... telling you every track as an option is good but when you know it (and u usually know most tracks) its just a gimmik that could frustrate... as an option anytime in a song its great... although you really need to NOT be able to see the screen...

is this possible?
Title: Text to speech component
Post by: Saint on 2003-07-24 16:10:10
Quote
I used some linux speech tools when porting a friends mp3 jukebox over to supporting mpc and the like... I had it so you could print out a list of albums with their numbers.. and then using a normal infra red remote you could just press the digits for the album you wanted

123 enter

and it would queue or play the album...


That really is a great idea as i use a remote control, to control foobar myself (Hauppague wintv pci controller and a little program called IR Remote). Selecting the album using numbers and having it read out would be a dream come true.

Saint
Title: Text to speech component
Post by: jrbamford on 2003-07-24 16:20:10
this reading aloud is only doing artist... album works too.. but title is never being read out..

Quote
That really is a great idea as i use a remote control, to control foobar myself (Hauppague wintv pci controller and a little program called IR Remote).


I have the PVR-250.. dont much like the remote but its only one possible remote i guess. i brought a few IR devices from europe.. one broke... i've since brought the actisys IR200L to use with the PVR-250 and SageTV ... it sends IR channels to my satellite box.. changing channels as and when it wants to... it also works reading in IR...

Anyways how much control of foobar have you got.. I've not tried as i assumed it wasn't much... for my Sage controlling i brought a wireless mouse and keyboard... this lets me do everything.. and is essential when i connect the PC to my projector to watch TV/DVDs.. its great.. but for straight audio nothing beats IR remote control..
Title: Text to speech component
Post by: jrbamford on 2003-07-24 16:22:12
ok title is working now... great stuff... it'd be nice if you could add your own plaintext seperaters... words such as

BY, ON, IN

etc are all very useful and makes the fields flow a little better together.. now to try some of the updated voices
Title: Text to speech component
Post by: paulski on 2003-07-30 07:48:23
Hi

Sorry, I was out of touch with the forum for a while. jrbamford, your suggestion sounds excellent. I think all that's needed is to provide a hotkey function to read out the current song. You can then associate this hotkey with whatever RC you are using. I will enable this feature and put it in the config page as an option.

Paulski

P.S. There are futher possibilities for speech that may enhance foobar and even eliminate the need for a display:
Speaking aloud the list of albums (from the database) and using speech input to add to the playlist and play (general speech control of the app is also an option).

What do you think?
Title: Text to speech component
Post by: foosion on 2003-07-30 12:40:58
Quote
There are futher possibilities for speech that may enhance foobar and even eliminate the need for a display:
Speaking aloud the list of albums (from the database) and using speech input to add to the playlist and play (general speech control of the app is also an option).

What do you think?

My suggestion would be that you implement an interface to the TTS engine in the form of a foobar service (in case you haven't already done this). Other plugins can use TTS capabilities in this way, and you only need one configuration for the TTS engine (in your plugin).
I don't know, if the STT stuff would work out well for things like adding entries to the playlist. Surprise me.
Title: Text to speech component
Post by: paulski on 2003-07-30 14:40:08
I'm not sure I understand the advantage of your suggestion foosion. I do not implement a TTS engine myself but simply make use of it via the Microsoft Speech API on client systems that already have it installed (win2k / XP). I guess your solution would save the developer from installing the MS Speech SDK though.

The hotkey approach would still be nice though, whereby users (non-programmers) of girder-type applications can simply foward a key event to foobar that the plugin can capture. The user simply associates key combis within the config panel of the plugin with the girder key to invoke a TTS call.

I'm unsure myself about whether the speech-based playlist control / composition would work nicely.
Title: Text to speech component
Post by: jrbamford on 2003-07-30 15:00:53
paulski.. yes having it on a button (which can then be mapped to ir controller keys) is what you need... configuring it to pause or not pause (just play simultaneously as it does now) would be useful.. getting a lot more fields added would also be good... shouldn't take much to add 5 or 6 total num of fields... although like i said having a plaintext field where you can type whatever you want into it would be the most flexible.. following a reinstall i dont have your plugin installed yet.. i'm also moving over to the 0.7 beta (does it work with this, does it ONLY work with this??  ) but roughly this would be nice

Field 1: %TITLE%
Field 2: by
Field 3: %ARTIST%
Field 4: off of
Field 5: %ALBUM%
Field 6: in
Field 7: %YEAR%

I guess really you would want a page that let you have as many fields as you want without cluttering it up!?! above fields 2, 4, and 6 are plain text to allow you to sculpt it however you want.. I also noticed that this plugin when i last used it didn't get output to the streaming output created by foobar... not a biggie but it'd be nice to have this as an option if its possible.. streaming music is obviously a really good example for where this system is nice... ok they get the information but at the moment that information is restricted (oddcast only broadcasts artist - title) .. as such this kind of a mechanism especially if you are able to put it in before a track started say?! would be a great way to infrom people of what they are listening to..
Title: Text to speech component
Post by: foosion on 2003-07-30 16:27:40
I know you did not develop a TTS engine yourself. I merely assumed* it would take some hassle to get the TTS engine working nicely with (within?) foobar, and that you already had some code to accomplish this. So the benefits of having a foobar service for a TTS engine would be that the extra code to get the TTS engine working with foobar would only need to be in one plugin. Other plugins would just use the service like this:
Code: [Select]
if (text_to_speech::present())
  text_to_speech::speak("Foobar rules!");
provided that present() and speak() are static methods of a hypothetical text_to_speech interface.
Sorry for making assumptions, I did not have a look at the MS SAPI.

*: usually a bad idea, I know.
Title: Text to speech component
Post by: paulski on 2003-07-30 17:42:42
With the latest version of the MS Speech SDK, only requires about 5 - 10 lines of code are needed to get it to say anything (through helper functions). Your point would certainly be valid for the older versions of the SDK though. The benefit of a single plugin may still be valid however since developers wouldn't need to download and install the SDK in order to make use of speech in their code.
Title: Text to speech component
Post by: jrbamford on 2003-07-30 18:45:37
paulski, any ideas why the speech doesn't come out with the broadcasted web stream..?! what methods are u using to put out the sound?? i guess you are just creating the sound to wave out/direct sound etc.. its got no attachment to foobars output stream and so thats why its never broadcast!? do the SDKs allow you to piggy back the speech stream onto an existing output buffer!?
Title: Text to speech component
Post by: zanson on 2003-07-30 19:37:39
Quote
but roughly this would be nice

Field 1: %TITLE%
Field 2: by
Field 3: %ARTIST%
Field 4: off of
Field 5: %ALBUM%
Field 6: in
Field 7: %YEAR%

I guess really you would want a page that let you have as many fields as you want without cluttering it up!?! above fields 2, 4, and 6 are plain text to allow you to sculpt it however you want.. I also noticed that this plugin when i last used it didn't get output to the streaming output created by foobar... not a biggie but it'd be nice to have this as an option if its possible.. streaming music is obviously a really good example for where this system is nice... ok they get the information but at the moment that information is restricted (oddcast only broadcasts artist - title) .. as such this kind of a mechanism especially if you are able to put it in before a track started say?! would be a great way to infrom people of what they are listening to..

It should be pretty easy to just have a text input that you can type foobar format strings into, and then use the conversion functions to get back the string to be said.

ie, just have a text input where you put
%TITLE% by %ARTIST% off of %ALBUM% in %YEAR%

which you use the foobar sdk to convert to
some song by some artist off of some album in 1962

then pass that string into the text to speach engine.
Title: Text to speech component
Post by: jrbamford on 2003-07-30 21:52:23
sounds good.. cleaner than having lots of text boxes appearing too

dammit i would really like a program to create a wave of a txt->speech engine right now... so i could add one onto the end of this playlist before i kill it to a sleeping listener
Title: Text to speech component
Post by: paulski on 2003-07-31 05:32:38
Nice idea about the text input format. I like it.  I will definitely make a version that supports it.
The speech output currently goes directly to the soundcard. It is possible to mix the output with the stream but I don't know how much work that would be.
Title: Text to speech component
Post by: se7ven 777 on 2003-08-14 22:21:47
what about this nice plugin?? how is work going?? any results
Title: Text to speech component
Post by: paulski on 2003-08-17 13:39:09
Not yet. I've been as busy as a very busy bee the past couple of weeks. I'll get started over the next few days though and put the source files on my site so others can extend it further.

Paulski
Title: Text to speech component
Post by: paulski on 2003-08-18 21:57:59
At last. A new version of the text to speech plugin (go to the link at the start of this thread).
The plugin can now speak aloud a formatted string entered in the config using the same notation provided by title formatting.
There is also the option to manually trigger song announcements using a shortcut key (you have to assign a key yourself in the keyboard shortcuts config by choosing 'Say current playlist item').
There is also a (disabled) option for auto announcing around the end of a song (like the DJs do). I'll enable it at a later date.

Paulski
Title: Text to speech component
Post by: Saint on 2003-08-18 23:32:45
I take it this is for 0.667 as it complains about needing to be compiled with a new SDK. Sounds like a great plugin, keep up the good work.

Saint
Title: Text to speech component
Post by: paulski on 2003-08-19 08:45:02
Yes, its currently for 667. I'll make one for 7 very soon and release the sources also.
Title: Text to speech component
Post by: paulski on 2003-08-19 22:48:09
There's now a version of the revised plugin for 0.7. Here are the links (also in 1st post)

text to speech for foorbar 0.667: tts plugin (http://members.chello.nl/p.shrubsole2/software/foo_tts.zip)

and for foorbar 0.7: tts plugin (http://members.chello.nl/p.shrubsole2/software/foo_tts07.zip)
Title: Text to speech component
Post by: Saint on 2003-08-19 23:34:17
ahaa superb

thx Paulski

Saint
Title: Text to speech component
Post by: se7ven 777 on 2003-08-19 23:55:02
two words    B)  great work - i love this plugin
Title: Text to speech component
Post by: neoufo51 on 2003-08-20 00:21:04
Anybody know where I can get more or possibly even better quality voices for my system???

All I have is Microsoft Sam and LH Michael and Michelle.

EDIT: I got Mike and Mary from Aldostools.com Anything else?
Title: Text to speech component
Post by: yeskky on 2003-08-20 10:14:12
 It can speek only English.I wonder if it's possible to speek non-English language?
Title: Text to speech component
Post by: paulski on 2003-08-20 11:59:17
Never tried it.
Title: Text to speech component
Post by: Saint on 2003-08-20 14:17:44
just something i noticed, when i set foobar volume to say -25 dB and have lower volume on speaking ticked in the tts settings, when it speaks it actually raises the volume of the music for a few seconds.

Other than that its working great.

Saint
Title: Text to speech component
Post by: paulski on 2003-08-20 15:32:57
Oops. Sorry about that.
I've updated the plugin (only for 0.7 though) so that it always reduces the volume by 13dB. You can download it from the usual link.
Paulski
Title: Text to speech component
Post by: seanyseansean on 2003-08-20 19:11:20
I have to say this is one of the greatest but most pointless (for me) plugins ever. It's excellent, i've had it uttering all manner of filth for *certain artists.*

One thing would make it useful would be an option to  divert the speech to another directsound device (not to foobar) which means I could divert the speech to a satellite speaker in the living room which I could turn off if I didn't want to be talked to by my computer. I've not looked at the recent foobar sdks, and assume the engine is build round a single output stream, which would need the plugin to talk to directsound directly. I might be wrong though.

Good work by the way!

seany
Title: Text to speech component
Post by: se7ven 777 on 2003-08-20 21:03:30
Quote
Anybody know where I can get more or possibly even better quality voices for my system???

ye who knows some better voice (sam works like sh...  )
Title: Text to speech component
Post by: paulski on 2003-08-20 21:15:41
VTR said in an earlier post the he was in the process of getting those AT&T natural voices. They would be cool, but they're commercial.

BTW. I've uploaded a new version of the plugin for 0.7 that can announce the song also at the end of play.

Paulski
Title: Text to speech component
Post by: zanson on 2003-08-20 21:32:06
Quote
Quote
Anybody know where I can get more or possibly even better quality voices for my system???

ye who knows some better voice (sam works like sh...  )

I think there are a few voices on the MS webpage that you can download, though none of them are really very good either =(.  But atleast you can choose one besides sam.
Title: Text to speech component
Post by: se7ven 777 on 2003-08-20 22:01:46
Quote
Quote
Quote
Anybody know where I can get more or possibly even better quality voices for my system???

ye who knows some better voice (sam works like sh...  )

I think there are a few voices on the MS webpage that you can download, though none of them are really very good either =(.  But atleast you can choose one besides sam.

ye but i'm looking for something else then microSHIT  & should be freeware:P
Title: Text to speech component
Post by: seanyseansean on 2003-08-21 09:25:14
Quote
ye but i'm looking for something else then microSHIT

While ignoring your childish spelling of Microsoft, what exactly is wrong with using their stuff? If it doesn't fit the job then fine, but why discount their stuff purely because of who makes it?

And for all their faults, i'm sure Microsoft have as much experience with speech as the rest of us.

Ok don't tell me, you're 13 years old, right? 
Title: Text to speech component
Post by: se7ven 777 on 2003-08-21 11:20:00
Quote
While ignoring your childish spelling of Microsoft, what exactly is wrong with using their stuff?

one word - everything  !!  !!
Quote
Ok don't tell me, you're 13 years old, right? 

[span style='font-size:21pt;line-height:100%']no[/font][/span] (!)
don't tell me, you work for M$   
don't tell me, you like using their stuff 
Title: Text to speech component
Post by: neoufo51 on 2003-08-21 11:33:11
Will you two relax?????

You're both acting like kids, so there is no winner.

Again, if anybody spots good quality voices, such as the ATT natural ones, please inform us on this thread.
Title: Text to speech component
Post by: se7ven 777 on 2003-08-21 11:51:13
Quote
Will you two relax?????

OK i finish

Quote
You're both acting like kids, so there is no winner.

right:)

Quote
Again, if anybody spots good quality voices, such as the ATT natural ones, please inform us on this thread.

good idea
Title: Text to speech component
Post by: paulski on 2003-08-22 09:52:50
I'm getting hold of some AT&T natural voices today but they're only the 8khz version. I'll let you know what they're like.

Paulski

P.S. If you missed my earlier post (LOL), there's a new version for 0.7 that can announce at the end of a track as well (you can then get it to say "that was ..... by ......").
Title: Text to speech component
Post by: neoufo51 on 2003-08-22 10:13:11
Hey, as long as it's better than Microsoft Sam, Mike and Peter, count me in.

Edit: The voices do sound MUCH better than the Microsoft ones, its a shame that you can only get the 8 khz ones. The British "Audrey" voice sounded VERY real. I think I can get these voices if I look in the...ahem...right places.
Title: Text to speech component
Post by: paulski on 2003-08-22 15:57:03
Cool. I'd be interested to know if you get any hits.
Title: Text to speech component
Post by: mazy on 2003-08-28 01:19:46
well i have ATT.Natural.Voices.TTS.Engine.v1.4

going to test it soon
Title: Text to speech component
Post by: neoufo51 on 2003-08-28 03:32:08
Mazy, whats the filesize for the engine, 8khz or 16khz, and where did you obtain it if you dont mind me asking? You may PM me if you'd rather not disclose on the public forum.
Title: Text to speech component
Post by: kjoonlee on 2003-08-28 06:00:42
Ooh. Wow.

I'm going to try out foo_tts with the following sentences: Bother. Father caught hot coffee in the car park. I teach Ferdinand the calm cat to fetch cold cups of coffee. Who knows more about tasting things? He's used the book.
Title: Text to speech component
Post by: kode54 on 2003-08-28 16:19:45
Quote
Mazy, whats the filesize for the engine, 8khz or 16khz, and where did you obtain it if you dont mind me asking? You may PM me if you'd rather not disclose on the public forum.

8 and 16, I think. The product he speaks of is two CDs, at least from what I can find. Extra 16k voice sets are about one CD per voice. Feel free to grab it if you have lots of bandwidth and/or time, and don't mind killing a few GBs of hard drive space for realistic voice synthesis.
Title: Text to speech component
Post by: mazy on 2003-08-28 20:36:26
it's only 16-bit, first cd is crystal, second mike ...
Title: Text to speech component
Post by: kode54 on 2003-08-29 01:48:59
Quote
it's only 16-bit, first cd is crystal, second mike ...

I believe he asked which sample rates the voices are availabe in, not bit depths.
Title: Text to speech component
Post by: Spadge on 2003-08-29 08:54:39
I have no idea if this is possible or even feasable... but it's just a suggestion.

Could there be a preference where you could add your own 'phonetic' spelling to some words?

For example if the speech engine gets the word 'Pantera' wrong we could type in something like "Pantera = Pant air a' so every time the program came across the word pantera it would pronounce it 'pant air a'?

Like I said, I have no idea if that's possible with this since it's using the Microsoft Speech Engine but it would be good.

Spadge
Title: Text to speech component
Post by: mazy on 2003-08-29 09:33:39
it's possible directly with the natural voices engine ...
Title: Text to speech component
Post by: paulski on 2003-08-29 19:22:16
Yup, I also think it'spossible. Though I think most of the work would be in maintainng a database of the phonetics for the different artists and tracks. How can you do this with the AT&T engine mazy? (I would love to get my hands on the higher quality version).
Title: Text to speech component
Post by: mazy on 2003-08-29 19:45:12
in the ATTNaturalVoices\TTS1.4\Desktop\bin dir there's WinDictEdit.exe ...

you can open ATTNaturalVoices\TTS1.4\Desktop\data\en_us\en_us.dict with it and add your own words and their phonetic transcription.

example (included in the file  ):

bin Laden /b ih n 1 # l aa 1 d ih n 0/

you can select language (en_us, en_uk, etc.) and part of speech (none, noun, verb, modifier, function, interjection)

one word can have more phonetic transcriptions, differentiate by language and / or part
Title: Text to speech component
Post by: mazy on 2003-08-29 19:52:43
from help for WinDictEdit

The Dictionary Editor can be used to change the pronunciation of words or allow you to easily add a new abbreviation.  We’ll describe two different examples to explain how to use the Dictionary Editor to do both.

Defining Replacements
In this example, we’ll demonstrate how to add a new transcription for the word “WRT” which we want to synthesize as “with respect to”.  This same technique works for other words as well such as “NE” for “north east”, “MPH” for “miles per hour”, etc.

First, start the Dictionary Editor and either open an existing dictionary file or create a new file. Next, create a new word from the Edit menu.  This will pop up a dialog as shown below.


The top portion of the dialog box describes the word that is being added or changed in the dictionary.  The bottom portion of the dialog can be used to experiment with different pronunciations.  The red “mouth/lips” button allows you to hear the how the word or list of phonemes will be pronounced.  The ‘T’ button displays the phonemes for the word in the “word” or “sounds like” text box.

Adding replacements is very simple:

1. Type in the word to be expanded in the “word” text box in the top section of the dialog, “WRT” in our example.

2.Type in the replacement text in the bottom “Sounds Like” text box in the bottom section of the dialog, e.g. “with respect to”.

3. C lick the “T” button next to the “Sounds Like” text box to retrieve the list of phonemes for the text in the “Sounds Like” text box.

4. Copy the phonemes from the “Phonemes” text box in the “Sounds Like” section at the bottom of the dialog and paste the phonemes into the phonemes text box in the “Edit Entry” section at the top of the dialog.

5.  Click the red “mouth/lips” button next to the phonemes in the top part of the dialog to hear how the word “WRT” will be pronounced.

6.  Click the “save” button and you’ve defined a new pronunciation.

Next step is to tell the TTS engine about your dictionary file, but first we’ll explore changing the pronunciation of a word.

Changing the default pronunciation of a word
In this example, we’ll change the pronuncation of the name “Proulx” from the default which sounds like “prowlx” to sound like “Pru” which rhymes with “Sue”.  This time, we’re going to use the WinDictEdit tool to replace a few of the phonemes in the default pronunication of the word. 

Here’s the procedure:


1.  Type in the word to be expanded in the “word” text box in the top section of the dialog, “Proulx” in our example

2.  Click the red “mouth/lips” button next to the word in the top part of the dialog to hear how the word “Proulx” will be pronounced.

3.  Click the “T” button next to the word “Proulx” in the top part of the dialog to see the phonemes for the word “Proulx” which are “p r aw l k s 1”.  Note that the first part of the pronunciation is correct so we can use the “p r” phonemes but need to replace the “aw l k s 1” with something that rhymes with “Sue”.

4.  Next, we need to identify the phonemes that make up the “ue” in “Sue” so type “Sue” in the “Sounds like” text box at the bottom of the dialog.

5.  Click the “T” button next to the “Sounds Like” text box to retrieve the list of phonemes “s uw 1” for the text “Sue” in the “Sounds Like” text box.  The “uw” phoneme provides the “ue” sound in “Sue”. You can verify this by deleting the ‘s’ phoneme from the phonemes text box in the “Sounds Like” section and then click the “lips/mouth” button to hear the “uw” phoneme.

6.  We need to replace the “aw l k s” phonemes in the “Phonemes” text box in the “Word” pane of the dialog with the “uw” from the “Sounds Like” pane so  copy that phoneme up to the  top, making the list of phonemes in the word pane “p r uw 1”.

7.  Click the red “mouth/lips” button next to the phonemes in the top part of the dialog to hear how the word “Proulx” will be pronounced. Sure enough, “Proulx” now rhymes with “Sue”.

8.  Click the “save” button and you’ve defined a new pronunciation for the name “Proulx”.

Adding Custom Pronunciations to Your Application
Once you have defined your custom pronunciations, you’ll need to tell your application about them.  Microsoft SAPI 5.1 allows for the creation of user and application dictionaries.  The intent of this feature is that the application dictionary includes pronunciations that apply to all users while the user dictionary is unique to an individual user but you may use them any way you wish. The AT&T Labs Natural Voices TTS SDK allows an application to define any number of custom dictionaries, and to control the order in which they are searched.

When searching for a transcription, the TTS Server first searches custom dictionaries, in the order specified by the client application, and then its own internal dictionaries to find some pronunciation for the word.  The search stops as soon as a pronunciation is found.

You’ll find code samples for adding custom dictionaries to your application in Chapter 5 of the System Developer's Guide which describes the SDK.

Alternatively, you can update the file which the engine uses during engine initialization.  You’ll find tts.cfg in the data subdirectory, e.g.

C:\program files\attnaturalvoices\tts1.3\desktop\data\tts.cfg

The tts.cfg file describes all of the voices and languages that are available to the TTS engine.  Browse through the file to find the “language” section for the language for which you’re defining the dictionary, e.g.

Code: [Select]
Language                en_us 
LanguageLocale          en_us
LanguageDictionary      en_us\en_us.dict att_darpabet_english
LanguageTextAnalysis    en_us\fe_en_us.dll

 
is the section for the US English language.  To use a dictionary file en_us\mydict.dict, add a new line to tts.cfg as follows:

Code: [Select]
Language                en_us 
LanguageLocale          en_us
LanguageDictionary      en_us\en_us.dict att_darpabet_english
LanguageTextAnalysis    en_us\fe_en_us.dll
UserDictionary          es_us\mydict.dict


The TTS engine will use the transcriptions in mydict.dict.
Title: Text to speech component
Post by: paulski on 2003-08-29 21:35:53
Thanks for the info mazy. Great work!
Title: Text to speech component
Post by: rectangle on 2003-08-31 04:57:37
When closing 0.7RC10 after using 'text to speech', I get this: (http://users.bigpond.net.au/carlo/error.gif)

All is OK if 'text to speech' has not been used even though it is loaded in the component library.
Title: Text to speech component
Post by: ditto_n on 2003-08-31 05:47:24
RC10, WinME, the whatever 5.1 thing installed, using the dll for .7

This ERROR

ERROR (CORE) : Failed to load DLL: foo_tts.dll, reason: Unable to load dll.
Title: Text to speech component
Post by: anza on 2003-08-31 10:58:57
Quote
When closing 0.7RC10 after using 'text to speech', I get this: (http://users.bigpond.net.au/carlo/error.gif)

All is OK if 'text to speech' has not been used even though it is loaded in the component library.

Are you sure you don't use foo_history? I just noticed that when using it, I got the same error all the time, but now, after removing the plugin the errors are gone.
Title: Text to speech component
Post by: paulski on 2003-08-31 11:04:41
I don't own winme so I cannot repeat your error ditto_n. In this case, I hope anza's theory is correct .
Title: Text to speech component
Post by: paulski on 2003-08-31 11:33:03
Wow, I just experience the same error myself when closing down foobar! This was just after updating to RC10. However, when I removed all plugins, the error was still there, so I think it's related to the foobar database functionality and not to any 3rd party plugins.
The metedb_handle is what foobar provides in order for a plugin to interface with the database (from a playlist). I found that simply by pressing "next track" a number of times within the playlist, foobar will leak the corresoponding number of objects (without any plugins) when you close down.

[UPDATE] I still had foo_remote in my components directory and this was what was giving the error. When this was removed, the error was gone. I also found the same problem with foo_tts, so it may be that a some other plugins will give this error now (at least those plugins that used an older version of the SDK). I will look into my source code and see if I can remove the error. Will keep you posted.
Title: Text to speech component
Post by: Peter on 2003-08-31 11:49:43
Quote
I removed all plugins

Looks like you didn't. Apparently you are the only person having this kind of problem (leak after pressing next).
Title: Text to speech component
Post by: paulski on 2003-08-31 11:59:09
You were right. foo_remote was giving me the error (refer to updated post above).
Title: Text to speech component
Post by: Peter on 2003-08-31 12:19:33
Quote
I still had foo_remote in my components directory and this was what was giving the error. When this was removed, the error was gone. I also found the same problem with foo_tts, so it may be that a some other plugins will give this error now (at least those plugins that used an older version of the SDK). I will look into my source code and see if I can remove the error. Will keep you posted.

It's a matter of having resource leaks in the code, not of compiling with latest SDK.
For your information, that message has been there for really long time, but was dumped to debugger console instead; I thought it would work better to replace it with a popup so component devs actually notice the problem.
Title: Text to speech component
Post by: paulski on 2003-08-31 12:26:13
True. It's just that I saw the date stamp of meta_db.cpp within the latest SDK having a date stamp of Aug 29th, which made me think that a recompile with the latest SDK might alleviate the problem. Is it maybe the case that the exception handling in the SDK has improved and the leak was always there? (no such problems were evident in pre-RC10 versions of foobar).
Title: Text to speech component
Post by: Peter on 2003-08-31 12:31:48
Erm, read my post above again.
If you run any pre-RC9 (probably also most of 0.6x) under debugger and leak metadb_handles, you will get the same message logged into debugger console. Making a MessageBox() out of it is only thing I changed recently about it (and it's done in the exe, not by the SDK).
I can't make my SDK prevent your code from leaking things (unless I implement component signing, heh heh), tough luck.
Title: Text to speech component
Post by: paulski on 2003-08-31 12:36:07
Re-read & duly noted . I'll look into it and keep you posted.
Title: Text to speech component
Post by: paulski on 2003-08-31 22:32:48
Ok, the problem is fixed. You were absolutely right: I was not releasing a metadb_handle that automatically add_refs when I receive it.

You can download the update from the link in the first post (note that this is only for 0.7, as I'm no longer bothering with 0.6x).
Title: Text to speech component
Post by: rectangle on 2003-09-01 01:09:30
Quote
Ok, the problem is fixed. You were absolutely right: I was not releasing a metadb_handle that automatically add_refs when I receive it.

You can download the update from the link in the first post (note that this is only for 0.7, as I'm no longer bothering with 0.6x).

Are you sure this is the updated file? I'm still getting to same metadb message box when 'text to speech' is used (no it's not foo_history, foo_remote or foo_dbsearch causing the problem). When I extract foo_tts0.7 which I've loaded from the link in your first post,
(http://www.users.bigpond.net.au/carlo/1.gif)
I get foo_tts.dll which was created 18 August 2003.
(http://www.users.bigpond.net.au/carlo/2.gif)
Title: Text to speech component
Post by: paulski on 2003-09-01 08:30:16
I just checked via the same link and it has a modified date of sept 1 and it is 36kb in size. You may have been too quick for me rectangle when I was updating my site to the new update. Anyway, give the download another try (and clear your internet cache just in case).
Could somebody else please verify this for me? Thanks.
Title: Text to speech component
Post by: rectangle on 2003-09-01 08:51:14
Quote
You may have been too quick for me rectangle when I was updating my site to the new update.

Thanks paulski. All is OK now. I've got the new file and it works fine. I was too quick for you. I really must get a life... 
Title: Text to speech component
Post by: error1 on 2003-09-24 07:21:05
Just wanted to say that i finally got a copy of AT&T Natural Voices, and love the TTS foobar component.  I hope it will be mantained for new foobar versions

Also, for those of you wondering where to get the naturalvoices software, you can buy it for $35 here: http://www.nextup.com/nvsamples.html (http://www.nextup.com/nvsamples.html)
Title: Text to speech component
Post by: foosion on 2004-11-28 14:19:27
Recompiled for foobar2000 v0.8.2. Bumped component version to 0.2. Fixed metadb_handle leak. Fixed possible problem with non-ASCII characters in read text. "Auto announce at end of song" no longer works, it already was disabled in the source code I found. Renamed menu command to "Components/Announce playing track" (it didn't read out a playlist item anyway).

Note: I do not intend to take over development of this component, so posting feature requests is futile, unless someone else does it.

Links:
plugin (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/misc/foo_tts-0.2.zip)
updated source (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/misc/foo_tts-0.2-src.zip)

Edit: I missed one conversion from internal UTF-8 representation to UTF-16, fixed now.
Title: Text to speech component
Post by: Mr_Rabid_Teddybear on 2004-11-28 17:02:36
Quote
Recompiled for foobar2000 v0.8.2. Bumped component version to 0.2. Fixed metadb_handle leak. Fixed possible problem with non-ASCII characters in read text. "Auto announce at end of song" no longer works, it already was disabled in the source code I found. Renamed menu command to "Components/Announce playing track" (it didn't read out a playlist item anyway).

Note: I do not intend to take over development of this component, so posting feature requests is futile, unless someone else does it.

Links:
plugin (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/misc/foo_tts-0.2.zip)
updated source (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/misc/foo_tts-0.2-src.zip)

Edit: I missed one conversion from internal UTF-8 representation to UTF-16, fixed now.
[a href="index.php?act=findpost&pid=256542"][{POST_SNAPBACK}][/a]

First bug report: Using "Lower volume whilst speaking" function sets volume to -13.00dB. If the title announced are kind of long - like "P.E. Squad/Doo Doo Chasers ('Going All-The-Way-Off' Instrumental Version) by Funkadelic" - volume stays at that level and are not reset to 0.00dB.
Or, on second thought, maybe it's use of special signs in songtitle that cause this behaviour? "Please Sing My Spring Reverb (B. Fleischmann Mix) by Múm" caused the same...
Title: Text to speech component
Post by: Andreasvb on 2004-11-29 08:59:14
Thank you so much foosion, now it works perfect 

Just had a minor problem with hotkeys. I couldn't use same key at first, it was not in the list, but hidden I think.
Noticed that before, if a component changes name you can't use same hotkey, nothing happens when you choose key.

But I found a solution, go back to old component and load foobar then it's not in the list but the key works.
Switch to the new version, and I can select key.

Those who don't have tried foo_TTS, here's a sample how it can sound
http://dwi.mine.nu:81/Mp3/foobar-TTS.mp3 (http://dwi.mine.nu:81/Mp3/foobar-TTS.mp3)
Title: Text to speech component
Post by: Moonwhaler on 2004-12-01 22:38:07
WOW! Your voice is far more understandable than SAM, MIKE, ... what TTS Engine are you using? I need that one too! Please...

Moon
Title: Text to speech component
Post by: Mr_Rabid_Teddybear on 2004-12-02 01:15:46
As I think he's stated somewhere: He's using AT&T Natural Voices. I think that was "Crystal"

.
Title: Text to speech component
Post by: Andreasvb on 2004-12-02 01:44:40
Correct, it's AT&T Natural Voices with Crystal.

http://www.naturalvoices.att.com (http://www.naturalvoices.att.com)
Title: Text to speech component
Post by: appel78 on 2005-01-24 10:58:59
I'm eager to give this one a try (i'm getting pretty bored with having to tell my coworkers what's playing), but Foobar gives me an 'Illegal operation' as soon as i try to access the preferences...

I'm using foobar2000 v0.8.2 with Windows 2000.
Any ideas?

Here's the error message:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00AB12A1h
Access violation, operation: read, address: 00000000h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (00AB12A1h):
00AB1261h:  74 04 56 FF D7 59 5F 5E C3 B8 3C 32 AB 00 E8 1C
00AB1271h:  1C 00 00 51 56 57 68 F3 03 00 00 FF 35 18 63 AB
00AB1281h:  00 FF 15 88 40 AB 00 50 E8 6B 00 00 00 83 65 F0
00AB1291h:  00 59 8B F8 A1 BC 62 AB 00 83 65 FC 00 8D 55 F0
00AB12A1h:  8B 08 52 50 FF 51 4C 8B F0 85 F6 7C 2A 39 7D F0
00AB12B1h:  74 25 A1 BC 62 AB 00 6A 00 6A 02 6A 00 8B 08 50
00AB12C1h:  FF 51 50 8B F0 85 F6 7C 0E A1 BC 62 AB 00 57 50
00AB12D1h:  8B 08 FF 51 48 8B F0 8B 45 F0 83 4D FC FF 85 C0
Stack (0012F83Ch):
0012F81Ch:  BBA31518 A0000CAB 8186A7A8 00000001
0012F82Ch:  A0005C0A 00000DA8 00000110 A031B5D8
0012F83Ch:  00190DA8 00000034 00000000 0012F880
0012F84Ch:  00AB323C 00000000 0012F88C 00AB19CB
0012F85Ch:  00000110 006014E8 00000000 000100C9
0012F86Ch:  00000000 00000000 0012F8D8 00000000
0012F87Ch:  00AB1764 0012FE90 00AB3294 FFFFFFFF
0012F88Ch:  0012F8AC 77E3A420 00190DA8 00D2BB28
0012F89Ch:  00080D9C 007EA508 00000000 DCBAABCD
0012F8ACh:  0012F8E8 77E28CB9 00AB175A 00190DA8
0012F8BCh:  00000110 00080D9C 00000000 00000000
0012F8CCh:  00000110 006014E8 00C11860 00000000
0012F8DCh:  00080D9C 00000110 00000000 0012F910
0012F8ECh:  77E155B0 00190DA8 00000110 00080D9C
0012F8FCh:  00000000 00000001 00000000 00000000
0012F90Ch:  00000000 0012F96C 77F9FF57 0012F920
0012F91Ch:  00000018 006014E8 00000110 00080D9C
0012F92Ch:  00000000 00000001 77E28BFA 77E16407
0012F93Ch:  00190DA8 00000110 00080D9C 00000000
0012F94Ch:  00000000 000002AE 00000000 00000000
Registers:
EAX: 00000000, EBX: 00D2BB28, ECX: 000B0D96, EDX: 0012F844
ESI: 00000034, EDI: 00000000, EBP: 0012F854, ESP: 0012F83C
Crash location: "foo_tts", loaded at 00AB0000h - 00AB9000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 77F80000h - 77FFD000h
KERNEL32                         loaded at 7C570000h - 7C623000h
USER32                           loaded at 77E10000h - 77E6F000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A50000h - 77B3F000h
RPCRT4                           loaded at 77D30000h - 77DA1000h
ADVAPI32                         loaded at 7C2D0000h - 7C332000h
COMCTL32                         loaded at 71710000h - 71794000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76B30000h - 76B6E000h
SHLWAPI                          loaded at 70A70000h - 70AD9000h
msvcrt                           loaded at 78000000h - 78045000h
SHELL32                          loaded at 782F0000h - 78535000h
foo_albumlist                    loaded at 00800000h - 0080A000h
foo_ape                          loaded at 00810000h - 00830000h
foo_cdda                         loaded at 00830000h - 0083E000h
foo_console                      loaded at 00840000h - 00847000h
foo_diskwriter                   loaded at 00850000h - 00862000h
WINMM                            loaded at 77570000h - 775A0000h
foo_dsp_crossfade                loaded at 008F0000h - 008F7000h
foo_dsp_extra                    loaded at 00900000h - 00915000h
foo_flac                         loaded at 00920000h - 00936000h
foo_freedb                       loaded at 00940000h - 0095D000h
WS2_32                           loaded at 75030000h - 75044000h
WS2HELP                          loaded at 75020000h - 75028000h
foo_infobox                      loaded at 00960000h - 00973000h
foo_input_std                    loaded at 00980000h - 00A22000h
MSACM32                          loaded at 77410000h - 77423000h
foo_massdelete                   loaded at 00A30000h - 00A3A000h
foo_masstag                      loaded at 00A40000h - 00A51000h
foo_output_std                   loaded at 00A60000h - 00A69000h
foo_read_http                    loaded at 00A70000h - 00A79000h
foo_rgscan                       loaded at 00A80000h - 00A8B000h
foo_speex                        loaded at 00A90000h - 00AA8000h
foo_tts                          loaded at 00AB0000h - 00AB9000h
foo_ui_std                       loaded at 00AC0000h - 00AD7000h
foo_vis_manager                  loaded at 00AE0000h - 00AE8000h
foo_wavpack                      loaded at 00AF0000h - 00AFB000h
INDICDLL                         loaded at 6E420000h - 6E426000h
IMM32                            loaded at 75E60000h - 75E7A000h
PowerMenuHook                    loaded at 00C10000h - 00C23000h
CLBCATQ                          loaded at 775A0000h - 77630000h
OLEAUT32                         loaded at 779B0000h - 77A4B000h
msafd                            loaded at 74FD0000h - 74FEE000h
wshtcpip                         loaded at 75010000h - 75017000h
rnr20                            loaded at 782C0000h - 782CC000h
DNSAPI                           loaded at 77980000h - 779A4000h
WSOCK32                          loaded at 75050000h - 75058000h
iphlpapi                         loaded at 77340000h - 77353000h
ICMP                             loaded at 77520000h - 77525000h
MPRAPI                           loaded at 77320000h - 77337000h
SAMLIB                           loaded at 75150000h - 7515F000h
NETAPI32                         loaded at 75170000h - 751BF000h
Secur32                          loaded at 7C340000h - 7C34F000h
NTDSAPI                          loaded at 77BF0000h - 77C01000h
WLDAP32                          loaded at 77950000h - 7797A000h
NETRAP                           loaded at 751C0000h - 751C6000h
ACTIVEDS                         loaded at 773B0000h - 773DF000h
ADSLDPC                          loaded at 77380000h - 773A3000h
RTUTILS                          loaded at 77830000h - 7783E000h
SETUPAPI                         loaded at 77880000h - 7790E000h
USERENV                          loaded at 7C0F0000h - 7C151000h
RASAPI32                         loaded at 774E0000h - 77513000h
RASMAN                           loaded at 774C0000h - 774D1000h
TAPI32                           loaded at 77530000h - 77552000h
DHCPCSVC                         loaded at 77360000h - 77379000h
winrnr                           loaded at 777E0000h - 777E8000h
rasadhlp                         loaded at 777F0000h - 777F5000h
wdmaud                           loaded at 77560000h - 77568000h
msacm32                          loaded at 77400000h - 77408000h
imagehlp                         loaded at 77920000h - 77943000h
DBGHELP                          loaded at 72A00000h - 72A2D000h

Stack dump analysis:
Address: 00AB323Ch, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB19CBh, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB1764h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB3294h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 77E3A420h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E28CB9h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00AB175Ah, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00C11860h, location: "PowerMenuHook", loaded at 00C10000h - 00C23000h
Address: 77E155B0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h
Address: 77E28BFAh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E16407h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E29DBEh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00AB7060h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB0000h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB72A8h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB7478h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB0000h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB0188h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 77E2CBF0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00AB0000h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB175Ah, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 77E3EDCCh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00AB0000h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB7060h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB175Ah, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB63ACh, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB1757h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB0000h, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00AB175Ah, location: "foo_tts", loaded at 00AB0000h - 00AB9000h
Address: 00404A96h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E1A366h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 0040490Ah, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E3A420h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E28CB9h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 004046F2h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00C11860h, location: "PowerMenuHook", loaded at 00C10000h - 00C23000h
Address: 77E155B0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h
Address: 77E28BFAh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E16407h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E17361h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 7171603Fh, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 77E155C0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h

Version info:
foobar2000 v0.8.2
UNICODE


Thanks in advance!
Title: Text to speech component
Post by: Andreasvb on 2005-01-25 08:18:01
I'm not sure, but have you tried updating foobar2000 itself? You have 0.8.2 the newest is 0.8.3.
Hope that helps.
Title: Text to speech component
Post by: appel78 on 2005-01-25 08:34:29
Hi Andreasvb,

Thanks for your suggestion. I tried foo_tts.dll with FB 0.8.3, but to no avail:

Quote
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00A412A1h
Access violation, operation: read, address: 00000000h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (00A412A1h):
00A41261h:  74 04 56 FF D7 59 5F 5E C3 B8 3C 32 A4 00 E8 1C
00A41271h:  1C 00 00 51 56 57 68 F3 03 00 00 FF 35 18 63 A4
00A41281h:  00 FF 15 88 40 A4 00 50 E8 6B 00 00 00 83 65 F0
00A41291h:  00 59 8B F8 A1 BC 62 A4 00 83 65 FC 00 8D 55 F0
00A412A1h:  8B 08 52 50 FF 51 4C 8B F0 85 F6 7C 2A 39 7D F0
00A412B1h:  74 25 A1 BC 62 A4 00 6A 00 6A 02 6A 00 8B 08 50
00A412C1h:  FF 51 50 8B F0 85 F6 7C 0E A1 BC 62 A4 00 57 50
00A412D1h:  8B 08 FF 51 48 8B F0 8B 45 F0 83 4D FC FF 85 C0
Stack (0012F83Ch):
0012F81Ch:  BBC69518 A0000CAB 8186A7A8 00000001
0012F82Ch:  A0005C0A 000004D2 00000110 A031B5D8
0012F83Ch:  000504D2 00000034 00000000 0012F880
0012F84Ch:  00A4323C 00000000 0012F88C 00A419CB
0012F85Ch:  00000110 0061C110 00000000 000100C9
0012F86Ch:  00000000 00000000 0012F8D8 00000000
0012F87Ch:  00A41764 0012FE90 00A43294 FFFFFFFF
0012F88Ch:  0012F8AC 77E3A420 000504D2 00AF45A0
0012F89Ch:  000304FC 007E98F0 00000000 DCBAABCD
0012F8ACh:  0012F8E8 77E28CB9 00A4175A 000504D2
0012F8BCh:  00000110 000304FC 00000000 00000000
0012F8CCh:  00000110 0061C110 00AB1860 00000000
0012F8DCh:  000304FC 00000110 00000000 0012F910
0012F8ECh:  77E155B0 000504D2 00000110 000304FC
0012F8FCh:  00000000 00000001 00000000 00000000
0012F90Ch:  00000000 0012F96C 77F9FF57 0012F920
0012F91Ch:  00000018 0061C110 00000110 000304FC
0012F92Ch:  00000000 00000001 77E28BFA 77E16407
0012F93Ch:  000504D2 00000110 000304FC 00000000
0012F94Ch:  00000000 000002AE 00000000 00000000
Registers:
EAX: 00000000, EBX: 00AF45A0, ECX: 000304E6, EDX: 0012F844
ESI: 00000034, EDI: 00000000, EBP: 0012F854, ESP: 0012F83C
Crash location: "foo_tts", loaded at 00A40000h - 00A49000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 77F80000h - 77FFD000h
KERNEL32                         loaded at 7C570000h - 7C623000h
USER32                           loaded at 77E10000h - 77E6F000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A50000h - 77B3F000h
RPCRT4                           loaded at 77D30000h - 77DA1000h
ADVAPI32                         loaded at 7C2D0000h - 7C332000h
COMCTL32                         loaded at 71710000h - 71794000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76B30000h - 76B6E000h
SHLWAPI                          loaded at 70A70000h - 70AD9000h
msvcrt                           loaded at 78000000h - 78045000h
SHELL32                          loaded at 782F0000h - 78535000h
foo_albumlist                    loaded at 00800000h - 0080B000h
foo_ape                          loaded at 00810000h - 0082F000h
foo_cdda                         loaded at 00830000h - 0083E000h
foo_console                      loaded at 00840000h - 00847000h
foo_diskwriter                   loaded at 00850000h - 00862000h
WINMM                            loaded at 77570000h - 775A0000h
foo_dsp_extra                    loaded at 008F0000h - 00905000h
foo_flac                         loaded at 00910000h - 0092C000h
foo_input_std                    loaded at 00930000h - 009CE000h
MSACM32                          loaded at 77410000h - 77423000h
foo_masstag                      loaded at 009D0000h - 009E4000h
foo_output_std                   loaded at 009F0000h - 009F9000h
foo_read_http                    loaded at 00A00000h - 00A09000h
WS2_32                           loaded at 75030000h - 75044000h
WS2HELP                          loaded at 75020000h - 75028000h
foo_rgscan                       loaded at 00A10000h - 00A1D000h
foo_speex                        loaded at 00A20000h - 00A38000h
foo_tts                          loaded at 00A40000h - 00A49000h
foo_ui_std                       loaded at 00A50000h - 00A67000h
foo_vis_manager                  loaded at 00A70000h - 00A78000h
foo_wavpack                      loaded at 00A80000h - 00A92000h
INDICDLL                         loaded at 6E420000h - 6E426000h
IMM32                            loaded at 75E60000h - 75E7A000h
PowerMenuHook                    loaded at 00AB0000h - 00AC3000h
CLBCATQ                          loaded at 775A0000h - 77630000h
OLEAUT32                         loaded at 779B0000h - 77A4B000h
cscui                            loaded at 77840000h - 7787E000h
CSCDLL                           loaded at 770C0000h - 770E3000h
MPR                              loaded at 76620000h - 76630000h
ntlanman                         loaded at 75160000h - 7516C000h
NETUI0                           loaded at 75210000h - 75225000h
NETUI1                           loaded at 751D0000h - 75208000h
NETAPI32                         loaded at 75170000h - 751BF000h
Secur32                          loaded at 7C340000h - 7C34F000h
NTDSAPI                          loaded at 77BF0000h - 77C01000h
DNSAPI                           loaded at 77980000h - 779A4000h
WSOCK32                          loaded at 75050000h - 75058000h
WLDAP32                          loaded at 77950000h - 7797A000h
NETRAP                           loaded at 751C0000h - 751C6000h
SAMLIB                           loaded at 75150000h - 7515F000h
imagehlp                         loaded at 77920000h - 77943000h
DBGHELP                          loaded at 72A00000h - 72A2D000h

Stack dump analysis:
Address: 00A4323Ch, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A419CBh, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A41764h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A43294h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 77E3A420h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E28CB9h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00A4175Ah, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00AB1860h, location: "PowerMenuHook", loaded at 00AB0000h - 00AC3000h
Address: 77E155B0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h
Address: 77E28BFAh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E16407h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E29DBEh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00A47060h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A40000h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A472A8h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A47478h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A40000h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A40188h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 77E2CBF0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00A40000h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A4175Ah, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 77E3EDCCh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00A40000h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A47060h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A4175Ah, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A463ACh, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A41757h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A40000h, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00A4175Ah, location: "foo_tts", loaded at 00A40000h - 00A49000h
Address: 00404A00h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E1A366h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 00404874h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77E3A420h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E28CB9h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 0040465Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00AB1860h, location: "PowerMenuHook", loaded at 00AB0000h - 00AC3000h
Address: 77E155B0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h
Address: 77E28BFAh, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E16407h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77E17361h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 7171603Fh, location: "COMCTL32", loaded at 71710000h - 71794000h
Address: 77E155C0h, location: "USER32", loaded at 77E10000h - 77E6F000h
Address: 77F9FF57h, location: "ntdll", loaded at 77F80000h - 77FFD000h

Version info:
foobar2000 v0.8.3
UNICODE
Title: Text to speech component
Post by: Andreasvb on 2005-01-25 08:42:59
Did you tried foosion's version?

http://www.stud.uni-karlsruhe.de/~uzbs/fb2...foo_tts-0.2.zip (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/misc/foo_tts-0.2.zip)

If it doesn't works, try installing foobar to another folder with minimal setup or copy all basic files to a new folder and only have foo_tts.
Title: Text to speech component
Post by: Shadikka on 2005-01-25 17:18:29
I think the volume problem is in the next block of code:

Code: [Select]
if(g_current_sentence == 0) //check to see if currently talking
 g_LastVolumeLevel = play_control::get()->get_volume();
play_control::get()->set_volume(-1300);


And the code supposed to reset the volume:

Code: [Select]
if(g_current_sentence > g_sentence_count)
{
play_control::get()->set_volume(g_LastVolumeLevel);
g_current_sentence = 0;
}


Yeah, I know there is rather much nobody around to fix it, but if someone would... I have no programs to compile this with
...nor the skill to fix it, but that's an entirely different story ^^

EDIT: I noticed that it does the same when having it autotell you the song and you happen to change the song when it's still talking (when you don't happen to like the song but it still is in your playlist or something). Maybe it gets lost with the g_sentence_count so it is unable to say when it has ended?
Title: Text to speech component
Post by: appel on 2005-01-28 09:37:29
Hey Andreasvb,

I did use foosion's version, but it didn't work on my win2k system at work. However, it does work on my xp system at home. I'll try give it a go monday.

Thanks again!
Title: Text to speech component
Post by: Skymmer on 2005-01-30 12:53:39
Just tested this component and the same error occured as Eppel78 wrote. Running WinXP SP2 EN, Foobar 0.8.3. Tried both Foosion's and original version. No luck. Also tried with minimum components mix:
foo_input_std.dll
foo_output_std.dll
foo_ui_std.dll
Still no luck. I suspect that error occured when no text engines installed. I wiped out default MS Sam with some tweaker some time ago so if somebody get such crash - see if you have at least one tts.
But maybe I'm wrong ?
Title: Text to speech component
Post by: haydns on 2005-03-29 23:24:50
What a great plugin. I think its name may not adequately describe its real world use. Just did not realise what it did when browsing through available pluins.
Title: Text to speech component
Post by: error1 on 2005-09-25 12:53:06
Does anyone know if this plugin is still downloadable from somewhere? I really liked what it did but i don't have a version that works with the current foobar.

By the way, you can get even more high-quality voices now from www.nextup.com - they have three different engines to choose from at around $30 each which isn't that bad. I really like the neospeech engine.

http://home.online.no/~ssvenn/neo.mp3 (http://home.online.no/~ssvenn/neo.mp3) 
Title: Text to speech component
Post by: Bl@ck_warrior on 2006-02-26 13:11:56
Quote
Does anyone know if this plugin is still downloadable from somewhere?


up
Title: Text to speech component
Post by: rectangle on 2006-02-28 11:05:55
Quote
Quote
Does anyone know if this plugin is still downloadable from somewhere?


up
[{POST_SNAPBACK}][/a]
(http://index.php?act=findpost&pid=367424")


I just put a copy [a href="http://home.people.net.au/~etheronline/foo_tts.dll]here[/url]
Title: Text to speech component
Post by: tgoose on 2006-02-28 16:20:23
I don't know how much this is being developed at all any more, but I have one suggestion: a choice of output (or automatically following the music output). I have USB headphones plugged in which set themselves as the default output, so I set foobar2000 to the onboard output so it'll come out of my speakers. Unfortunately this plugin doesn't, so the headphones tell me what's playing out of the headphones; not terribly useful if I'm not wearing them! Apart from that, this is very cool
Title: Text to speech component
Post by: Andreasvb on 2006-02-28 16:56:22
tgoose: Try open the speech control panel (sapi.cpl) and choose output to your onboard there.
Title: Text to speech component
Post by: Stuart60611 on 2006-02-28 22:11:13
Quote
tgoose: Try open the speech control panel (sapi.cpl) and choose output to your onboard there.
[a href="index.php?act=findpost&pid=368060"][{POST_SNAPBACK}][/a]


All of the links listed in this thread for downloading this component are broken.  Does anyone know where I can download this component?  I have been looking for a while without success.  Thanks.
Title: Text to speech component
Post by: Andreasvb on 2006-02-28 23:09:24
Check rectangle's link 4 posts above.
Title: Text to speech component
Post by: Bl@ck_warrior on 2006-02-28 23:11:12
...
Title: Text to speech component
Post by: Bl@ck_warrior on 2006-02-28 23:11:54
Quote
Quote
Quote
Does anyone know if this plugin is still downloadable from somewhere?


up
[{POST_SNAPBACK}][/a]
(http://index.php?act=findpost&pid=367424")


I just put a copy [a href="http://home.people.net.au/~etheronline/foo_tts.dll]here[/url]
[a href="index.php?act=findpost&pid=368012"][{POST_SNAPBACK}][/a]


thanks 
Title: Text to speech component
Post by: Frankdoom on 2006-03-19 00:39:38
i hope somebody is going to recompile this great plugin for 0.9 

there's no active link as far as I could see...
Title: Text to speech component
Post by: Frankdoom on 2006-03-28 09:41:47
Quote
i hope somebody is going to recompile this great plugin for 0.9 

there's no active link as far as I could see...
[a href="index.php?act=findpost&pid=372395"][{POST_SNAPBACK}][/a]


pleease, could anybody answer at least
Title: Text to speech component
Post by: tgoose on 2006-04-07 03:12:45
Quote
i hope somebody is going to recompile this great plugin for 0.9 

there's no active link as far as I could see...
[a href="index.php?act=findpost&pid=372395"][{POST_SNAPBACK}][/a]


pleease, could anybody answer at least

I don't know any more than you, but I'd certainly be interested in this now I've got some lovely AT&T voices to play with
Title: Text to speech component
Post by: Frankdoom on 2006-04-07 10:33:34

Quote
i hope somebody is going to recompile this great plugin for 0.9 

there's no active link as far as I could see...
[a href="index.php?act=findpost&pid=372395"][{POST_SNAPBACK}][/a]


pleease, could anybody answer at least

I don't know any more than you, but I'd certainly be interested in this now I've got some lovely AT&T voices to play with


sure that might be    but mainly I'm looking forward to it, since I would want to hear what's next... or something like that... an announcement, so to say
Title: Text to speech component
Post by: tgoose on 2006-04-07 21:28:13
I'm actually going to redownload fb2k 0.8 now just to get this working again

edit: How strange; Audrey says "dot" after anything unless the last word is a single letter 
Title: Text to speech component
Post by: airblaster on 2009-01-25 12:29:04
This sounds interesting. I wonder if there is an updated version for foobar 0.9x?