API til understøttelse af Echo-annullering i Windows Vista/7

Indlæg af Hanne Mølgaard Plasc

Problem



I 2007 blev fejren over DRM inkluderet i Windows Vista en blog til Windows Vista Team til at reagere på mange bekymringer. Et af spørgsmålene reagerede på VoIP-softwares evne til at udføre ekko-annullering, når de kører på Windows Vista. [1]


Dette er hvad Nick White havde at sige som en FAQ:



   Vil ekko annullering arbejde mindre godt for premium indhold?

  
  Vi mener, at Windows Vista giver programmer adgang til tilstrækkelig information til at opbygge højkvalitets ekko-annulleringsfunktionalitet.



Hvilke oplysninger indeholder Windows Vista for at tillade applikationer at opbygge højkvalitets ekko-annulleringsfunktionalitet?



   Bemærk: Læsning af denne erklæring, jeg får indtryk af, at Windows Vista giver tilstrækkelig information til at tillade applikationer at oprette ekkolodningsfunktioner af høj kvalitet. Formentlig måden, som Windows giver disse oplysninger, er gennem en API.



Ekko-annullering virker ved at prøve udspilningsproduktionen og ' trække den fra ' fra den optagne mikrofonindgang.


Desværre kan man som MSDN noter ikke altid prøve at spille output: [2]



  Windows Vista giver digitale rettigheder
  ledelse (DRM). Indholdsleverandører
  stole på DRM for at beskytte deres
  proprietær musik eller andet indhold
  fra uautoriseret kopiering og andet
  ulovlige anvendelser. WASAPI tillader ikke
  loopback optagelse af digitale streams
  der indeholder DRM-beskyttet indhold.
  Tilsvarende gør en betroet lyddriver
  ikke tillade en loopback enhed til
  indfange digitale streams, der indeholder
  beskyttet indhold. Windows Vista
  Tillader kun betroede drivere at afspille
  beskyttet indhold. For mere
  oplysninger om betroede drivere og
  DRM, se Windows DDK
  dokumentation.



Formentlig betyder det, at brug af Loopback Mode fra WASAPI ikke er den tilsigtede metode til at levere ekko-annulleringstjenester. [3]


Hvad er den påtænkte API for at muliggøre implementering af højkvalitets ekko-annullering?



   Bemærk : Dette er relateret til, men adskilt fra, et andet spørgsmål, jeg spurgte: Sådan prøves output audio mix ?. Dette spørgsmål er specifikt på udkig efter en udvidelse af svaret fra Window Vista-holdet, at ekko-annullering er mulig i Windows. Dette spørgsmål ser til API; det kan være et særskilt spørgsmål om hvordan at bruge det.



Googling for et svar, får jeg indtryk af, at en applikation er tilladt for at prøve DRM-beskyttet indhold, men indholdet vil blive nedbrudt (dvs. < em> 'tilstrækkelig information' ). Dette ville gøre enhver ekko-annullering værre, men stadig mulig.


Eller var Windows-teamet ' tilstrækkeligt i de fleste tilfælde, men ikke mens brugeren lytter til en sang eller spiller en film ' - og at det faktisk ikke er muligt at oprette ekkolodning af høj kvalitet funktionalitet?





Opdatering: Det skal bemærkes, at jeg ikke leder efter en ekko-annullerings-API, jeg leder efter en API for at prøve udspilningen - hvilket er det, der kræves for at gennemføre ekko-annullering. selvfølgelig indeholder Windows Vista en ekko-annullerings-API (hvilket er, hvordan de fortsætter med at beskytte Premium-indhold). Men jeg har heller ikke set et ekko-annullerings-API.

Bedste reference


http://msdn.microsoft.com/en-us/library/ff819492(v=VS.85).aspx[5]


Hvis du leder efter en API for at gøre ekko-annullering, ser det ud til, at voice capture dsp har indbygget understøttelse til akustisk ekko-annullering.


Eksempel:
http://msdn.microsoft.com/en-us/library/dd443455(VS.85).aspx[6]