Wie entschalte ich das float *newAudio
in float *channel1
und float* channel2
und verschachtle es wieder in newAudio
?
Wie würden diese beiden Codezeilen aussehen? Ich verstehe die Syntax von ctoz / ztoz nicht.
Was ich in Novocaines Zubehörklassen, wie dem Ringbuffer, zum Deinterleaving mache:
%Vor%für Interleaving:
%Vor%Der allgemeinere Weg, Dinge zu tun, ist ein Array von Arrays, wie
%Vor%was ich intern viel in den RingBuffer Zubehörklassen für Novocaine verwende. Ich habe die Geschwindigkeit von vDSP_vsadd gegen memcpy gemessen, und (sehr, sehr überraschend) gibt es keine Geschwindigkeitsdifferenz.
Natürlich können Sie immer nur einen Ringpuffer verwenden und sich den Ärger ersparen
%Vor%Ich hoffe, das hilft.
sbooth antwortet, wie man mit vDSP_ctoz entschachtelt. Hier ist die komplementäre Operation, nämlich Interleaving mit vDSP_ztoc.
%Vor%Tags und Links objective-c signal-processing core-audio accelerate-framework