Gå til innhold

AC3 5.1 CPU encoder for spill (Creative Labs)


Anbefalte innlegg

Forord

Følgende post handler om hvordan man nå kan bruke en gratis software encoder til å overføre blant annet DirectSound3D over AC3 direkte til en forsterker med et Creative Labs lydkort. Kort sagt, 5.1 i spill uten bruk av spesialiserte høytalerpakker. Fordi man veldig lett kan misforstå spilling med muligheten til å se film i AC3/DTS vil jeg forsøke å forklare hvorfor dette er såpass unikt i dag på Creative Labs sine kort. Dersom du allerede forstår hva det er snakk om går du rett ned til bildene, varmer opp forsterkeren, og gjør deg klar for en test.

 

Håper dette er noe flere kan benytte seg av! Som vanlig - dersom feil observeres i posten, syng ut :)

 

Introduksjon

Rundt om 1998-1999 forsøkte jeg for første gang 4 kanalers lyd gjennom et Terratec EWS64 lydkort via 2 analoge utganger samtidig. Dette var et regelrett dyrt kort til ~5000kr uten RAM som i sin tid ble sponset av Terratec for å utvikle diverse instrumenter. Et headset med A3D var en særdeles unik opplevelse, men 4 fysisk virkelige høytalere ga en imponerende romfølelse i Quake 2 jeg ikke hadde hørt tidligere.

 

Fra interaktiv analog til digital lyd

En vakker dag ble det annonsert at Playstation 2 interaktivt i spill kunne overføre 4 kanaler digitalt i DTS med en optisk kabel. Også spillkonsollen XBox fikk støtte for interaktiv digital lyd i AC3. nVidia ga PC brukere samme mulighet gjennom Soundstorm APU på de mer eksotiske nForce2 hovedkortene.

 

I teori skulle det strengt talt være lite praktisk å komprimere lyd i sanntid grunnet muligheter for at lyden kunne bli usynkronisert i forhold til selve bildet samtidig som lydkvaliteten av naturlige grunner ble redusert. Ved å bruke PCM slipper man kompresjonsproblemene, men er nå redusert til 2 kanaler. Creative Labs hadde en artig løsning for sine høytalersett hvor man kunne bruke 3xPCM kanaler for overføring av 6 kanalers digital lyd, men dette var ikke vanlig praksis for hjemmekinobruk og det ble derfor nødvendig å bruke analoge utganger til forsterkerens analoge multikanals innganger.

 

I praksis var AC3/DTS overføring av lyd en kjempesuksess. Lyd i spill er gjerne forhåndskomprimert, og tegn til synkroniseringsproblemer grunnet sanntidskompresjonen var tilsynelatende ikke tilstede. I film merker man relativt hurtig om tale er synkronisert til munnbevegelser, mens i spill er ikke dette et like kritisk problem ettersom ”lipsync” fortsatt er noe det jobbes ganske grundig med i spillindustrien. Det fungerte rett og slett veldig bra, men perfekt var det ikke.

 

Hvorfor er dette interessant?

Å avspille digital lyd, flerkanals AC3 eller DTS, er i seg selv ikke et stort problem. Selv det innebygde Realtek/AC97 lydkortet på svært mange hovedkort har en digital coax/optisk utgang hvor man kan overføre AC3/DTS direkte til forsterker. Problemet oppstår når man forventer det samme i spill, for dette er et kapittel for seg selv som svært mange ofte misforstår.

 

o Lyden i spill må komprimeres til AC3/DTS før sending over kabel, og dette er ikke det samme som å spille av en film hvor lyden på forhånd er komprimert som del av filmsporet.

 

o I film er lyden forhåndskomprimert, og trenger derfor ikke å kodes om før sending. Den kan sendes ”rå” og ubehandlet direkte til forsterker, som selv dekoder lydformatet.

 

Creative Labs har lenge vært villige til å støtte dekoding av disse formatene, men ikke sanntidskomprimering (encoding) av DTS/AC3 slik at man kan oppleve formatene på en forsterker i spill. Et reelt alternativ er Auzentech X-Plosion 7.1 som faktisk støtter både DTS gjennom DTS Connect og AC3 gjennom Dolby Digital Live. Ulempen er derimot at disse kortene ikke har den samme avanserte støtten for EAX som Creative Labs lydkort har.

 

