• 1
  • 6
  • 7
  • 8(current)
  • 9
  • 10
  • 30
Xbmc not working for blind users.
Added a new version to my repository: 0.0.17


Added a custom keymap, installable from settings::Install Keymap
Keymap adds F1 (repeat item text) and F2 (say extra text)
Currently F2 only works in the addon information window
Fix eSpeak to encode to unicode to UTF-8 string before speaking
Changed lib file in addon.xml to main.py which starts the service or other functions depending on the calling args

For now in the addon info window, with the keymap installed, pressing F2 will say the author, version and description. This is sort of a proof of concept at the moment.

In the future, the keys could be changed, more keys could be added, and the keys could be made configurable.

I used a little trick I figured out in the past with one of my other addons. I made the TTSService class a subclass of xbmc.Monitor. This allows the keymap to run the script which actually just saves a special 'command' setting, which in turn triggers the xbmc.Monitor.onSettingsChanged, and the service can then react to the 'command' setting. A ad-lib form of inter-thread communication. Just in case you are wondering what is going on in the code there Smile
(2014-03-15, 16:22)tonylee5566 Wrote: how do I log out of XBMC and into a Linux desktop or command line?

Your question is off-topic for this thread.
Hi all,

so i also join as a blind user to this thread then.

is there a step by step guide how to install this?

i have a raspberry pi running xbmc .

greetings and thanks,
Well there is no guide yet, this is very much in the alpha phase so far. But you can try it out if you want. It hasn't been tested on a Raspberry pi, so I can't guarantee that it will even work, but there are no obvious reasons that it won't.

You will need to install my repository by downloading this link: REPO
From XBMC you go to 'Settings::Add-ons::Install from zip file' and browse to and select the downloaded zip.
Once that is installed you can go to 'Settings::Add-ons::Get Add-ons::ruuk's Addon Repo::Services::XBMC TTS' and then click install.
Next you will need some text to speech software. Assuming your pi is running an Ubuntu or debian based distro you can type this in a terminal:

sudo apt-get install flite (I think that is available on the pi)

After all that, the next time you start XBMC it should be speaking.

To install the keymap file to enable the F1 and F2 keys, go to 'Settings::Add-ons::Enabled Add-ons::Services::XBMC TTS' and click settings.
From there click 'Install Keymap'. If you have more than one speech engine installed (I'm not sure what is available on the pi), you can also change the default speech engine here as well.

As I said, this is very much alpha software. Expect speech timing issues and other rough edges. Much of the screen text is not spoken yet, but much of the core stuff works. Feel free to let us know what you think, keeping in mind that it is unfinished, and we know that it's not ready for normal usage yet.

Currently, the addon is improving bit by bit, pretty much every day.
Hi ruuk,

the raspberry pi even has a espeak package which works even better with lower hardware.
i actually read that it should work with this.

Yeah espeak will work. It may crash XBMC if you enable/disable the addon while using espeak or change speech engines away from and back to espeak. I haven't had any problems with it as long as I don't do that. It's something I'm working on fixing.

Both espeak and flite currently implement text interruption, whereas festival and pico2wave don't yet, so they are less usable.
(2014-03-15, 14:56)ruuk Wrote: That makes sense. If I understand correctly, you are saying we need to decode to unicode any strings we get that are not already unicode, work with them internally as unicode, and then encode then as necessary within the backends.
Yes this is what I am proposing. As I have starting playing with the addon on linux yesterday I pushed some quick and dirty fixes to my github fork so I can just work with XBMC set to other than english language.
Also I am currently trying to implement voices support for eSpeak via ctypes. If I am using python directly it works fine but with the exact code XBMC segfaults so I need to figure out where might be the issue. It's either me doing something stupid or XBMC built-in python has something wrong with ctypes.

(2014-03-15, 22:55)ruuk Wrote:
(2014-03-15, 16:22)tonylee5566 Wrote: how do I log out of XBMC and into a Linux desktop or command line?

Your question is off-topic for this thread.
The question may seem as off topic however without knowing the answer visually disabled people will newer be able to test and use the addon we are trying to develop here. At least until it becomes somewhat stable and clear instructions on how to get it configured exist we should tolerate such a questions I guess.

If you install XBMC and run it from your desktop e.g. gnome it will run full screen by default making you unable to switch to other gnome windows. You can use the backslash key on the keyboard to toggle between fulscreen and windowed mode. While XBMC is in windowed mode you can switch between XBMC and other windows using alt+tab like normal. Also you can close XBMC by pressing alt+F4 or you can escape in XBMC several times until you will find your self on the XBMC home screen. While on XBMC home screen you can press ctrl+end to quit xbmc.
While XBMC is running in a desktop enviromment it behaves like normal app when it's displayed in windowed mode.
I've been out of the loop for a few days and look at all of this progress. Hey Peter, should I uninstall your add-on or will you continue development there? I don't know what the steps are for removing it or if I should, please advise. Then I'll try Nuuk's add-on!
I don't think I will be continuing the original addon as ruuk's one is now more complete and we can cooperate.
Easiest thing you can do is:
1) close XBMC if it's running.
2) open xbmc/addons folder in your file manager of choice and remove folders
3) Then navigate to the folder where XBMC stores user's keymaps xbmc/userdata/keymaps and remove either the whole keyboard.xml file or if you have your own keybindings then just edit out those pointing to my script.voicemenus plugin.
If you are on windows with NVDA or sapi5 and if you are using english as your main language you will find ruuk's addon huge success as compared to my earlier experiment.
Please note if you are not going to install ruuks repo and you will choose to install the addons manually you will also need script.module.comtypes.
pvagner Wrote: If you are on windows with NVDA or sapi5 and if you are using english as your main language you will find ruuk's addon huge success as compared to my earlier experiment.
I listed you as a one of the authors in the addon.xml, so this isn't just my addon Smile
Added a new version to my repository: 0.0.18

