Strona główna > Aktualności > Treści

FT800 Audio Primer-Audio Engine

Nov 02, 2018

2 Audio Engine


Różne efekty dźwiękowe i pliki mogą być odtwarzane przez FT800. Dane wyjściowe są dostarczane jako PWM

sygnał na pojedynczej szpilce, AUDIO_L. Istnieją dwa źródła dźwięku: syntezator dźwięku i

Odtwarzanie dźwięku.


-2.1 Syntezator dźwięku

Efekty dźwiękowe są wstępnie załadowane do biblioteki fal ROM i nie wymagają użycia żadnego z FT800

Przestrzeń RAM. Większość słyszalnych informacji zwrotnych od użytkowników można uzyskać za pomocą tych efektów, takich jak kliknięcie

po naciśnięciu przycisku ekranowego, sygnały DTMF dla operatora telekomunikacyjnego lub ostrzeżenie panelu alarmowego. Większość

efekty zostaną odtworzone raz, a następnie zatrzymają się. Inni będą grać ciągle. Pełna lista dźwięków i

funkcje są pokazane poniżej:

Wartość Efekt Ciągły Smoła
dostosować
Wartość Efekt Ciągły Smoła
dostosować
00h Cisza Y N 32 godz DTMF 2 Y N
01h kwadratowa fala Y Y 33h DTMF 3 Y N
02h sinusoida Y Y 34 godz DTMF 4 Y N
03h fala sawtooth Y Y 35h DTMF 5 Y N
04h fala trójkąta Y Y 36h DTMF 6 Y N
05h Beeping Y Y 37h DTMF 7 Y N
06h Alarm Y Y 38h DTMF 8 Y N
07h Jodłować Y Y 39h DTMF 9 Y N
08h Karuzela Y Y 40 godz harfa N Y
10h 1 krótki pip N Y 41h ksylofon N Y
11h 2 krótkie pestki N Y 42h tuba N Y
12h 3 krótkie pestki N Y 43h glockenspiel N Y
13h 4 krótkie pestki N Y 44h organ N Y
14h 5 krótkich pipsów N Y 45h trąbka N Y
15h 6 krótkich pipsów N Y 46h fortepian N Y
16h 7 krótkich pipsów N Y 47h kuranty N Y
17h 8 krótkich pipsów N Y 48h Pozytywka N Y
18h 9 krótkich pipsów N Y 49h dzwon N Y
19h 10 krótkich pipsów N Y 50h Kliknij N N
1Ah 11 krótkich pipsów N Y 51h przełącznik N N
1Bh 12 krótkich pipsów N Y 52h cowbell N N
1Ch 13 krótkich pipsów N Y 53h karb N N
1Dh 14 krótkich pipsów N Y 54h hihat N N
1Eh 15 krótkich pipsów N Y 55h kopnąć perkusję N N
1Fh 16 krótkich pipsów N Y 56h Muzyka pop N N
23h DTMF # Y N 57h klekotać N N
2Ch DTMF * Y N 58h chack N N
30h DTMF 0 Y N 60h niemy N N
31h DTMF 1 Y N 61h przestań ignorować N N


Wiele efektów pozwala na regulację wysokości tonu (nuta MIDI), dzięki czemu można generować różne tony. Stosowane są standardowe przypisania nut MIDI:

Notatka MIDI ANSI note Częstotliwość (Hz) Notatka MIDI ANSI note Częstotliwość (Hz)
21 A0 27,5 65 F4 349.2
22 A # 0 29.1 66 F # 4 370,0
23 B0 30,9 67 G4 392,0
24 C1 32,7 68 G # 4 415,3
25 C # 1 34,6 69 A4 440,0
26 D1 36,7 70 # 4 466,2
27 D # 1 38,9 71 B4 493,9
28 E1 41.2 72 C5 523.3
29 F1 43,7 73 C # 5 554.4
30 F # 1 46.2 74 D5 587,3
31 G1 49,0 75 D # 5 622,3
32 G # 1 51,9 76 E5 659,3
33 A1 55,0 77 F5 698.5
34 A # 1 58,3 78 F # 5 740,0
35 B1 61,7 79 G5 784,0
36 C2 65,4 80 G # 5 830,6
37 C # 2 69.3 81 A5 880.0
38 D2 73.4 82 A 5 932,3
39 D # 2 77,8 83 B5 987,8
40 E2 82.4 84 C6 1046,5
41 F2 87,3 85 C # 6 1108.7
42 F # 2 92,5 86 D6 1174,7
43 G2 98,0 87 D # 6 1244,5
44 G # 2 103,8 88 E6 1318.5
45 A2 110,0 89 F6 1396,9
46 A # 2 116,5 90 F # 6 1480,0
47 B2 123,5 91 G6 1568.0
48 C3 130,8 92 G # 6 1661.2
49 C # 3 138.6 93 A6 1760,0
50 D3 146,8 94 A # 6 1864.7
51 D # 3 155.6 95 B6 1975.5
52 E3 164,8 96 C7 2093.0
53 F3 174,6 97 C # 7 2217.5
54 F # 3 185,0 98 D7 2349.3
55 G3 196,0 99 D # 7 2489.0
56 G # 3 207,7 100 E7 2637.0
57 A3 220,0 101 F7 2793.8
58 A # 3 233,1 102 F # 7 2960,0
59 B3 246,9 103 G7 3136.0
60 C4 261,6 104 G # 7 3322.4
61 C # 4 277,2 105 A7 3520,0
62 D4 293,7 106 A # 7 3729.3
63 D # 4 311,1 107 B7 3951.1
64 E 4 329,6 108 C8 4186,0


Synteza dźwięku kontrolowana jest przez następujące rejestry:

 REG_SOUND

o Bity 31-16 = Nie przejmuj się

o Bity 15-8 = nuta MIDI (tonacja)

o Bity 7-0 Efekt

 REG_PLAY

o Bity 31-1 = Nie przejmuj się

o Bit0 = Uruchom status Play / Play

 Napisz = 1, aby rozpocząć odtwarzanie zaznaczenia w REG_SOUND

 Read = 1 oznacza, że efekt jest aktualnie odtwarzany

 Read = 0 wskazuje, że efekt został zakończony

 REG_VOL_SOUND

o Bity 31-8 = nie przejmuj się

o Bity 7-0 = głośność wyjściowa

Odczyt i zapis do przestrzeni pamięci FT800 są obsługiwane przez format "little endian", gdzie

pierwszy bajt będzie najmniej znaczący. Rozważmy na przykład efekt fortepianu (0x46) w formacie A4

(0x45). Dane na interfejsie SPI lub I2C będą składać się z sekwencji zapisu pamięci hosta z

następujące dane, na zamówienie:

0x90 = Transfer zapisu pamięci hosta (0x80) plus pierwszy bajt adresu rejestru (0x10)

0x24 = drugi bajt adresu rejestru

0x84 = trzeci bajt adresu rejestru

0x46 = efekt fortepianu

0x45 = uwaga / tonacja = A4 (440 Hz)

0x00 = nie obchodzi, opcjonalne

0x00 = nie obchodzi, opcjonalne

Zauważ, że ostatnie dwa bajty nie muszą być zapisywane, więc może być 16-bitowy zapis pamięci hosta

spełniają wartości wymagane w rejestrze. Dalsze objaśnienie zapisu pamięci hosta, hosta

Odczyt pamięci i pamięć hostów Przesyłanie danych poleceń znajduje się w AN_240 FT800 Od

Zmielone.


-2.2 Pliki audio

Mogą istnieć aplikacje, w których konieczne jest coś więcej niż prosta synteza tonów. Dla

na przykład komunikat głosowy lub inne ogłoszenie może być konieczne, aby podać konkretny użytkownik

