HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: aganders3 on 2010-06-15 19:58:06

Title: foo_talktome
Post by: aganders3 on 2010-06-15 19:58:06
Hello! I've just finished coding a working version of my first plugin, foo_talktome. I wanted a plugin to read the title and artist of each track that played, because I often listen to music on my wireless headphones. When I listen to my whole library or a group of new albums on random, this helps me remember who/what I liked. Hopefully others will enjoy this too!

Before writing this I checked if it existed already, and I found foo_tts (http://www.hydrogenaudio.org/forums/index.php?showtopic=10685), written by paulski. It seemed development on that had stopped, however, and there were even requests (http://www.hydrogenaudio.org/forums/index.php?showtopic=20163) for a new version, so I went ahead with my little project. Hopefully I'm not stepping on any other devs' toes with this!

Download foo_talktome.dll v1.0 here (http://bit.ly/12QRhyq)
(or here) (https://bitbucket.org/aganders3/foo_talktome/downloads)
(These links should be up-to-date)

Just put the dll in the Components directory and it should add a menu option (under Playback) to turn it off/on.

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Please use the issue tracker on the BitBucket Repo (https://bitbucket.org/aganders3/foo_talktome) to report bugs/feature requests.[/size]

--------------------------------------------------
Update! Version 1.0 released May 7, 20122013 (That's a long time between updates.)

Thanks to danthe0 (https://bitbucket.org/danthe0) some major unicode-related bugs have been addressed. Now you should be able to get this working with Asian characters/voices. I am also now building with the latest SDK version, so you will need Foobar2000 v1.1 to use this component (sorry! if you need/want an older version please let me know - I may have it). Thanks to everyone who uses this component, and especially those of you who contribute feedback, bug reports, and even code! To celebrate these major changes/improvements, I am bumping the version number to 1.0.

Along with this new version, I am officially announcing the code as open source. The source has been up for a while, but I just realized I never made that announcement here.

Finally, my use of this plugin has diminished, hence the slowdown in development. I know there is another TTS plugin out now, and it seems to have some really cool features. However, I am happy to keep working on this if there is still interest in foo_talktome. I am also interested in helping/working with other developers to create TTS or other interesting Foobar components - just PM me if you'd like to work together on something.

--------------------------------------------------
Update! September 7, 2011

Hey everyone. I'm glad people are still getting use out of this plugin! I halted development for a while because things seemed to be working pretty well, but I know there are some serious bugs out there still. In order to keep up with everything, I'd like to move development and issue tracking over to my Bitbucket repository:

https://bitbucket.org/aganders3/foo_talktome (https://bitbucket.org/aganders3/foo_talktome)

There is a public wiki and issue tracker there, and you don't need an account to post on the issue tracker (though it's better if you make one). I've added a few issues/feature requests from this thread to the system there, but I'm sure I missed quite a few. If you have an issue or feature request, please add it on the Bitbucket issue tracker.

This is also my first step toward releasing the source code for this plugin, just so the project can live on even if I become too busy to maintain it. I'm not quite ready to do that, though, as I'm still a bit shy about my coding abilities.

--------------------------------------------------
June 22, 2010 - OK, it took some playing around, but the new version seems to be working!

Download foo_talktome v0.4

(Hopefully) Fixed in this version:
* No more dll dependencies, everything should be statically linked (Still figuring out dependency walker, but I hope it's working)
* Remembers the state on shutdown

Thanks again to everyone who has downloaded or shown interest in my plugin! This has been a great learning experience for me so far.


--------------------------------------------------
June 28, 2010 - A new version is released!

Download foo_talktome v0.5

New features:
* A preferences pane!
* You decide the speech formatting (uses built-in Foobar2000 title formatting strings)
* An option to pause playback while speaking

I also tried to fix the 0 volume bug that was brought up. I was never able to reproduce it, though, so I'm not sure the changes worked. I've taken note of the other suggestions in this thread (volume fading when speaking, announcing at the end of the song...), and I will try to work on them over time, but implementation of some of them is not quite straightforward to me.

As far as other voices go, you can set the voice in the Windows speech control panel. You can install other voices, but they tend to not be free and/or easy to find. The voice engines from Neospeech (http://"http://www.neospeech.com) have been recommended in this thread (thanks Andreasvb).


--------------------------------------------------
July 01, 2010 - Another new version is released!

Download foo_talktome.dll v0.5.1
(I don't know anything about version numbering andI felt I was approaching 1.0 much too quickly so I moved to a double-point system. Why not?)

Fixes/features:
* Improved volume scaling - this was indeed a linear/logarithmic scale thing (thanks kode54). Sadly the only reason I didn't do it properly the first time around is because I didn't have a pen or pencil handy. I'm pretty happy with the way it is now, but I may add another option to lower/boost the volume of the voice relative to the music if there is a lot of demand.
* Much bigger box for the speech formatting string. Thank carpman for requesting this - I never would have thought of it otherwise. Should accept 2048 characters or so now, hopefully that's big enough.

Enjoy!


--------------------------------------------------
July 19, 2010

Download foo_talktome.dll v0.6

Features:
* Now includes a volume-offset field in the preferences pane. You can use a negative or a positive offset, input in dB.

Hopefully this is helpful for some people.

NOTE: For those of you that keep Foobar set at 0.0dB attenuation (max volume) this will only help you make the TTS voice quieter. At this point I can only control the volume of the synthesized voice. If you want the voice louder relative to the music, try boosting your system volume, lowering your Foobar volume, and adding a positive volume offset in the TalkToMe preferences.
Title: foo_talktome
Post by: Andreasvb on 2010-06-16 01:10:47
Thank you for making a TTS component for new foobar2000.

I used the old version before, until it stopped working in newer versions.

However, I found a way to get it announce the song, not optimal, but works.
It requires a bit tinkering.

This is what I used:

Cepstral: TTS program.
AMIP: For executing a command using swift.exe (comes with Cepstral).

Preset in AMIP:
/exec:(swift.exe)  -p  "%2 . by , %1"


I tried your component, it's working perfectly!

Even got another voice working, NeoSpeech Julie. It sounds really life-like.
If anyone want to use additional voices on 64 bit(unless they already are), just change it from the 32 bit SAPI settings.
C:\Windows\sysWOW64\speech\SpeechUX\SAPI.cpl

Thanks again.
Title: foo_talktome
Post by: carpman on 2010-06-16 01:51:48
Hi aganders3

Quote
Failed to load DLL: foo_talktome.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.


Using fb2k v.1.0.3 on Win XP SP2
Path to component directory:
C:\Program Files\foobar2000\3\foobar2000\components

Nothing else has had this problem.

Any ideas?

C.

EDIT: It's a "portable install" - does that make a difference?
Title: foo_talktome
Post by: aganders3 on 2010-06-16 04:53:12
Quote
Failed to load DLL: foo_talktome.dll
Reason: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.




First of all, thanks to both of you for trying out my plugin! This is my first "published" project, and it's good to know even one other person is using it.

My guess is that this is a "side-by-side configuration" error which has something to do with specific versions of certain dlls on windows system. I think it's the Microsoft solution to dll hell. I'm using Visual Studio 2008, so my program is linked to the dll files that come with it. You can install the VS2008 redistributable package (http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en) if you are willing, and I think it will fix the problem. It's only a 4MB download, but it's still a hassle to have to urge users to install something else just to run my measly component.

I'll try to build the component again with statically linked dependencies, which should make this issue go away. I'm not sure exactly how to do that (kind of new to Visual Studio) but I think I can figure it out relatively quickly. In the mean time, I hope the VS2008 redistributable package solves the problem for anyone who encounters it.
Title: foo_talktome
Post by: aganders3 on 2010-06-16 16:38:26
Quote
I'll try to build the component again with statically linked dependencies, which should make this issue go away. I'm not sure exactly how to do that (kind of new to Visual Studio) but I think I can figure it out relatively quickly. In the mean time, I hope the VS2008 redistributable package solves the problem for anyone who encounters it.

I just rebuilt the application and I think it's all statically linked now. Anyone who was getting the "configuration error" upon loading should re-download (the link in the first post is updated) and try again. Unfortunately I don't have access to any computer without VS2008 (or at least the redistributable package) installed, so I can't test this myself.

Please let me know if this problem remains, and likewise if you encounter any other problems with this component.
Title: foo_talktome
Post by: Andreasvb on 2010-06-16 16:45:45
REQ/BUG: Make it remember the state.
It's always off when restarting foobar2000.

Besides that it's working fine so far.
Title: foo_talktome
Post by: foosion on 2010-06-16 17:56:29
aganders3: You can a DLL's dependencies using a tool like Dependency Walker (http://www.dependencywalker.com/).
Title: foo_talktome
Post by: lvqcl on 2010-06-16 18:07:18
Downloaded  foo_talktome.dll. It wants c:\windows\winsxs\x86_microsoft.vc90.crt_blahblah\MSVCR90.DLL

(I think that 36352 bytes is too little for statically linked fb2k plugin...)
Title: foo_talktome
Post by: aganders3 on 2010-06-16 19:55:16
Thanks everyone. I'm working on getting things statically linked, so I appreciate the suggestions and reports. My dll is like 105k now, so I may have figured it out, and I am going to run it though the dependency walker.

I am also working on saving the state of the plugin, but it may require some restructuring of the plugin. I will definitely have that working in the next release.
Title: foo_talktome
Post by: aganders3 on 2010-06-22 17:22:22
OK, it took some playing around, but the new version seems to be working!

Download foo_talktome v0.4 (http://dl.dropbox.com/u/1521888/Random/foo_talktome.dll)
(The link in the OP should be up-to-date as well.)

(Hopefully) Fixed in this version:
* No more dll dependencies, everything should be statically linked (Still figuring out dependency walker, but I hope it's working)
* Remembers the state on shutdown

Thanks again to everyone who has downloaded or shown interest in my plugin! This has been a great learning experience for me so far.
Title: foo_talktome
Post by: Andreasvb on 2010-06-22 17:43:31
Now it remember the state on restart.

It's us that should thank you for making it. ^^

A little req, have it fade down the volume during the speech, like the original component.
And maybe announce before the next song.

Thanks again.
Title: foo_talktome
Post by: aganders3 on 2010-06-22 18:37:54
Now it remember the state on restart.

It's us that should thank you for making it. ^^

A little req, have it fade down the volume during the speech, like the original component.
And maybe announce before the next song.

Thanks again.


I appreciate both the compliments and the requests. I am working on a preferences pane that should make the plugin much more customizable, and I'll definitely keep your suggestions in mind for it. I have no prior experience with WTL programming, though, so that may take a little longer to figure out!
Title: foo_talktome
Post by: s33m33 on 2010-06-22 21:54:23
Thanks Aganders3.

Useful plugin.
Title: foo_talktome
Post by: carpman on 2010-06-22 23:53:56
Hi aganders3

Great that you got it working.    Works for me on XP.

I have one potential bug (though an odd one), and some suggestions / questions:

1) Bug? When the volume slider is set to zero, at least with my setup (see below), the component causes a really nasty loud noise/tone (square wave-ish).  SEE EDIT 2 BELOW

Win XP SP2, soundcard is M-Audio Audiophile 2496 (let me know if you need any more details).


2) Suggestion: Is there any way to enter options re. title formatting to alter what gets announced? Currently, unless I've missed something, there's only %title% by %artist%.

It would be really good if we could enter a script in a settings dialogue. I want to use this component for comparing different versions of classical pieces, while away from the computer: So I want something like:
%title% by %artist% performed by %performer%

i.e. String Quartet No.4 in D major - Allegretto by Shostakovich performed by St Petersburg Quartet.

This then becomes quite a long intro, so:

3) suggestion: Is it possible to delay the music until the introduction has finished?

4) Is it possible to get alternative voice styles, and would this be possible via a drop down menu in a settings panel?

Regardless of whether you choose to impliment any of the above, I hope it's food for thought and potentially helpful.
Thanks for the component - appreciate your effort, and look forward to future developments.

Cheers,

C.

EDIT: Just realised that some of this is already covered by Andreasvb. So read as a +1.

EDIT2: It's not as bad as it first appeared. To reproduce:
1) Vol set to 0
2) Begins new song (thus intro begins)
3) If closed at that point, when fb2k re-opened the nasty noise happens.

Pretty unlikely scenario, but somehow I happened upon it, so possible.

Title: foo_talktome
Post by: aganders3 on 2010-06-28 18:12:17
A new version is released!

Download foo_talktome v0.5 (http://dl.dropbox.com/u/1521888/Random/foo_talktome.dll)
(The link in the OP is now current as well.)

New features:
* A preferences pane!
* You decide the speech formatting (uses built-in Foobar2000 title formatting strings)
* An option to pause playback while speaking

I also tried to fix the 0 volume bug that was brought up. I was never able to reproduce it, though, so I'm not sure the changes worked. I've taken note of the other suggestions in this thread (volume fading when speaking, announcing at the end of the song...), and I will try to work on them over time, but implementation of some of them is not quite straightforward to me.

As far as other voices go, you can set the voice in the Windows speech control panel. You can install other voices, but they tend to not be free and/or easy to find.
Title: foo_talktome
Post by: Andreasvb on 2010-06-28 19:13:28
Thanks for you continuous work.

Finding a good TTS isn't easy indeed.
I really recommend www.neospeech.com and listen to theirs.
They're not free, unfortunately. But you could find them in different ways.
Title: foo_talktome
Post by: carpman on 2010-06-29 02:58:15
aganders3
Absolutely superb!    Works really well and a nice simple settings panel. Many thanks!

@ Andreasvb, thanks for the tip  I listened to the samples, they are so much better than XP's robo-man.

C.
Title: foo_talktome
Post by: carpman on 2010-06-30 01:16:30
Hi aganders3

Enjoying your plugin. 
I have 2 more suggestions, if you have the time and inclination:

1) Is it possible to extend the title formatting code box by quite a bit (perhaps even a few lines)? Personally, I've got some conditional code to announce classical music differently from other genres, and also I'm finding the $replace function handy, as VIII pronounced "Vee-eye-eye-eye", wears thin rather quickly. 

2) Would it be possible to have an option to set the volume of the TTS voice as a % (or whatever) of the music? I've tried setting this in the Control Panel options, but it seems that the plugin uses which ever sound output option fb2k uses, which makes sense, but that means that one cannot control the relative volumes. At present my TTS voice is too loud in comparison to the music.

Many thanks for your already excellent plugin and for considering the above.

Cheers,

C.
Title: foo_talktome
Post by: aganders3 on 2010-06-30 20:45:04
1) Is it possible to extend the title formatting code box by quite a bit...

This should be fairly simple. I will definitely expand it to allow/show more characters, and I will look into allowing multiple lines of text.

Quote
2) Would it be possible to have an option to set the volume of the TTS voice as a % (or whatever) of the music?

