Comment mettre en œuvre un Égaliseur
Je sais qu'il ya beaucoup de questions à propos des égaliseurs dans l'affirmative, mais je n'ai pas ce que je cherchais. Ce que je veux faire est un égaliseur pour modifier des échantillons audio dans une telle manière que:
equalizer.eqAudio(audiosamples, band, gain)
Je ne sais pas si c'est exactement l'interface que je veux, parce que je sais peu de choses sur DSP en termes de mise en œuvre (j'ai utilisé des filtres, des limiteurs, compresseurs, mais qui n'est pas eux).
Donc une recherche sur Google à propos de ce que j'ai lu que je dois faire une FFT pour les échantillons de manière à ce que je obtenir les données pour les plages de fréquence au lieu d'amplitude, de processus de la façon que je veux et ensuite faire l'inverse de la FFT donc, je reçois le résultat dans des échantillons audio à nouveau. J'ai regardé pour une mise en œuvre de ce la FFT et trouvé JTransform pour Java. Cette bibliothèque dispose d'une mise en œuvre d'une FFT liées algorithme appelé transformée en Cosinus Discrète (DCT).
Mes questions sont :
- Bien, Suis-je dans le droit chemin?
- Depuis FFT me donne des données sur la fréquence, je dois passer à l'algorithme de FFT un bloc d'échantillons. Comment grand ce morceau doit être?
- Est-il un bon livre sur la programmation DSP qui explique les égaliseurs ?
Merci!
OriginalL'auteur Adrián Pérez | 2013-01-10
Vous devez vous connecter pour publier un commentaire.
Il ya beaucoup de façons différentes pour obtenir un égaliseur, et comme Shannon explique, l'IIR/filtre FIR est l'une d'entre elles. Cependant, si votre objectif est d'obtenir rapidement un égaliseur et en cours d'exécution, allant de la FFT peut-être plus facile pour vous, car il existe une multitude d'implémentations de référence.
À votre question de la taille de la TFR, cela dépend de la résolution de fréquence vous voulez que votre égaliseur à avoir. Si vous choisissez une taille de 16, vous obtiendrez 9 (8 complexe + 1 réel) des canaux dans le domaine de fréquence équidistants de 0 à fs/2. Le 1er est centrée autour de 0 hz, et le 9e autour de fs/2 Hz. Et la note, certaines implémentations de retour 16 canaux où la partie haute est un miroir et complexe conjugué de la version de la partie basse.
À la mise en œuvre de l'égaliseur de la fonctionnalité, de multiplier chaque canal avec le voulait gagner. Et si le spectre du miroir, cadre, miroir, les gains ainsi. Si cela n'est pas fait, le résultat des opérations suivantes IFFT ne sera pas un réel évalués signal. Après multiplication, appliquer la IFFT.
À la différence entre la FFT et le filtre en fonction de l'égaliseur, n'oubliez pas que la FFT est simplement un moyen rapide de calculer un ensemble de filtres FIR avec des seins comme impulsion, critique d'échantillonnage (sous-échantillonnées avec le filtre de longueur) et uniformément espacées de la fréquence centrale.
Ce qui concerne
OriginalL'auteur KlausCPH
Je ne pense pas qu'il soit nécessaire d'utiliser de la FFT pour l'égalisation audio. Je voudrais mettre en œuvre une ÉGALISATION à l'aide de l'IIF ou des filtres FIR.
Couramment recommandé de référence est la Livre de cuisine Formules pour l'Audio EQ Biquadratique les Coefficients d'un Filtre.
Un tutoriel java pour la programmation biquadratique filtres. http://arachnoid.com/BiQuadDesigner/index.html
La Compréhension De Traitement Numérique Du Signal est une bonne introduction à la DSP. Il y a des chapitres sur les FIR et IIR filtres.
Intoduction De Filtres Numériques avec les Applications Audio par Julius O. Smith III.
L'Égaliseur Graphique De La Conception À L'Aide De L'Ordre Supérieur Filtres Récursifs par Martin Holters et Udo Zolzer est un document détaillant un filtre EQ approche de la conception.
OriginalL'auteur Shannon