Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und...

24

Transcript of Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und...

Page 1: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.
Page 2: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

Audioadapter(Soundblaster)

Page 3: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

1. Aufgaben eines Audioadapters1.1 Komponenten1.2 Ein / Ausgänge und Signalwege (Grober Überblick)

2. Funktionsweise2.1 A/D Wandler + Sampling2.2 AC 972.3 DSP

3. Klangerzeugungsverfahren3.1 Wavetable - Synthese3.2 FM - Synthese

4. Midi4.1 Midi – Standards4.2 Hardware Merkmale4.3 Software Merkmale4.4 Midi Message Spezifikationen

5. Schlusswort

Gliederung

Page 4: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

1. Aufgaben eines Audioadapter

- Analoge Audiosignale in digitale Audiosignale umwandeln

- Digitale Audiosignale in analoge Audiosignale umwandeln

- Klangerzeugung – verschiedene Verfahren (Wavetable / FM / PM Synthese)

- Steuerung der Klangsynthese und externer Geräte (Keyboard, DAT Recorder usw.) über MIDI

- Anschluss verschiedener externer Geräte (Keyboard, Mikrofon, CD-Player usw.)

1.1 Komponenten

AD / DA - Wandler (SB Live; AC97 Cod. Sigmatel 9708)- A/D – D/A Wandler- Mixer Funktion

DSP (Digital Signal Processing) – (SB Live; EMU10K1)- Zentraleinheit- Music Synthesizer (Wavetable) + Audio Processor- Datenzugriff auf Systemkomponenten (PCI)- Effekte Prozessor + Digital Audio Mixer- 3D Sound Berechnung- Leistungsstärker als Pentium 166

OPL – Chip

- FM – Synthese

1.1 Komponenten

Page 5: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

1. Aufgaben eines Audioadapters1.2 Ein und Ausgänge + Signalwege

Page 6: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

2. Funktionsweise2.1 A / D Wandler

Sigmatel 9708 AC97 Codec (SB Live)

- Fixiert auf 48 kHz

- Analoge Signale werden über Mixer in 1 Stereosignal (PCM – Pulse Code Modulation) konvertiert

- Datentransfer über AC Link Interface (Bestandteil von AC 97 Standard)

- Multi-Codec ID0, ID1 für Anschluss von zwei weiteren AC97 Codecs

- 2 Stereosignale am Ausgang für Surround Sound (Front/Rear Output)

Page 7: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

Qualität des digitalen Signals hängt ab von:

- Abtastrate / Samplingrate: Abtastung des analogen Signals in regelmäßigen Abständen (Bsp.: 44,1 kHz = 44100 Abtastungen pro Sekunde)Nyquist Abtasttheorem: Die Bandbreite eines digital abgetasteten Signals ist weniger als die Hälfte der Abtastfrequenz (Mensch hört von 20-22 kHz, je nach Alter verschieden; 44 kHz Samplingrate kann maximal 22 kHz darstellen)

- Auflösung (Quantisierung): hängt davon ab, wieviel Bits zur Messung der Amplitude des Signals verwendet werden sollen. 8 bit Quantisierung bedeutet 256 mögliche Werte, 16 bit Quantisierung sind 65536 mögliche Werte

Datengröße bestimmen: Samplingrate * Auflösung(1 oder 2 bytes) * Kanal (Mono 1, Stereo 2) = byte / s

Rechenbeispiel: 44100 Hz * 2 bytes (Auflösung 16 bit) * 2 (Stereo) = 0.16 MB/s.

2. Funktionsweise2.1 A / D Wandler (Sampling nach dem PCM Standard)

Page 8: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

Probleme beim Sampling:

- Aliasing Effekt: Frequenzen oberhalb der Hälfte der Abtastfrequenz werden falsch dargestellt

Lösung: Lowpass Filter (schneidet Frequenzen ab bestimmter CutOff Frequenz ab)

- Quantisierungsrauschen: Je weniger Bits für Messung der Amplitude des Signals -> desto größer der Rundungsfehler -> Rauschen

2. Funktionsweise2.1 A / D Wandler (Sampling nach dem PCM Standard)

Page 9: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- Von Intel, Yamaha, Creative Labs und anderen Firmen definiert

- AC 97 beschreibt Design und Anforderungen eines Codec, sowie das Interface zur Datenübertragung

Ein Codec muss:

- 48 oder 64 Pins haben