Kan jeg få AC3 5.1 i spill på Audigy2?

Ja! Også andre lydkort av Creative Labs er støttet. Encoderen benytter ASIO drivere, som allerede skal være en del av lydkortdriverne, til å hente lydkortets separate miksede hovedkanaler for så selv mikse disse til et 5.1 AC3 640kbps lydspor med spesifiserte ~180ms latency. Lydkortet må settes til å sende ubehandlet digital lyd, såkalt ”passthrough”, uten dekoding fra drivere.

pcm_vs_ac3.gif

 

Når man i programmet ønsker å starte prosessen, vil forsterkeren ha mulighet til å dekode 5.1 AC3. Dersom spill støtter EAX 2/3/HD eller flere høytalere, vil dette nå kunne oppleves. CPU bruk på en 2.5GHz AMD64 hopper mellom 8-19% og ”lag”/latency mellom lyd og video oppleves som 4-5 bilder på et jevnt 60FPS scenario, som i mine ører låter akkurat på grensen til å være praktisk. I teorien virket tallene langt verre enn selve opplevelsen, trolig fordi input respons framdeles var uberørt (mus, keyboard, sikting).

 

Etter å ha simulert lydforskyvning, kom jeg fram til at lyden på mitt oppsett ligger rundt om 125-150ms etter selve bildet. Dette er relativt nærme 180ms som er nevnt i readmefilen. Det blir også nevnt at en buffer på 32ms er nødvendig for å kunne komprimere AC3 i sanntid, slik at ”lag” alltid vil være på minst 32ms. Trolig vil en hardwarebasert løsning gjøre en bedre jobb her, men det hadde vært interessant å testet dette ut i praksis.

 

For å skru av kodingen og gå rett tilbake til vanlig avspilling kan man avslutte programmet.

 

Installasjon av redocneXk (kXencoder)

ADVARSEL: Følgende gjøres på eget ansvar.

 

Samuel Austin / Tril på driverheaven.net har laget redocneXk, som kan lastes ned her:

http://www.rossanodembech.it/html/kx.html

http://www.driverheaven.net/showthread.php?t=90887

 

Du trenger GUI versjonen:

http://www.rossanodembech.it/files/redocnexk_v2.03.zip

 

Denne pakkes ut, og brukes rett som den er direkte over Creative Labs drivere uten nye drivere.

 

Det første som må gjøres er at lydkortet må settes til ”SPDIF passthrough”, som hindrer drivere å dekode eller behandle den ferdige komprimerte digitale AC3 lyden før sending.

 

 

audigy2_spdif_passthrough.gif

 

 

 

Mens man er i gang kan man også justere antall høytalere:

 

 

audigy2_speaker_51ch.gif

 

 

Deretter starter man redocneXk. Det første som må gjøres er å sette ned ASIO ”latency”, bitrate, og sette riktig lydkort. Når dette er gjort, skru ned lyden på forsterkeren og trykk ”Start Encoding” som merket på bildet.

 

 

redocneXk_setup.gif

 

 

Du skal nå kunne observere et skifte i CPU forbruk. Om encoderen kan benytte seg av dualcore/dual CPU er noe jeg ikke har testet, men grunnet at det kjører som en egen prosess er dette fullt mulig. Encoderen må uansett kjøres i ”Realtime” for å ha best mulig ytelse, og dette fungerer veldig bra på en enkel 2.5GHz AMD64.

 

redocneXk_cpu_usage.gif

 

Observasjoner

En rask test med Fraps i FEAR med EAX HD viste at jeg med vanlig PCM/ikke AC3 encoding påskrudd hadde 57FPS i en gitt scene mens med AC3 encoding lå på 56FPS. Strengt talt ikke merkbart i mitt system, og trolig er det skjermkortet som er sinken og ikke selve prosessoren. Også Neverwinter Nights 2, Dream Pinball 3D, og Guild Wars ble forsøkt med suksess. NWN2 spesielt var en artig opplevelse, med folk rundt deg på alle kanter. Jeg opplevde veldig forsiktig småknatring en gang i blant i FEAR, men ellers var spillet praktisk talt som vanlig men med en voldsom mye bedre lyd uten filtreringen man får med Dolby Pro Logic. Og bassen….den våknet kraftig til live, alltid en god følelse. En interessant detalj var bruken av senterkanalen til tale.

 

