Haza > hírek > Tartalom

FT800 Audio Primer-Audio motor

Nov 02, 2018

2 hangmotor


Különféle hanghatásokat és fájlokat játszhat le az FT800. A kimenet PWM-ként van megadva

jelet egyetlen tűre, AUDIO_L. Két audioforrás van, a hangszínteszt és a

Audió lejátszás.


-2.1 Hangszintetizátor

A hanghatások előre betöltődnek a ROM hullámtárba, és nem igénylik az FT800 bármelyikét

RAM helyet. A legtöbb hallható felhasználói visszajelzést ezekkel a hatásokkal, például egy kattintással lehet biztosítani

ha megnyomja a képernyőgombot, a távirányító DTMF hangja vagy a riasztó panel figyelmeztet. A legtöbb

a hatások egyszer játszanak, majd megállnak. Mások folyamatosan játszanak. A hangok teljes listája és

jellemzői az alábbiak:

Érték Hatás Folyamatos Hangmagasság
beállítani
Érték Hatás Folyamatos Hangmagasság
beállítani
00h Csend Y N 32h DTMF 2 Y N
01h négyzethullám Y Y 33h DTMF 3 Y N
02h szinuszos hullám Y Y 34h DTMF 4 Y N
03h fűrészfog hullám Y Y 35h DTMF 5 Y N
04h háromszög hullám Y Y 36h DTMF 6 Y N
05h csipogó Y Y 37h DTMF 7 Y N
06h Riasztás Y Y 38h DTMF 8 Y N
07h Trillázás Y Y 39h DTMF 9 Y N
08h Körhinta Y Y 40h hárfa N Y
10h 1 rövid pip N Y 41h xilofon N Y
11h 2 rövid pipetta N Y 42h tuba N Y
12h 3 rövid pipetta N Y 43H glockenspiel N Y
13h 4 rövid pipa N Y 44H szerv N Y
14h 5 rövid pipa N Y 45h trombita N Y
15h 6 rövid pipa N Y 46H zongora N Y
16h 7 rövid pipát N Y 47h harangjáték N Y
17h 8 rövid pipetta N Y 48h zene doboz N Y
18h 9 rövid pipát N Y 49h harang N Y
19h 10 rövid pipetta N Y 50h kettyenés N N
1ah 11 rövid pipát N Y 51h kapcsoló N N
1Bh 12 rövid pipa N Y 52H kolomp N N
1ch 13 rövid pipa N Y 53h bemetszés N N
1DH 14 rövid pipetta N Y 54h hihat N N
1 Eh 15 rövid pipetta N Y 55H kickdrum N N
1Fh 16 rövid pipetta N Y 56h pop N N
23h DTMF # Y N 57h kattogás N N
2Ch DTMF * Y N 58H chack N N
30h DTMF 0 Y N 60h néma N N
31h DTMF 1 Y N 61H némításfeloldás N N


Számos effekt lehetővé teszi a hangmagasság szabályozását (MIDI megjegyzés), így különböző hangokat lehet létrehozni. Standard MIDI-jegyzet-hozzárendelések használatosak:

