AS3 :: Flash - Sound.extract() - Create A Visual Waveform For An MP3
May 29, 2011
I'm trying to create a visual waveform for an MP3. The code I've included is called on successful load of the MP3. I intend to extract just a few important samples from the sound to create the waveform, rather than extract the entire sound into a bytearray. Even on a good machine, extracting an entire song can cause flash to freeze up for 3-5 seconds (or longer!). For my purposes, this isn't feasible.
Unfortunately, the code I've got below is failing to produce any numbers. If I extract the entire song it functions, but extraction of just the key points is giving me nothing. Does performing an extract make the remainder of the sound object invalid for future extracts? If so, is there some way around this that won't freeze flash for an extended period of time during the extract? Some important variables from the rest of the code:
[Code]...
View 2 Replies
Similar Posts:
Mar 14, 2011
I have a project that requires me to display the waveform for a uploaded sound. The sound is always an MP3, most of the time 22.05 kHz mono, with speech only. The project are written with Flex/ActionScript 3. It's meant to run in the browser, but might also consider converting to AIR if that can help.
All examples I've found and looked at for generating a wave, are either doing some visualization in real time as the sound is playing, or, the most promising, as3soundeditorlib, keeps the wave already generated, but does it very slowly, seemingly using as long time as playing through the audio would've taken.Is there any way to generate the wave faster than real time?
View 2 Replies
Jan 17, 2011
If I have a sound waveform stored as a ByteArray in actionscript 3, how would I go about converting this into a Sound object that can be played?
Note that the array is full of sound samples - a complete generated waveform. It isn't an array containing an mp3 or other compressed data.
View 2 Replies
Aug 1, 2011
I'm trying to play a sound using a technique found here (play the sound by sampling raw sound data gathered from the original with extract()), with the difference that the mp3 sound is embedded in the swf, not loaded externally. This is my code:
var soundBytes:ByteArray = new ByteArray();
var mp3sound:Sound = Sound(new Sound1_design()); // this is the embedded sound
mp3sound.extract(soundBytes, int.MAX_VALUE);
[Code]....
This works, in a way, except that the resulting sound is distorted (it has a kind of a metallic ring).
View 1 Replies
Jan 16, 2010
I have got three screenshots below of Flash-based audio players on various websites that draw a waveform of the clip it is going to play and moves along while it is playing and also allowing the user to click on a point on the audio file and it jumps to that point.I have very little Flash knowledge but is this easy to achieve? I would like to just show the Flash file an mp3 and it draws the waveform. I understand this could be quite intensive on CPU so would there be a way of caching the waveform data so it doesn't redraw each time the file is loaded?
View 5 Replies
May 28, 2011
How do I go about generating a simple waveform of a sound object.
View 5 Replies
Mar 7, 2012
I found on Adobe website this cool as3 code to grab a sound and make a realtime waveform graph (I cannot post the link..The problem, to me, is that I cannot create in the same stage 2 graph from 2 input: the mic and an mp3.In my purpose, I'd like a stage with just 2 waveform graph. the upper one with the realtime voice from the mic input.the second one (just below the previous one) with a similar waveform graph but drawn by an MP3 file (or wav).
At the beginning I tried to use 2 inputs ".microphone" but I can always see just 1 graph. It's like the resources cannot be shared (al least not so simply).
View 3 Replies
Jan 30, 2010
There is an .fla file that has a sound wave in it's library. However I do not have this sound wave saved on my computer so I can not edit or open this sound in another application. I was wanting to know if its possible to extract this *.wav file from out of the fla library? I did some research and they said to goto export movie and export it as an *.wav file. However I tried this it exported the whole fla file as one big *.wav dud. I tried to play it and nothing happened which makes sense.
View 4 Replies
Aug 15, 2011
I'm trying to rig up a basic mp3 cutter in Flash (using the Flex framework)I have gotten so far:
var ba:ByteArray=new ByteArray();
sound.extract(ba, playEnd - playStart, playStart);
This extracts the relevant bytes from the sound object and stores them in ba Then, I do this:
saveFile=new FileReference();
saveFile.save(ba, sound.id3.artist + " - " + sound.id3.songName + ".mp3");
The file saves properly, but it can not be played (Players say it is corrupted) how I can create a valid mp3 file from the byteArray obtained after the extraction?
View 2 Replies
Aug 19, 2010
I'm trying to stream *.wav files on a webpage and looking for a flash program which will show the full audio waveforms. Something like this:
How to do this? Again, streamings not the heard part, I just need to allow users to see the waveform timeline.
View 4 Replies
May 20, 2011
I am using the following to extract the byte info from a sound object - however if I go back to the same sound object and run this again, The byteArray has no bytes available.
var data:ByteArray = new ByteArray;
sound.extract(data,sound.length*44.1);
data.position = 0;
return data;
Is this the correct behavior? Is there not a way to do this multiple times on the same sound object?
View 3 Replies
Nov 11, 2009
I'm having some trouble getting the following code to work - trying to use the new Sound.extract() function to get two seconds of a Sound into a ByteArray, and then create a new bytearray with a WAV header, and then output the file. The resulting 'test.wav' file sounds very wrong although slightly recognisable? I think I may have some of the WAV header settings may be wrong but I'm not quite sure what's the matter and after a long time scratching
[Code]...
View 5 Replies
Mar 12, 2010
Do any libraries exist with this functionality?
View 2 Replies
Mar 17, 2011
I'm using the following to extract the sound data from a sound object and store this in a byte array.
I require that the entire mp3 be loaded into the bytearray before advancing and the below works fine for this purpose however flash temporarily hangs while it extracts this data (2.4mb mp3)
Is there a way i can stop it from hanging i.e. use an eventlistener to check the progress of the extract process?
[Code]...
View 2 Replies
Aug 27, 2011
From this AS3 code I expect 500 lines of trace outputs that contain "2048". But instead I get only some lines containing "2048". The rest of the traces print a "0" which shows me that the extract() method did not return any data.
Why is this the case? I would like to iterate through the soundfile with a specific amount of steps to extract 2048 bytes of the sound at the respective position. Extracting the entire soundfile at once would freeze the flashplayer for seconds and is therefore not a good solution for me.This behaviour can be found as long steps is smaller than samplesInSound/2048.The closer it comes to that value, the more lines with a "0" are printed compared to those with a 2048 in it.
var sound:Sound = new Sound();
sound.load(new URLRequest("soundfile.mp3"));
sound.addEventListener(Event.COMPLETE, soundLoaded);[code].....
I had the idea that the extracted part of the soundfile is cut out of the rest of the soundfile after extracting it (like at Actionscript 3 - Sound.extract method empties sound object data), so I tried out another for loop:
for(var i=0; i<samplesInSound - steps * 2048; i += Math.floor(samplesInSound/steps) - 2048) but this didn't work out either.
View 1 Replies
Jul 10, 2009
On a button click the page loads and external swf using the add child function. Once loaded the user can close the "pop up" at any time by clicking the close button. The swf appears without a problem first time round, it is if they go back to click again that causes the problem. If they then try and click the button to view the external swf for another time then no visuals appear - you can hear sound but the videos never appear. I have tried to see if it is hiding behind something to no avail.
Edited code is below!!
ActionScript Code:
var multiPlayer:Loader = new Loader();
var playerRequest:URLRequest = new URLRequest("vgallery_multi.swf");
function showQAMultiple(Event:MouseEvent) {
[Code].....
View 2 Replies
Sep 19, 2010
I create their basic Flash app with their Flash IDE for Visual Studio 2010 http:[url]....When launching the run button, it launch flash but with this error within Flash CS4: The following JavaScript error(s) occurred:
t line 6 of file "FlashApplication1.jsfl": Cannot find file file:///C:/temp/FlashApplication1/FlashApplication1/FlashApplication1.as.
View 1 Replies
Dec 15, 2011
So i found a code on the adobe site which pics up input from the mic. I need that to trigger a video when it hits a certain volume. I'm a complete novice to AS3 and i need this for a proof of concept in the morning. Here's the code that i'm using to pick up the mic -
[Code]...
View 0 Replies
Oct 15, 2010
converting a Sound object into a WAV file (bytearray). The main issue is I need its samples to be 16-bit per channel, and Sound.extract() returns 32-bit floats (per channel).After that I was going to add the wav headers and write the bytearray to disc. I'm widely surprised for not having found an example of it working on the web
View 9 Replies
Dec 26, 2009
I'm using Flex builder to work on my flash project, and after reading this article about manipulating sounds using Sound.extract() I got very excited.So I wanted to get using it, but as far as Flex builder is concerned, the sound class doesn't seem to have an extract function, and causes an error if I try.I've downloaded the latest milestone SDK (3.5) and updated the eclipse system (I'm on a mac), but it still doesn't want to recognise the existence of Sound.extract(), even though the function appears withi
View 1 Replies
Jun 29, 2010
When I extract the bytearray of a sound file I get the raw audio data. Is it possible from that raw audio data to get the decibels?
View 3 Replies
Jun 7, 2011
i would like a method to do this.I have a video mp4 play with flvplayback with soundi would like to play sychro mp3 music file with videoBut video have an audio and i would like to keep my audio too.Then how can mix the audio of my mp4 with audio of my mp3?
View 6 Replies
Sep 8, 2010
I'm picking up Flash and AS3 after working with AS1 a few years back. My first project is a mp3 player that is able to take an mp3 file, a start loop point, and an end loop point to loop the mp3 without any gaps or breaks in the sound.
blog.andre-michelle.com/2010/playback-mp3-loop-gapless
I found this page that got me started, and went off of that code. The resulting player works perfectly except for one fatal flaw. As far as I know, the mp3 file must be fully loaded to be able to use the Sound.extract method on it, this can take a while when the files are 3-4 MB, especially on slow connections. I want to be able to have the audio start playing as soon as the mp3 file begins loading.Is there any way to use the Sound.extract method on a streaming audio file that has not fully loaded yet?
View 6 Replies
Mar 19, 2009
I'm trying to match the behavior of SoundMixer.computeSpectrum() by using the new Sound.extract() method, so that I can draw music visualizations for separate Sound objects at once. As you know, computeSpectrum() samples the currently playing audio and copies it to a ByteArray. Sound.extract(), on the other hand, copies as much of the Sound as you want to the ByteArray, and does not require the Sound to be playing at the time.
With the Sound data extracted to a ByteArray, I know have about twenty-six thousand floating-point values representing the waveform, from start to finish. However, I'm only interested in about thirty-two of them at a time- the last thirty-two that were played. How do I determine where in the ByteArray that would be?
View 2 Replies
Jun 30, 2009
I'm trying to match the behavior of SoundMixer.computeSpectrum() by using the new Sound.extract() method, so that I can draw music visualizations for separate Sound objects at once. As you know, computeSpectrum() samples the currently playing audio and copies it to a ByteArray. Sound.extract(), on the other hand, copies as much of the Sound as you want to the ByteArray, and does not require the Sound to be playing at the time.
With the Sound data extracted to a ByteArray, I know have about twenty-six thousand floating-point values representing the waveform, from start to finish. However, I'm only interested in about thirty-two of them at a time the last thirty-two that were played. How do I determine where in the ByteArray that would be?
View 5 Replies
Jan 31, 2012
Is there any AS3 library or code-snippet that can create altered versions of a Sound object on-the-fly (at runtime)? Either based on:
An existing Sound object; A ByteArray object;
For example, say you have a "dry" sound of a gun-shot. You could:
[Code]...
View 1 Replies
Jan 29, 2009
how to convert bytearray of samples from Sound.extract to bytearray of mp3 file? I want to save editied mp3 to user's local disk.
View 0 Replies
Jan 4, 2011
any thoughts on how to extract the audio from a movie? Pitch shifting is do-able to this article:But the code uses the Sound class.I've NO idea how to go about extracting the audio from a movie/FLVPlayback
View 5 Replies
Apr 6, 2011
I am trying to create a standard production of visual basic system, on Flash CS5. It's an interactive system made in Flash, but the house style is as of Visual Basic. I have almost completed the project however I am finding it difficult to:-
a) If the user types into textboxes in one stage on flash, it should appear down on another screen on another textbox, simultaneously.
b) How to validate textboxes in flash so that the user can only type in certain characters, for example the user would fill in the textboxes when asked about coding in visual basic. At the end of the screen by clicking next it would check the textboxes and if the characters are incorrect it would display an error message, and if correct proceed to the next screen.
This coding is the closes't i got to solving my problem about validation, I have also read a number of ActionScript books but no luck there. I have also searched the net but could not find what i am looking for, all i got was validating using passwords from parameters.
[Code]...
View 1 Replies
Mar 24, 2010
I have installed Flash CS4 upgrade successfully with Flash CS3 full. I have also installed Flash CS3 full and then CS4 upgrade, but it made no difference. I cannot test an example that uses sound.extract() method. When I test the movie, I get an error message stating "Call to a possibly undefined method extract through a reference with static type flash.media.Sound".
View 4 Replies