I flipperspill vil man trolig merke ”lagget” en anelse, ettersom man her snakker om en presisjon og reaksjon som er helt unik for flipperspill. Men det er kun lyden, og ikke selve spillet, som lugger litt i etterkant med 3-4 bilder. Man ”flipper” ikke tregere. På et tilfeldig filmklipp f.eks. med vanlig MP3 lyd var det ikke mulig å observere pratefeil. Lyd og munnbevegelser stemte veldig bra, tilsynelatende uendret.

 

For å selv undersøke hvordan maskinen og lydkortet vil fungere med AC3 omkoding, ta en titt på følgende Xvid klipp. Prøv først uten, og deretter med. Skru på forhånd av alle videofiltere i tilfelle dette hindrer en jevn avspilling (sjekk CPU bruk). http://home.minlos.no/~gretesynnove.boye/a...est_xvidMP3.avi

 

En simulert representasjon av samme klipp med AC3 encoding skrudd på demonstrerer lyd forsinket 150ms. Klippet er det samme som ovenfor, men med MP3 sporet forskjøvet.

http://home.minlos.no/~gretesynnove.boye/a...mul_xvidMP3.avi

 

Dersom avspilling er problematisk, anbefales VideoLAN som kan lastes ned gratis:

http://www.videolan.org

 

Konklusjon

Dette er en ”lossy” kompresjon på 640kbps som gjøres så hurtig og effektiv som mulig for å oppnå en praktisk nytte. Dersom man virkelig ønsker kvalitet bør man trolig benytte analoge tilkoblinger slik at man unngår kompresjon. Det er mulig tapet man får ved bruk av analoge tilkoblinger selv over avstand er mindre enn tapet man får gjennom denne kompresjonen. Her går det mye på hva man selv foretrekker.

 

Creative Labs har lenge vært tilhenger av analoge utganger, og har hele tiden hevdet at analog tilkobling sikrer den beste og mest praktiske overføringen av lyd i spill over flere kanaler til vanlig hjemmekinobruk ettersom man unngår å komprimere lyden og dermed miste dynamikk.

 

Dette stemmer nok, for mange Soundstorm brukere var ikke fornøyde med AC3 kompresjonen når de lyttet på musikk (slik at denne da ble skrudd av og vanlig ukomprimert PCM stereo ble benyttet istedenfor). Soundstorm hadde f.eks. en begrensning under kompresjonen som gjorde at den bevisst kuttet alle frekvenser over ~17kHz.

 

Men spill benytter nesten alltid komprimerte MP3/OGG etc. til lyd og musikk, slik at tapet allerede har skjedd. Mange vil kanskje rynke litt på nesen, men for min del fungerer dette ganske bra nettopp fordi lyden allerede har mistet mye av sin kvalitet på vei til utgivelse, at støynivået er lavt, og at man enkelt kan skifte mellom PCM og AC3 over samme kabel via programvare. Man får til og med EAX HD ettersom samme lydkort blir brukt, og dette er trolig det som gjør situasjonen litt unik. Hvordan det viser seg å fungere i detaljer i forhold til analoge tilkoblinger vil tiden vise.

 

For å få et grovt inntrykk av komprimeringen forsøkte jeg et Sony ~600kr headset (øreklokker) inn i forsterkeren i "Direct Mode" og byttet mellom PCM og AC3 i litt forskjellig musikk. Forskjellen der og da var ikke hørbar, selv på Commodore64 SID musikk, men dette vil helt klart avhenge av materiale. Det er f.eks. fullt mulig at kvaliteten vil gå ned etterhvert som flere kanaler blir brukt, framfor kun å spille stereo musikk. Det er også mulig at forsterkeren selv gjør en god jobb med å behandle AC3 signalet. For meg er dette umulig å vite, så det er trolig best at man selv forsøker seg fram.

 

Encoderen skal i teori kunne fungere på andre lydkort, så lenge man har en fungerende ASIO driver. X-Fi støtte er f.eks. meget mulig, her må man bare prøve! ASIO4ALL ble forsøkt brukt på et Realtek AC97 kort, med ”halvveis” resultat. Forsterkeren registrerte et 5.1 AC3 lydspor og det kom lyd, men fra de gale kanaler mens andre høytalere var døde. Dersom man manuelt forandrer matrisen er det mulig dette kan justeres for hånd gjennom prøving og feiling.

 

