redirecting Skype output speech to TCP socket and receiving in other a



I'd like to create such a system: [1] Skype on mobile phone -> [2] Skype on server -> [3] plugin to Skype (3rd party application) -> [4] speech recognition Sphinx4. Normally Skype outputs speech to the speaker, normal behaviour of Sphinx4 is to receive speech from microphone. I need to change it so that [u]Skype would redirect its output sound to TCP socket[/u] and Sphinx4 would receive it from this TCP socket.

I think this plugin would be server with two children - Skype and Sphinx. I would write this plugin in C#. [u]Can anybody give me, please, any suggestions how to do it?[/u] (Examplary codes for other languages than C# would also be useful).


[2] and [3] can easily communicate with each other by sending Skype4COM commands. When the new call is established on Skype (in other words when I call from [1] to [2] and [2] automatically answers this call), plugin [3] enters OurCallStatus function. And inside this function I need to change default output of Skype sound which is set to speakers and make it to be "port".

So there must be Skype -> TCP socket (on localhost) -> Sphinx4. I also thought about other approaches. Those are: IPC (Inter-Process Communication) and maybe some kind of usage of WinAPI.

Why do I have to use TCP socket (Skype -> TCP socket -> Spinx4)? Because I guess it may be impossible or difficult to forward it directly. I need to change this line in code of Sphinx4 application "Microphone microphone = (Microphone) cm.lookup("microphone");" to such a line which would be able to receive speech from "port". I cannot simply save the whole speech from Skype to mp3/wav file and then to open this mp3/wav file in Sphinx4 because it must be done [u]in real time[/u].

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!