This is the link to my repository.

Added keys to keymap. F3 for extra selected item information and F to stop. Stop only works in espeak and flite so far.
Changed F1 to repeat Window:Section:Item instead of just Item text.
F2 now speaks time and weather on the home screen.
F3 currently speaks TV show plots, episode plots, probably Movie plots, and song title,genre,duration.

So just to restate the key functions idea:

F1 - Repeats the current Window:Section:Item
F2 - Speaks window information, such as time and weather on the home window and addon author, version and description on the addon info view for example.
F3 - Speaks current item information such as currently selected episode plot
F4 - Stops speech

Just to be clear, other than F1, these are not fully implemented so there will be many places you might expect them to do something and they won't. Yet Smile

Please let me know if you think this is a decent approach. The idea was to have the information available without having it just speak automatically.
More than just plot can be spoken on F3. I've only done enough to give an example of how it works so far.

I was trying to add the RSS feed to the Home window info, but I couldn't find a way to do that without reading the feed URL from the rss feeds XML file and fetching the feed manually, which I can do, but it will take more time and effort than I was willing to give at the moment Smile
Okay, so I removed the old add-on and tried to add the new one, I see XBMC TTS in the enabled add-ons, I've installed the keymap, I've restarted XBMC, I've even told the add-on that I'm using NVDA just in case it doesn't like my SAPI engine. No go, I can't get any speech out of the add-on. Am I doing something wrong? BTW, as soon as I removed the old add-on my system sounds came back... YAY for that!
I think there is a bug in the released version of the addon. The service will never start because it's looking for the enabled config value which has been removed. I have attempted to address this on saturday however we haven't synchronized our work with Ruuk since that time. Now I've got push access to Ruuks github repo so I'll push it there now so as Ruuk will add a new version to his addons repo tonight, you might get a fixed version finally. Sorry for the inconvenience I have forgotten to mention this issue here.
Edit: Alternativelly if you are impatiently waiting for the update and would like to play with this anyway, you can download the file service.py file and replace the file service.py installed as a part of the addon with this one. This is only temporary solution and it may not always work.
From my phone I updated my addon repository with a fix. Just update the addon and it should work now.
I have a Macbook Air with OS X Mavericks. Do you think it would work with OSX as it is? I can do the testing if you want me to try it but figured I'd ask before moving forward.
  • 1
  • 6
  • 7
  • 8(current)
  • 9
  • 10
  • 30

Logout Mark Read Team Forum Stats Members Help
Xbmc not working for blind users.5
This forum uses Lukasz Tkacz MyBB addons.