[RELEASED] Easy Voice - Text to Speech Editor Extension

I'd like to introduce Easy Voice, an editor extension to help developers quickly and easily prototype in-game voice dialog.

Using your computer’s built in text to speech engine, Easy Voice takes written lines of dialogue and generates sound file assets ready to test in Unity. Make as many changes as you want and re-generate all your dialogue files with the press of a button.

Here's a brief overview showing Easy Voice in action:


- Works on PC and Mac using the native Text to Speech engine
- Customizable automatic voice file naming
- Import/Export lines to spreadsheet via CSV
- Full source code included

Now available in the Asset Store.
http://u3d.as/9vL

Great plugin. It works flawlessly if build target is set to Standalone. After switching to Webplayer, the project won't compile because of several errors in EasyVoiceQuerierMacOS.cs. For example:

Assets/Easy Voice/EasyVoiceQuerierMacOS.cs(46,26): error CS0200: Property or indexer `System.Diagnostics.Process.StartInfo' cannot be assigned to (it is read only)

Do you have any suggestions for fixing this without deleting Easy Voice from the project when it's in Webplayer mode?

Thanks!

Hi username, thanks for letting us know about the issue. We are looking into it now and will provide an update as soon as possible.

Thanks!

Just a quick update, we've implemented and tested a fix and just submitted the update for approval.

Thanks again!

Great! Thank you so much for fixing this so quickly. Do you know if there's a way to get an automatic notification when the new version is available on the Asset store?

As far as I know there isn't a way to get notifications from the Asset Store but maybe others can chime in if there is. I will post here when the update is live so you could subscribe to be notified.

Sounds good. Thanks again!

Okay, the 1.1 update is now live in the asset store!

Link: http://u3d.as/content/game-loop/easy-voice

Sorry, this is strange, but I still see a lot of errors:
1965157--127259--Easy Voice.PNG

It looks like you are still running the previous version. Please check you've imported the released version 1.1 and try again. If you're not sure you can always remove the Easy Voice directory and re-import from the Asset Store. Just be sure to close the Easy Voice window first before removing and keep your data file (make a backup of everything just to be safe). Please let me know if this works.

Yes, that was my first thought when I saw the errors. So, I deleted the Easy Voice directory and re-imported from the Asset Store. That didn't help, so I repeated the process. Still, I got the same errors. All the .cs files have the date of 10-22-2014. Any idea what I may be doing wrong?

We're looking into the issue and will post here shortly. Sorry about the inconvenience, we'll get this sorted out for you.

Okay, we figured out the issue. Unity recently made some changes to the Asset Store upload system and now supports multiple packages to co-exist for different versions of the editor. Long story short, this caused some confusion since I uploaded with an older version of the editor. I've just re-submitted and this will resolve the issue. I'll post here again when it's live in the store.

Version 1.1.1 is now live in the Asset Store. Please give it a try!

Link: http://u3d.as/content/game-loop/easy-voice

1 Like

Works great now! Thanks!

Hi, I am getting some errors with certain TTS voices on osX
I notice the "Efficient" text that is causing the error is an embedded text that some TTS voices say if you have not paid for them.... However, I have paid for these voices (I am seeing two different texts which I believe are CereProc voices and iVox voices) and the text is not recorded by Easy Voice. The project still plays and the audio files seem to have been written correctly.

:

Process returned unexpected line: Efficient, fast and of very high quality, why don't you try me out \pau= 50\ using your own words in the context of your application?
UnityEngine.Debug:LogError(Object)
EasyVoiceQuerierMacOS:QueryForVoiceList(EasyVoiceSettings) (at Assets/Easy Voice/EasyVoiceQuerierMacOS.cs:114)
EasyVoiceSettings:Initialize() (at Assets/Easy Voice/EasyVoiceSettings.cs:106)
EasyVoiceEditorWindow:OnEnable() (at Assets/Easy Voice/Editor/EasyVoiceEditorWindow.cs:126)
UnityEditorInternal.InternalEditorUtility:LoadSerializedFileAndForget(String)
UnityEditor.WindowLayout:LoadWindowLayout(String, Boolean)

Hi wetcircuit, thanks for bringing this issue to our attention. Please give me some more details so we can work on a fix. Which voices specifically are you seeing giving these errors? If you can provide a link I'll try them myself. Also, when you say the text is not recorded, you mean the error text? I'm assuming the line you entered is being properly saved as an audio clip but please confirm.


Correct. My dialog is recorded and saved as expected, so there is no emergency and Easy Voice is working.

The errors only show until after I have closed the project and re-opened it - they show on launch. I have re-written a few of the dialog, replaced some dialog and created new ones, and I am not sure which voices caused (are continuing to cause?) the errors. If I clear the errors and save, then re-open the project, they are there again in the console. One of the voices is apparently Arabic (which I remember choosing by accident, I thought I had deleted it without creating the audioclip but I am not sure.)

1999154--129209--Screen Shot 2015-03-04 at 9.31.22 PM.png

The errors do not prevent the scene from running. Adding new voices (same scene) does not appear to create new errors.... I don't seem to be able to recreate it, but in this scene these same errors return. I can clear them but they come back on next launch....

The two TTS companies are
CereProc https://www.cereproc.com/individuals
InfoVox - iVox http://www.assistiveware.com/product/infovox-ivox

If you install one of their voices and do not purchase it (just try before buy) you will hear the "mystery phrase" spoken at least once per speech. The "mystery phrase" was not recorded by Easy Voice. My assumption is Easy Voice triggered the license check for the TTS voices since that is the phrase in the error, but as I said I cannot recreate it...

Is it possible Unity crashed while these voices were in the trays (had issues with a different plugin), but I don't know how that might effect it. I thought you should be aware, and also I can't get rid of the errors, lol.

Thanks for the input, we're working on a fix and I'll post here when we have an update.

Thanks again!

1 Like

Hello -

EasyVoice has been working great for me.

However - have today just downloaded Unity5 free, and got following errors even after Unity attempted a project conversion. Hope you can make an easy fix please.

Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(57,64): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(80,19): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(41,27): warning CS0618: UnityEditor.AudioImporter.threeD' is obsolete:AudioImporter.threeD is no longer supported'

Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(42,27): error CS0122: `UnityEditor.AudioImporter.format' is inaccessible due to its protection level

Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(43,27): error CS1061: Type UnityEditor.AudioImporter' does not contain a definition forloadType' and no extension method loadType' of typeUnityEditor.AudioImporter' could be found (are you missing a using directive or an assembly reference?)
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(61,38): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(62,38): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(84,74): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(85,78): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'
Assets/Easy Voice/Editor/EasyVoiceAudioClipImporter.cs(86,49): warning CS0618: UnityEditor.AudioImporterFormat' is obsolete:UnityEditor.AudioImporterFormat has been deprecated. Use UnityEngine.AudioCompressionFormat instead.'