Author Topic: Audio Device Selection  (Read 4471 times)

0 Members and 1 Guest are viewing this topic.

Mulefire

  • Jr. Member
  • **
  • Posts: 2
  • Karma: 0
    • View Profile
Audio Device Selection
« on: November 10, 2010, 09:46:47 AM »
This app is the dogs bollocks! I love it :)

Couple of feature requests:
  • Ability to select the Mic and Speaker devices to use within VoxCommando
  • Ability to replace the OSD information with spoken information

I use an iPhone 3G as a mic, transporting the audio to the PC using Skype. Skype in turn uses a Virtual Audio Cable to send output to VoxCommando. This is a great solution since it is wifi based and the iPhone Mic is pretty good. The only problem is that VoxCommando cannot redirect its output back to another Virtual Audio Cable and thusly to Skype. I would prefer to have the spoken output from VoxCommando redirected back to the iPhone 3G and not mixed into the audio output of XBMC. I can workaround this a little by setting the Virtual Audio Cable line as the default output on the PC and telling XBMC to specifically use my HDMI output.. but then I lose the normal Windows audio output etc. So if it was possible to tell VoxCommando which output device to use I would be super happy :)

For reference this is the site that I got the Skype idea from: http://badros.blogspot.com/2010/05/skype-as-whole-house-wireless.html

It should work with any mobile device that can run Skype or a Skype compatible program such as Fring etc.

Thanks!

Seoras.


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Audio Device Selection
« Reply #1 on: November 10, 2010, 10:56:54 AM »
I wish I could.  Unfortunately the microsoft speech api refuses to use anything other than the default input for recognition and the default output for TTS.  I was hoping that virtual audio cable would allow us to redirect output, but I guess not.  The closest I have come to a work around, is creating the speak2wav command.  You could theoretically then use launch to get an audio player to play the wav on another output.  It's a bit convoluted, but it should work in theory, possibly with a bit of lag.

I had tried to use skype in the past, but I did not know about VAC and was trying to use "what you hear" which obviously didn't work if I wanted to be able to use any kind of audio output.  This is a good find.  I find the quality just barely good enough using my ipod with the included headset.  I think this is because of the compression used by skype.  Its a cool option, but overall I find it a bit hit and miss.

One annoying thing about this VAC program is that the site says there is a free version and a paid version (took a while to find that it costs $30) but I could not find out what the limitation of the free version is.  Do you know if it will stop working after a certain amount of time?  It is probably written somewhere but I am not seeing it.

Can you be a bit more specific about what you mean by "replace the OSD information with spoken information"?  Currently you can output custom TTS for any command, or write custom OSD for any command.  Also in the options we can turn on OSD which shows any recognized command, and/or OSD for alternates.  Are you saying that you want the option to have any recognized command parroted back to you as TTS?  I figured this would be pretty annoying.  Would it not be better to write custom TTS for specific commands?  For example, if you said "Play artist The Beatles" it could say "Playing the beatles".  For commands like up down left scrolling etc, I would prefer to hear nothing.

Also, if you had it playing everything back to you, what would happen when you said "What band is this?".  At best it would say "What band is this? ...The beatles".  At worst you would hear both at once or one would cancel the other out.  Combine that with the confusion of wanting to pause your music when using TTS to provide media information.

But maybe this is not what you are asking for... ?

Mulefire

  • Jr. Member
  • **
  • Posts: 2
  • Karma: 0
    • View Profile
Re: Audio Device Selection
« Reply #2 on: November 10, 2010, 01:36:18 PM »
Appreciate the quick response!

Skype on the 3G uses a lower quality codec as compared to running on an iPhone4 for example, however in testing it worked really well for me. I had it sitting on my low coffee table a foot or so in front of me and was able to execute commands whilst music was playing pretty loud. I was going to test with the iPhone4 tonight and see how it fared, but so far the 3G works well enough to be used on a daily basis. Incidentally I was doing artist lookups, finding movies and other multiple option commands without problem.

The VAC free version isn't time limited or hobbled in any serious way that I could see. The only limitation is that it sends a spoken 'trial' sound every twenty seconds or so... For the most part this didn't seem to confuse VoxCommando at all. I did end up purchasing the full version since I do anticipate using it for some other projects as well. I didn't notice any performance benefits or such with the full version over the free one though.

As to the spoken OSD information, yes, now that you mention it I can see the problem :) Essentially I was just hoping to get some audio or visual feedback for a recognized command. When XBMC is running in fullscreen mode I don't see the OSD popups so I figured an audio one would do. I will take your suggestion of adding some custom TTS though, that way I can only include it for commands I care about. Thinking about it more I guess having the OSD actually display over the top of XBMC would be the ideal solution.

It's a shame the speech api can't use non-default audio devices :( I'm going to play around some more with setting the VAC as default and using XBMC to output specifically to HDMI and see how well that works.  It's a shame windows doesn't have something similar to Pulseaudio on Linux.

Again, thanks for the great app!

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Audio Device Selection
« Reply #3 on: November 10, 2010, 02:03:28 PM »
Sometimes I love being wrong!  I just decided to take another look at this TTS output problem and was very pleased to discover something rather obvious that I had overlooked.  While I still don't know how to select the TTS output via code, the practical solution is actually very simple.

-hit that windows start button and type: speech settings, then select "change text to speech settings"

-click the button at the bottom right labelled "advanced"

-pick your output!

only problem i can see is that if your output device is removed, then it will probably revert back to the default output and then stay there until you set it again.


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Audio Device Selection
« Reply #4 on: November 10, 2010, 02:43:11 PM »
As to the spoken OSD information, yes, now that you mention it I can see the problem :) Essentially I was just hoping to get some audio or visual feedback for a recognized command. When XBMC is running in fullscreen mode I don't see the OSD popups so I figured an audio one would do. I will take your suggestion of adding some custom TTS though, that way I can only include it for commands I care about. Thinking about it more I guess having the OSD actually display over the top of XBMC would be the ideal solution.

if you just want to know that a command was recognized, you can use select a wav file to play whenever a command is accepted.  This is done in the options.  I recommend you use something like a soft "bloop" sound.  Also, I have a few variables that can be used in the command builder with {}. I think I will provide access to the actual spoken command as a variable {speech} in case you want to parrot the whole command instead of just the payloads, which you can currently do using {1} {2} etc.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Audio Device Selection
« Reply #5 on: November 19, 2010, 12:48:08 PM »
I just discovered you can set the tts output AND the microphone to a non default device!

http://voxcommando.com/forum/index.php?topic=334.0

(I haven't tested this in Vista)

kalia

  • Jr. Member
  • **
  • Posts: 2
  • Karma: 0
    • View Profile
Re: Audio Device Selection
« Reply #6 on: January 16, 2011, 04:29:50 AM »
Well I finally upgraded from Windows XP to Windows 7 and of course, one of the main reasons for the upgrade was to use VC. ;)

I just started using VC today and have been reading the forum to familiarize myself with using the program.  I came across this thread and I remembered I had a similar problem in Eventghost and ended up revising the TTS plugin to select the audio device. I can tell you that it works correctly in Windows 7 also.  See here for the revised plugin:

http://www.eventghost.org/forum/viewtopic.php?f=5&t=2510&hilit=tts

I hope that helps James.


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Audio Device Selection
« Reply #7 on: January 16, 2011, 09:38:39 AM »
Hi Kalia, I'm honored to have been a consideration in your upgrade... Nice you see you here. Have fun.

Thanks for the code reference.