» hot.WavePlayer
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

hot.WavePlayer

acl(admin devvvv vvvvgroup)

Multichannel-Waveplayer

Bei dem Routing handelt es sich um eine Abbildung von separaten Audioströmen auf die Ausgänge der Soundkarte.
Die Quelle sind Audiodateien, eine Audiodatei kann eine,zwei oder viele Kanäle enthalten. Eine sogenannte
Voice arbeitet mit den Samples genau einer Audiodatei,dies bedeutet, dass eine Voice auch mehrere Kanäle
beinhalten kann. Eine Voice hat einen Zustand, der sich beispielsweise aus der aktuellen Position, Lautstärke
und Abspielgeschwindigkeit zusammensetzt. Dieser Zustand ist für alle in der Voice enthaltenen Kanäle gleich.
Ausnahme bildet jedoch die Routingeigenschaft, die für jeden der Kanäle separat bestimmt ist. Die Anzahl der
Voices ist gleich dem höchsten SliceCount der Eingabepins mit Ausnahme des Routingpins. Eine Voice macht
natürlich erst Sinn, wenn für sie auch eine Audiodatei geladen ist.

Beispiel:

Play
0
1
1

File
A.wav
B.wav

Alle anderen Pins haben den SliceCount 1, dies ergibt drei Voices :

Voice 0 File=A.wav Play=0
Voice 1 File=B.wav Play=1
Voice 2 File=A.wav Play=1

Geroutet werden nicht Voices sondern einzelne Kanäle. Die Anzahl der Kanäle ergibt sich durch Aufsummierung
der Kanäle aller vorhandenen Voices:

Beispiel:

Voice 0 A.wav Kanäle = 2
Voice 1 B.wav Kanäle = 1
Voice 2 A.wav Kanäle = 2

                 

Dies sind 5 Kanäle insgesamt.

Die Abbildung des Spreads im Routing-Pin erfolgt zyklisch auf die Menge aller vorhandenen Kanäle. Fehlerhafte
oder überschüssige Routing-Werte werden verworfen.

Routing-Pin
0
1
1
3

ergibt:

Voice 0 A.wav Kanal 0 Routing -> 0
Voice 0 A.wav Kanal 1 Routing -> 1
Voice 1 B.wav Kanal 0 Routing -> 1
Voice 2 A.wav Kanal 0 Routing -> 3
Voice 2 A.wav Kanal 1 Routing -> 0

Mit der Routingtabelle,

00 SPEAKER_FRONT_LEFT
01 SPEAKER_FRONT_RIGHT
02 SPEAKER_FRONT_CENTER
03 SPEAKER_LOW_FREQUENCY
04 SPEAKER_BACK_LEFT
05 SPEAKER_BACK_RIGHT
06 SPEAKER_FRONT_LEFT_OF_CENTER
07 SPEAKER_FRONT_RIGHT_OF_CENTER
08 SPEAKER_BACK_CENTER
09 SPEAKER_SIDE_LEFT
10 SPEAKER_SIDE_RIGHT
11 SPEAKER_TOP_CENTER
12 SPEAKER_TOP_FRONT_LEFT
13 SPEAKER_TOP_FRONT_CENTER
14 SPEAKER_TOP_FRONT_RIGHT
15 SPEAKER_TOP_BACK_LEFT
16 SPEAKER_TOP_BACK_CENTER
17 SPEAKER_TOP_BACK_RIGHT

und der obigen Eingabe ergibt dies:

Voice 0 A.wav Kanal 0 Routing -> SPEAKER_FRONT_LEFT
Voice 0 A.wav Kanal 1 Routing -> SPEAKER_FRONT_RIGHT
Voice 1 B.wav Kanal 0 Routing -> SPEAKER_FRONT_RIGHT
Voice 2 A.wav Kanal 0 Routing -> SPEAKER_LOW_FREQUENCY
Voice 2 A.wav Kanal 1 Routing -> SPEAKER_FRONT_LEFT

Default Routing:

Wave-Files können im Header eine Angabe beinhalten, wohin die Kanäle geroutet werden sollen. Falls diese
Routing-Information nicht vorhanden ist werden den einzelnen Kanälen der Audiodatei Ausgänge durch den
Waveplayer zugewiesen:

Einem Monofile ohne Routinginformation im Header bekommt für seinen Kanal SPEAKER_FRONT_LEFT zugeordnet.
Ein Stereo-File SPEAKER_FRONT_LEFT für Kanal 0 und SPEAKER_FRONT_RIGHT für Kanal 1.

Bei einem 6 Kanal-File wird angenommen, dass es sich um ein 5.1 Surround-File handelt :

SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT
SPEAKER_FRONT_CENTER
SPEAKER_LOW_FREQUENCY
SPEAKER_BACK_LEFT
SPEAKER_BACK_RIGHT

Bei einem 8 Kanal-File wird angenommen, dass es sich um ein 7.1 Surround-File handelt :

SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT
SPEAKER_FRONT_CENTER
SPEAKER_LOW_FREQUENCY
SPEAKER_BACK_LEFT
SPEAKER_BACK_RIGHT
SPEAKER_SIDE_LEFT
SPEAKER_SIDE_RIGHT

Entspricht die Wavedatei keinem der genannten Fälle und ist auch kein Routing im Wave-Header spezifiziert,
so wird allen Kanälen des Files SPEAKER_FRONT_LEFT als Default zugewiesen. Um die Files auf ihren
Default-Kanal zu routen, müssen alle Slices des Routing-Pins auf -1 stehen. Sind -1 und andere Werte
gemischt, beispielsweise:

Routing:

-1
0
1
-1
3

so werden nur 0,1,3 verwendet und wie oben zyklisch über die vorhanden Kanäle verteilt, alle Werte mit -1
verfallen.

Routing:

0
1
1
3
4
5
6

ergibt beispielsweise:

Voice 0 A.wav Kanal 0 Routing -> 0
Voice 0 A.wav Kanal 1 Routing -> 1
Voice 1 B.wav Kanal 0 Routing -> 1
Voice 2 A.wav Kanal 0 Routing -> 3
Voice 2 A.wav Kanal 1 Routing -> 4

Anmerkung:

Ist die Soundkarte nur stereofähig so werden alle Kanäle die nicht geroutet werden können, automatisch durch
die Karte auf die beiden vorhandenen Kanäle gemischt. Werden bei einer multikanalfähigen Soundkarte
Audioströme auf Ausgänge geroutet die nicht vorhanden (oder nicht in der Soundkarte eingestellt) sind, so
kann es vorkommen dass sie auf anderen Ausgänge zu hören sind. Werden mehrere Kanäle auf einen Ausgang
geroutet, so werden diese durch den Waveplayer aufsummiert und durch ihre Anzahl geteilt. Zu testen ist das
Routing mit der aktuellen Version des Waveplayer-Helpfiles und einer mehrkanalfähigen Soundkarte.

anonymous user login

Shoutbox

~5d ago

~8d ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/

~14d ago

schlonzo: Love the new drag and drop functionality for links in latest previews!

~22d ago

joreg: Workshop on 29 02: Create Sequencers and Precise Clock Based Tools. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-08-create-sequencers-and-precise-clock-based-tools-in-vvvv-gamma/

~29d ago

joreg: Workshop on 22 02: Unlocking Shader Artistry: A Journey through ‘The Book of Shaders’ with FUSE. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-12-book-of-shaders/

~1mth ago

joreg: Talk and Workshop on February 15 & 16 in Frankfurt: https://visualprogramming.net/blog/vvvv-at-node-code-frankfurt/

~1mth ago

woei: @Joanie_AntiVJ: think so, looks doable

~1mth ago

xd_nitro: Anyone remember who increased projector brightness by removing some components that product the color?

~1mth ago

Joanie_AntiVJ: This looks super interesting (vectors over network) would anyone here know how to implement this in beta? https://github.com/madmappersoftware/Ponk