So far I've been able to get a bluetooth speaker connected and playing wav files (through pactl and gst-launch-1.0 filesrc location= /home/root/filename.wav ! wavparse ! pulsesink), and I've gotten espeak installed and outputting speech to wav files, but it can't directly output to the bluetooth speaker. Some kind of discrepancy exists between the audio devices understood by pactl and the ones understood by port/pulse audio as far as I can tell, but not much is clear beyond that. My goal is to eventually get espeak to output directly to the bluetooth speaker by code but I figure I should at least get the terminal espeak program to work before I dive into using it as a library
Thanks for your interest in the Intel® Edison™ Platform.
I'm a little confused from your reply, you said: "So far I've been able to get a bluetooth speaker connected and playing wav files", then you said: "espeak installed and outputting speech to wav files, but it can't directly output to the bluetooth speaker". If you are able to play wav files, why can't you hear the wav files generated from espeak? Or is the error generated using espeak?
I would appreciate if you could share the steps or the guide that you are following in order to assist you in the best way possible.
We will be waiting for your reply, have a nice day!
Hi, sorry for the miscommunication. I'll try to make it clearer what the problem is:
I can play wav files through my bluetooth speaker
I can play wav files generated by espeak through my bluetooth speaker
I can't use espeak directly by just calling it with some text as it's usually intended to be used
To put it another way, this produces sound:
espeak "this is text" -w test.wav
gst-launch-1.0 filesrc location= /home/root/test.wav ! wavparse ! pulsesink
This does not produce sound:
espeak "this is text"
Using pactl list sinks returns what is very obviously my bluetooth speaker as sink # 2, but other commands like "aplay -L" does not appear to list anything that sounds like my bluetooth speaker. Part of the problem is I honestly don't understand very well how linux handles audio, it seems entirely likely that the problem is just that there's several entirely separate ways to handle audio and espeak is just using a different one.
To re-iterate, right now I'm just trying to get the terminal command to output properly but eventually my goal is to be able to use espeak from code, but I figure that'll be extremely difficult without at least an understanding of how it chooses audio devices and specifically how to make it use my bluetooth one. USB audio devices seem pretty simple from what it seems like in various tutorials but my USB port is taken up by my webcam and I'd prefer to not have to add a hub
Thanks for sharing the information above.
Reading through your reply, I don't see an issue related to the Edison, but more related to the application that you are developing. At the moment, I don't have any suggestion, but please let me investigate and I will get back to you as soon as I have some useful information.
We appreciate your patience, have a nice day!
Yeah I didn't mean this to be a bug report, I'm just trying to get my head around how audio devices work in the edison's yocto distribution, as I can't get anything out of espeak currently. I appreciate you looking into this!
We appreciate your patience.
Unfortunately, we don't see an issue with the Intel® Edison™ and its Bluetooth functions are working as expected. We would recommend you to look for an alternative solution like using an external audio solution, please keep in mind that the Edison is an embedded Linux system and it doesn't function like a traditional Linux system.
Also, we would encourage to take a look at the Intel® Edison™ Audio Setup Guide http://download.intel.com/support/edison/sb/edisonaudio_332434001.pdf http://download.intel.com/support/edison/sb/edisonaudio_332434001.pdf .