Startseite > Nachrichten > Inhalt

Kontaktiere uns

Hinzufügen: Block 5, Fuqiang Technology Park, Zhugushi Straße, Wulian, Longgang 518116

Mob: + 86-13510459036

E-Mail: info@panadisplay.com

FT800 Audio Primer-Audio-Engine
Nov 02, 2018

2 Audio Engine


Der FT800 kann verschiedene Audioeffekte und Dateien abspielen. Der Ausgang wird als PWM bereitgestellt

Signal an einem einzelnen Pin, AUDIO_L. Es gibt zwei Audioquellen, den Sound Synthesizer und die

Audiowiedergabe.


-2.1 Sound Synthesizer

Soundeffekte sind in einer ROM-Wave-Bibliothek vorinstalliert und erfordern keine Verwendung des FT800

RAM Speicherplatz Das meiste hörbare Benutzerfeedback kann durch diese Effekte wie z. B. einen Klick bereitgestellt werden

Wenn eine Bildschirmtaste gedrückt wird, ertönt ein DTMF-Tonsignal für Telekommunikation oder eine Alarmzentrale. Die meisten

Effekte werden einmal abgespielt und dann gestoppt. Andere spielen ununterbrochen. Die vollständige Liste der Töne und

Funktionen werden unten gezeigt:

Wert Bewirken Kontinuierlich Tonhöhe
einstellen
Wert Bewirken Kontinuierlich Tonhöhe
einstellen
00h Stille Y N 32h DTMF 2 Y N
01h Rechteckschwingung Y Y 33h DTMF 3 Y N
02h Sinus Y Y 34h DTMF 4 Y N
03h Sägezahnwelle Y Y 35h DTMF 5 Y N
04h Dreieckswelle Y Y 36h DTMF 6 Y N
05h Piepsen Y Y 37h DTMF 7 Y N
06h Alarm Y Y 38h DTMF 8 Y N
07h Trällern Y Y 39h DTMF 9 Y N
08h Karussell Y Y 40h Harfe N Y
10h 1 kurzer pip N Y 41h Xylophon N Y
11h 2 kurze Pips N Y 42h Tuba N Y
12h 3 kurze Pips N Y 43h Glockenspiel N Y
13h 4 kurze Pips N Y 44h Organ N Y
14h 5 kurze Pips N Y 45h Trompete N Y
15h 6 kurze Pips N Y 46h Klavier N Y
16h 7 kurze Pips N Y 47h Glockenspiel N Y
17h 8 kurze Pips N Y 48h Musikbox N Y
18h 9 kurze Pips N Y 49h Glocke N Y
19h 10 kurze Pips N Y 50h klicken N N
1Ah 11 kurze Pips N Y 51h Schalter N N
1Bh 12 kurze Pips N Y 52h Kuhglocke N N
1Ch 13 kurze Pips N Y 53h Einkerbung N N
1Dh 14 kurze Pips N Y 54h Hallo Hut N N
1Eh 15 kurze Pips N Y 55h Kickdrum N N
1Fh 16 kurze Pips N Y 56h Pop N N
23h DTMF # Y N 57h klappern N N
2Ch DTMF * Y N 58h chack N N
30h DTMF 0 Y N 60h stumm N N
31h DTMF 1 Y N 61h stummschalten N N


Viele der Effekte ermöglichen die Tonhöhensteuerung (MIDI-Note), sodass verschiedene Töne erzeugt werden können. Es werden Standard-MIDI-Notenzuweisungen verwendet

MIDI-Note ANSI-Hinweis Freq (Hz) MIDI-Note ANSI-Hinweis Freq (Hz)
21 A0 27,5 65 F4 349,2
22 Eine # 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 Eine # 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 Eine # 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 Eine # 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 Eine # 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 Eine # 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 Eine # 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 Eine # 7 3729.3
63 D # 4 311.1 107 B7 3951.1
64 E4 329,6 108 C8 4186.0


Die Klangsynthese wird durch die folgenden Register gesteuert:

 REG_SOUND

o Bits 31-16 = egal

o Bits 15-8 = MIDI-Note (Tonhöhe)

o Bits 7-0 Wirkung

 REG_PLAY

o Bits 31-1 = egal

o Bit0 = Start Play / Play Status

 Write = 1, um die Auswahl in REG_SOUND zu starten

 Read = 1 zeigt an, dass der Effekt gerade abgespielt wird

 Lesen = 0 zeigt an, dass der Effekt abgeschlossen ist

 REG_VOL_SOUND

o Bits 31-8 = egal

o Bits 7-0 = Ausgangslautstärke

Lese- und Schreibvorgänge in den Speicher des FT800 werden über das Format "Little Endian" abgewickelt

das erste Byte wird das niedrigste sein. Angenommen, ein Klaviereffekt (0x46) spielt A4

(0x45). Die Daten auf der SPI- oder I2C-Schnittstelle würden aus einer Hostspeicher-Schreibsequenz mit bestehen

folgende Daten auf Bestellung:

0x90 = Hostspeicher-Schreibübertragung (0x80) plus erstes Byte der Registeradresse (0x10)

0x24 = zweites Byte der Registeradresse

