Klucove slova: hlasic, player, playerdriver, prehravanie, zvuk
Formát mp3: 32kbit, 22050Hz, mono
Generovanie binarneho suboru sa vykonava na zaklade vstupu z back-office aplikacie s nazvom 'sound.bin'.
Algoritmus generovania ma stanovenu priporitu, podla coho sa ma zastavkovy zvuk generovat, tzv. priority generovania zvukoveho suboru.
Ako prve algoritmus nacita kolekciu zastavkovych zvukov z binarneho suboru (dalej uz len kolekcia).
Priority generovania zvukoveho suboru:
Spolocny krok pre vsetky priority:
GENERUJ_MP3 - Z vysledneho intervalu zastavkovych zvukov podla kriterii sa pokusi algoritmus vygenerovat zvuk pre pozadovane ID zastavky. Ak zvuky pre zastavkove ID neexistuju, pokracuje sa na nizsiu prioritu.
Struktura kolekcie zastavkovych zvukov je popisana v strukture suboru v casti “Zvuky priradene zastavkam a linkam,zotriedene postupne podla linky, smeru, spoja, zastavky”.
Funkcionalita generovania zvukovych zaznamov je implementovana v aplikacii palubneho pocitaca na platforme emtes_xscale_26 v triede 'ehlasicparser .cpp .h'
Subor bude ulozeny od adresy 0000, sklada sa zo 7 casti:
| velkost | nazov polozky | popis |
|---|---|---|
| 4 byte | test | cislo 0x5a5a5a5a |
| 4 byte | velkostSuboru | celkova velkost (1)+(2)+(3)+(4)+(5)+(6) |
| 4 byte | adrCfgSTA | absolutna adresa zaciatku (2) |
| 2 byte | velkostCfgSTA | |
| 4 byte | pocetZvukov | |
| 4 byte | adrOffset | absolutna adresa zaciatku (3) |
| 4 byte | UdaOffset | absolutna adresa zaciatku (4) |
| 4 byte | zvuOffset | absolutna adresa zaciatku (5) |
| 4 byte | adrData | absolutna adresa zaciatku (6) |
| 4 byte | adrProgram | absolutna adresa zaciatku (7) |
| 4 byte | Rezerva |
Ide o subor od vyrobcu cipu, ktory sa pouziva v starom hlasici. Na Inteli nie je potrebny, ale kvoli kompatibilite so starym strojcekom sa tam pridava. Vznikne skonvertovanim textoveho suboru STA013.cfg do binarneho tvaru. Subor obsahuje dva stlpce jednobajtovych cisel v dekadickom tvare:
58 1
42 4 → v binarke budu nasedovat: 58,1,42,4,40,0 ….
40 0 …
| velkost | nazov polozky | popis |
|---|---|---|
| 4 byte | adrZvuk | adresa zvuku (adrData + adrZvuk = Offset zaciatku zvuku) |
| 4 byte | velkostZvuk | velkost zvuku |
Zotriedene su podla udalosti a zvuky nasleduju v poradi v akom sa maju prehrat.
| velkost | nazov polozky | popis |
|---|---|---|
| 1 byte | TypUdalosti | |
| 1 byte | TypZvuku | 0- konstanta alebo 1- premenna |
| 1 byte | Kanal | |
| 1 byte | Rezerva | |
| 4 byte | Cislo Zvuku | poradie v kolekcii offsetov(cast 3) Cislo zvuku z binarky pre hlasic - Typ zvuku je 0 Linkovy alebo zastavkovy zvuk: - 101 - Linkova premenna - 102 - zastavkova premenna konkretne cislo zvuku sa vyhlada v casti 5 suboru v hlasici |
Popis - Typ udalosti
| Typ udalosti ID | Nazov |
|---|---|
| 1 | Príchod na zastávku |
| 2 | Odchod zo zastávky |
| 3 | Rezim Datum/cas |
| 4 | Linka/Spoj |
| 5 | Info pre nevidomeho |
| 6 | Nastup nevidomeho |
| 7 | Prva zastavka |
| 8 | Konecna zastavka |
| 9 | Zastavka na znamenie |
| 10 | Kontrola revizorom |
| 11 | Havaria |
| 12 | Zmena pásma-príchod |
| 13 | Zmena pásma-odchod |
| 14 | Hranicna zastavka |
| 15 | Pasmo |
| 16 | Podla vyberu |
| 17 | Kazda 2.zast. |
| 18 | Kazda 3.zast. |
| 19 | Kazda 4.zast. |
| 20 | Kazda 5.zast. |
| 21 | Kazda 6.zast. |
| 22 | Kazda 7.zast. |
| 23 | Kazda 8.zast. |
| 24 | Kazda 9.zast. |
| 25 | Kazda 10.zast. |
| 26 | statie na zast. |
| 27 | Nasl.zast po prich. |
| 28 | nevid.iden.tabule |
| 29 | nevid.riadok.tabule |
Popis - Typ zvuku
| Typ zvuku | Popis |
|---|---|
| 0 | Konstanta |
| 1 | Premenna |
Popis - Kanal
| Kanal ID | Popis |
|---|---|
| 1 | Externy (z vozidla) |
| 2 | Interny (vo vozidle) |
| 3 | Vodic (pre vodica) |
| 21 | Interny, externy (z vozidla aj vo vozidle) |
| 31 | Vodic, externy (pre vodica aj z vozidla) |
| 32 | Vodic, interny (pre vodica aj vo vozidle) |
| 123 | Externy, interny, pre vodica (z vozidla, vo vozidle aj pre vodica) |
| velkost | nazov polozky | popis |
|---|---|---|
| 4 byte | CisloLinky | |
| 1 byte | SmerLinky | 0-smer OBA, 1-smer TAM, 2-smer SPAT |
| 1 byte | Rezerva | |
| 4 byte | CisloSpoja | |
| 4 byte | CisloZastavky | Global ID zastavky |
| 2 byte | CisloZvuku | poradie v kolekcii offsetov(cast 3) |
Zvuky vo formate MP3 spojene do jedneho binarneho suboru
Usek pozadovanej MP3:
zaciatok = AdrData(z hlavicky) + AdrZvuk(cast 3)
koniec = zaciatok + velkostZvuk
Transoffice < 10.1 sa v generatore binarneho suboruy vyskytovala chyba ze pre smer 'oba' a 'spat' sa do linkoveho zaznamu nastavila hodnota 0. Aplikacia tym padom nedokazala zistit linkove zvuky pre smer 'spat'.
Od Transoffice >= 10.1 v generatore sa spravne generuju hodnoty smeru nasledovne: - hodnota 0 - smer 'oba' - hodnota 1 - smer 'tam' - hodnota 2 - smer 'spat'