instrukcje. FT800 obsługuje odtwarzanie plików w następujących formatach jednokanałowych (mono):

 8-bitowy sygnowany PCM - nieskompresowany nieprzetworzony dźwięk

 8-bitowe μLAW - nieliniowe skompresowane audio

 4-bitowe IMA-ADPCM - dodatkowo skompresowane μLAW, gdzie każdy bajt zawiera dwa 4-bitowe

próbki

FT800 ma 256 kilobajtów RAM obiektu (RAM_G) do przechowywania obiektów wideo (obrazy i czcionki) i

obiekty audio (nagrane dźwięki). Przestrzeń musi być zarządzana przez MCU hosta, aby

informacja nie jest nadpisywana, dopóki nie jest już wymagana.

Pliki audio są ładowane poprzez transakcję zapisu pamięci hosta do dostępnego miejsca i są

wymagane do wyrównania 8 bajtów (64-bitowe).

Po załadowaniu pliku audio do pamięci RAM_G, odtwarzanie jest kontrolowane przez następujące

rejestry:

 REG_PLAYBACK_START

o Bity 31-20 = nie obchodzi

o Bity 19-0 = 20-bitowy adres początkowy pliku w RAM_G

 REG_PLAYBACK_LENGTH

o Bity 31-20 = nie obchodzi

o Bity 19-0 = 20-bitowa długość pliku w RAM_G

 REG_PLAYBACK_FREQ

o Bity 31-16 = nie obchodzi

o Bity 15-0 = 16-bitowa częstotliwość próbkowania odtwarzania, w Hz

 REG_PLAYBACK_FORMAT

o Bity 31-2 = nie przejmuj się

o Bity 1-0 = 2-bitowy format odtwarzania

 0 = Liniowy lub nieskompresowany PCM

 1 = μLaw

 2 = ADPCM

 3 = niezdefiniowany

 REG_PLAYBACK_LOOP

o Bity 31-1 = nie obchodzi

o Bit 0 = 1-bitowy styl odtwarzania

 0 = zagraj raz

 1 = odtwarzanie ciągłe

 REG_PLAYBACK_PLAY

o Bity 31-1 = nie obchodzi

o Bit 0 = Uruchom status Play / Play

 Write = 0 lub 1, aby rozpocząć odtwarzanie zaznaczenia w REG_SOUND

 Read = 1 oznacza, że plik jest aktualnie odtwarzany

 Read = 0 oznacza, że plik został zakończony

 REG_PLAYBACK_READPTR

o Bity 31-20 = nie obchodzi

o Bity 19-0 = 20-bitowy wskaźnik bieżącej lokalizacji odtwarzania

 REG_VOL_PB

o Bity 31-8 = nie przejmuj się

o Bity 7-0 = głośność wyjściowa


-2.2.1 Narzędzie do konwersji

FTDI zapewnia narzędzie do konwersji plików audio o nazwie "AUD_CVT", aby uzyskać wspólny format pliku i

utwórz trzy typy plików obsługiwanych przez FT800. Łącze do tego narzędzia znajduje się w

Sekcja "Załącznik A - Referencje" tego dokumentu.

Przyjmuje się, że plik źródłowy jest nieprzetworzonym (nieskompresowanym) 16-bitowym plikiem PCM, mono WAV. Taki plik może

być tworzone za pomocą powszechnie dostępnego programu do edycji dźwięku, takiego jak Audacity. Kiedyś

plik źródłowy jest dostępny, po prostu uruchom narzędzie w wierszu polecenia:

aud_cvt -i nazwa pliku wejściowego -f

gdzie "format" = 0 dla 8-bitowego podpisu PCM

= 1 dla 8-bitowego μLaw

= 2 dla 4-bitowego IMA ADPCM

Zostanie utworzony folder z plikami wynikowymi. Pliki te można następnie wykorzystać do załadowania do

RAM_G obszar pamięci FT800.

Narzędzie do konwersji dźwięku wyświetli surowy i skompresowany plik dla każdego wybranego formatu. To

może być pomocne w MCU hosta do przechowywania skompresowanych plików, a następnie rozwinąć je do

W razie potrzeby bufor RAM_G. Szczegóły w Rozdziale 4.