windows - Sådan implementeres en voice changer?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne skrive en app, som ændrer mikrofonindgangstemmen og gør den som robot eller en sjov mands stemme. Det skal understøtte sende ændret stemme til alle applikationer som IM Software eller Game Client. Hvilken teknologi skal jeg hente? Windows WaveForm Api? DirectX?
lyddriver?


Mange tak!

Bedste reference


Der er en MSDN Coding4Fun artikel, der forklarer, hvordan man opretter en stemmeveksler, der opererer over Skype, i C # (.NET). Den fulde kildekode er også vært som et projekt på CodePlex. Det skal også være ret nemt at gøre noget ellers med lyden (i modsætning til streaming via Skype), da projektet er baseret på NAudio-rammerne, der indeholder et godt abstraktionsniveau. Det er alligevel et rimeligt komplet (og stabilt) eksempel - absolut værd at tjekke ind min mening. [1] [2] [3]


Hvis du vil have/skal bruge C ++ eller et andet sprog til udvikling, skal dette projekt i det mindste give dig nogle ideer om, hvordan man går om det. Stadig, hvis du kan bruge .NET, så er du heldig, tror jeg.

Andre referencer 1


Robotstemme gøres ofte med en ringmodulator effekt, blander stemmen med en sinusbølge - det er lettere. Eller brug en vokoder effekt, modulere stemmen på en anden bølgeform, som rektangel - kan være lidt mere vanskelig. Gå læse, hvordan virkningerne virker, få et program, hvor du kan tjekke, hvordan de lyder (Audacity fungerer for ringmodulatoren, at finde og bruge en vokoder kan være lidt sværere). Læs derefter, hvordan det er gjort eller få et bibliotek, som vil gøre behandlingen til dig. [4] [5]

Andre referencer 2


Du søger at støtte VSTi eller DXi plugins.

Der er tonsvis, der også fungerer som vocoders, selv gratis.

Du skal bare skrive værtsapplikationen.
Se her:) [6]

Andre referencer 3


Nu er det en smart ide, især for en mobilapp.


Jeg starter sikkert offline ved at bruge en .wav-fil som input for at få effekterne til at virke som jeg ønskede. Du kan bruge et hvilket som helst højt niveau sprog til dette, men du vil sikkert have noget, der vil kortlægge rimeligt godt i C/C ++ .


Med hensyn til en produktionsversion går jeg ind og gør det i C eller C ++. Du vil have noget hurtigt til real-time lydbehandling og jeg vil gerne undgå afhængigheder på ting som .net til distribution. (Ikke at jeg har noget mod .net, det er godt for servere og distribution inden for et firma, men jeg er ikke så opsat på at have det som en afhængighed af software til krympe.)


Windows DirectShow ville være en fristende mulighed - du kunne også gøre nogle interessante effekter med multi-media, hvis du havde voice morpher implementeret som et direkte show-filter.

Andre referencer 4


Hvad du leder efter er en vokoder. Jeg ved ikke, om nogen af ​​ovennævnte teknologier har en vokoder effekt, men den bedste chance ville være med DirectX. [7]

Andre referencer 5


Prøv denne prøveapp. Jeg synes det er nyttigt for dig.Link [8]