- 8-48 kHz Samplingrate unterstützen

- 4 analoge Signale gleichzeitig konvertieren

- über das 5 Kanal serielle AC Link Interface kommunizieren können

- AC97 wird häufig auf Mainboards (Onboard Sound) integriert und aus Kostengründen wird auf DSP verzichtet

- Ohne DSP übernimmt die CPU alle Aufgaben

des DSP und des AC97 Controller

- AC Link Controller (ICH – I/O Controller Hub)

in der Southbridge installiert (Mainboard)

- Es können bis zu 4 Audio Codecs in einem System

vorhanden sein. (Primary+3 Secondary)

2. Funktionsweise2.2 AC 97 Standard

Page 10: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- 5 Datenleitungen mit serieller Übertragung in beide Richtungen- Taktrate erhält der Primary Codec über externen Taktgeber (24,576 MHz)- Synchronisation wird über BIT_CLK Pin erreicht und die Taktrate ist Hälfte von Taktgeber (12,288 MHz)- aufsteigende Flanke: Biterkennung; absteigende Flanke: Bitübertragung (ist ausreichend für 48 kHz Audio)“

- Übertragung mehrerer PCM Audiostreams, durch TDM Schema (Time Division Multiplex)- TDM: 12 ein- ausgehende Datenströme (Slots) mit jeweils 20 bit - AC97 Codec kann 16 - 20 bit Auflösung unterstützen

2. Funktionsweise2.2 AC 97 Standard (AC Link Interface)

Page 11: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

2. Funktionsweise2.2 AC 97 Standard (Übertragung AC-Link + Slots)

Slots Erklärung (SDATA OUT) Erklärung (SDATA IN)

0 Tag Informationen (16bit lang) – zeigt an, welche nachfolgenden Slots 1-12 gültige Daten enthalten

Bit 0-1 enthält Codec ID (00 reserviert für Primary Codec; 01-10-11 Secondary Codecs; bis zu 3 Secondary Codecs können über AC97 Controller angesteuert werden)

Bit 15: enthält „Codec Ready“ Bit

Tag Informationen (16bit lang) – zeigt an, welche nachfolgenden Slots 1-12 gültige Daten

enthaltenBit 15: enthält „Codec Ready“ Bit

3,4 16-18-20 bit PCM Audio-Daten für linken und rechten Kanal

16-18-20 bit PCM Audio-Daten von linken und rechten Eingangssignal

6,7,8 16-18-20 bit PCM Audio Daten für Surround linken und rechten Kanal

reserviert

1 Slotrequest Informationen – sind wichtig für variable Samplingraten

Die Bits 3-12 werden belegt.

Page 12: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- AC97 sieht vor das Samplingraten zwischen 8-48 kHz vorhanden sein müssen

- Der Codec ist aber fixiert auf 48 kHz, wegen 12,288 MHz Taktgeber. Es werden immer 48 kHz übertragen.

Problem: Wie erreicht man variable Samplingraten ?

On Demand Technologie:

- Der AC 97 Codec muss diese Technik beinhalten

- Slot1 von SDATA IN beinhaltet in den Bits 3-12 Slotrequest Informationen.

- Diese Bits geben an, ob Slot 3-12 belegt ist, oder nicht

- Wenn im Slot1 von SDATA IN eines der Bits 3-12 mit „0“ belegt ist, so übergeht der AC97 Controller diesen Slot beim nächsten Audioframe

2. Funktionsweise2.2 AC 97 Standard (Variable Samplingraten)

Page 13: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

EMU10k1

- Intern - Konvertierung aller Audiosamples auf 48 kHz durch Multipoint Sample Rate Konverter- PCI Master + Slave Unterstützung, dadurch direkten Zugriff auf Speicher (DMA) ohne CPU Nutzung- Virtual Memory Mapping wegen DMA Zugriff: Page Tabelle im Systemspeicher vorhanden- Look aside Buffer: Interne Page Tabelle, worauf der Zugriff noch schneller ist.- Wenn ungültige Daten im Look aside Buffer, dann update des Buffers mit Page Tabelle aus Systemram

Abspielen und Aufnehmen von Daten (Problem – Datenstrom wird kurzzeitig unterbrochen):- Double Buffering: Nutzung von 2 Speicherblöcken. Während ein Speicherblock ausgelesen wird, wird

