Ive been wanting to use TTS in my byond programs. So im here to get peoples opinouns. My current plan to get TTS to work would be making an exe file and calling it with the shell() function. This exe would then start read a text file. If the text file is blank then it would sleep for a while and go into a loop. Then you would just output data you want read to that text file. When the exe does read the text it would delete all text in the file after words.
So what would you think?
Or maybe does any one know if the TTS included in windows can be called by the shell() function and have it read a certain text. Then I would just need to call the windows built in app every time I want somthing read.
Option B: I create my own TTS
Yes this is the second longer and harder option. I would have too read about TTS and how it works. And try and make byond support TTS by making my own engine in byond code.
What you think about that?
ID:265380
![]() Mar 9 2005, 3:54 am
|
|
Creating a TTS program would definately be possible in DM. You'd just need sound clips of each of the phonetic sounds in the english language (I'm sure you could find a list of these on the internet, or in a dictionary), and then you'd have to have a text parser that translates letters or groups of letters into chunks that refered to the sound clips. It really wouldn't be overly difficult, but it also probably wouldn't be the most efficient or effective TTS program out there.
[Edit] Actually, the more I think about this, the cooler it sounds. I think I'm going to start creating one of these when I get home tonight. Also, you could probably generate the wavs for the sythesized phonetic clips with that old web-based TTS thing that Bell Labs has. |
you could probably do a rough TTS system by breaking up words into 2 or 3-letter phonemes: 'together' would be 'to-geth-er', 'hello' is 'hell-oh', 'pbag' is 'pee-ba-gh', 'kill me now' is 'keel-me-now', 'dragonball z' is 'drag-on-bah-lol-zee', etc.
then you just need to create the phoneme sounds, parse each word to figure out the right phonemes to use, and 'waa-la'- poor man's BYOND TTS. |
maybe you could do it using this website. you could somehow use browse() so that it would work for clients. you just need to get it to generate the sound. you could rig up a page that automatically submits a form, then get the URL of the sound file and send it to a player. but, that might be a bit slow.
|
Igmolicious wrote:
You'd just need sound clips of each of the phonetic sounds in the english language (I'm sure you could find a list of these on the internet, or in a dictionary), and then you'd have to have a text parser that translates letters or groups of letters into chunks that refered to the sound clips. Igmo, I tried this myself some time ago and the results were pretty disappointing. However, at the time, I'm not sure that BYOND had the ability to queue up sounds to play immediately one after the other (I think it does now) -- so don't let me discourage you. I would recommend, though, that you try a small-scale test first, such as recording a small sample of four or five phonemes, and making sure they can play back well in various combinations. If that turns out well, then go for it! |
Igmolicious wrote:
Creating a TTS program would definately be possible in DM. You'd just need sound clips of each of the phonetic sounds in the english language (I'm sure you could find a list of these on the internet, or in a dictionary), and then you'd have to have a text parser that translates letters or groups of letters into chunks that refered to the sound clips. It really wouldn't be overly difficult, but it also probably wouldn't be the most efficient or effective TTS program out there. Thanks for giving us the website of the Bell Labs page :P http://www.bell-labs.com/project/tts/voices-java.html [Edit] Ohh by the way if you are going to create a TTS engine for byond. I would love to join in creating it. Sadly Im not too knowledgeable with what all you said. Especially what phonetic sounds are. But if you could just give me a couple things to do I could get them done with in a days time. My email is often spammed to death and my IM software takes up to much of my old computers ram. So just post what you want me too do or maybe over my byond pager. |
It sounds cool, with one drawback:
In the common BYOND games, about a hundred conversations go on at once, both worldwide and smallscale. IF this was a worldwide function and two people just happened to send at once, wouldn't that produce a rather interesting sound? It would be cool if only the people in view of the person heard it, but not if it was going to be played to the entire world. [EDIT] I just thought of another drawback. The incredible lag due to the filesizes and the possible of every user using it. Maybe if onle the Admin could use it, like as an announcement feature... But that would still cause a lot of lag. |
Jamesburrow wrote:
It sounds cool, with one drawback: You could probley create some kind of first come first serve chat display. So if a message is being sent to the world now hold off on any other message for so long of the length of string. [EDIT] Hmmm yea I hate byond and it using wav's. But as for the lag stress test could probley be preforemed and documented. |
Green Lime wrote:
You could probley create some kind of first come first serve chat display. So if a message is being sent to the world now hold off on any other message for so long of the length of string. Hmmm, that could amke there be even more lag because of the substantial amount of messages added to the list every few seconds. The only way I can see to fix that is if only Admin could use it as an Announce feature. Hmmm yea I hate byond and it using wav's. But as for the lag stress test could probley be preforemed and documented. I guess that could work. |
1) i doubt you really see *100* conversations go on at once, and 2) if you include the phoneme sounds as a part of the game download, you avoid much of the lag since only the instructions to play the sounds are sent along with the text. also, if you do it like a standard text reader does, it should only read what it sees on the screen, one line at a time.
|
The problem with using TTS is the licensing. Them things be expensive to license! It's possible that even the Microsoft Sam isn't allowed to be used except in certain circumstances.
|
So what would you think? I'm wondering what kind of applications you could be considering for text to speech :P. Even the good packages don't sound remotly human. |
Jamesburrow wrote:
It sounds cool, with one drawback: Wow. What games are YOU playing? |
I think it wouldn't work, or the filesize would become too big.. and usually a .exe needs .dll's, etc..
Don't know much about shell() function actually... but this could be a way... only problem is that only XP (and maybe 2000) supports TTS (and only Uncle "Microsoft" Sam is avalible).
Impossible... tons of people worked on the TTS project in C++, it's impossible to recreate that just by urself with DM...
overall, i think this seems useless... it's hard, and it wouldn't be of any use..
If people want the chat window to be read, they should just download a TTS program theirself to let it do it...
Or if you'dd like to add some voices to your game anyways, you could just record it, or let someone else record it..