This might also be of some interest.

http://www.leebrimelow.com/?s=SampleDataEvent

HTH,
Best,

Karl

On Dec 21, 2011, at 5:32 PM, Karl DeSaulniers wrote:

Hi Anthony,
Thanks for the clarification. It says here...

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html

That you can utilize zlib compression and decompression with the ByteArray.
Would that maybe help you with controling the reporting?
Sounds like the player is treating it at the same compression rate and so if you can control the compression say based on size of the rate or size of the sound file?

Sry if a goose chase, just trying to help.. :)
and learn..

Best,
Karl


On Dec 21, 2011, at 5:15 PM, Anthony Pace wrote:

Hey Karl,

Not sure if you read my question completely, or if you did and what I wrote was too confusing; yet, I do already know how to set the sampling rate (e.g. mic.rate = 44, or 11, or w/e ).

What I was asking, is if there is anyway to access the sample buffer before the bytes get reported by the SampleDataEvent; for, at least on my machine, it only reports a minimum of 2048 samples about every 47 ms, but I really want to have access to 512 samples in about 12 ms, or even 256 in sample in about 6 ms.

When you adjust the sample rate, you can get lower sample sets returned; yet, as the rate has been decreased you receive them with the same amount of latency. (e.g at a rate of 11 you get 512 samples when the SampleDataEvent fires, but you still get them in the3 same amount of time, which is about 47 ms on average).

Now do you see what see what I am referring to?



On 12/21/2011 5:29 PM, Karl DeSaulniers wrote:
Did a google for "controlling mic sample rates in as3"
FYI

Best,
Karl

On Dec 21, 2011, at 2:08 PM, Anthony Pace wrote:

Wow. Just read through my post, and saw the errors. Guess I shouldn't get 3 hours sleep and then try to type.

Second try:

No replies? Okay then. As the player doesn't seem to make the buffered data available unless it has a full 2^n chunk within a given timeframe, and also considering that there doesn't seem to be a way to just grab the currently buffered bytes, then I guess doing what I want just isn't possible, at least in this version of the player (hope for the future).

This is really sad; for, imho, the developer should be able to at least state the minimum sample size he wants reported per SampleDataEvent, and not just the rate per second.

In combination with setting the desired sampling rate (e.g mic.rate = 44), being able to set the minimum buffer amount to be reported, and to set no delays would be perfect .

e.g.
mic.sampleBufferMin = 8; // 2^8 = 256 must be value between 8 and etc...
mic.sampleBufferMin = 9;// 2^9 = 512 is what would work in my case
mic.reportImmediately = true; //to avoid having to wait until the next frame is collected if it couldn't collect enough to report in time

or even being able to access the bytes already in the buffer without having to wait until SampleDataEvent is allowed to fire
e.g.
myByteArray = mic.pollBuffer(); //or bytesLoaded or w/e you would prefer to call it

Up until now, I really didn't care about things like latency, as I was merely attempting to learn algorithms for post processing related tasks; yet, now that I have become interested in realtime tasks, and would love to be able to perform them in the browser, it's becoming an issue.



On 12/20/2011 4:32 PM, Anthony Pace wrote:
Just in case you are wondering why...
although I know I could just split up the sample amount into smaller 512 sample chunks, I am interested in doing some lower latency effects, and the delay is just too much to bare right now.



On 12/20/2011 3:37 PM, Anthony Pace wrote:
Is this possible?

When recording from the Mic, in this case at 44100hz I can't get the SampleDataEvent to report sample chunks of less than 2048 samples. The problem really is that it flash waits about 47 ms on average to report a sample chunk (although my counter shows it updates between 33ms and 60ms), and in some cases even though there is no load, it waits until it can report 4098 samples (even though there is no load); yet, I only need/want 512 samples in approximately 12ms on average.

If, while keeping the same sample rate, there is some official way to decrease the chunk size being reported and the time it takes to report it, I can't see it; therefore, I am hoping there may be some way of just getting to the Sample Data before it's reported?
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Karl DeSaulniers
Design Drumm
http://designdrumm.com

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Karl DeSaulniers
Design Drumm
http://designdrumm.com

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Karl DeSaulniers
Design Drumm
http://designdrumm.com

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to