Zunächst einmal eine Warnung: Wenn Sie eine effiziente und zuverlässige Echtzeit-Audioverarbeitung wünschen, ist Python wahrscheinlich keine sehr gute Wahl (weil es eine interpretierte Sprache ist, verwendet Garbage Collection und natürlich wegen der berüchtigten GIL).
Wenn Sie Python trotzdem verwenden möchten, gibt es ein paar Bibliotheken für die Echtzeit-Audiosignalverarbeitung; pyo und LibROSA in den Sinn kommen, mehr können Sie bei der PythonInMusic wiki page finden.
Nun zur Beantwortung Ihrer Frage: Die Gleitkommawerte (standardmäßig float32
) in indata
sind Amplitudenwerte, die den Schalldruck darstellen. Man kann es sich auch als Spannung vorstellen, wenn das hilft.
Beachten Sie, dass die Werte von der Soundkarte auf einen Bereich von -1.0
bis +1.0
beschränkt sind. Wenn Sie Ihr (e) Ausgangssignal (e) auf schreiben, müssen Sie darauf achten, dass sie auch auf diesen Bereich beschränkt sind, sonst werden Sie hässliche Verzerrungen hören. Die Arrays indata
und outdata
sind 2-dimensional, wobei die Spalten die Audiokanäle darstellen. Jede Zeile repräsentiert eine Zeitinstanz.
Vielleicht möchten Sie auch meine kleine page about creating simple audio signals with Python lesen.
Die aktuellen Algorithmen für Time Stretching/Pitch Shifting sind hier nicht verfügbar, wenn Sie Hilfe benötigen, können Sie unter https://dsp.stackexchange.com/ fragen.