MIDI megjegyzés ANSI megjegyzés Freq (Hz) MIDI megjegyzés ANSI megjegyzés Freq (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 A # 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 E4 329,6 108 C8 4186,0


A hangszintézist a következő regiszterek vezérlik:

 REG_SOUND

o Bit 31-16 = Nem érdekel

O bit 15-8 = MIDI megjegyzés (pitch)

o Bits 7-0 hatás

 REG_PLAY

O bit 31-1 = Nem érdekel

o Bit0 = Lejátszási / lejátszási állapot indítása

 Írja = 1, hogy elkezdje a kiválasztott lejátszást a REG_SOUND-ban

 Olvasás = 1 jelzi a jelenleg lejátszott hatást

 Olvasás = 0 jelzi a hatás befejezését

 REG_VOL_SOUND

o A 31-8 bitek nem érdekelnek

O bit 7-0 = kimeneti hangerő

Olvassa és írja az FT800 memóriaterületet a "kis endian" formátummal, ahol

az első bájt lesz a legkevésbé jelentős. Például, fontolja meg a zongora effektust (0x46) A4-es lejátszással

(0x45). Az SPI vagy I2C interfész adatai egy Host Memory Write szekvenciából állnak

a következő adatok rendelésre:

0x90 = Host memória Átvitel (0x80) és regiszter cím első bájtja (0x10)

0x24 = regiszter cím második bájtja

0x84 = regisztrációs cím harmadik bájtja

0x46 = zongora hatás

0x45 = megjegyzés / pitch = A4 (440Hz)

0x00 = nem érdekel, opcionális

0x00 = nem érdekel, opcionális

Ne feledje, hogy az utolsó két bájtot nem kell írni, tehát egy 16 bites Host Memory Write lehet

megfelelnek a nyilvántartásban szereplő értékeknek. A befogadó memória írásának további magyarázata

Memória olvasás és befogadó memória A parancs adatátvitelek megtalálhatók az AN_240 FT800-ban

Ground Up.


-2.2 Hangfájlok

Lehetnek alkalmazások, ahol valami több, mint az egyszerű hangszintézisre van szükség. mert

Például egy hanghívás vagy egyéb bejelentés szükséges lehet a felhasználó számára

utasítás. Az FT800 támogatja a következő egycsatornás (mono) formátumú fájlok lejátszását:

 8 bites aláírt PCM - tömörítetlen nyers audio

 8 bites μLAW - nem lineáris tömörített hang

 4 bites IMA-ADPCM - további tömörített μLAW, ahol minden bájt két 4 biteset tartalmaz

minták

Az FT800-nak 256Kbytes objektumrúdja (RAM_G) van a videoobjektumok (képek és betűtípusok) és

audio objektumok (rögzített hangok). A helyet a gazdaszervezetnek kell kezelnie, így

az információk nem kerülnek felülírásra, amíg nem szükséges többé.

Az audiofájlok a Host Memory Write tranzakción keresztül töltődnek be a rendelkezésre álló helyre és vannak

szükséges, hogy 8 bájtra legyen igazítva (64 bites).

Miután a RAM_G memóriába egy audio fájlt töltöttek be, a lejátszás a következő módon történik

nyilvántartások:

 REG_PLAYBACK_START

o Bits 31-20 = nem érdekel

o 19-0 bitek = a fájl RAM_G-ben lévő 20-bites kezdő címe

 REG_PLAYBACK_LENGTH

o Bits 31-20 = nem érdekel

O bitek 19-0 = a fájl RAM_G-n belüli 20 bites hosszúsága

 REG_PLAYBACK_FREQ

o 31-16 bitek = nem érdekel

o Bitek 15-0 = 16 bites lejátszási mintavételi frekvencia, Hz-ben

 REG_PLAYBACK_FORMAT

o A 31-2 bitek nem érdekelnek

o Bitek 1-0 = 2 bites lejátszási formátum

 0 = lineáris vagy tömörítetlen PCM

 1 = μLaw

 2 = ADPCM

 3 = nem definiált

 REG_PLAYBACK_LOOP

o 31-1 bitek = nem érdekel

o Bit 0 = 1 bites lejátszási stílus

 0 = egyszer játszani

 1 = folyamatos lejátszás

 REG_PLAYBACK_PLAY

o 31-1 bitek = nem érdekel

o Bit 0 = Indítsa el a lejátszás / lejátszás állapotát

 Írja = 0 vagy 1 a REG_SOUND kiválasztás megkezdéséhez

 Olvasás = 1 jelzi a jelenleg lejátszott fájlt

 Olvasás = 0 jelzi, hogy a fájl befejeződött

 REG_PLAYBACK_READPTR

o Bits 31-20 = nem érdekel

o Bit 19-0 = 20 bites mutató az aktuális lejátszási helyről

 REG_VOL_PB

o A 31-8 bitek nem érdekelnek

O bit 7-0 = kimeneti hangerő


-2.2.1 Konverziós segédprogram

Az FTDI egy hangfájl-konvertáló segédprogramot használ, amelyet "AUD_CVT" -nek neveznek, hogy közös fájlformátumot készítsen

hozza létre az FT800 által támogatott háromféle fájlt. A segédprogramhoz tartozó hivatkozás a

A dokumentum "A függeléke - Hivatkozások" című részében.

A forrásfájl nyers (tömörítetlen) 16 bites PCM, mono WAV fájl. Egy ilyen fájl képes

létre lehet hozni egy általánosan elérhető hangszerkesztő programmal, mint például az Audacity. Egyszer a

forrásfájl elérhető, egyszerűen futtassa a segédprogramot egy parancssorba:

aud_cvt -i inputfilename -f formátum

ahol a "formátum" = 0 a 8 bites aláírt PCM esetén

= 1 a 8 bites μLaw esetén

= 2 a 4 bites IMA ADPCM esetén

A létrehozott fájlok mappája létrejön. Ezeket a fájlokat azután be lehet tölteni a

Az FT800 RAM_G memóriaterületét.

A hang átalakító segédprogram nyers és tömörített fájlt ad ki minden egyes kiválasztott formátumhoz. Azt

hasznos lehet a fogadó MCU-n tárolni a tömörített fájlokat, majd bővíteni őket a

RAM_G puffer, ha szükséges. Lásd a 4. fejezetet a részletekért.