der andere Speicherblock beschrieben.- Auto Init DMA: Gleiche Funktionsweise wie Double Buffering, aber es wird nur 1 Speicherblock benutzt.

DMA Speicherblock mit bestimmter Länge angelegt; Soundkarte auf die Hälfte der Länge des DMA Speicherblockes programmiert. 2 Interrupts pro Speicherblock ausgelöst.

2. Funktionsweise2.3 DSP

Page 14: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

2. Funktionsweise2.3 DSP (Effekt Prozessor FX 8010)

FX8010

- Befindet sich im EMU10k1

- Zuständig für 3D Audio Berechnung (EAX – Environmental Audio)

- Digitale Mixerfunktion (32 Ein- und Ausgangskanäle; Ausgangskanäle können zu Einganskanäle umgewandelt werden)

- Effekte zu digitalen Audiospuren hinzufügen

- Effekte für Wavtable Synthese (MIDI)

- 1 Kb Instruction Memory, worin sich die Effektealgorithmen befinden

- Effekte können über C programmiert werden und in Assemblercodekonvertierung (spezielles Tool) auf den Instruction Memory hochgeladen werden

Page 15: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- Basis bilden kurze Soundfragmente

- Wegen Speichermangel meist 1 Soundfragment

pro Instrument

- Layering: mehrere Soundfragmente pro Instrument -> Klang naturgetreuer

- Soundfregmente werden in Systemram, ROM oder Ram abgelegt (SBLIVE – 32 MB im Systemram)

- Dynamik wird durch ADSR Hüllkurven erreicht

- Weitere Sounddetails über Loop-Funktion, LFO (Tremolo (Amplitudenmodulation), Vibrato (Frequenzmodulation))

- Ansteuerung der Wavetabe-Synthese über MIDI

- Um Soundsamples zu finden wird eine Wave Tabelle verwendet, welche die Speicheradressen mit dem jeweiligen Soundsample enthalten

3. Klangerzeugungsverfahren3.1 Wavetable - Synthese

Page 16: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

Problem: Tonerhöhung !!

Lösung: Pitch-Shifting

Pitch-Shifting: Bsp: Ein Ton soll eine Oktave höher gespielt werden (doppelte Frequenz): Sample im RAM oder Rom ist mit 44,1 kHz gespeichert -> nur jeden 2. Wert vom Sample abspielen -> Ton Oktave höher

Problem: Tonerhöhung, aber keine Frequenzverdopplung !!

Lösung: Interpolation

Interpolation: Bsp: Tonhöhe soll um das 1,5 fache erhöht werden -> fehlende Werte im Originalsample im ROM oder RAM -> neues Adressierungsschema (Integer Part, Fractional Part), Zwischenwerte müssen berechnet werden.

3. Klangerzeugungsverfahren3.1 Wavetable - Synthese

Page 17: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- 1967 entwickelt (Yamaha hat als erster FM Synthese auf Audioadaptern integriert)

- FM – Synthese basiert auf Sinusgeneratoren (Generatorzellen, Operatoren), welche sich gegenseitig beeinflussen

- Yamaha OPL 2,3,4,5 Chip übernehmen diese Funktionen (OPL2,3 werden nicht mehr verbaut) auf Soundkarten.

- OPL2 hat 18 Generatorzellen; jeweils 2 Generatorzellen pro Kanal (1 Träger, 1 Modulator)

- Jede Generatorzelle besteht aus einem Oszillator (Frequenzerzeuger) und einer ADSR Hüllkurve

Ablauf:

- Träger erzeugt Sinussignal

- Modulator Ausgangssignal wird immer als Träger Eingangssignal genutzt

- Es kann auch nur ein Träger ohne Modulator genutzt werden

- Modulator ohne Träger funktioniert nicht (kein Ton)

3. Klangerzeugungsverfahren3.2 FM - Synthese

Page 18: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

3. Klangerzeugungsverfahren3.2 FM - Synthese

Zugriff auf den OPL2:- Für Zugriff des Ports (388h, 389h); 388h Registeradresse, 389h Wert des Registers- Zugriff auf Basisregister (Generatorzelle) durch Basisregister+Offset der Generatorzelle- Zugriff auf Basisregister (Kanal) durch Basisregister+Offset des Kanals- Für Generatorzelle zuständige Basisregister (20h,40h,60h,80h)- Für Kanal zuständige Basisregister (A0h,B0h,C0h)- Frequenzerzeugung durch 8 bit im Register A0h + 2bit im Register B0h- 10 bit Frequenz bietet nur 1024 Möglichkeiten -> zu wenig ->Blocknummer der Okatve (Register B0h – Bit 2-4)- Kanäle zusammenschalten über Reg. C0h- Register 20h, Bit 0-3: Multiplikationsfaktor Kanalfrequenz

