2016-03-24 11 views
1

Wie kann ich feststellen, ob ein Ton im Hörbereich abgespielt wird?Wie erkennt man die Frequenz eines Sounds in JavaScript?

Zum Beispiel

Zeigen eine Stille-Symbol, wenn:

  • Der Bereich niedriger als 20 Hz ist,
  • Der Bereich ist höher als 20 kHz.

statt stream.paused ist false.

+0

Sie meinen in einem ''

+0

@Oriol Ja oder mit Javascript. Die Antwort ist, ob es einen Weg gibt, das zu tun. – nanilab

+3

Die höchste Frequenz, die eine Standard-Audiodatei (44,1 kHz) enthalten kann, ist ungefähr 20 kHz. Wenn Sie jedoch die Frequenzdaten abrufen möchten, verwenden Sie [AnalysatorNode] (https://developer.mozilla.org/en-US/). docs/Web/API/AnalyserNode) – Tomer

Antwort

-1

Ich weiß nicht, ob Sie das hz mit Javascript finden können. Sie müssen wahrscheinlich die Web-Audio-API verwenden. Mit Javascript können Sie die Lautstärke jedoch definitiv auf einer numerischen Skala überprüfen und einstellen. Überprüfen Sie die Details und Beispielcode hier: http://www.w3schools.com/tags/av_prop_volume.asp

Beispielwerte: 1.0 ist höchste Volumen (. 100% Das ist Standard) 0,5 ist das halbe Volumen (50%) 0,0 schweigt (wie bei Mute)

+0

1.0 ist nicht technisch am höchsten ... es ist nur so hoch, wie Sie vor dem Clipping gehen können, wenn Sie das Audio zurück an Ihre Soundkarte senden oder wenn Sie auf eine normale ganzzahlige PCM-Verarbeitung umstellen. – Brad

0

Sie können diese pitch detection Audiobibliothek verwenden.

Beispiel:

var voice = new Wad({source : 'mic' }); 
var tuner = new Wad.Poly(); 
tuner.add(voice); 
voice.play(); 

tuner.updatePitch() // The tuner is now calculating the pitch and note name of its input 60 times per second. These values are stored in tuner.pitch and tuner.noteName. 

var logPitch = function(){ 
    console.log(tuner.pitch, tuner.noteName) 
    requestAnimationFrame(logPitch) 
}; 
logPitch(); 
// If you sing into your microphone, your pitch will be logged to the console in real time. 

tuner.stopUpdatingPitch(); // Stop calculating the pitch if you don't need to know it anymore. 
Verwandte Themen