Linker

Driverheaven forum

http://www.driverheaven.net/showthread.php?t=90887

 

Tril’s Realtime 5.1 AC3 Encoder

http://www.rossanodembech.it/html/kx.html

 

ASIO4ALL

http://www.asio4all.com/

 

nVidia Soundstorm

http://www.nvidia.com/object/apu.html

 

3DsoundSurge tester Soundstorm

http://www.3dsoundsurge.com/reviews/nForce/nForce.html

 

Dolby Digital LIVE

http://www.dolby.com/consumer/technology/dolby_live.html

 

DTS Connect

http://www.dts.com/consumer/pc/dtsconnect.php

Lenke til kommentar
Videoannonse
Annonse
  • 1 måned senere...

Nei, du skal ha lyd som vanlig og det skal vises AC3 på forsterker. Alt skjer i sanntid, og du vil merke på prosessorforbruket ettersom encodingen tar litt ressurser (CTRL+ALT+DEL). Ved å avslutte programmet stopper encodingen. Viktig at du leser hele posten forresten, ettersom dette er litt frynsete på andre lydkort enn Creative Labs. Du trenger funksjonable ASIO drivere f.eks., og all decoding av lydkortet må skrus av slik at lydkortet sender AC3 ubehandlet (passthrough).

 

Programmet er ikke bugfritt, og noen ganger må du avslutte og starte det flere ganger for å få skikkelig "synkronisering" slik at du faktisk får lyd og da helst uten spraking.

Lenke til kommentar

Heisann, flott tråd Boye, tre tomler opp for informasjon og struktur.

Dette er noe jeg har ventet på en god stund i hardware fra noen andre enn Creative, men dette bør nok fungere brukbart i mellomtiden. Jeg plukket opp et billig EAX 3.0 lydkort et par fire måneder til spill som jeg med en gang måtte legge bort fordi driveren krasjer i det et signal blir samtidig sendt til det andre lydkortet, men nå blir det nok satt inn igjen når jeg kommer meg tilbake til Oslo.

 

Takk for at du delte dette med oss.

Lenke til kommentar

JohndoeMAKT - bare morro :)

 

Ifølge tråden angående utviklingen av encoderen skal støtte for X-Fi være løst.

 

http://www.driverheaven.net/showthread.php?t=90887&page=30

 

Anbefaler alle som er interessert i dette å følge med på denne tråden, ettersom programmet fortsatt er under utvikling. Det ser ut som commandline versjonen er oppdatert, men at GUI versjonen fortsatt ligger litt etter. Skulle gjerne ha kommet med mer direkte informasjon her og nå, men har ikke X-Fi og kan derfor ikke bekrefte noe som helst :)

 

Fra readme commandline v1.05:

http://www.rossanodembech.it/files/redocnexk_v1.05.zip

 

X-Fi on Creative drivers specific information :

-----------------------------------------------

- Reduce the WAVE volume of the sound mixer in Windows until you don't hear any

hard clipping.

- Change the recording source to "What you Hear" (WUH) in the Creative console.

Lenke til kommentar

Samme feilen som sist gang, med GUI versjonen.

Det blir heilt tyst i sterkern når eg starter programmet.

Klikk på Vis teksten under for ein dump av det som kom av cmd linja når eg fyrte i sving programmet.

 

Klikk for å se/fjerne innholdet nedenfor
D:\lyd>redocneXk.exe

redocneXk version 1.05
The avcodec library is licensed under the LGPL.  See the included lgpl.txt file for a copy of the LG
PL license.
ASIO Interface Technology by Steinberg Media Technologies GmbH
redocneXk is in no way affiliated, associated or connected with Creative Technology Inc.


*** Settings ***
Driver = 0 (Creative ASIO)
Mode = X-Fi with Creative drivers (auto-detection)
FL  = asio 2 + asio 8
FR  = asio 3 + asio 9
RL  = asio 4 + asio 8
RR  = asio 5 + asio 9
C   = asio 6
LFE = asio 7
Bitrate = 640000
Renderer = 0
Output Device = -1 - Microsoft Sound Mapper
Priority = Realtime priority
Latency = 1