Beispiel:

Kammerton A

Kanal 1

Modulator: 2*Frequenz

Träger: 1*Frequenz

Verbindung (FM-Synt.)

Page 19: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

4. MIDI (Musical Instruments Digital Interface)

Allgemein

- 1983 entwickelt von Yamaha, Roland, Korg usw.

- MIDI ist eine genormte Schnittstelle, mit der verschiedene Geräte, Instrumente (mit Midianschluss) über ein Standard Interface kommunizieren können

- MIDI überträgt nur Steuersignale und keine digitalisierten oder analogen Audiosignale

1. Standard war und ist GM (General - Midi) Standard:

- Stimmenzahl, mindestens 24 Stimmen mit dynamischer Zuordnung

- 16-fach multitimbral (16 Instrumente können gleichzeitig angesteuert werden) – 16 Midikanäle

- festgelegte Controllernummern (Chorus, Hall)

- Aftertouch (Anschlagdynamik) für jeden Kanal

- Pitchbend-Range 2 Halbtonschritte

- festgelegte Drummaps und Sounds

2. Standard GS (General Standard) Standard:

- Standard hat an Bedeutung verloren, da nur sehr wenige Veränderungen gegenüber GM

3. Standard XG (Extended General Midi) Standard:

- Nur von Yamaha entwickelt und eingesetzt, bietet er volle Kompatibilität zu GM

- Mind. 460 Sounds, viele neue Effekte (Phaser, Distortion, Flanger usw.)

- Sehr viele Effektparameter zum einstellen

4.1 MIDI - Standards

Page 20: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- Um Geräte zu verbinden werden Midikabel mit meist 5 poligen Steckern verwendet (nur 3 Leitungen wichtig)

- Übertragungsrate von 31.250 Baud (Bits / Sek) = ca. 3000 Midibytes pro Sekunde, da jedes Byte aus 2 Synchronisationsbits und 8 bits für Daten besteht.

- UART (universal asynchronous receiver / transmitter) Baustein, der ein erhaltenes Midibyte über ein 8 bit breites Interface zum Microcontroller parallel sendet

- Vor dem Transfer zum Mikrocontroller werden

Daten noch in einen Zwischenpuffer abgelegt.

Ist dieser voll wird per Interrupt

gemeldet, dass Daten abgeholt werden müssen

- Intern können Daten mit wesentlich höherer Takt-

rate verarbeitet werden

4. MIDI (Musical Instruments Digital Interface)

4.2 Hardware - Merkmale

Page 21: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

- Bis heute keine Änderung an der Midiübertragung

- Über das Midiprotokoll können Instrumente mit Midianschluss, sowie Mischpulte und Effektgeräte usw. angesteuert werden

Aufbau der Mididaten:- Statusbyte (10 bit, MSB immer 1)- Datenbyte (10 bit, MSB immer 0)

- Jedes Midisignal beginnt immer mit einem Statusbyte, gefolgt von 1 oder 2 Datenbytes

- Wenn die Variationsmöglichkeiten eines Datenbytes nicht ausreichen, wird ein 2. verwendet

- Running Status: Datenreduktion- Extern können über 1 Midikabel nur 16

Midikanäle gesteuert werden- Intern (Wavetablesynthese) können auch mehr

Midikanäle verwendet werden (Softwareemulation)

4. MIDI (Musical Instruments Digital Interface)

4.3 Software - Merkmale

Page 22: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

4. MIDI (Musical Instruments Digital Interface)

4.4 Midi Message Spezifikationen

Page 23: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

4. MIDI (Musical Instruments Digital Interface)

ÜBUNG

Page 24: Audioadapter (Soundblaster) 1. Aufgaben eines Audioadapters 1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick) 2. Funktionsweise 2.1.

The EndThe End

Quellen

http://emu10k1.sourceforge.nethttp://www.tu-chemnitz.dehttp://www.creative.com

http://www.midi.orgDatasheets STAC9708, EMU10k1,OPL2,FX8010Google und verschiedene andere Internetseiten