Referenzhandbuch
|
Kapitel 28
|
Sound
Sound-Objekte werden benötigt, um Audioinformationen zu speichern. Diese Informationen können von einem IFF-8SVX-File mittels
LoadSound eingeladen oder "per Hand" mit einer Basicroutine unter Benutzung von
InitSound und SoundData entworfen werden. Nachdem ein Sound kreiert wurde, kann
er später wieder abgespielt werden.
Befehl: LoadSound
Syntax: LoadSound Soundnummer,Filename$
Modus: Amiga
LoadSound kreiert ein Soundobjekt zum späteren Abspielen. Der Sound wird einem IFF-8SVX-File entnommen.
Ein Fehler wird erzeugt, wenn ein falsches Fileformat vorliegt.
Beispiel:
LoadSound 0,"Zap.iff"
Sound 0,1
MouseWait
End
siehe auch: Sound
Befehl: Sound
Syntax: Sound Soundnummer,Kanalmaske[Lautstärke1[,Lautstärke2...]]
Modus: Amiga/Blitz
Sound legt fest, welcher Audiokanal den Sound Soundnummer mit welcher
Lautstärke abspielt.
Mögliche Lautstärkewerte: 0 - 64
(0 = leise, 64 = laut)
Mögliche Kanalmaskenwerte: 1 - 15
Nachfolgend erhalten Sie eine Liste der Kanalmaskenwerte und deren Effekte.
Kanal-Maske |
Kanal 0 |
Kanal 1 |
Kanal 2 |
Kanal 3 |
1 |
an |
aus |
aus |
aus |
2 |
aus |
an |
aus |
aus |
3 |
an |
an |
aus |
aus |
4 |
aus |
aus |
an |
aus |
5 |
an |
aus |
an |
aus |
6 |
aus |
an |
an |
aus |
7 |
an |
an |
an |
aus |
8 |
aus |
aus |
aus |
an |
9 |
an |
aus |
aus |
an |
10 |
aus |
an |
aus |
an |
11 |
an |
an |
aus |
an |
12 |
aus |
aus |
an |
an |
13 |
an |
aus |
an |
an |
14 |
aus |
an |
an |
an |
15 |
an |
an |
an |
an |
Die in der Tabelle neben den entsprechenden Maskenwert mit "aus" gekennzeichneten Kanäle werden beim Abspielen des Sounds
nicht verwendet.
Die Lautstärke-Parameter erlauben eine individuelle Einstellung der Lautstärke der
unterschiedlichen Audiokanäle. Die Lautstärke muß im Bereich von 0 bis
64 eingestellt werden. 0 ist leise,
64 laut eingestellt. Der erste Lautstärke-Parameter bestimmt
die Lautstärke des Audiokanals mit der kleinsten Nummer, der "an"geschaltet ist, der zweite Parameter die Lautstärke für
den Audiokanal mit der nächsthöheren Nummer usw..
Hier ein Beispiel:
Sound 0,10,32,16
Gespielt wird Sound 0, der Wert 10 ist die Kanalmaske für
"Kanal 1 und 3 an".
32 bestimmt die Lautstärke für Kanal 1 mit dem Wert 32.
16 bestimmt die Lautstärke für Kanal 3 mit dem Wert 16.
Nicht gesetzte Lautstärkeparameter werden automatisch auf 64 gestellt.
Beispiel:
LoadSound 0,"MeinSound.iff"
Sound 0,15,8,16,32,64
MouseWait
End
siehe auch: LoadSound
Befehl: LoopSound
Syntax: LoopSound Soundnummer,Kanalmaske[Lautstärke1[,Lautstärke2...]]
Modus: Amiga/Blitz
LoopSound arbeitet wie Sound. Hier wird allerdings der Sound wiederholt
abgespielt. Mit "wiederholt gespielt" ist gemeint, daß der Sound einmal abgespielt wird und dann von einem bestimmten
Punkt an wiederholt wird. Die Information für die Wiederholungsstelle wird durch LoadSound mit dem
IFF-8SVX-File geladen oder durch den Offset-Parameter des InitSound-Befehls
festgelegt.
Weitere Erklärungen finden Sie unter Sound.
Beispiel:
LoadSound 0,"MeinSound.iff" ;lade Sound und Loop-Info
LoopSound 0,15
MouseWait
siehe auch: Sound
Befehl: Volume
Syntax: Volume Kanalmaske[Lautstärke1[,Lautstärke2...]]
Modus: Amiga/Blitz
Volume ermöglicht das Einstellen der Lautstärke und somit einen Fadeeffekt für die
Lautstärke. Somit sind Soundein- oder Ausblendungen möglich.
Weitere Erklärungen der Parameter finden Sie unter Sound.
Beispiel:
LoadSound 0,"MeinSound.iff"
Sound 0,1
For v=64 To 0 Step -16
VWait ;ein Frame warten
Volume 1,v ;und neue Lautstärke setzen
Next
MouseWait
End
siehe auch: Sound
Befehl: InitSound
Syntax: InitSound Soundnummer,Länge[,Periode[,Repeat]]
Modus: Amiga/Blitz
InitSound initialisiert ein Soundobjekt und ermöglicht dem Anwender das Anfertigen eines Sounds
über den SoundData-Befehl. Somit können einfache Soundwellen, wie Sinus- und Rechteckwellen,
erzeugt werden.
Länge bestimmt die Soundlänge in Byte und darf 128k nicht überschreiten.
Länge muß einen geraden Wert haben.
Periode legt die Frequenz des Tons fest. 428 entspricht dem
mittleren C.
Repeat ist der Offset zur Soundwiederholung. Näheres hierzu finden Sie unter
LoopSound.
Beispiel:
InitSound 0,32
co.f=Pi/32/2 ;um vom Radianten- in ein "32-Grad"-System umzurechnen
For k=0 To 31
SoundData 0,k,Sin(k*co)*127
Next
LoopSound 0,15
MouseWait
siehe auch: SoundData, Sound
Befehl: SoundData
Syntax: SoundData Soundnummer,Offset,Data
Modus: Amiga/Blitz
SoundData ermöglicht das manuelle Erstellen einer Wellenform für ein Soundobjekt. Dieses
Soundobjekt wird normalerweise mit InitSound erzeugt, obwohl eine Abänderung von IFF-Sounds
ebenfalls legal ist.
SoundData verändert ein Byte der Sounddaten, das durch Offset
festgelegt wird.
Data gibt das aktuelle Byte an, das in den Sound gesetzt werden soll, und muß im Bereich von
-128 bis +127 liegen.
Beispiel:
InitSound 0,32 ;Soundobjekt initialisieren
For k=0 To 31 ;hier machen wir eine quadratische Wellenform
If k<16
SoundData 0,k,127
Else
SoundData 0,k,-128
EndIf
Next
LoopSound 0,15 ;spiele den Sound ab!
MouseWait
siehe auch: InitSound, Sound, LoopSound
Befehl: PeekSound
Syntax: PeekSound (Soundnummer,Offset)
Modus: Amiga/Blitz
PeekSound gibt das Byte eines Samples mit dem angegebenen Offset des
angegebenen Soundobjektes zurück.
siehe auch: SoundData, InitSound
Befehl: DiskPlay
Syntax: DiskPlay Filename$,Kanalmaske[,Lautstärke1[,Lautstärke2...]]
Modus: Amiga
DiskPlay spielt einen IFF-8SVX-Sound direkt von der Disk. Dies ist ideal, wenn Sie ein Sample abspielen wollen,
ohne den Sound vorher zu laden, abzuspielen und dann wieder freizugeben. DiskPlay hält den Programmablauf
an, bis der Sound zu Ende gespielt ist. DiskPlay erlaubt das Abspielen von Samples beliebiger Länge,
während LoadSound nur Samples bis 128k laden kann.
Weitere Informationen zu den Kanalmaske- und
Lautstärke-Parametern erhalten Sie unter dem Sound-Befehl.
Beispiel:
DiskPlay "Introduction.iff",1,64
siehe auch: DiskBuffer, Sound
Befehl: DiskBuffer
Syntax: DiskBuffer Pufferlänge
Modus: Amiga/Blitz
DiskBuffer erlaubt das Verändern der Diskpufferlänge für das Abspielen von Sounds über das
DiskPlay-Kommando. Voreingestellt sind 1024 Byte Länge. Normalerweise sollte dieser Wert nicht
vergrößert werden. Eine zu große Reduzierung der Puffergröße vermindert die Soundqualität des
DiskPlay-Kommandos. Wenn Sie sehr langsame Laufwerke benutzen, kann die Puffergröße verlängert
werden.
siehe auch: DiskPlay
Befehl: Filter
Syntax: Filter On/Off
Modus: Amiga/Blitz
Filter schaltet den Lowpassaudiofilter des Amigas an oder aus.
Filter On
DiskPlay "MySound",1
AB2 erlaubt jetzt das Laden und Abspielen von Musikmodulen, die mit Soundtracker- oder Noisetracker-kompatiblen Programmen angefertigt
wurden. Es können mehrere Modulobjekte gleichzeitig eingeladen werden.
Befehl: LoadModule
Syntax: LoadModule Modulnummer,Filename$
Modus: Amiga
Lädt ein Sound- oder Noisetracker-Musikmodul von der Disk. Dieses kann mit PlayModule später
abgespielt werden.
siehe auch: PlayModule, StopModule
Befehl: Free Module
Syntax: Free Module Modulnummer
Modus: Amiga/Blitz
Entfernt ein Modul aus dem Speicher. Der Speicherbereich wird freigegeben.
siehe auch: LoadModule
Befehl: PlayModule
Syntax: PlayModule Modulnummer
Modus: Amiga/Blitz
Spielt das Modul Modulnummer ab.
|