*** Information ***
asioVersion:   0
driverVersion: 2
Name:          SB X-Fi ASIO [9C00]
ErrorMessage:  No ASIO Driver Error
ASIOGetChannels (inputs: 10);
ASIOGetBufferSize (min: 44, max: 32768, preferred: 88, granularity: 8);
ASIOGetSampleRate (sampleRate: 44100.000000);
ASIOOutputReady(); - Supported
ASIOGetLatencies (input: 188);

*** Status ***
ASIO Driver started successfully.

Press Q to quit.

 

Hmm, Kva er det egentlig sterkern skal vise når eg har fått til dette greiene?

 

Slik er sterkern når eg speler mp3, uten programmet.

stereocw9.jpg

 

Slik er sterkern når eg ser på DVD filmer eller Xvid'r med AC3 lyd.

dolbynormalcm3.jpg

 

Dette viser sterkern når eg starter programmet. Er det slik den skal vise eller er det som den ovenfor når den står i Dolby Digital modus, Normal?

Her kan eg bytte på mange "program" som forsterkern har. F.eks kan eg få den til Movie i stade for Music...

prologicmusichd3.jpg

 

 

Hmmm... huskar ikkje i farten kva eg gjorde for å få fram dette, men trur det var ein film med 2.0 lyd på.

digitalprologicmusicbz1.jpg

 

 

På ein DVD fikk eg også fram denne, det er vel ein DVD med EX spor på (6.1) ?

dolbyexyu7.jpg

 

 

Såg at bilda blei litt store, skal sjå om eg får gjort dei litt mindre, men dei var ganske små i størrelse i allefall.

Lenke til kommentar

Den skal vise akkurat det samme som når du spiller DVD/Xvid med AC3. Så du har selve systemet i orden (du kan sende AC3 signalet til forsterker), men encoderen gjør ikke jobben. Her er min log i tilfelle det kan hjelpe:

 

C:\Download\Kx Emu10kx driver\redocneXk_v1.05>redocnexk

 

redocneXk version 1.05

The avcodec library is licensed under the LGPL.

See the included lgpl.txt file for a copy of the LGPL license.

ASIO Interface Technology by Steinberg Media Technologies GmbH

redocneXk is in no way affiliated, associated or connected with

Creative Technology Inc.

 

 

*** Settings ***

Driver = 1 (Creative ASIO)

Mode = soundcard other than X-Fi with Creative drivers (auto-detection)

FL = asio 4 + asio 12

FR = asio 5 + asio 13

RL = asio 6 + asio 12 + asio 10

RR = asio 7 + asio asio 13 + asio 11

C = asio 8

LFE = asio 9

Bitrate = 640000

Renderer = 0

Output Device = -1 - Microsoft Sound Mapper

Priority = Realtime priority

Latency = 1

 

*** Information ***

asioVersion: 0

driverVersion: 2

Name: SB Audigy 2 ASIO [A000]

ErrorMessage: No ASIO Driver Error

ASIOGetChannels (inputs: 22);

ASIOGetBufferSize (min: 96, max: 65536, preferred: 96, granularity: 16);

ASIOGetSampleRate (sampleRate: 48000.000000);

ASIOOutputReady(); - Supported

ASIOGetLatencies (input: 196);

 

*** Status ***

ASIO Driver started successfully.

 

Press Q to quit.

 

Det eneste jeg stusser litt på er samplerate 44kHz hos deg. Trodde dette ble ordnet av encoderen (AC3 = 48kHz)...

 

PS: Kan det være at det vil fungere på noen av de andre X-Fi modusene? Jeg har ikke kortet selv, men har hørt om f.eks. "Game mode".

Endret av Boye
Lenke til kommentar

Det er mulig ASIO4ALL vil fungere, men er litt usikker på om ASIO4ALL støtter flere enn 2 kanaler.

 

PS: Mulig du kan "patche/hacke" driverene? Har ikke forsøkt dette selv da jeg gikk rett fra et LIVE til Audigy2 hardwaremessig og skippet software patchingen, men har lest/hørt andre har hatt suksess med blant annet bedre/skarpere lyd (tydelig at software gjør mye av jobben).

 

Info - http://www.short-media.com/forum/showthread.php?t=332

Endret av Boye
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...