1 / 24

Audioadapter (Soundblaster)

Audioadapter (Soundblaster). Gliederung.

maddy
Download Presentation

Audioadapter (Soundblaster)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Audioadapter(Soundblaster)

  2. Gliederung 1. Aufgaben eines Audioadapters1.1 Komponenten 1.2 Ein / Ausgänge und Signalwege (Grober Überblick)2. Funktionsweise2.1 A/D Wandler + Sampling 2.2 AC 97 2.3 DSP3. Klangerzeugungsverfahren3.1 Wavetable - Synthese 3.2 FM - Synthese4. Midi4.1 Midi – Standards 4.2 Hardware Merkmale 4.3 Software Merkmale 4.4 Midi Message Spezifikationen5. Schlusswort

  3. 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 1.1 Komponenten

  4. 1. Aufgaben eines Audioadapters 1.2 Ein und Ausgänge + Signalwege

  5. 2. Funktionsweise 2.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)

  6. 2. Funktionsweise 2.1 A / D Wandler (Sampling nach dem PCM Standard) 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.

  7. 2. Funktionsweise 2.1 A / D Wandler (Sampling nach dem PCM Standard) 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

  8. 2. Funktionsweise 2.2 AC 97 Standard • 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)

  9. 2. Funktionsweise 2.2 AC 97 Standard (AC Link Interface) • 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

  10. 2. Funktionsweise 2.2 AC 97 Standard (Übertragung AC-Link + Slots)

  11. 2. Funktionsweise 2.2 AC 97 Standard (Variable Samplingraten) • 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

  12. 2. Funktionsweise 2.3 DSP 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.

  13. 2. Funktionsweise 2.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

  14. 3. Klangerzeugungsverfahren 3.1 Wavetable - Synthese • 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

  15. 3. Klangerzeugungsverfahren 3.1 Wavetable - Synthese 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.

  16. 3. Klangerzeugungsverfahren 3.2 FM - Synthese • 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)

  17. 3. Klangerzeugungsverfahren 3.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.)

  18. 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

  19. 4. MIDI (Musical Instruments Digital Interface) 4.2 Hardware - Merkmale • 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

  20. 4. MIDI (Musical Instruments Digital Interface) 4.3 Software - Merkmale • 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)

  21. 4. MIDI (Musical Instruments Digital Interface) 4.4 Midi Message Spezifikationen

  22. 4. MIDI (Musical Instruments Digital Interface) ÜBUNG

  23. The End Quellen http://emu10k1.sourceforge.net http://www.tu-chemnitz.de http://www.creative.com http://www.midi.org Datasheets STAC9708, EMU10k1,OPL2,FX8010 Google und verschiedene andere Internetseiten

More Related