Alexa Skill: how to play mp3 longer that 4min - alexa

I've written a rather simple Alexa Skill that play pre-recorded tales for children, recorded by professional actors (long better than mechanical voice of Alexa). Everything works fine, you can chose which kind of story and the story get chosen randomly from an array.
The problem is that I am actually play mp3 using SSML and it that limits the audio file to max 4 minutes.
I could cut the longer stories in multiple .mp3 files, but I don't know how to create a "progressive reply".
Any suggestion?

There are certain limitations in embedding audio tag in SSML. The audio file cannot be longer than 240 seconds.
If your stories are longer than 4 mins consider upgrading it to an AudioPlayer response. Audio Player interface lets you to play longer mp3 audio files. With AudioPlayer interface you can play one story after the other, or repeat it.
The AudioPlayer interface provides directives and requests for streaming audio and monitoring playback progression. Your skill can send directives to start and stop the playback. The Alexa service sends your skill AudioPlayer requests to give you information about the playback state, such as when the track is nearly finished, or when playback starts and stops.
More on audio tag here
More on AudioPlayer intetrface here

Related

Initialize one or many expo-av audio object?

I have a list of audio files that I need to be able to play and I am using Audio from expo-av library in React Native. I am wondering what the best practices are for handling playback of a list of audio files. The requirement is that playback should be done from the list; in other words, we don't want to navigate to a different screen component to handle playback.
I would like to separate concerns of the media list component from the actual player. So "MediaList" would be responsible for listing the audio files, and "Media" component would be responsible for handling the playback. In this case it makes sense to initialize expo-av Audio object in each Media component. This makes separates concerns of Media and MediaList, however, I this also looks like a performance issue since there are so many Audio instances.
So my question is, does having an Audio sound object for each Media instance make sense from performance/resources perspective? Or should I only have one Audio sound object and re-use that every time I want to play any file? The question is pretty broad without code but I hope someone can provide some direction on the best approach.

Watson text to speech latency

I'm using Watson text to speech service using Node.js. Instead of downloading the audio file I'm using this to stream it:
text_to_speech.synthesize(params)
.pipe(new ogg.Decoder())
.on('stream', function (opusStream) {
opusStream.pipe(new opus.Decoder())
.pipe(new Speaker());
});
It works, but my problem is that there is too much latency, like I hear the sound after 5 or 8 seconds after the request.
Is this normal? Does anyone have an idea to ameliorate my code?
I know that streaming may have some time to load and play but I'm talking about decreasing the latency time.

Windows Phone 8 Record Speaker Audio

I'm making an app that allows users to play a keyboard and share their created songs with friends via audio files. How would I record the sounds coming from the app in order to accomplish this? In other words, how would I capture the sounds output by the speakers for a duration of time, and turn it into a WAV or MP3 file?
http://developer.nokia.com/Community/Wiki/Audio_recording_and_playback_options_in_Windows_Phone
read these series of articles

How to remove audio track from a video file using Xuggler?

As part of processing the videos, I want to REMOVE the video information from the FLV video file. Idea is just to present the AUDIO to the user without showing any visuals. However note that I want to present this to the user as a video only so that it plays in the flash plugin in the browser, and user would just listen the audio.
I saw many posts which extracts the media, and I presume they just extract, and not REMOVE.
How xuggler can be used for this purpose? Any example code will be useful here.
/anil.

Getting Silverlight Video Stream

Suppose there is a Silverlight streaming video player on a random web site. How can I intercept the video stream and for example save it to file - i.e. the real source of the file.
I know some of the sites embed the source in tag - or at least that was the case with Flash. But sometimes, players are smarter than that and call some logic via web service. It is still possible to figure everything out by analyzing the .dll with reflector, but that is hardcore! Every player may have a different logic, so I figured out it would be easier to just get the current stream somehow.
Any thoughts?
Ooook! Got me an answer that could be used as a nice workaround. With the use of fiddler I was able to capture the traffic and figure out what's going on. Now I'm happily watchin the same video as before only using the uber feature of WMP that lets me play videos faster.

Resources