If I understand correctly when you call AudioListener.GetSpectrumData() , unity will analyze the last N samples of the audio source and return the spectrum analyze of these samples. But what is N and can I change it?

For `GetSpectrumData`

you are correct that Unity is analyzing N samples of the most recently played audio from the `AudioSource(s)`

. If you provide an array of size 1024 to `GetSpectrumData`

it will return 1024 relative amplitude values over the frequency domain, as opposed to audio samples which are amplitude over the time domain. Unity needs to analyze N samples of recently played audio, and in the case of `GetSpectrumData`

it needs to analyze **size of input array x 2** samples, so 2048 in this case. It’s common for implementations of the Fast Fourier Transform (something that `GetSpectrumData`

is doing under the hood) to perform the algorithm for the *entire* frequency spectrum up to the Hz of our sampling rate (`AudioSettings.outputSampleRate`

), and then discard the second half of the spectrum since the second half is a mirror image of the first half. This means our maximum frequency will be half of the sample rate. If our sample rate is 48000Hz, we will get relative amplitude from 0Hz-24000Hz. For this reason, Unity needs to analyze twice the number of samples as the number of spectrum values you request.

Here is a fairly lengthy article series that walks through this logic and provides some examples. Hope it helps!

The problem is with android manifest. Try to delete the plugins (for android) one by one to see which plugin cause the issue.

From the traditional use of *N* in numerical analysis, it Iooks like it’s the length of your `samples`

array.