Skip to content

soundHandling

extrazi edited this page Jun 3, 2021 · 5 revisions
original    original
EN     PL
Manual M4nfo & Raport Techniczny

Table of Contents

Obsługa dźwięku

Definiowanie dźwięków, właściwości dźwięku i obsługa dźwięków

Introduction
m4nfo umożliwia użycie dźwięków na trzy różne sposoby:

Definicja binarnych sampli dźwiękowych

Podczas definiowania niestandardowych próbek dźwięków dołączonych binarnie, nowo zdefiniowanym dźwiękom zostaną przypisane identyfikatory dźwięków ponumerowane kolejno, począwszy od 73 (0x49). 'ID'-dźwięków 0 ... 72 reprezentują oryginalne dźwięki TTD.
Właściwości
Funkcja Opis
defsnd( <String>, <String>) Definiuje binarny plik dźwiękowy
refsnd(<String>) Zwraca ID-dźwięku wcześniej zdefiniowanego dźwięku
soundtable({defsnd()}) Definiuje tabelę 'ID' dźwięku
Opis

defsnd(<String>, <String>)

Ta funkcja definiuje nową próbkę dźwięku, łącząc nazwę pliku próbki (drugi parametr) z dowolnie nazwaną etykietą (pierwszy parametr). Etykieta służy do uzyskiwania dostępu do określonej próbki z różnych funkcji efektów dźwiękowych i jest wewnętrznie połączona z identyfikatorem dźwięku powyżej 73.

Przykładowe pliki dźwiękowe muszą być w formacie WAV, 8-bitowe mono, kodowanie PCM. Istnieją dwie dozwolone częstotliwości: 11025 Hz i 22050 Hz. Ze względu na ograniczenia formatu GRF TTD rozmiar pliku nie może przekraczać 64 kB.

refsnd(<String>)

Ta funkcja odwołuje się do wcześniej zdefiniowanej nowej próbki dźwiękowej za pomocą wartości zwracanej przez wywołanie zwrotne w CB_SOUND . Aby zapoznać się z przykładem aplikacji, zobacz soundevent() .

soundtable({defsnd()})

Ta funkcja definiuje zestaw dźwięków. Jest to po prostu 'opakowanie' (wrapper) dla wszystkich nowo zdefiniowanych próbek dźwiękowych, aw nowym pliku GRF może znajdować się tylko jedna soundtable() (tablica dźwiękowa) .

 Przykład (definiowanie dźwięków lokomotywy):
 
 soundtable(
 	defsnd(SND_SVT137, svt137.wav)
 	defsnd(SND_V140, v140.wav)
 	defsnd(SND_VT08, vt08k.wav)
 	defsnd(SND_VT08TUN, vt08l.wav)
 	defsnd(SND_VT95, vt95.wav)
 	defsnd(SND_VT11, vt11.wav)
 	defsnd(SND_V100, v100.wav)
 )

Definicja właściwości nowych efektów dźwiękowych

Funkcje te umożliwiają dostosowanie właściwości już zdefiniowanych dźwięków (patrz wyżej).

Właściwości
Funkcja Opis
volume([0]) głosność 'względna'
priority(<Byte>) priorytet
override([0]) zastąpienie starego dźwięku
Opis

volume([0])

Ta funkcja określa głośność efektu dźwiękowego w stosunku do głównej głośności. Maksymalna wartość to "128" (0dB), minimalna to "0" (-24dB). Jeśli nie jest ustawiony, głośność wynosi domyślnie 80 godzin.

priority(<Byte>)

Ta wartość ma znaczenie tylko w wersji TTDPatch DOS, w której jest ograniczona liczba kanałów miksowania. Im mniejszy jest ten bajt, tym wyższy priorytet dźwięku. Jeśli dźwięk ma być odtwarzany, gdy wszystkie kanały miksujące są zajęte, mikser zatrzyma jeden z dźwięków o niższym priorytecie. Mniej ważne dźwięki powinny mieć ten bajt wyższy. Jeśli nie jest ustawiony, priorytet przyjmuje wartość domyślną "0" .

override([0])

Zastępuje dany stary dźwięk (tj. ID-dźwięków 0 .. 72) bieżącym. Spowoduje to również zmianę efektu dźwiękowego, aby używał względnej głośności i priorytetu skojarzonego z bieżącym.

definesound(<String>,<block>)

Ta funkcja ustawia właściwości określonego dźwięku, jak wyjaśniono powyżej (głośność, priorytet, nadpisanie). Jego parametrami są etykieta dźwięku i blok funkcji definiujących właściwości, gdzie względne położenie funkcji właściwości nie ma znaczenia.

 Przykład (ustawianie właściwości dźwięku pracy VT95):
 
 definesound(SND_VT95,
 	volume(100)  // 0 .. 80h
 	priority(0)  // highest
 	override(23) // override given old sound
 )

Callbacks for handling sound effects

Istnieją dwa rodzaje wywołań zwrotnych do obsługi efektów dźwiękowych, jeden do obsługi efektów dźwiękowych pojazdów i mostów (CB_SOUND), a drugi do obsługi efektów dźwiękowych otoczenia.

Dźwiękowe wywołanie zwrotne dla pojazdów

Callback CB_SOUND jest udokumentowany odpowiednimi pojazdami, np. dla trains . Tutorial m4nfo zawiera pełny przykład dźwięku dla trains .

Callback z dźwiękiem otoczenia

To wywołanie zwrotne to ogólne wywołanie zwrotne używane do odtwarzania efektów dźwiękowych otoczenia.

Wartość zwracana to liczba efektu dźwiękowego. Wartości 0… 72 to wbudowane efekty dźwiękowe TTD, poza tym wartości odnoszą się do niestandardowych dźwięków zdefiniowanych powyżej.

Aby zdecydować, czy odtwarzać dźwięk i jaki dźwięk odtwarzać, używana jest funkcja ambientsound() .

Należy pamiętać, że ta funkcja nie została obecnie zaimplementowana w m4nfo.

Clone this wiki locally