This is also definitely do-able, but will probably take a little longer. I had a field for a "volume offset" in the preferences panel, but it wasn't working how I wanted it to so I left it out of the release. I just need to play around a bit to work out the different scales that Foobar and the TTS API use.

In short, both of these improvements should be in the next release.
Title: foo_talktome
Post by: carpman on 2010-07-01 00:46:48
Well, that's extremely cool of you. Thank you.

C.
Title: foo_talktome
Post by: kode54 on 2010-07-01 02:13:00
You need to convert decibels to a linear scale. I'm not sure of the exact power to apply to it, though.
Title: foo_talktome
Post by: aganders3 on 2010-07-01 22:49:44
July 01, 2010 - Another new version is released!

Download foo_talktome.dll v0.5.1 (http://bit.ly/blnaOY)
(I don't know anything about version numbering andI felt I was approaching 1.0 much too quickly so I moved to a double-point system. Why not?)

Fixes/features:
* Improved volume scaling - this was indeed a linear/logarithmic scale thing (thanks kode54). Sadly the only reason I didn't do it properly the first time around is because I didn't have a pen or pencil handy. I'm pretty happy with the way it is now, but I may add another option to lower/boost the volume of the voice relative to the music if there is a lot of demand.
* Much bigger box for the speech formatting string. Thank carpman for requesting this - I never would have thought of it otherwise. Should accept 2048 characters or so now, hopefully that's big enough.

Enjoy!
Title: foo_talktome
Post by: carpman on 2010-07-02 01:22:52
Wow, that was fast!
Works for me -- really well. Just out of interest, how have you scaled the TTS voice? Presumably you can't know in advance how loud the TTS voice will be, so how does your plugin decide the ratio?

C.
Title: foo_talktome
Post by: aganders3 on 2010-07-02 17:42:05
Just out of interest, how have you scaled the TTS voice?

I am inverting the dB scale that Foobar uses to get a linear scale of 0-100 (what the TTS voice takes as a volume, only integer values). This is basically the same as how the Foobar volume control works; if you look, the actual dB value falls off much more quickly as you move to the low end.

The equation I use is:
TTS_volume = 100*10^(foobar_volume/20)

which comes from the equation for audio decibels (a relative measure):
dB = 20*log(P/Pref); where I use Pref = 100, the maximum TTS volume.
This gives the TTS voice a volume of 100 when Foobar's attenuation is 0dB, and ~0 when Foobar's attenuation is -100dB. I'm also not doing any rounding (laziness), so a value of (say) 13.94 will just get truncated to 13.

I just tried it at home (using Microsoft Anna on Win7) and it seems a little quiet. It's basically perfect (for me) on my other computer with Neospeech Julie, though, so the voice-dependent thing could work against people. This makes me want to implement another setting to boost/drop the voice a bit, so something like that will probably be in the next release  I'll play around with it a little to see what method seems to work best for that.
Title: foo_talktome
Post by: Andreasvb on 2010-07-02 18:15:27
Why not just a simple volume slider?
Will try the new version.

Ok, haha.

Now I can't hear anything, kind of.

foobar2000 is usually on -20 dB when listening normally, and -13.37 when it's loud.

The rest is configured accordingly, based on those values.

I'm using something called Virtual Audio Cable and have assigned "Line 2" for foobar2000 and "Line 3" for rest of  Windows' audio.
TTS will use the default mixer, "Line 3", which is very low.


Main Volume Mixer:
Line 2 > 50%
Line 3 > 20%

So the max output for Line 2 is now 50% of the main Volume Mixer, and Line 3 is 20%.
Then you can change each output's own volume, also from 0-100%, which seems to be logarithmic ( http://msdn.microsoft.com/en-us/library/dd316769(VS.85).aspx (http://msdn.microsoft.com/en-us/library/dd316769(VS.85).aspx) ).

Line 2:
foobar2000 > 100%

Line 3:
foobar2000 (TTS) > 60%
mIRC > 2%
System > 5%


Summarized:

foobar2000 = 25% - Main (50) - Line 2 (50)  (minus -20 dB in foobar2000) of total.
Line 3 = ~7% - Main (50) - Line 3 (20) - TTS (60).


Title: foo_talktome
Post by: cmyden on 2010-07-02 18:31:16
Awesome!  Thanks a lot aganders3, I've been looking for something exactly like this for the longest time, and for the exact same reason as you.

Unfortunately though, it doesn't seem to work in Foobar 0.9.6.7

Failed to load DLL: foo_talktome.dll

Reason: the specified procedure could not be found

(OS: Vista)

Title: foo_talktome
Post by: aganders3 on 2010-07-02 19:03:12
Unfortunately though, it doesn't seem to work in Foobar 0.9.6.7

According to the foobar2000 SDK page (http://www.foobar2000.org/SDK), all components compiled with the 2010-01-09 SDK release or newer (I am using the 2010-05-21 release) require at leas foobar2000t v1.0. I'm sorry, but the only solution I can suggest at this time is to upgrade your version of foobar2000. I will poke around a bit, but I'm not sure there is a way around this.
Title: foo_talktome
Post by: cmyden on 2010-07-03 00:29:07
Unfortunately though, it doesn't seem to work in Foobar 0.9.6.7

According to the foobar2000 SDK page (http://www.foobar2000.org/SDK), all components compiled with the 2010-01-09 SDK release or newer (I am using the 2010-05-21 release) require at leas foobar2000t v1.0. I'm sorry, but the only solution I can suggest at this time is to upgrade your version of foobar2000. I will poke around a bit, but I'm not sure there is a way around this.


Ah no problem Aganders, thanks for looking.  The reason I stick with 0.9.6.7 is because I have finally found versions of all my favorite components that work perfectly with each other, along with a heavily customized Foobar skin.  To upgrade to a different version would mean starting all over again, it can be a real challenge sometimes with Foobar.

Title: foo_talktome
Post by: carpman on 2010-07-03 01:21:04
This makes me want to implement another setting to boost/drop the voice a bit, so something like that will probably be in the next release  I'll play around with it a little to see what method seems to work best for that.

Yes please.

I for one would like more control over the TTS voice volume (though it's pretty good already). But sometimes I want it to be loud (when listening is a background activity) and other times quite quiet (when listening is the only activity).

Control over the TTS volume would make foo_talktome absolutely perfect IMO.

FYI (if it's useful) my fb2k's vol is set to 100%.

Cheers,

C.

ps. Interesting what Andreasvb said re. routing of the TTS voice. My experience was the opposite in that even though my TTS voice is configured to use my soundcard's "M-Audio Delta AP multi" device, fb2k is configured to use "Delta AP 1/2". However changing the Windows settings (i.e. the volume of "M-Audio Delta AP multi") had no effect on the TTS voice in fb2k (or at least I thought it didn't) precisely because (I assumed) the TTS in foo_talktome is routed through the same output device as fb2k ("Delta AP 1/2"). However, what Andreasvb has said seems to contradict my assumption. Can or does, the TTS voice in foo_talktome use a different output device from fb2k?
Title: foo_talktome
Post by: Andreasvb on 2010-07-03 01:46:24
You can set the output for TTS in the SAPI control panel (sapi.cpl).

I can choose same as foobar2000, but then every other program that uses TTS will be loud as ****.

Best would be a volume slider with a boost option, if possible.
Title: foo_talktome
Post by: carpman on 2010-07-03 02:03:30
You can set the output for TTS in the SAPI control panel (sapi.cpl).

Sure, that's where I set to use "my soundcard's "M-Audio Delta AP multi" device", because I was trying to get it to use a different device, and thus volume, from fb2k's but like I said:

Quote
However changing the Windows settings (i.e. the volume of "M-Audio Delta AP multi") had no effect on the TTS voice in fb2k (or at least I thought it didn't) precisely because (I assumed) the TTS in foo_talktome is routed through the same output device as fb2k ("Delta AP 1/2").

Not quite sure why that is, but I agree with your conclusion, so hey.

C.
Title: foo_talktome
Post by: aganders3 on 2010-07-03 02:58:04
I'll explore ways to change things, and come up with some (hopefully) reasonably simple preferences that give everyone some more control and freedom. I'm thinking of a volume slider (linear, 0-100) and a checkbox that turns on/off automatic volume scaling with the foobar volume. The only problem I see with this is that the volume slider will have to be in the preferences pane, which is not (to me) ideal. Maybe there is a way to make another one you can drop into the main UI, but that will take me longer to figure out.

From what I understand, the TTS engine synthesizes a wav that then gets played through the output you set in the SAPI control panel. The volume that I can set through calls to SAPI changes the volume of this synthesized TTS WAV, but not the actual output volume. Unfortunately this gives only limited control. I'm not sure the full chain of attenuation/volume controls the audio goes through, but I will read and play around to try to figure that out over the next week or so.
Title: foo_talktome
Post by: carpman on 2010-07-03 03:17:57
You could go the WaveGain interface way:

Extra Gain +/- dB

(http://members.home.nl/w.speek/speek_files/Wavegain.png)

C.
Title: foo_talktome
Post by: s33m33 on 2010-07-07 16:03:11
aganders3,
Could you provide include/exclude feature?

e.g. Talktome would announce only if %path% contains "English".

It sounds funny in foreign language words.
Title: foo_talktome
Post by: aganders3 on 2010-07-07 16:12:51
Could you provide include/exclude feature?

I'll look into this. There may be some way to just do it using the title formatting syntax, though. If so, i think that's a better solution because it means not re-inventing the wheel.
Title: foo_talktome
Post by: aganders3 on 2010-07-19 18:43:17
Bump for a new release!

Download foo_talktome.dll v0.6 (http://bit.ly/cMh3wn)

Features:
* Now includes a volume-offset field in the preferences pane. You can use a negative or a positive offset, input in dB.

Hopefully this is helpful for some people.

NOTE: For those of you that keep Foobar set at 0.0dB attenuation (max volume) this will only help you make the TTS voice quieter. At this point I can only control the volume of the synthesized voice. If you want the voice louder relative to the music, try boosting your system volume, lowering your Foobar volume, and adding a positive volume offset in the TalkToMe preferences.
Title: foo_talktome
Post by: Andreasvb on 2010-07-19 19:11:34
It's very quiet for me when it's set to 100.

See my previous post about my setup. (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=81657&view=findpost&p=712364)
Title: foo_talktome
Post by: aganders3 on 2010-07-19 20:45:32
It's very quiet for me when it's set to 100.

The problem I have is that I can only (programatically) set the TTS volume to 0-100 on a linear scale. If you put 100 in the volume offset (and/or set the Foobar volume slider to the maximum) the voice volume should basically always be "maxed out" as far my access to it goes.

I'll keep digging and see if I can figure out the full audio processing chain for the TTS, though, and if there is anything else I can do.  Your other post should be helpful, and I will send you a PM if I have any more questions.

Edit: Can you add another virtual cable just for the TTS voice, and select it in the Speech control panel?
Title: foo_talktome
Post by: Andreasvb on 2010-07-19 21:24:14
Oh, I might've spoke too soon.

Seems I've to restart foobar2000 for the volume offset to activate.
Actually, works to choose another output then change back to previous output.

But would be good to maybe boost max volume a bit, if possible.

The scaling of the volume is a nice touch!

Title: foo_talktome
Post by: aganders3 on 2010-07-19 21:40:44
Seems I've to restart foobar2000 for the volume offset to activate.
Actually, works to choose another output then change back to previous output.

I just noticed this bug too, actually. It should also work if you change the (Foobar) volume or enable/disable TalkToMe, because this will call the "change/set volume" code. In the next release this code will be called automatically when you change the volume offset as well.

As far as I can tell at this point, I'm unable to increase the maximum volume.  I'll keep working on it, though!
Title: foo_talktome
Post by: carpman on 2010-07-20 06:04:09
Thanks aganders3! 
Works for me. And I'm sorry to say, I can't think of any more improvements.

Great work, much appreciated!

C.
Title: foo_talktome
Post by: carpman on 2010-08-08 16:59:38
Hi aganders3

Possible BUG:

Playback stops when foo_talktome hits a song with a different sample rate.
i.e. plays fine with 41,100 Hz tracks, then playback stops when the next track is 48,000 Hz.
This doesn't happen when foo_talktome is unticked.

Soundcard = M-Audio Audiophile 2496
OS = WinXP SP2

Let me know if you want more details.

Cheers,

C.
Title: foo_talktome
Post by: aganders3 on 2010-08-20 21:07:05
Playback stops when foo_talktome hits a song with a different sample rate.
i.e. plays fine with 41,100 Hz tracks, then playback stops when the next track is 48,000 Hz.
This doesn't happen when foo_talktome is unticked.


Thanks, I was on vacation for a while without a computer, but I am looking into this. Hopefully it's not too big of an issue for the time being!
Title: foo_talktome
Post by: blonde on 2010-10-17 17:28:57
Hello,

I was excited to try this excellent component, but I can't seem to get it to "speak".

Tried it on win xp pro sp2 laptop and win7-64 desktop, both have foobar v1.1, both using the windows tts engine.  I used the default component preferences, tried increasing (and decreasing) the speech volume offset, foobar volume and system volume, also tried selecting a different output device (foobar and TTS).  Previewing the TTS voice in the control panel dialog works fine.  I also tried "Pause playback when speaking" and foobar didn't seem to hesitate at all when playing a new track, almost like the component wasn't "on".  I saw some reference in earlier posts about saving state... the only UI elements that I see in the preferences dialog are the Speech Formatting string text box, the Pause playback when speaking checkbox and the Speech Volume Offset (dB) spinner, i.e. no way that I can see to turn it on/off.

Anyone have any thoughts?
Title: foo_talktome
Post by: carpman on 2010-10-17 18:05:47
Is it ticked under:
Playback > TalkToMe

C.
Title: foo_talktome
Post by: blonde on 2010-10-17 21:29:30
Ack!  Thanks!

That's what I get for not reading closely enough. 
Title: foo_talktome
Post by: niceone on 2011-08-17 06:25:02
Amazing plugin    BUT it is too quiet, It can't overcome the music (with setting to 100 dB offset)
So I must use Pause Playback..., And voice is connected to master foobar volume slider which isn't good.
Title: foo_talktome
Post by: niceone on 2011-08-21 00:33:06
Talk to me plugin forum:
http://www.hydrogenaudio.org/forums/index....=81657&st=0 (http://www.hydrogenaudio.org/forums/index.php?showtopic=81657&st=0)

I have neospeech voice installed, but it won't show up under Win. 7 Text to Speech voice selection.

You mods do great job here 
Title: foo_talktome
Post by: Andreasvb on 2011-08-21 01:33:51
Talk to me plugin forum:
http://www.hydrogenaudio.org/forums/index....=81657&st=0 (http://www.hydrogenaudio.org/forums/index.php?showtopic=81657&st=0)

I have neospeech voice installed, but it won't show up under Win. 7 Text to Speech voice selection.

You mods do great job here 

If you're using x64 then read my post here, which is #2 in this thread.
http://www.hydrogenaudio.org/forums/index....st&p=710073 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=81657&view=findpost&p=710073)
Title: foo_talktome
Post by: D.Sync on 2011-08-22 14:40:47
Thank you for making a TTS component for new foobar2000.

I used the old version before, until it stopped working in newer versions.

However, I found a way to get it announce the song, not optimal, but works.
It requires a bit tinkering.

This is what I used:

Cepstral: TTS program.
AMIP: For executing a command using swift.exe (comes with Cepstral).

Preset in AMIP:
/exec:(swift.exe)  -p  "%2 . by , %1"


I tried your component, it's working perfectly!

Even got another voice working, NeoSpeech Julie. It sounds really life-like.
If anyone want to use additional voices on 64 bit(unless they already are), just change it from the 32 bit SAPI settings.
C:\Windows\sysWOW64\speech\SpeechUX\SAPI.cpl

Thanks again.


Thanks for the information. I am using Neospeech Misaki under Win 7 64bit and having Rundll32 error while trying to set it in SAPI.cpl. Anything that can solve this?
Title: foo_talktome
Post by: D.Sync on 2011-08-23 06:48:37
Update: It appears that the file is corrupted. After downloaded ver 3.11 of the voice everything works now.

Anyway for this plugin to support japanese text pattern? E.g.

今植松伸夫でBattle 1を再生

Also it can't seemed to pronounce Japanese title properly. (in kanji form)
Title: foo_talktome
Post by: lordfrikk on 2011-08-24 22:25:44
Is this still working? I don't see any section under Playback, where I could turn the component on/off. The preferences pane under Tools is there, though.
Title: foo_talktome
Post by: D.Sync on 2011-08-25 10:15:41
It should be there on the Playback menu with then name TalkToMe on it. Are you using the latest foobar version?
Title: foo_talktome
Post by: aganders3 on 2011-08-25 17:31:05
Hey everyone. I'm glad people are still getting use out of this plugin! I halted development for a while because things seemed to be working pretty well, but I know there are some serious bugs out there still. In order to keep up with everything, I'd like to move development and issue tracking over to my Bitbucket repository:

https://bitbucket.org/aganders3/foo_talktome (https://bitbucket.org/aganders3/foo_talktome)

There is a public wiki and issue tracker there, and you don't need an account to post on the issue tracker (though it's better if you make one). I've added a few issues/feature requests from this thread to the system there, but I'm sure I missed quite a few. If you have an issue or feature request, please add it on the Bitbucket issue tracker.

This is also my first step toward releasing the source code for this plugin, just so the project can live on even if I become too busy to maintain it. I'm not quite ready to do that, though, as I'm still a bit shy about my coding abilities.
Title: foo_talktome
Post by: lordfrikk on 2011-09-02 09:16:12
It should be there on the Playback menu with then name TalkToMe on it. Are you using the latest foobar version?


Seems like I am using version 1.1.2.0. Upgraded to 1.1.7 and it's still not there:

http://i.imgur.com/Sehre.png (http://i.imgur.com/Sehre.png)
Title: foo_talktome
Post by: q-stankovic on 2011-09-02 10:08:50
It should be there on the Playback menu with then name TalkToMe on it.

Playback menu - not prefrences! The playback menu is part of the main menu that is not shown in your "skin".
Title: foo_talktome
Post by: D.Sync on 2011-09-02 14:32:33
Kudos to another darkOne skin user.

To enable the Menu toobar, go to Preferences -> Display -> Columns UI and tick Show Toolbars under the Miscellaneous section. Then enable it on the menu via Playback -> TalkToMe
Title: foo_talktome
Post by: lordfrikk on 2011-09-03 19:41:06
Doh, my reading comprehension is still lacking! Thank you both, guys.
Title: foo_talktome
Post by: Martin Irigaray on 2012-12-28 19:31:28
First of all, thanks for this excellent plugin.
But i'm having problems with the volume of the voice. I already read your notes about that, it doesn't exist a solution for the problem?
Thanks again.
Title: foo_talktome
Post by: jabberwocky_one on 2012-12-29 13:19:21
First of all, thanks for this excellent plugin.
But i'm having problems with the volume of the voice. I already read your notes about that, it doesn't exist a solution for the problem?
Thanks again.


A quick fix would be to use a negative gain/pre-amp. Or apply replay gain.
Title: foo_talktome
Post by: nightgaunt on 2013-01-05 03:45:06
Thanks, aganders3, this is a very handy tool.

I was wondering about a feature request: would it be possible to read off the name of the previous song, rather than the upcoming one?

(If you wanted to get really crazy -- and recreate the radio listening experience of my adolescence -- you could make it update every couple songs with the recent playlist and the next-up. But that's crazy talk.)

Anyway, thanks again for your good work!

Edit: I added this to the bitbucket queue as requested. Also, I noticed a "TalkToMe when track is ending" option in the source code, but couldn't tell if this was implemented or not -- I couldn't find it in the preferences.
Title: foo_talktome
Post by: aganders3 on 2013-05-07 20:38:29
Bumping the thread to announce a new version! Yay!

Update! Version 1.0 released May 7, 2012 2013 (That's a long time between updates.)

Thanks to danthe0 (https://bitbucket.org/danthe0) some major unicode-related bugs have been addressed. Now you should be able to get this working with Asian characters/voices. I am also now building with the latest SDK version, so you will need Foobar2000 v1.1 to use this component (sorry! if you need/want an older version please let me know - I may have it). Thanks to everyone who uses this component, and especially those of you who contribute feedback, bug reports, and even code! To celebrate these major changes/improvements, I am bumping the version number to 1.0.

Along with this new version, I am officially announcing the code as open source. The source has been up for a while, but I just realized I never made that announcement here.

Finally, my use of this plugin has diminished, hence the slowdown in development. I know there is another TTS plugin out now, and it seems to have some really cool features. However, I am happy to keep working on this if there is still interest in foo_talktome. I am also interested in helping/working with other developers to create TTS or other interesting Foobar components - just PM me if you'd like to work together on something.

Download foo_talktome.dll v1.0 here (http://bit.ly/12QRhyq)
(or here) (https://bitbucket.org/aganders3/foo_talktome/downloads)

Please use the issue tracker on the BitBucket Repo (https://bitbucket.org/aganders3/foo_talktome) to report bugs/feature requests.
Title: foo_talktome
Post by: carpman on 2013-05-07 21:09:58
Well I for one use and like your TTS component --- even if it means teaching the dumb ass computer how to talk music:

Quote
.... $puts(2,$if($strcmp(%genre%,Classical),$replace(%title%,'BC ',' Basso Continuo  ........,'A minor','ay minor','A major','ay major','A flat','ay flat'),..............blah blah code blah ..............))

Thanks for the update. 

C.
Title: foo_talktome
Post by: Andreasvb on 2013-05-07 21:24:16
Thank you!
I'm using it all the time, as I think you know.

The default voice in Windows 8 is pretty good, and I haven't used any other until some days ago when some friends and I had a discussion about Miku Hatsune and Vocaloid in general.
Most of its voices that are available are Japanese but there are some English ones as well, e.g. Megpoid.
Unfortunately, there doesn't seem to be any SAPI support for them, would be cool to be able to use them as TTS.

What I did found was some other voices, they sound really good too, from IVONA. http://www.ivona.com/en/ (http://www.ivona.com/en/) [ IVONA Text-to-Speech Voices ]
Right now I'm using their voice, Salli.

A bit funny that earlier today there was a thread about TTS, in which I linked to this thread. http://www.hydrogenaudio.org/forums/index....howtopic=100740 (http://www.hydrogenaudio.org/forums/index.php?showtopic=100740) [ sapi5 question - Hydrogenaudio Forums ]
You can see my link to the demo I did using that voice and foo_talktome.


I've started some issues on the tracker, hope you don't mind.
Title: foo_talktome
Post by: carpman on 2013-05-12 20:32:37
Hi aganders3

Made you the assignee (which is probably wrong), but posted a minor conflict with foo_skip here:
https://bitbucket.org/aganders3/foo_talktom...t-with-foo_skip (https://bitbucket.org/aganders3/foo_talktome/issue/10/conflict-with-foo_skip)

Need any more info, let me know.

ps. No other DSPs running, only foo_skip DSP (with skip tracks enabled).

C.
Title: foo_talktome
Post by: carpman on 2013-05-12 21:47:35
One more issue posted:
"Playback stops on sample rate change when bypassing windows Direct Sound"
https://bitbucket.org/aganders3/foo_talktom...ate-change-when (https://bitbucket.org/aganders3/foo_talktome/issue/11/playback-stops-on-sample-rate-change-when)

C.
Title: Re: foo_talktome
Post by: regidark on 2016-08-29 14:41:31
Hi.
Download links are down for the last version, could someone upload or share any link where i can download it?

Thanks a lot in advance
Title: Re: foo_talktome
Post by: zeremy on 2016-08-30 07:03:46
Hi.
Download links are down for the last version, could someone upload or share any link where i can download it?

Thanks a lot in advance

https://bitbucket.org/aganders3/foo_talktome/downloads (https://bitbucket.org/aganders3/foo_talktome/downloads)