Ich habe eine Kinder-iPhone-Anwendung, die ich schreibe, und ich muss in der Lage sein, die Tonhöhe eines Soundbeispiels mit Core Audio zu verschieben. Hat jemand einen Beispielcode, den ich mir ansehen könnte, wo das gemacht wird? Es gibt viele Musik- und Spiele-Apps im App Store, die das tun, damit ich weiß, dass ich nicht der erste bin. Ich kann jedoch keine Beispiele dafür finden.Echtzeit Pitch Shifting auf dem iPhone
Antwort
können Sie dirac-2 von dsp Dimension für Pitch Shifting auf dem iPhone verwenden. Zitat: -
"DIRAC2 ist sowohl als eine kommerzielle Objektbibliothek verfügbar, die unbegrenzte Abtastraten und phasenverriegelte Mehrkanalunterstützung bietet, als auch als eine freie Einkanalversion mit 44,1/48 kHz LE."
Siehe: Related question
Wie viel Kontrolle über Tonhöhe brauchen Sie ... könnten Sie die verschiedenen Töne vorauszuberechnen? Wenn die Antwort ja ist, dann können Sie einfach die richtigen Sounds auswählen und abspielen.
Sie können auch Audio Converter Dienstleistungen in Verbindung mit AVAudioPlayer, benutzen, die Ihnen erlaubt, die Audio-Resampling (die sie effektiv repitch wird, obwohl sie Dauer ändern werden).
Alternativ kann, wie die damit verbundene Frage darauf hinweist, könnten Sie OpenAL und AL_PITCH
Hat nicht geholfen. Vielen Dank! –
@Leachy nur wundernd ... wie konnte openAL dir und DIRAC nicht helfen? Für mich war es das genaue Gegenteil, und Dirac erwies sich als nutzlos! : o – cregox
Verwendung der Soundtouch Open-Source-Projekt Pitch
Hier zu ändern, ist der Link: http://www.surina.net/soundtouch/
Sobald Sie Soundtouch hinzufügen Zu Ihrem Projekt müssen Sie den Input-Sound-Dateipfad, den Output-Sound-Dateipfad und die Tonhöhenänderung als Eingabe angeben.
Da es mehr Zeit benötigt, um Ihren Sound zu verarbeiten, ist es besser SoundTouch zu modifizieren, so dass Sie, wenn Sie die Stimme aufzeichnen, direkt die Daten zur Verarbeitung geben. Es wird Ihre Bewerbung verbessern.
Versuchen Sie Dirac - es ist die beste Technologie da draußen und es ist verfügbar unter Win, Linux, MacOS X und iOS. Wir verwenden es in all unseren Produkten (und ein paar andere tun es auch, suchen Sie im App Store nach "Capo"). Sie sind jetzt in der Version 3, die seit den Vorgängerversionen eine enorme Leistungssteigerung erfahren hat. Hoffe das hilft.
Ich weiß, es für die Person zu spät ist, die gefragt, aber es ist wirklich eine wertvolle Verbindung für irgendein anderes (wie ich gefunden), die für die Lösung des gleichen Problems sucht.
So Hier haben wir neuesten DIRAC3 mit einem eigenen audio player Klassen haben, die Pflege von Laufzeit Tonhöhe und Geschwindigkeit nehmen (erforschen für Gott weiß, was mehr) Verschiebung. Führen Sie das Sample aus und haben Sie dafür großen Applaus.
Ich hatte eine schlechte erfahre es mit dirac3 wegen seiner libDIRAC_iOS4-fat.a, die auf dirac2 wahrscheinlich nicht viel anders ist.Ich konnte es einfach nicht benutzen - hatte zu viele Fehler im Link-Teil des Build-Prozesses. Eher, [Ich habe openAL verwendet] (http://stackoverflow.com/questions/2035975/how-do-you-completely-remove-and-release-memory-of-an-openal-sound-file/4647692# 4647692) mit großem Erfolg. – cregox
Funktioniert gut für mich. Sie haben wahrscheinlich vergessen, das Beschleuniger-Framework zu Ihrem Projekt hinzuzufügen (es ist in der Readme-Datei) – tahome
DIRAC ist perfekt, aber OpenAL mit AL_PITCH ändert auch die Länge des Sounds, was weniger als ideal ist. DIRAC ist jetzt Version 3. Seine Bibliothek enthält iPhone Demo-Projekt. – Tibidabo