Audio - Wie tauschen I Stereo-Kanäle in rohen PCM-Audiodaten auf OS X

Die resultierende AIFF-Datei (16-Bit-PCM-Stereo) spielt, aber die linken und rechten Kanäle vertauscht.







Wäre es eine Möglichkeit sein, die Kanäle zu wechseln, wie ich jeden Puffer schreibe?

Hier ist die relevante Schleife:

Diese Lösung ist sehr spezifisch für 2-Kanal-Audio. Ich wählte es zur gleichen Zeit tun Sie Schleifen die Byte-Reihenfolge zu ändern, um eine zusätzliche Schleife zu vermeiden. Ich werde durch die Schleife 1/2 die Anzahl und die Verarbeitung von zwei Proben pro Iteration. Die Proben werden verschachtelt, so kopiere ich von ungerade Probe Indizes in geraden Probenindizes und vis-a-versa.

Eine Alternative ist, eine Tabellensuche für die Kanalzuordnung zu verwenden.

In Python zu windows 7 PATH Halten Win und drücken Sie Pause. Klicken Sie auf Erweiterte Systemeinstellungen. Klicken Sie auf Umgebungsvariablen. In „Benutzervariablen“ Klicken Sie auf „Neu“, wenn es keine PATH, sonst wählen Sie PATH-Variable und klicken Sie auf „Bearbeiten“ anhängen; C: \ python34 zur Pfadvariablen. Starten Sie die Eingabeaufforderung. Installieren pygame wollen Sie zuerst.

Nach der Dokumentation, können Sie es wie folgt tun: Konami = new Konami (); konami.code = function ()< document.getElementById('audio').play(); >; konami.load (); Fiddle Demo Hinweis: nicht sicher, ob dies ist, wie Konami Sequenz muss sein, aber der Arbeitsablauf ist oben, oben, unten, unten, links, rechts, links, rechts, b, a, ein.

Mit NAudio können Sie WasapiLoopbackCapture verwenden, um die Soundkarte Ausgabe zu erfassen. Leider gibt es keine Möglichkeit, speziell wenn die Audiodaten von einer anderen Anwendung zu erfassen.

Sie haben die Dokumentation falsch verstanden. playAtTime: sucht nicht zu einem späteren Zeitpunkt in einer Audiodatei. Es verzögert den Beginn der Sounddatei (von Anfang an). Um von der Mitte eines Tondatei wiedergeben, setzen Sie das current des Spielers und das Spiel beginnt.







Sie können die Option auf der API-Liste finden // wenn die

Gute Frage. Es ist ein weiterer guter Grund für die Verwendung Circular Buffer. In iOS, wenn Sie Rückrufe verwenden (Audio Unit) für die Aufnahme und Wiedergabe von Audio (In-der Tat müssen Sie es verwenden, wenn Sie eine Echtzeit-Audio-Übertragung App erstellen möchten), dann werden Sie ein Teil der Daten für einen bestimmten Betrag erhalten .

getMaxAmplitude gibt eine Zahl zwischen 0 und 32767. Um, zunächst müssen dB zu konvertieren, um es zwischen 0 und -1 auf einen Wert skalieren. 20 * log10 (1) == 0 und 20 * log10 (0) == - Inf. Wenn Sie immer -inf dann kann dies nur sein, weil Sie 0 in die Log-Funktion sind vorbei. Dies ist vor allem.

Ich habe die Lösung für das Problem: die folgenden tun, bevor CopyTo () mStrmStartDelimiter.Position = 0 Aufruf; mStrmEndDelimiter.Position = 0 ;.

Ich würde es tun mag: var ffmpeg = require ( 'fließend-ffmpeg'); / ** * -Eingang - String, Pfad der Eingabedatei * output - String, Pfad der Ausgabedatei * Rückruf - Funktion, node-style Rückruf fn (Fehler, result) * / function convert (Eingang, Ausgang, Rückruf) < ffmpeg(input) .output(output) .on('end', function() < console.log('conversion ended'); callback(null); >) .auf ( 'Fehler'.

Sie können OnParticleCollision verwenden und die ParticlePhysicsExtensions und einen Sound mit PlayClipAtPoint spielen: mit UnityEngine; Verwendung System.Collections; [RequireComponent (typeof (ParticleSystem))] public class CollidingParticles. MonoBehaviour < public AudioClip collisionSFX; ParticleSystem partSystem; ParticleCollisionEvent[] collisionEvents; void Awake () < partSystem = GetComponent(); collisionEvents = new ParticleCollisionEvent [16]; > Void OnParticleCollision (Gameobject andere) < int safeLength.

Das canplay Ereignis tritt auf, wenn der Browser starten kann das angegebene Audio / Video-Wiedergabe (wenn es genug gepuffert hat zu beginnen). Also versuchen Sie dieses: var audio = new Audio ( 'song.mp3'); audio.oncanplay = function () < audio.play(); alert("1"); >;.

Diese Lösung ist sehr spezifisch für 2-Kanal-Audio. Ich wählte es zur gleichen Zeit tun Sie Schleifen die Byte-Reihenfolge zu ändern, um eine zusätzliche Schleife zu vermeiden. Ich werde durch die Schleife 1/2 die Anzahl und die Verarbeitung von zwei Proben pro Iteration. Die Proben werden so verschachtelt I.

Schauen Sie sich die _visualize Verfahren auf der Leitung 125 von der Quelle. Bei dem Verfahren hält die audioBufferSourceNode die Datei, die geladen wurde. auf der Leitung 136 den Start () und Stop () Methoden, die auf dem Audioknoten verwendet werden. Wenn Sie aus der Bibliothek einen Verweis auf die audioBufferSourceNode bekommen.







In Verbindung stehende Artikel