Skip to content

Text to speech#1893

Merged
vadi2 merged 116 commits intoMudlet:developmentfrom
jgh713:textToSpeech
Jan 12, 2019
Merged

Text to speech#1893
vadi2 merged 116 commits intoMudlet:developmentfrom
jgh713:textToSpeech

Conversation

@jgh713
Copy link
Copy Markdown
Contributor

@jgh713 jgh713 commented Aug 15, 2018

Same as #1188 with minor fixes for #1881.

vadi2 and others added 30 commits July 2, 2017 09:05
* Delete TScriptEditorManager.h

* Delete TScriptEditorManager.cpp
… fork

import: some Zoilder fixes from the MudletRL fork:
* in TBuffer::translateToPlainText(...): make some MXP related code execute
  only if Host::mFORCE_MXP_NEGOTIATION_OFF is NOT set as well as another
  condition.
* in TBuffer::wrap(...): change a for(...) {...} loop termination condition
  be a "<" rather than a "<=" test - which sounds like an "off-by-one"
  error fix-up.
* In TTextEdit:updateScreenView(): revise code that seems to prevent the
  width of a "main" console being set too small and NOT written to the
  "parent" Host::mScreenWidth variable - the original modification
  removed such a restriction completely, but I have just lowered the
  minimum from 100 to 40 and ensured it is always stored both in the local
  "main" console and to the parent record in the Host class for that
  console.
* In TTextEdit::drawForeground(...): revise the behaviour *I think* when
  at the point where a console "split" becomes unnecessary...

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
* Fixed "reset map colors" button to work

That's a 5 year old bug out of the way!
* Change travis configuration to use installed gcc-5
Thanks to Rick for his prompt response on this
* Add Communi Model & Util libs

* Full refactor of IRC Client code & UI

This retains the primary functions of the old IRC client but adds many
more new IRC commands by default. The UI is slightly more organized and
interactive now.

* Adds QPointer to IRC Dialog pointer variable.

* Update Lua `sendIrc()` slightly.

* Added /msg command, Input History, and updated display colors.

Input History stores a total of 8 previously entered commands the user
can cycle through using the Up Arrow key.
The previously include /msg command has been added again.
Colors of some messages have been updated for (relatively) easier
distinction of message lines.

* Updated channel handling.

* Fix CMake builds

Things needed to fix CMake builds:
- communi CMake builds needed `include_directories` explicitly specified
- more MOC calls in communi
- more explicit dependencies to MOC files in communi
- ircmessageformatter must be compiled into mudlet
Changes IRC client to run with settings given per-profile, making the IRC client more visible and configurable within Lua.   
This adds configuration options to the settings window in the "Special Options" tab for configuring an IRC client on the host profile which opens the settings window.   
See the PR summary comment for details on available Lua functions and IRC Client commands.
* Create CODE_OF_CONDUCT.md
* Finished formatting all filed & added braces
* Re-enabled map load on profile load - disabling it broke scripts that relied on map data w/o the map open
* Fix bugs with Buttons & Toolbars.

- Fixed change detection for location, orienation, and CSS data.
- Buttons are not rendered unless they are part of a group,
Toolbar/Menu.
- ToolBars whos locations are changed now hide their previous TToolBar
or TEasyButtonBar instance as needed.

* Fix Buttons being left behind when parent toolbar is deleted.
Also allows TAction to use QPointer<T>
* also pushed isFolder() and setIsFolder() to the parent Tree class
@jgh713
Copy link
Copy Markdown
Contributor Author

jgh713 commented Sep 27, 2018

Finally got some time to look into this. I couldn't replicate the issue with the queue not continuing. @Kebap If you find a consistent way to make it happen, would be happy to look into it.

As for ttsSetRate, there's a few different bits of weirdness that I hadn't realized were interacting. First off, rate can only be set to intervals of 0.1 (intervals might be system-specific, as to whether or not built-in synthesizer supports more/fewer?), and if you set a rate that's not one of these values, it rounds down to the nearest interval. Rate 0.7 can be set, but setting 0.7 directly rounds down to 0.6. I can only assume this is some issue with either lua_tonumber's conversion to a float or when converting from float to double (i.e. 0.699999999999 would round down to 0.6).

@jgh713
Copy link
Copy Markdown
Contributor Author

jgh713 commented Sep 27, 2018

Despite removing the double->float->double conversion, the issue persists. Likely an issue with lua_tonumber? Not really a decent way to fix, without just adding an insignificant number to the value passed, which seems like a really bad way to go about things.

@keneanung
Copy link
Copy Markdown
Member

How about retrieving the value as string from lua, then converting it "manually"?

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Sep 27, 2018

What is the issue? Lua's numbers in 5.1 are of type double, storing into that natively ought to work.

Agree on not using weird hacks before we completely understand the situation

@Kebap
Copy link
Copy Markdown
Contributor

Kebap commented Sep 27, 2018

What's the issue? See above.
Also, welcome back to jgh713 :)

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Sep 27, 2018

The issue with the fix in 210281b

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Sep 27, 2018

Should have been more clear :)

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Sep 27, 2018

Not to detail things too much, shouldn't bSpeechQueueing and friends be in the mudlet class since they're a singleton?

@jgh713
Copy link
Copy Markdown
Contributor Author

jgh713 commented Sep 27, 2018

Was pulling the lua_tonumber value into a float, not a double, which meant it was coming from lua double, into a float, then converted back into a double when sent to the speechUnit. Just trying to narrow down where the issue lies.

@vadi2 vadi2 removed this from the 3.14 milestone Oct 4, 2018
@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Oct 5, 2018

Dodgy rate: not our fault. Me getting back 0 is an issue with the speechd engine on Linux which will be fixed in the next engine release. Windows - not sure yet.

@Kebap Kebap changed the title WIP. Text to speech Text to speech Oct 29, 2018
@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Nov 5, 2018

@Kebap I don't think the issues are related to our implementation, rather it's the underlying speech engines. I think we'll have to go with it as-is, document it, and hope it improves over time.

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Jan 5, 2019

@Kebap good to go with this one?

@jgh713
Copy link
Copy Markdown
Contributor Author

jgh713 commented Jan 5, 2019

Re: the rate problem, I guess we could just round the rate to the nearest .1 decimal, instead of letting the system floor it. Just a thought.

@vadi2
Copy link
Copy Markdown
Member

vadi2 commented Jan 12, 2019

It's a bug in an external tool, kind of depends on the tool here. If we workaround it, the workaround will affect people on a fixed version. We'll just document it.

@vadi2 vadi2 merged commit 34cf653 into Mudlet:development Jan 12, 2019
@vadi2 vadi2 added this to the 3.17.0 milestone Jan 12, 2019
SlySven added a commit to SlySven/Mudlet that referenced this pull request Mar 3, 2019
With the addition of ./mudlet-lua/lua/TTSValues.lua to the project in:
Mudlet@34cf653 as part of:
Mudlet#1893
This added a new lua file to the set we provide but the top-level CMake
project file was not updated to account for the extra file so it is now
issuing a warning for each build.  This PR updates that file so it does not
moan anymore about it.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
SlySven added a commit that referenced this pull request Mar 5, 2019
With the addition of ./mudlet-lua/lua/TTSValues.lua to the project in:
34cf653 as part of:
#1893
This added a new lua file to the set we provide but the top-level CMake
project file was not updated to account for the extra file so it is now
issuing a warning for each build.  This PR updates that file so it does not
moan anymore about it.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants