jishi / node-sonos-http-api

An HTTP API bridge for Sonos easing automation. Hostable on any node.js capable device, like a raspberry pi or similar.
http://jishi.github.io/node-sonos-http-api/
MIT License
1.84k stars 461 forks source link

AWS Polly TTS Support #394

Closed jasondharper closed 7 years ago

jasondharper commented 7 years ago

AWS announced a great new service at re:Invent called Amazon Polly. It is a great TTS engine that can be accessed using their standard API's. Would love to see integration between that service and your API (which is incredible by the way). VoiceRSS is nice but I think Polly blows it away.

Happy to donate to support this effort if possible!

jishi commented 7 years ago

Interesting. I've had requests for Microsoft TTS as well, but the AWS authentication scheme seems simpler. I would need to refactor and include support for multiple tts providers to get this integrated cleanly (I still think we should provide a free option).

jasondharper commented 7 years ago

Agreed on always having a free option. VoiceRSS is great. I just think the quality and performance of Polly will be a great option to have. Thank you!

On Fri, Dec 02, 2016 at 10:12 Jimmy Shimizu

< mailto:Jimmy Shimizu notifications@github.com

wrote:

a, pre, code, a:link, body { word-wrap: break-word !important; }

Interesting. I've had requests for Microsoft TTS as well, but the AWS authentication scheme seems simpler. I would need to refactor and include support for multiple tts providers to get this integrated cleanly (I still think we should provide a free option).

You are receiving this because you authored the thread.

Reply to this email directly, https://github.com/jishi/node-sonos-http-api/issues/394#issuecomment-264476194 , or https://github.com/notifications/unsubscribe-auth/AXLnJj_2BloUgic8uYD5g-SzDNBIayIIks5rEDVRgaJpZM4LCIKU .

jplourde5 commented 7 years ago

I was there to see this also and had the same thought. The AWS services are mostly pay as you go. Many even have a free tier. I would think that the volume would be so low for a typical user that it would be effectively free. I'm using Lambda, SQS, and DynamoDB for the Echo service and it hasn't cost me a penny.

As far as the new service goes, it sounded very polished, similar to Alexa and Siri.

jishi commented 7 years ago

The polly service doesn't have a fee tier actually, but minimum cost is $4 which is reasonable. I'm gonna look into it. Makes sense to support it, and the api seem fairly easy. I'm very familiar with aws in general since we use it exclusively on my day job.

jhmartin commented 7 years ago

Re free tier, https://aws.amazon.com/polly/pricing/

Free Tier The Amazon Polly free tier includes 5 million characters per month, for the first 12 months, starting from the first request for speech.

no minimum fee.

More voice options, essentially free (not requiring non-trivial monthly minimum even if not free); it looks very good.

jishi commented 7 years ago

I read the same page on friday but don't recall that mention to the free tier. On the other hand, I was not very sober so I wouldn't be surprised if I missed it. Anyway, great with a free tier, albeit only for 12 months.

I've already done the Microsoft Cognitive Service and the necessary refactoring to add additional TTS providers, so this should be a breeze. I'm also re-adding Google TTS as a default option (when you are missing configuration for any other TTS service).

jishi commented 7 years ago

I must say, AWS Polly seems to have great natural voice for the languages I tested. I have pushed a first version of support, refer to the README on how to activate it.

jasondharper commented 7 years ago

Nice!! Thank you!

jasondharper commented 7 years ago

Just wanted to tell you how awesome the Polly functionality is - fast and realistic. HUGE thanks for adding that functionality!

jishi commented 7 years ago

Yeah, I was very impressed with the quality of Polly. Especially in other languages than English, those usually tend to be of worse quality on most services. Glad you like it!

jishi commented 7 years ago

Oh, and also, thanks for the generous donation!

jishi commented 7 years ago

Just as a FYI, I've now added support for specifying voice names dynamically, since there is a 1:1 mapping between voice name and language/gender.