Flash :: AS3 Using Sound.extract In A Loop To Analyse A Soundfile?
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
Similar Posts:
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 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
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
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
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 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
Mar 4, 2007
im having problems with a nested loop. i found some post here, but they didn�t help me. i need to extract the individual values from a nested xml node. i simplyfied the xml.
this is the code:
[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
Apr 6, 2011
I'm trying to do something simple: send a byteArray to a C library, fill up a buffer and read the memory, but I think I have float conversion problems.
Here is what I do in AS:
var memory:ByteArray = gstate.ds;
// get sound
var soundBytes:ByteArray = new ByteArray();
_source.extract(soundBytes, 4096);
[Code]...
View 1 Replies
Jan 18, 2012
I'm trying to prepend the byte array of a sound object to a captured microphone sound byte array.
It works, but the extracted sound object get pichted down and doubled in length. I guess this is because the byte array of the sound object is in stereo, while the mic byte array is in mono.
I have this:
sound.extract(myByteArray, extract);
myByteArray now contains the stereo data. How can I turn this to mono
UPDATE:
Here's a working solution:
existingByte.position = 0;
var mono : ByteArray = new ByteArray();
while(existingByte.bytesAvailable) {
[Coe]....
View 1 Replies
Jun 17, 2010
ok so im having an issue with Flash CS5.I have a sound looping, and my animation is only 13 frames long, while the song is like a minute long, so each time the animation loops threw the default "Loop Playback" a new sound audio is played which os overlapping the previous over and over causing a massive echo effect.Whats the best way to loop both of them insync, or atleast copy and paste the animations frames and make it the length of the song?
View 1 Replies
Jun 16, 2011
I found an issue when I was creating a sound loop in Flash. I'm using similar code (here is a short version):
[Code]...
View 6 Replies
Mar 26, 2011
What AS3 code is used to loop a sound using AS3?
View 2 Replies
Dec 1, 2004
I want to load a soundfile (wav or mp3) into my application. The soundfile are set in the xml file, so what i need is some code to load this and play it.Here is what i do, which does not work:
speaker.stop();
mysound = new Sound();
mysound.onSoundComplete = function() {
speaker.stop();
};
mysound.loadSound("/welcome.wav", false); [code].....
View 3 Replies
Dec 1, 2004
I want to load a soundfile (wav or mp3) into my application. The soundfile are set in the xml file, so what i need is some code to load this and play it.[code]
View 3 Replies
Feb 1, 2009
I'm desperately searching for a way to get the frequencys of a soundfile without having to play it.I was shocked to see that the computespectrum method only processes real-time sound.I made some research and came across this. Ok so now I'd have the array of the amplitudes.Next step would be to make the Fast Fourier Transformation.
What I tried so far :
- Load external C++ dll. With fftw and SwfStudio. I failed at understanding how to create an SwfStudio Plugin or even to understand how to implement that software in my actionscript code.
- Try to Transform the C++ code to actionscript. Well, this guy could do it. He has exactly what I'm desperatly trying to do. If he'd ever release his source but I failed at understanding how the transformation process works.
- Letting Java do the work and then read the Data from an external swf.Ok, this could've worked if I could only use Actionscript 2. It seems that AS3 can't read variables from imported AS2 swfs.
View 3 Replies
Feb 28, 2012
I have an application using a form and screens. i would like to attach a soundfile to a particular screen. When I try to attach the soundfile to the particular screen the audio file starts playing as soon as the app begins to run..
View 3 Replies
Oct 26, 2005
I have a variable named 'SoundFile' that's linked to a DB dir /audio/sound.mp3. How do I play this sound file with the variable?
View 1 Replies