Audio-Processing – Wo fängt man an

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Audio-Processing – Wo fängt man an

    Hallöle, da tauche ich mal wieder mit einer Frage auf.

    Ich möchte ein Audiosignal, welches aufgenommen wird (dürfte aber gleichgültig sein), in verschiedene Bänder teilen. Diese sollen dann der Stärke nach analysiert werden. Im Prinzip also eine Frequenzzerlegung, wobei FFT zu viel wäre.

    Ich finde viele Technologien, das zu machen, aber irgendwie keinen Anfangspunkt, keinen Faden, keinen Samplecode. Habt ihr eine gute Einstiegquelle?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Hm, warum nicht FFT? Ich mache beruflich Bioakustik und Audioanalyse und habe dafür Tools entwickelt... ich halte die FFT selbst mit den "Bordmitteln" richtig gut. Und ich arbeite mit 500 kHz Samplerate.

    Einstiegspunkte: Ich screen mal beizeiten meine Bookmarks und sehe, ob sich da nicht Sachen finden. Wobei vieles vermutlich nicht Objective-C oder OS x / iOS spezifisch ist.

    Grüße, Volker
  • volker schrieb:

    Hm, warum nicht FFT? Ich mache beruflich Bioakustik und Audioanalyse und habe dafür Tools entwickelt... ich halte die FFT selbst mit den "Bordmitteln" richtig gut. Und ich arbeite mit 500 kHz Samplerate.

    Einstiegspunkte: Ich screen mal beizeiten meine Bookmarks und sehe, ob sich da nicht Sachen finden. Wobei vieles vermutlich nicht Objective-C oder OS x / iOS spezifisch ist.

    Grüße, Volker
    Meinetwegen auch FFT. Mir geht s vor allem aber um den Einstieg. Core Audio scheint das Richtige zu sein. Nur finde ich da irgendwie kein How-To. Ich fürchte auch, dass die Ansteuerung des Mikros mutmaßlich macOS-spezifisch ist.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Moin,


    CoreAudio ist definitiv gut wenn man Audio In/Out möchte und dazwischen uU auch mal die Daten anfassen muss.

    Ich habe mal ohne viele Kommentare ein kleines Beispiel - damit habe ich mal rumgebastelt (tage nicht mehr angesehen) - hier angehängt. Ist zwar iOS, aber das sollte sich fast direkt auch auf Mac OS X bringen lassen. Habe jedoch momentan viel um die Ohren und keine besonderen Kommentare. Im Beispiel wird der AudioProcessor.mm als ViewController geladen und initialisiert dann automatisch den AudioGraph für Aufnahme. Wichtig ist hier, dass das Mic eigentlich keine Eingabe sein soll, aber ausgewählt werden kann. ist also nicht initial verwendet. Das Micro als Input wird in updateSessionActiveState ausgewählt. Ich glaube das ist ein Unterschied zu OS X, da es dort zumindestens früher die AVAudioSessionPortDescription nicht gab. Mag mich aber täuschen.

    Im callback: static OSStatus effectCallBack(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp * inTimeStamp, UInt32 inBusNumber,UInt32 inNumberFrames, AudioBufferList *ioData)
    greife ich dann die Audio-Daten ab und schicke Sie zur FFT.

    Frag bei allen Unklarheiten gerne nach - ich kann mich dann ansetzen und besser erklären. Bin momentan halt leider bei voller Auslastung, so dass ich lieber gezielte Fragen beantworte und weniger gerne lange Erklärungen vorab schreibe ;)

    Grüße, Volker
    Dateien
    • Archiv.zip

      (57,1 kB, 207 mal heruntergeladen, zuletzt: )
  • Vllt. interessante Links aus alten Posts

    AudioKit is the leading open-source audio framework powering millions of app installs. AudioKit allows developers to quickly add professional audio functionality to iOS, macOS, and Apple Watch apps.
    audiokit.io

    This contains all the sample code in the Learning Core Audio book
    github.com/abbood/Learning-Core-Audio-Book-Code-Sample

    Früher war CoreAudio nicht so gut dokumentiert. Keine Ahnung ob das besser geworden ist.

    Bezüglich FFT musst Du mal in der Doku gucken. Irgendwas habe ich da gesehen. Das musst Du eventuell nicht selber schreiben, sonder kannst vorhandenes verwenden.
  • Vielen Dank, schaue ich mir an. Leider habe ich eben bisher nichts gefunden, was wirklich einen Graphen aufbaut, an dessen Ende die Daten in meine App fallen.

    Es gibt eine FFT-AU, IRRC. Das ist nicht komplizierter. Ich habe das auch schon selbst geschrieben. Es geht darum, dass es für mich mutmaßlich "zu fein" wäre. Es passt einfach nicht.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Ich will schauen, ob auf drei, vier Bändern etwas passiert. Erst eine FFT zu machen, um dann die wieder teilweise zu aggregieren, ist ja von hinten durch die Brust ins Auge.Das kann später mal spannend sein, bringt mir jetzt aber nichts.

    Jetzt geht es aber erst einmal um die Queue an sich. Da ist es ohnehin gleichgültig, was gemacht wird. Aber nicht einmal dazu komme ich gerade …
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?