Author Topic: My implementation  (Read 4237 times)

0 Members and 1 Guest are viewing this topic.

pjetro

  • Jr. Member
  • **
  • Posts: 3
  • Karma: 0
    • View Profile
My implementation
« on: May 05, 2015, 05:06:57 PM »
Hi all,

I've been using VoxCommando for a while, recently moved from my 1 room apartment to a 5 room apartment and have started phase one of my VoxCommando multi-room implementation. I thought I'd share my experiences so far:

For my setup I have an Intel NUC running Windows 7 with VoxCommando, EventGhost and the likes in a closet (where all my electical systems and internet are housed) needless to say: it's running headless.

The first phase of my setup is only the living room in which I have an HTPC setup (an OpenElec install, also running on an Intel NUC). For the VoxCommando control part I've installed a Raspberry PI running Raspbian with speakers attached to the onboard analog out and a PS3 Eye installed as a microphone array and camera.

Now to tie this all together I've done a quite unconventional approach (I love fiddling with stuff and handcoding things so I'm not really a tutorial follower and thus I came up with this solution):

I've installed a Murmur server on the Windows 7 NUC aswell as a Mumble Client on the Windows 7 NUC and the Raspberry Pi. I've setup the Pi to output all Mumble audio to the speakers and continuously transmit the PS3 Eye input to the Murmur server. On the Windows machine I've setup the Windows Mixer to output all audio to a Virtual Audio Cable, Line 1 (using, yes you guessed it: Virtual Audio Cable) and used that as the input to Mumble. So all the audio that Windows plays back is send to the Murmur server.

The Windows Mumble client outputs it's audio to another Virtual Audio Cable (Line 2, if you will) which is then used to input to VoxCommando and MS Speech Engine.

I've already tested some SSH scripts using Putty that will mute the microphone and speakers of the Pi when I would like to switch to another room, but since I've yet to start setting up the next room, I haven't quite been able to test the full extend of this.

So far the results have been really good, feedback from VC is instantly (or at least at very low latency) played back on the Pi and the microphone input is received perfectly and is good enough to trigger VC commands.

Next step is to integrate the bedroom (also running a NUC with OpenElec) into this story and see how that holds up.

Kind regards,
Peter

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2320
  • Karma: 47
    • View Profile
Re: My implementation
« Reply #1 on: May 05, 2015, 05:16:47 PM »
Hi Peter and welcome to the VC forum.
Sounds all good so far, but did you tried your setup with music, movie or a other background noise?
***********  get excited and make things  **********

pjetro

  • Jr. Member
  • **
  • Posts: 3
  • Karma: 0
    • View Profile
Re: My implementation
« Reply #2 on: May 05, 2015, 07:51:30 PM »
Hi Kalle,

Thanks for your reply. I use prefix mode which helps filter out some false positives. Also the mumble client on the Pi has a nice threshold setting for which to allow audio to transmit or not. But that said, it's absolutely not perfect, Vox Commando has difficulty picking up my voice when there is a lot of background noise.

I am however planning to try to write a script which when audio is detected on the Line 2 input should SoftMute any audio playing at that time which should then improve the functionality. When there is no or little background noise the setup works very well!

Regards,
Peter

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2320
  • Karma: 47
    • View Profile
Re: My implementation
« Reply #3 on: May 06, 2015, 01:46:19 AM »
I think softmute the audio when audio detected on line2 is not the best solution, because it will mute audio also when anyone is talking or make noise in the room. You can use instead the softmute function within the prefix mode, which means - if you give the prefix command the audio playing will be muted by the "VC.Prefix.Start" event and umute with the "VC.Prefix.End" event - we call this "ducking with prefix" - there are some examples in the forum.


You will find a example command group here and you can modify it for your wishes: http://voxcommando.com/forum/index.php?topic=870.0   ;)


***********  get excited and make things  **********

pjetro

  • Jr. Member
  • **
  • Posts: 3
  • Karma: 0
    • View Profile
Re: My implementation
« Reply #4 on: May 06, 2015, 08:05:26 AM »
That does indeed sound easier and better. I will try and implement that today! Thanks  :D

01ste02

  • $upporter
  • Jr. Member
  • *****
  • Posts: 37
  • Karma: 1
  • 16 Years old hobby-developer in home-automation
    • View Profile
    • Company website (Swedish and incomplete)
Re: My implementation
« Reply #5 on: August 11, 2016, 05:27:17 PM »
How is it going?

Interested to find out more!!!   ::)

//
Oskar
What you canĀ“t do now... Go learn it!