2013-09-27 1 views
0

Je travaille sur mon instrument VST en C++ depuis un moment et j'ai un problème avec un clic fort quand une note se termine là où une autre commence.VST2.4 SDK Cliquez sur le son de l'instrument quand une note se termine et une autre commence

En fait, le problème est là quand une note se termine aussi, mais j'ai ajouté un algorithme de "fondu" qui élimine cette partie. Mais dès qu'une autre note commence où une autre finit, il n'y a pas de place pour mon algorithme de fondu.

J'ai essayé de balayer le tampon de sortie pour trouver des valeurs brusquement fortes qui se produiront dans un court laps de temps pour enlever le déclic en faisant taire cette partie, s'il avait déjà travaillé pendant un certain temps .

Le fichier avec une image du séquenceur est téléchargé ici pour vous d'entendre le clic dans un fichier court mp3 sur Soundcloud click sound on sound cloud

Quelqu'un qui en sait plus au sujet de ces choses qui pourraient partager un peu de lumière sur le sujet, je savoir comment un filtre de clic fonctionne mais je ne sais pas comment l'implémenter dans un instrument VST comme celui-ci, apparemment pas. Quelle est une bonne méthode pour y remédier?

+2

Vous devez laisser les notes se chevaucher. Si vous ne pouvez pas faire cela parce que votre instrument est monophonique, vous devez attendre qu'une note disparaisse avant de commencer la suivante. –

+0

Oups? Je pense que j'ai fait un VST non monophonique sur un monophonique, je mélange mes notes dans la fonction processReplace. Prenant le tampon d'onde en les ajoutant ensemble, de sorte qu'il peut jouer des notes simultanément de toute façon. Existe-t-il un autre moyen de le faire si vous l'avez configuré pour non-monophonique. Est-ce que j'ai râté quelque chose?? – Magnus

+0

Je ne connais pas le SDK de l'instrument VST, donc mon commentaire précédent peut ne pas être pertinent, mais je pense que vous faites quelque chose de mal avec la polyphonie. –

Répondre

1

Il est vraiment difficile de diagnostiquer ces types de problèmes sans voir la source, et même alors, il n'y a pas de solution miracle pour résoudre les problèmes de qualité avec les VST. Cependant, je peux vous offrir quelques petits conseils:

  • Utilisez un éditeur de vague pour regarder un fichier de sortie réel rebondi de près. Je veux dire, jusqu'au niveau de l'échantillon. Ocenaudio est un tel éditeur de freeware qui peut montrer la forme d'onde à un seul échantillon. En utilisant ceci avec un peu de journalisation devrait être en mesure de vous dire exactement où le clic est généré. Combiné avec un outil comme MrsWatson (avertissement: j'ai écrit Mme Watson), vous pouvez obtenir des données très précises sur ce que le plugin est en train de faire pendant un rappel process() particulier.
  • Vous ne pourrez pas "filtrer" les clics, cela réduirait simplement leur présence tout en produisant un son généralement merdique. Je recommanderais d'essayer de comprendre la cause principale du problème.
  • Contrôle d'intégrité: assurez-vous d'avoir initialisé toutes les variables aux valeurs par défaut saines. Souvent, les valeurs non initialisées peuvent provoquer une mauvaise valeur d'un seul échantillon, ce qui entraîne une pointe temporaire (donc audible en un clic).
  • Dans le pire des cas, vous pouvez appliquer une interpolation linéaire pour "lisser" les zones où vous avez de très grandes différences entre les échantillons. Cependant, cela ne fera que réduire les clics désagréables, mais cela peut avoir un coût de mauvaise qualité sonore de votre instrument.
+0

J'ai récemment résolu ce problème avec un shaper d'enveloppe et une polyphonie que je n'avais pas lorsque j'ai écrit cette question. Et je dois dire merci pour vos conseils, car ils ont juste répondu à d'autres questions que j'ai (ou eu). – Magnus

Questions connexes