2010-10-11 26 views
4

Quelqu'un peut-il me dire pourquoi le volume devient plus faible quand je fais monter la hauteur à l'ouverture? Plus le ton est fort, plus le volume est bas ...openal pitch shift

alSourcef (source, AL_PITCH, 1.2f); alSourcef (source, AL_GAIN, 1.0f);

Avec ce réglage, le volume est encore très très faible. est-il un moyen de tricher pour faire le gain au-dessus de 1? Peut-être que cela a quelque chose à voir avec la distance ??

FYI, la source est une voix enregistrée à partir de AVrecorder, donc je ne peux pas régler le volume de la source plus haut.

+0

Je suppose que vous parlez de l'intensité perçue par rapport à une sorte de changement d'amplitude observé ...? Quel genre d'échantillon joues-tu? Vous pouvez perdre des fréquences ou dépasser les capacités de votre matériel pour les rendre (ou vos oreilles pour les percevoir ...) – Shog9

+0

alSourcef (source, AL_PITCH, 1.2f); alSourcef (source, AL_GAIN, 1.0f); – Xiu

+0

juste un tout petit peu de changement de hauteur .... – Xiu

Répondre

3

Afaik il n'est pas normal que l'amplitude change en fonction du changement de hauteur. Lorsque le pitch est plus haut que l'original, openal accélère l'échantillon par le multiplicateur (afaik) en utilisant une sorte d'interpolation quand le multiplicateur n'est pas entier.

Il pourrait y avoir quelques rares cas où les changements d'amplitude, mais probablement pas pour les échantillons plus avec beaucoup de contenu en fréquence (comme la plupart des sons naturels ont tendance à être)

Comment nous percevons fort que l'amplitude dépend de la hauteur, voir equal loudness contour
Peut-être que cet effet explique votre question? Comme solution de contournement, vous pouvez réduire le gain pour les sons normaux et utiliser un gain plus élevé pour les sons plus aigus.
Ou multipliez les données source par un multiplicateur avant de les attacher/passer dans un tampon.

+0

ah, j'aime l'idée du multiplicateur pour les données source. Je vais regarder dans cela. Merci Emile :) – Xiu

+0

Merci à tous pour l'aide, j'ai trouvé que régler le gain beaucoup plus haut que 1, comme 5, ou 100 a résolu le problème de faible volume. :) – Xiu