Read the statement by Michael Teeuw here.
Trouble playing audio file
-
@bugsounet ah yes good catch. I jumped to play()…
move the play() inside the callback on save()
players will be the next problem
-
just because sometime i'm kind...
(my favorite sentence!)Try this:
const gTTS = require('gtts'); var player = require('play-sound')( opts = { player: "mpg123" // use only `mpg123` for playing sounds } ); var gtts = new gTTS('text to speak', 'es-es'); // main file player function playing (file) { player.play(file, (err) => { if (err) throw new Error(err) }); } gtts.save('/tmp/hello.wav', (err, result) => { if(err) { throw new Error(err) } console.log('Success! start playing result.'); // right ! sound file is created let's play it ! playing("/tmp/hello.wav"); });
Notes:
- You need to install
mpg123
app withsudo apt-get install mpg123
- I replace your
play
library byplay-sound
for better compatibility
Don’t forget to install this librarynpm install play-sound
- You can see manual of
play-sound
library there
- You need to install
-
Thanks to both of you!
I have just tried the code and it works in a js file, but when I try to replicate this code in the MMirror I get the error that opts is not defined. Where do I have to declare opts? -
I am writing this code in the node_helper file
-
@mZuil post your part of module code, I have do see what you have done ;)
-
@bugsounet It actually works!! :smiling_face_with_smiling_eyes: It happened because I was using the “use strict” directive, but without it, everything works as it should.
Wow, guys, you helped me a lot!! I will add you in the acknowledgement section of my final degree project hahaha :hugging_face: -
@mZuil It’s better to add
MagicMirror forum
and not me, Thanks :)
because my signature says :I am not a reference in this forum
In all case i’m glade that works for you.
Happy use,
@bugsounet