AR/getSoundFFTData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 19: Line 19:


===Required Arguments===  
===Required Arguments===  
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported
*'''sound:'''عنصر الصوت يتم انشاؤه باستخدام [[playSound]] او [[playSound3D]].
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384
*'''iSamples:''' العينات المسموح بها هي 128 و 256 و 512 و 1024 و 2048 و 4096 و 8192 و 16384


===Optional Arguments===
===Optional Arguments===

Revision as of 01:42, 20 July 2018

This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame. This allows things like visualisations.

a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order

Should you have any problems there is an example resource located on the resource svn here: Visualiser

just type "startmusic mystreamurl" in your console and it will play on the cinema billboard near A51 If the element is a player, this function will use the players voice.

Syntax

table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )

Required Arguments

  • sound:عنصر الصوت يتم انشاؤه باستخدام playSound او playSound3D.
  • iSamples: العينات المسموح بها هي 128 و 256 و 512 و 1024 و 2048 و 4096 و 8192 و 16384

Optional Arguments

  • iBands: Post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua

Returns

Returns a table of floats representing the current audio frame. Returns false if the sound is not playing yet or hasn't buffered in the case of streams.

Example

addCommandHandler("playsound",
function () 
    local sound  = playSound("wasted.mp3")
    local data = getSoundWaveData(sound, 512) -- returns table
    for i, v in pairs(data) do
        outputChatBox(v) -- outputs the float representing the current audio frame
    end
end
)

Changelog

Version Description
1.3.2 Added player element to use a players voice

أنظر أيضاً