Domanda

Ho un programma che scarica i dati PCM da un server Web, che utilizzerà in seguito per giocare con un giocatore PCM standard. Voglio essere in grado di consentire agli utenti di modificare l'intonazione dei dati PCM mentre il suo corso di riproduzione.

Qualcuno sa come fare questo?

È stato utile?

Soluzione

Non conosco alcuna libreria di elaborazione del segnale digitale per C #, ma questo sembra essere un campione sorgente completo di pitch shifting in .net .:
http://sites.google.com/site/mikescoderama/pitch-shifting

Altri suggerimenti

La soluzione più semplice è quella di riprodurre il suono ad una frequenza di campionamento superiore a quello che è stato registrato - riproduzione di un file a 22 kHz a 44 kHz raddoppierà in campo. È possibile ottenere lo stesso da solo buttare via alcuni campioni dal suono (cattiva qualità) o il ricampionamento il suono (di buona qualità se si utilizza un buon algoritmo di interpolazione come sinc).

Ma c'è una dipendenza - cambiare l'intonazione riproducendo a differenti frequenze di campionamento non solo cambiare il tono, ma la lunghezza del suono, anche. E 'possibile modificare la durata e lanciare in modo indipendente, ma che non è così facile e coinvolge una quantità ingente di elaborazione singnal per ottenere una buona qualità. E di solito è fatto nel dominio della frequenza utilizzando Trasformazioni veloce di Fourier.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top