Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by roccapl · Jun 13, 2012 at 09:11 AM · getspectrumdata

getspectrumdata returns low values

I'm calling GetSpectrumData from an AudioListener component to analyse a sound. See reference at http://unity3d.com/support/documentation/ScriptReference/AudioListener.GetSpectrumData.html

The array should be filled with floats from 0.0 to 1.0 (I guess) but the strange thing is that if I call Debug.Log and print the values of the samples, the result is a very small number: something like 0.02 in the low frequencies and something like 9E-06 in the high frequencies. I expected this values to be different from low to high frequencies because sound power has a logarithmic decay over the frequency spectrum, but WHY AM I READING SO SMALL VALUES?

Is this normal behaviour? What should I do with that to scale it to something useful in a range from 0 to 1 across all frequencies?

Thanks in advance to anyone willing to clarify this

Here's an example code, attach it to the camera, drag the camera audio listener on it and create an audio source and then check the console

 var listener : AudioListener;
 var bufSize : int;
 var samples : float[];
 
 function Start () {
     //take the smallest buffer
     //just not to flood Debug.Log but this
     //something like 1024
     bufSize = 64;
     samples = new float[64];
     //call the function every tenth of a second
     InvokeRepeating("readSound", 0.0, 1.0 / 10.0);
 }
 
 function readSound() {
     //0 means left channel in a stereo file
     listener.GetSpectrumData (samples, 0, FFTWindow.BlackmanHarris);
     for (var i : int = 0; i < bufSize; i++) {
         Debug.Log("sample: " + i + " value: " + samples[i]);
     }
 }
 
 function Update () {
 
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

What is the window length of FFTWindow? 2 Answers

Spectrum of a mathematical function? 2 Answers

the Story of GetSpectrumData, Animator and IEnumerator :D 1 Answer

How can I synch music game objects when I am using spectrum data 0 Answers

Problem with GetSpectrumData 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges