2016-05-03 7 views
1

Ich baue eine Sprachaufzeichnungs-App und möchte eine Stimmfrequenzgrafik ähnlich der "Voice Memo" -App auf dem iPhone zeigen.Sprachfrequenzdiagramm erstellen, wenn der Benutzer Audio aufnimmt?

Ich bin nicht sicher, wo genau bauen diese starten .. könnte jemand geben Sie mir einige Bereiche schauen und wie sie zu strukturieren? Ich werde dann alle Bereiche lernen und bauen!

Danke

+1

Der Boden ist ein Leistungsspektrum. Es zeigt die Leistung (y-Achse, gemessen in dB) bei verschiedenen Frequenzen. – paulvs

+0

Wenn Sie irgendwann eine Bibliothek empfehlen möchten, die dies erleichtert, empfehle ich Ihnen, auf der [Software-Empfehlungen] (http://softwarerecs.stackexchange.com/) Schwesterseite zu posten. –

+0

Wenn Sie die Theorie hinter diesem Zeug lernen wollen, müssen Sie [Fourier Analysis] (https://en.wikipedia.org/wiki/Fourier_analysis) studieren. –

Antwort

4

Großbeispielprojekt von Apple:

enter image description here

https://developer.apple.com/library/ios/samplecode/aurioTouch/Introduction/Intro.html


Die Top-Chart-Maßnahmen Intensität gegen die Zeit. Dies ist die intuitivste Darstellung eines Klangs, da eine lautere Stimme als größere Spitze angezeigt würde. Die Intensität wird in Prozent der Full-Scale-Einheiten (% FS) gemessen, wobei 100% dem lautesten aufnehmbaren Sound des Geräts entsprechen. Wenn eine Person in ein Mikrofon spricht, schwankt eine Spannung im Laufe der Zeit auf und ab. Dies ist, was dieser Graph darstellt.

Das untere Diagramm ist ein Power Spectral Density. Es zeigt an, wo das Signal am stärksten ist. Zum Beispiel würde eine tiefe laute Stimme als Maximum am unteren Ende der x-Achse erscheinen, entsprechend den tiefen Frequenzen, die eine tiefe Stimme enthält. Die Leistung wird in dB (eine logarithmische Einheit) bei verschiedenen Frequenzen gemessen.


Nach einem wenig googeln und Tests, ich denke, AVFoundation keinen Zugriff in Echtzeit auf die Audiodaten liefert, ist es ein High-Level-API in eine Datei für die Aufzeichnung und Wiedergabe in erster Linie nützlich . Die untergeordnete Audio Queue Services API scheint der richtige Weg zu sein (obwohl ich mir sicher bin, dass es Bibliotheken gibt, die ihre komplexe API vereinfachen).

Audio Queue-Services Programming Guide: https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AboutAudioQueues/AboutAudioQueues.html#//apple_ref/doc/uid/TP40005343-CH5-SW18

DSP in Swift: https://www.objc.io/issues/24-audio/functional-signal-processing/

+0

Tolle Informationen! Ich werde heute den DSP in Swift lesen. Wird dieser Artikel mir helfen, die Werte zu erhalten, während ein Benutzer seine Stimme auf seinem iPhone aufzeichnet? Ich bin mir nicht sicher, ob Sie die "Voice Memo" -App auf einem iPhone gesehen haben, aber wenn Sie die "Record" -Taste drücken und sprechen ... beginnt die Voice Freq-Grafik die "Intensität vs. Zeit" zu überwachen. Das versuche ich zu erreichen. Vielen Dank! – brkr

+0

Ich habe meine Antwort mit einigen Tipps bearbeitet, die Sie vielleicht nützlich finden. – paulvs

+0

Ihre eine Legende, danke! – brkr

Verwandte Themen