ActionScript 3.0 :: Retrieving Sound Frequency And Mono/stereo Channels?
Sep 28, 2011Can I figure out somehow sound's frequency (primarily .mp3s) and if it is mono or stereo?
View 4 RepliesCan I figure out somehow sound's frequency (primarily .mp3s) and if it is mono or stereo?
View 4 Repliesi'm trying to play a sound from left to right using actionscript3. i have putted in the first keyframe the code. what i have wrote is:
Code:
var soundClip:Sound;
var channel:SoundChannel = new SoundChannel();
var trans:SoundTransform = new SoundTransform();
[Code]...
I'm developing a flash application that capture an input sound using the microphone object. Unfortunately in this way there's no possibility to get the sound frequency or the bands of the source. How to make Sound Visulizer on the basis sound frequency
View 3 RepliesI'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]....
I need to create an audio file (sine wave) of a particular frequency. I need to do this in actionscript 2.0.
View 0 RepliesI am action script developer in a company. I want to render my freequency spectrum while loading sound.I tried it different way.please suggest any way to do it
View 0 RepliesI am using an application which load games as an external swf file(total 10 games). When I click on the game icon it loads the game and also the sounds related to that game.
But when I close the game in that app, ideally it should also stop the sound for that game. It happens for few games, but for some games the sound still plays in the background even if the game is closed.I have used
import flash.media.SoundMixer;
SoundMixer.stopAll();
In some games the sound is embedded in the game swf file and in some games sound is called from the external mp3 files.Is there a way in which if i close the game. ie any game , the sound should stop.
We are working at a complex AS3.0/Flash game project, where we need to preload and cache around 70 movie files with sound. But somehow the preloaded videos all seem to block a sound channel and so some sounds are not played in the game, as we seem to exceed the 32 sound channels. I cannot provide any technical details at the moment, but I will add them as soon as the developer in charge is back in the office.
View 1 RepliesI am using 2 sound channels to play 2 separate, externally loaded mp3 files at the same time. Right now I have the play button tied to a function that starts the first mp3, then the 2nd. The problem is - the 2nd mp3 starts a few milliseconds after the first. Is there a way that I can make sure these 2 start playing at the exact same time?
[Code]...
is it possible to have multiple SoundChannels? And have a volume control control multiple volumes?
i have a site that uses .flv's with sound all throughout. Volume control is attached to a sound transform that affects the stream. I also added a piece of code to this function that creates a new soundtransformation object, adds it to a soundfactory object i have in a private var and adjusts that volume by 40% of the .flv's volume. This seems like it should work - but doesn't so i am wondering two things. a) can i have multiple sound channels (in this case the stream and the channel i made for bkg music) b) if i can why do my sound transformations not get implemented on this music track. I also tried to explcitly set the music volume to 0.4 via a sound transform right after i load it - which does not work either.
heres the code
ActionScript Code:
trace("current vol is :" + currentVolume + " And 40% of that is: " + (currentVolume * 0.4));
var st:SoundTransform = new SoundTransform(currentVolume, 0);
stream.soundTransform = st;
[Code].....
referring to my old question AS3: Analyzing sound spectrums one by one, one channel at once , with flash player 11 and using Sound.extract,is it possible to extract a single channel and manipulate/visualize it's spectrum? I mean, if i mix 2 sounds into one file, can i control them separately, acting on thing like their soundwaves or volume?
View 1 RepliesI'm trying to create mono slide show, but I managed to be in some strange trouble. Namely mono slide show works nice, but something is wrong or missing in the code, because it puts the picture, that is pulled thru xml on top of everything. One solution is to do picture smaller, but i want to have buttons and info on the picture. It is not layer problem, because layer with picture container is on the last one. Heres the code:
[Code]...
I saw this awesome effect when you press "enter" on MONO*Crafts site that I tried to recreate it!
PHP Code:
// settings
bar._xscale = 0;
bar._yscale = 0;
bar._alpha = 0;
[code].....
I know this is possible to be done using javascript, and I presume I could get the values to flash calling js, but I'm looking for any AS3 library/code that does the same.
js examples: [URL]
Does anybody know a purely PHP based way to alter the frequency of an MP3 file?
A client's website is utilizing a Flash based MP3 player to play some audio.The client is producing the audio herself.
The trouble is that the tools that she is producing it with, and is familiar with, automatically produces MP3 files with a frequency of 48000hz, while some versions of Flash have trouble playing anything with a frequency differing from 44100khz.
I have an array with duplicate values (strings) in it. I would like to have a function that i can call with the string-parameter and returns how many times this string is in the array.
View 7 RepliesRecently I asked this question: How to get the fundamental frequency from FFT? (you don't actually need to read it) My doubt right now it: how to use the cepstral algorithm? I just don't know how to use it because the only language that I know is ActionScript 3, and for this reason I have few references about the native functions found in C, Java and so on, and how I should implement them on AS. Most articles are about these languages) The articles I found about cepstral to find the fundamental frequency of a FFT result told me that I should do this:
[Code]...
I have the following:
package {
import flash.display.MovieClip;
public class Ratio extends MovieClip {
private var counter:Number;
private var frequency:Number;
private var ratio:String;
[Code] .....
This outputs something like:
0: true
1: true
2: false
3: false
But what I would actually like is:
0: true
1: false
2: true
3: false
i.e. more even dispersion (alternation)...is there a way to do this?
how to remove duplicates from an array. But now I need to know how many times each unique item is in an array.
Example:
a,a,a,b,b,c,a
a:4
b:2
c:1
What is the best way to merge two alpha channels? What I want to do is, given channel values, use the value which is greater.
I tried using .merge(), but it appears to only blend channels with a linear value between current and destination value.
I looked into .draw(), which would work well using a blendmode like LIGHTEN, but it doesn't allow drawing per channel so I can't target the alpha channel only. The ALPHA blendmode didn't seem to do anything when used with .draw(), and ERASE gives an unwanted hard edge.
I also looked into .copyChannel(), but it doesn't allow any blending logic, merely copying a rectangular region from one BitmapData to another.
I'm writing a Comet-like app using Flex on the client and my own hand-written server.
I need to be able to send short bursts of data from the client at quite a high frequency (e.g. of the order of 10ms between sends).
I also need the server to push short bursts of data at a similarly high frequency.
I'm using NetConnection.call() to send the data to the server, and URLStream (with chunked encoding) to push the data from the server to the client.
What I've found is that the data isn't being sent/received as soon as it's available. For example, in IE, it seems the data is sent every 200ms rather than as soon as NetConnection.call() is called. Similarly, URLStream isn't making the data available as soon as the server is sending it.
Judging by the difference in behaviour between the browsers, it seems as though the Flash Player (version 10) is relying on the host browser to do all the comms. Can anyone confirm this? Update: This is very likely as only the host browser would know about the proxy settings that might be set.
I've tried using the Socket class and there's no problem with speed there: it works perfectly. However, I'd like to be able to use HTTP-based (port 80) connections so that my app can run in heavily fire-walled environments (I tried using a Socket over port 80, but that has its problems).
Incidentally, all development/testing has been done on an internal LAN, so bandwidth/latency is not an issue.
Update: The data being sent/received is in small packets and doesn't need to be in any particular format. For example, I might need to send a short array of Numbers, and this could either be encoded in AMF (e.g. via NetConnection.call()) or could be put into GET parameters (e.g. using sendToURL()). The main point of my question is really to see whether anyone else has experienced the same problem in calling NetConnection/URLStream frequently, and whether there is a workaround (it's also possible that the fault lies with my server code of course, rather than Flash).
got this code from herehttp:
[Code]...
So as you may or may not know, BlazeDS (open source version of LiveCycle Data Services) is a nice way to get your server-side Java and client-side Flex application to play together. Unfortunately, it does have several pitfalls that need to be corrected. I'll try to explain one of them here.
All of BlazeDS's configuration is written via XML files in the flex/ folder of your webapp. The default names are separated for clarity, such as services-config.xml, remoting-config.xml, messaging-config.xml, etc. In these configuration files (particularly services-config.xml), Channels are defined; these setup URIs and objects used to capture and send information between the server and the client. In these config files, it is quite common to use a syntax like so:
[Code]...
Unfortunately, what they don't tell you is that some of these key-in replacements (ie: {context.root}) are not replaced dynamically upon execution but upon compilation of the WAR file you intend to distribute. Obviously not a good idea when switching domains.
So, instead I seek to dynamically define these channels. According to the documentation, that's all good and fine, but it only works if the channel already exists when the webapp is launched. I feel like that sort of defeats the point. So my question is, how do you truly create channels dynamically so that both the client and the server recognize their existence?
Are there any audio management libraries for ActionScript 3? The more tailored they are for game development the better.I'm finding it hard to understand and work with multiple channels, which is making a lot of my audio sound screwy and cancel each other out, etc. I've been working on an RPG that can at a given time have quite a number of sounds playing such as environmental noise (like opening doors, thunder, rain, etc), walking enemies, inventory sounds (for events like dropping an item into your inventory), passive spell-casting sounds, voice clips, weapon swinging etc. Alternatively, if there are any good resources that explain how to use multiple sound channels strategically.
View 1 RepliesSimple question here, lets say you have a color in RGB, white:255, 255, 255Pixel bender needs values between 0-1 not 0-255.So white = 1, 1, 1What about:134, 132, 123I dont know how to work it out.
View 3 RepliesKeeping it simple for now but assuming i have a ByteArray full of sample data is it possible to calculate the average frequency (thus a pitch) from the entire recording? Is this along the right lines? p = 69 + 12 x log2(f/440hz) ...
View 1 Repliesi have the following situation:
one drawing layer (graphics object with lineTo, etc.)
one png with an alpha channel (supposed to serve only as a mask)
now i want to be able to only draw lines within an area restricted by the png mask.
i am trying like this:
var bitmapData:BitmapData = new BitmapData( 320, 320 );
bitmapData.draw( drawingLayer );
bitmapData.copyChannel( maskBitmapData, new Rectangle( 0, 0, 320, 320 ), new Point( 0, 0 ), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA );
now the borders get cut off fine, but i get a black background, since the drawing layer has an alpha between the drawn lines (and it should remain like this) and the mask bitmap has an alpha outside the shape. so naturally the mask's alpha replaces the drawing layer's.
i tried it with merge, copyPixels and also with just setting the mask property on the drawing layer (i set everything to cacheAsBitmap) but to no avail.
ADDITION:
when trying to use a mask i tried it with
<s:BitmapImage id="mask" source="@Embed(source='...')" cacheAsBitmap="true" />
and also as
[Embed("...")]
private const BodyMask:Class;
var maskBitmap:Bitmap = new BodyMask();
and assigned them to the mask property of a s:Group element (cacheAsBitmap=true) where the operations on the graphics object occured. i also tried reassigning the mask after each draw operation.
I'm developing an online meeting system with audio/video sharing, using Adobe Flex 4 and Flash Media Server 4. I'm using the RTMFP protocol to make the transmission of audio/video which increases considerably the performance. The trouble now is that i must record the audio/video transmitted, but i figured out that when using the RTMFP protocol the FMS doesn't operate in the channels. So, how could i make FMS record this channels?
View 1 RepliesI've been trying to find the right configuration for supporting both http/s requests in a Flex app. I've read all the docs and they allude to doing something like the following:
<default-channels>
<channel ref="my-secure-amf">
<serialization>[code]..........
I'm running with Tomcat 5.5.17 and Java 5.The BlazeDS docs say this is the best practice. Is there a better way? With this config, there seems to be 2-3 retries associated with each channel defined in the default-channels element so it always takes ~20s before the my-amf channel connects via a http request. Is there a way to override the 2-3 retries to say, 1 retry for each channel?
I copied this from some other forum because it's explain well "...Let�s say you are loading in an external asset that has an alpha channel, such as a PNG. Now let�s say that you want that asset to act like a button, with rollover and click actions. No problem. No reason you can't do that. But, actually, there is a problem. The hit area for that external asset will be its entire bounding box. Take this octy image for example: Even if you rolled over the top left of the image where it�s totally transparent, it will still trigger rollover actions, which is certainly not ideal and could potentially be very confusing for a user..."
[Code]....