LabVIEWForum.de
sound zeitversetzt überlagern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: sound zeitversetzt überlagern (/Thread-sound-zeitversetzt-ueberlagern)



sound zeitversetzt überlagern - benny10 - 11.10.2015 08:32

Hallo,

betätige ich eine Trommel, wird ein wave Sound abgespielt. Betätige ich zeitgleich mehrere funktioniert ebenfalls alles. Nun zu meinem Problem: Betätige ich eine Trommel, während eine wave Datei noch abgespielt wird, funktioniert dies nicht. Der erste Ton sollte noch laufen und der zweite müsste diesen etwas zeitversetzt überlagern. Bei meinen etlichen Versuchen werden die Töne entweder zeitgleich oder nacheinander abgespielt. Im angehängten Beispiel, welches auf dieses Problem reduziert ist, erfolgt die Wiedergabe der Töne hintereinander. Wie kann ich erreichen, dass während der erste Ton noch spielt, zeitversetzt ein weiterer diesen überlagert?

Besten Dank!


RE: sound zeitversetzt überlagern - GerdW - 11.10.2015 17:32

Hallo Benny,

Zitat:Im angehängten Beispiel, welches auf dieses Problem reduziert ist, erfolgt die Wiedergabe der Töne hintereinander.
Korrekt beobachtet: so hast du es programmiert!
THINK DATAFLOW! Und auch: Achte auf RaceConditions…

Du hast nur ein Audio-Ausgabegerät (nehme ich an). Du willst zwei Töne abspielen. Dummerweise ist das Ausgabegerät mit dem Abspielen des ersten Tons beschäftigt, also muss der zweite eben warten, bis das Gerät wieder bereit ist…

Zitat:Wie kann ich erreichen, dass während der erste Ton noch spielt, zeitversetzt ein weiterer diesen überlagert?
Mixen!

Ein Waveform-Array für beide Töne erstellen, und den zweiten Ton eben zeitversetzt in diese Waveforms einsetzen!


RE: sound zeitversetzt überlagern - panduci - 12.10.2015 08:20

Hallo Benny,

ich einmal ein Prinzip VI gemacht...Denke fürs Abspielen musst die beide Signale addieren. Für die Zeitverzögerung kannst du einfach für die Dauer der Zeitverzögerung alles mit
"0" auffüllen. Hab es nicht ausprobiert denke aber dass es funktionieren sollte. Fürs abspielen solltest du vorher das abzuspielende Signale skalieren.

lg panduci


RE: sound zeitversetzt überlagern - benny10 - 12.10.2015 17:12

Hallo,

besten Dank euch beiden! Nun funktioniert es. Cool
Habe das vi von panduci noch ein wenig abgeändert, damit beide sounds komplett abgespielt werden und nicht einer ein wenig abgeschnitten wird.

lg
benny10