Question

J'ai un programme qui télécharge des données PCM à partir d'un serveur Web, qu'il utilise pour jouer plus tard par un lecteur standard PCM. Je veux être en mesure de permettre aux utilisateurs de modifier le pas des données PCM alors que son cours de lecture.

Quelqu'un sait comment faire cela?

Était-ce utile?

La solution

Je ne sais pas bibliothèque de traitement de signal numérique pour C #, mais cela semble être un échantillon source complet pour pitch shifting en .net .:
http://sites.google.com/site/mikescoderama/pitch-shifting

Autres conseils

La solution la plus simple est de lire le son à un taux d'échantillonnage plus élevé qu'il a été enregistré - lecture d'un fichier de 22 kHz à 44 kHz doublera le terrain. Vous pouvez obtenir le même simplement en jeter quelques échantillons du son (mauvaise qualité) ou rééchantillonnage le son (de bonne qualité si l'on utilise un bon algorithme comme l'interpolation sinc).

Mais il y a une dépendance - changer la hauteur par la lecture à différents taux d'échantillonnage non seulement changer le terrain, mais la longueur du son, aussi. Il est possible de modifier la durée et la hauteur indépendamment, mais ce n'est pas facile et implique une bonne quantité de traitement singnal pour obtenir une bonne qualité. Il est généralement fait dans le domaine de fréquence en utilisant des transformations de Fourier rapide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top