1

I was looking at the Python speech libraries in this post. I'm in a quiet office environment and I have to speak to people on a handheld phone but I'd rather not disturb people around me if I don't have to.

I feel that if I typed on a keyboard on a computer and my text was converted into speech and I could feed that speech into the port of a microphone (Virtual?) then I'll be able to communicate simply by typing and they can hear a robot voice on the other end.

For clarity: I don't want to use the phone. I want to use the computer. I want to type on the keyboard that is connected to the computer and have that text converted into speech and feed it into the microphone port of my computer so it can send that computerized voice into the GoToMeeting application. This way it looks as though I'm speaking into the microphone but I'm not, I'm just typing. I want the computer to think I'm talking into the microphone in order to have other applications e.g. GoToMeeting be able to interpret it.

And the GoToMeeting chat client is useless due its default setting of hiding the chat. Many people ignore the chat unless you're speaking.

My preference would be some kind of library that would allow me to create a virtual microphone so I could write audio to it. I would ultimately want to run this in Linux with a Windows VM running GoToMeeting. This way I can continue to use Linux, type in the text, and pipe in the speech into the VM so GoToMeeting users can hear me.

Thanks

Community
  • 1
  • 1
SomeGuyOnAComputer
  • 5,414
  • 6
  • 40
  • 72
  • Does your phone have a microphone port (I'm thinking of cell phones)? If so, you could take a male-male audio cord, plug one end into your computer's headphone port and the other into your phone. If it's an office phone, you could try hacking a phone cord to suit your purposes-- figure out which wires are for the microphone, pull them out, make sure voltages are about the same, and there you go. – kevinsa5 Nov 13 '13 at 14:25
  • I don't want to use the phone. I want to use the computer. I want to type on the keyboard that is connected to the computer and have that text converted into speech into the microphone port of my computer so it can send that computerized voice into the GoToMeeting application. – SomeGuyOnAComputer Nov 13 '13 at 15:45
  • Why don't you simply use a chat client? – Aaron Digulla Nov 13 '13 at 15:47
  • Because it's GoToMeeting and it's proprietary. Also many people do not read the text because it's a bother. So by converting text into speech and feeding it in, I can effectively communicate. – SomeGuyOnAComputer Nov 13 '13 at 15:48
  • 1
    Hope you're a good typist... That wouldn't work out too well for me - "Hellp backspace o tj backspace herr backspace e, ny backspace backspace my nane is backspace backspace backspace backspace backspace me si backspace backspace backspace is ...." Also, have you considered how slow typing actually is compared to actual conversation? I would think the lengthy delays for typing would be frustrating on the other end of the line... – twalberg Nov 13 '13 at 16:06
  • 1
    The beauty of programming is that you can set it up so that... 1) You type all of the message first 2) spell check is in place and so is autocorrection for commonly misspelt words 3) hit send button will then cause the robot to convert text to speech. This way no delay. – SomeGuyOnAComputer Nov 13 '13 at 16:16
  • All I really need is a way to write audio to the microphone port of my computer. – SomeGuyOnAComputer Nov 13 '13 at 16:21
  • If you are on Windows, there are existing solutions, see for example http://stackoverflow.com/questions/11789624/windows-virtual-microphone-in-c, for Mac the solution might be different. – Nikolay Shmyrev Nov 13 '13 at 16:41
  • Is there a way to create a virtual microphone and feed in the audio programmatically? Those resources seem proprietary and I'd rather build one myself and share among other people who want the same solution. – SomeGuyOnAComputer Nov 13 '13 at 16:47
  • @RBs My apologies, I didn't know you were using a computer, I saw "speak to people on a handheld phone" and assumed you still wanted to use the phone itself. – kevinsa5 Nov 13 '13 at 20:24

1 Answers1

1

You need to write a driver for a virtual audio device, then you will be able to pass audio to the driver and it will be available through a virtual microphone.

Microsoft publishes the source code for a Virtual Audio Driver as part of the Windows Driver Development Kit. If you have access to Visual Studio, or if you know a programmer who does, compiling this virtual driver and installing it allows you to create a required device.

Then you need to write a tool using any TTS library that will take the text you need and pass it into the driver for loopback.

Nikolay Shmyrev
  • 24,897
  • 5
  • 43
  • 87
  • Yeah. I figured this is what I needed to write but was hoping for something already available. I'm also a linux fanboy but that's OK. I suppose I'll just have to write a driver, post it to github, and post it here. :) – SomeGuyOnAComputer Nov 20 '13 at 18:20
  • If you are interested in Linux it's worth to specify that in the question. Are you using Gotomeeting on Linux too? – Nikolay Shmyrev Nov 21 '13 at 11:37
  • In the end, I was using GoToMeeting in a Windows 7 virtual machine but if I can get an application like this to run natively on Linux, I could also pipe the text 2 speech into a VM. – SomeGuyOnAComputer Dec 02 '13 at 15:00
  • If I could only get this to work on Windows, it would still be beneficial but my ultimate goal would be to get this to work on Linux even if I have to run Windows on a VM. – SomeGuyOnAComputer Dec 02 '13 at 15:02