0x84 = drittes Byte der Registeradresse

0x46 = Klaviereffekt

0x45 = Note / Tonhöhe = A4 (440Hz)

0x00 = egal, optional

0x00 = egal, optional

Beachten Sie, dass die letzten zwei Bytes nicht geschrieben werden müssen, sodass ein 16-Bit-Host-Memory-Write tatsächlich möglich ist

die im Register benötigten Werte erfüllen. Weitere Erläuterungen zum Host Memory Write, Host

Die Datenübertragungen für den Speicherlese- und Hostspeicherbefehl finden Sie in AN_240 FT800

Ground Up.


-2.2 Audiodateien

Es kann Anwendungen geben, bei denen mehr als nur eine einfache Tonsynthese erforderlich ist. Zum

Beispielsweise kann eine Sprachaufforderung oder eine andere Ansage erforderlich sein, um den Benutzer spezifisch zu machen

Anleitung. Der FT800 unterstützt die Wiedergabe von Dateien in den folgenden Einkanalformaten (Mono):

 Mit 8 Bits signiertes PCM - unkomprimiertes Roh-Audio

 8 Bit µLAW - nicht linear komprimiertes Audio

 4-Bit-IMA-ADPCM - weiter komprimiertes µLAW, wobei jedes Byte zwei 4-Bit enthält

Proben

Der FT800 verfügt über 256 KByte RAM (RAM_G) für Videoobjekte (Bilder und Schriftarten) und

Audioobjekte (aufgenommene Töne). Der Speicherplatz muss daher von der Host-MCU verwaltet werden

Informationen werden erst dann überschrieben, wenn sie nicht mehr benötigt werden.

Audiodateien werden durch die Host Memory Write-Transaktion in den verfügbaren Speicherplatz geladen und sind

erforderlich, um 8-Byte ausgerichtet zu sein (64-Bit).

Sobald eine Audiodatei in den RAM_G-Speicher geladen wurde, wird die Wiedergabe durch Folgendes gesteuert

registriert:

 REG_PLAYBACK_START

o Bits 31-20 = egal

o Bits 19-0 = 20-Bit-Startadresse der Datei innerhalb von RAM_G

 REG_PLAYBACK_LENGTH

o Bits 31-20 = egal

o Bits 19-0 = 20 Bit Länge der Datei in RAM_G

 REG_PLAYBACK_FREQ

o Bits 31-16 = egal

o Bits 15-0 = 16-Bit-Frequenz der Wiedergabe-Abtastrate in Hz

 REG_PLAYBACK_FORMAT

o Bits 31-2 = egal

o Bits 1-0 = 2-Bit-Wiedergabeformat

 0 = Linear oder unkomprimiertes PCM

1 = µLaw

2 = ADPCM

 3 = undefiniert

 REG_PLAYBACK_LOOP

o Bits 31-1 = egal

o Bit 0 = 1-Bit-Wiedergabeart

 0 = einmal spielen

 1 = kontinuierlich spielen

 REG_PLAYBACK_PLAY

o Bits 31-1 = egal

o Bit 0 = Start Play / Play Status

 Write = 0 oder 1, um die Auswahl in REG_SOUND zu starten

 Lesen = 1 zeigt an, dass die Datei gerade abgespielt wird

 Lesen = 0 zeigt an, dass die Datei abgeschlossen ist

 REG_PLAYBACK_READPTR

o Bits 31-20 = egal

o Bits 19-0 = 20-Bit-Zeiger des aktuellen Abspielortes

 REG_VOL_PB

o Bits 31-8 = egal

o Bits 7-0 = Ausgangslautstärke


-2.2.1 Konvertierungsprogramm

FTDI bietet ein Audiodatei-Konvertierungsprogramm namens "AUD_CVT" an, um ein gemeinsames Dateiformat und aufzunehmen

Erstellen Sie die drei vom FT800 unterstützten Dateitypen. Eine Verknüpfung zu diesem Dienstprogramm finden Sie in der

Abschnitt „Anhang A - Referenzen“ dieses Dokuments.

Es wird angenommen, dass es sich bei der Quelldatei um eine unkomprimierte 16-Bit-PCM-Mono-WAV-Datei handelt. Eine solche Datei kann

Sie können mit einem allgemein verfügbaren Audiobearbeitungsprogramm wie Audacity erstellt werden. Einmal die

Quelldatei ist verfügbar, führen Sie das Dienstprogramm einfach an einer Eingabeaufforderung aus:

aud_cvt -i Eingabedateiname -f Format

Dabei ist "format" = 0 für 8-Bit-PCM mit Vorzeichen

= 1 für 8-Bit-µLaw

= 2 für 4-Bit-IMA-ADPCM

Ein Ordner mit den resultierenden Dateien wird erstellt. Diese Dateien können dann zum Laden in die verwendet werden

RAM_G Speicherbereich des FT800.

Das Audiokonvertierungsprogramm gibt für jedes ausgewählte Format eine rohe und eine komprimierte Datei aus. Es

Bei der Host-MCU kann es hilfreich sein, die komprimierten Dateien zu speichern und sie dann in die

RAM_G-Puffer bei Bedarf. Einzelheiten finden Sie in Abschnitt 4.