Forum


Notice to all users

We are migrating towards a new forum system located at community.teamspeak.com, as such this forum will become read-only on January 29, 2020

Page 1 of 2 12 LastLast
Results 1 to 15 of 21

Thread: Chat TTS Plugin

  1. #1
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35

    Chat TTS Plugin

    Hi,
    I've been creating a small plugin in the last past days, and it prove to be pretty useful. The only thing it does is reading out the chat-messages using your default TTS-Voice so you dont have to open the TSł Window each time you've received a message. It's written in .Net 3.0 (C# to be more accurate), so you need to install the runtime, and the Microsoft SAPI, so I think this will only work on Windows.

    The plugin is based on Robert Giesecke's work on unmanaged exports in .Net so I could write the plugin in my favorite language(=>C#). Anybody wanting to create other plugins the same way in .Net please don't ask me yet for the full TS3Functions-Callback-Structure, if you know how to you can of course look at the way its done and do it on your own.

    The source can now be found under http://ts3tts.zockprog.net/svn/TS3TTS/ as a svn-repository.

    Changelog:
    0.4 Char- and Message-Filter aren't case sensitive anymore
    Voice-Speed numeric-up-down changes 1 at a time on a click instead of juming directly to -10/+10
    uses Cdecl exports => x86 works
    0.4Fixed tryed not to read out only "... wrote" if the whole message contained filtered chars, but instead it read out nothing anymore...
    0.3 Char-Filter(dont read special chars like *)
    Settings-Window uses Windows style(no longer Win 2000-look)
    Chat-command registered "/ctts", use "/ctts help" for more info
    On-/Off-switch
    0.2 Message-Filter(especially to filter URLs to be read out),
    Change "... wrote" to something you want
    Settings-window closes on saving
    0.1 First release

    HowTo create a Hotkey to switch Chat-TTS on/off:
    Open settings=>options, go to Hotkeys, create new Hotkey, set your preferred key-combination and as action select misc.=>plugins=>start, click on the event and type "/ctts switch"

    ToDo:
    [- Use phonetic nickname] Impossible at the moment
    - Setting max. length of text to be read out
    - Speech-Recognition (=> thx to skeletron for working on this)
    - Change used Voice (maybe some keywords so the plugin recognizes different languages and chooses the right voice)
    Add some functions not directly affecting the Chat:
    - Tell if someone in your channel muted his mic/headphones/went away
    Last edited by addilind; September 27th, 2010 at 06:15 PM.

  2. #2
    Join Date
    January 2009
    Location
    Talca, Chile
    Posts
    14
    TS3 crash with this plugin.

  3. #3
    Join Date
    December 2009
    Location
    Germany
    Posts
    226
    Works great for me, thanks! The german TTS is crappy, but with english texts its really good.

    Win7, x64

  4. #4
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35
    @Baaran:
    Blame Microsoft for their crappy voice. No, you should try installing a German TTS-Voice(sadly most aren't free) and setting it as default, I'll add an option to change "... said" to "... sagte" or something else.

    @Dn.LaG:
    Would you be so gentle and provide additional information? Which system do you use? x64 or x86? Which Teamspeak-Client-Version? Which .Net-Framework do you have installed?
    Edit: It seems to me that something went wrong with the latest x86-Version-build as it crashes on my PC as well. Still searching for the error...
    Last edited by addilind; September 27th, 2010 at 06:16 PM.

  5. #5
    Join Date
    December 2009
    Location
    Germany
    Posts
    226
    Quote Originally Posted by addilind View Post
    @Baaran:
    Blame Microsoft for their crappy voice. No, you should try installing a german TTS-Voice (don't know link) and setting it as default, I'll add an option to change "... said" to "... sagte" or something else.
    I'm sorry, didn't mean to imply it was your plugins fault, I know that it's a MS thing.

  6. #6
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35
    I wasn't hurt, just wanted to help making it work for german text as well^^
    It was ment as "not my problem, go ask Microsoft for it if you want to"
    Last edited by addilind; September 17th, 2010 at 09:46 PM.

  7. #7
    Join Date
    January 2010
    Location
    New England USA / Marnbach, Weilheim i.OB, Germany
    Posts
    428
    Very nice work, I appreciate what you have created.

    In the future, it would be worth while to integrate the use of a contacts Phonetic name set in contact manager. For example, a user's name is 2/Lt.ktabz and in my Contact Manager, I set his name to just ktabz to avoid TTS reading "two slash El Tee kaytabz wrote" however the plugin doesn't respect custom phonetics. If you can integrate that somehow, that'd be awesome! If you can't, it is still a very nice useful plugin!

  8. #8
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35
    Redirecting the question to the teamspeak-crew:
    Is there a way for a plugin to access the phonetic nickname of an user in a plugin? I've searched the Plugin-Docs but haven't found anything.

    Another question that came to my mind: Am I able to create new Hotkey-Types so TS handles the Hotkey-work for me (hooking the keyboard, giving the user an interface to create Hotkeys etc.) or do I have to do the whole thing on my own (so I'd need to hook the WinAPI, creating a user-friendly Hotkey-settings GUI etc.)?

    Even if there was an option to, I'm still busy rewriting the TS3-Function-callback structure in C#, and as long as I haven't finished that I can't query the client for any piece of information except what is given to me by the event...
    Last edited by addilind; September 17th, 2010 at 10:17 PM.

  9. #9
    Join Date
    September 2005
    Location
    Germany / Dortmund
    Posts
    1,376
    Another question that came to my mind: Am I able to create new Hotkey-Types so TS handles the Hotkey-work for me (hooking the keyboard, giving the user an interface to create Hotkeys etc.) or do I have to do the whole thing on my own (so I'd need to hook the WinAPI, creating a user-friendly Hotkey-settings GUI etc.)?
    This is currently not possible, but you can react in processCommand event on a command. The user of your plugin needs to define a hotkey to run this command.

  10. #10
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35
    Quote Originally Posted by Thomas View Post
    This is currently not possible, but you can react in processCommand event on a command. The user of your plugin needs to define a hotkey to run this command.
    Good idea, even if it's just a workaround. Maybe you (adressing the whole TS-Team, not specifically Thomas) will be able to allow the creation of Hotkey-types in further releases anyway, that would be nice. Regarding the phonetic nickname there is no such workaround?

  11. #11
    Join Date
    September 2005
    Location
    Germany / Dortmund
    Posts
    1,376
    Not that I know of, sorry.

  12. #12
    Join Date
    December 2009
    Location
    Germany
    Posts
    38
    I can compile it on windows 32 and TeamSpeak3 detects the plugin, but as soon as I click on it to activate it Teamspeak3 Crashes :/
    Compiled with Visual Studio 2010
    .net Framework 4.0 installed & I have the newest version of TS3. (Windows XP)

    Its a little weird that the 64 bit version works and the 32 bit doesn't.

  13. #13
    Join Date
    January 2009
    Location
    Talca, Chile
    Posts
    14
    I use Windows 7 32bits.
    TeamSpeak beta30 [Build : 12369]

  14. #14
    Join Date
    December 2009
    Location
    Deutschland
    Posts
    35
    Note: The error was resolved thanks to SpiritOffice

    @sKeLeTr0n: Thanks for trying anyway, I'm still looking for the mistake
    @Dn.LaG: Thanks, I'll post a working version here as soon as I worked things out.

    I've got an idea what's going wrong, as (as far as I know) on an 64-bit OS the Pointers are 64-bit, whereas on a 32-bit OS they are 32-bit in size. I don't know if my marshalling-functions return a 64-bit pointer to the 32-bit Program, but at least that's a point to search for a mistake.
    Last edited by addilind; September 26th, 2010 at 08:40 PM.

  15. #15
    Join Date
    December 2009
    Location
    Germany
    Posts
    38
    Do you have a TeamSpeak server where I can contaact you? Would like to help you :]

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Is there an in-game chat plugin?
    By arawra in forum Client Plugins / Lua Scripts
    Replies: 1
    Last Post: September 14th, 2015, 08:22 PM
  2. HTML -> Chat - Client Side Plugin
    By marwanpro in forum Tools / Web Based
    Replies: 0
    Last Post: March 30th, 2015, 10:53 PM
  3. [Question] Is there any plugin to clear the channel chat?
    By ArtKillzZ in forum Client Plugins / Lua Scripts
    Replies: 2
    Last Post: January 23rd, 2014, 08:03 PM
  4. text to voice - chat addon or plugin
    By Watercrazed in forum General Questions
    Replies: 0
    Last Post: February 1st, 2010, 09:56 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •