Référence API des effets audio¶
Video Capture SDK .Net Video Edit SDK .Net Media Blocks SDK .Net
Référence complète des paramètres pour tous les effets audio disponibles dans les SDK VisioForge .NET. Chaque effet multiplateforme encapsule un élément GStreamer et prend en charge les changements de paramètres en temps réel depuis le code C# pendant la lecture. Les effets multiplateformes fonctionnent sur Windows, macOS, Linux, iOS et Android.
Pour un aperçu des catégories d'effets et des modèles d'utilisation, consultez Effets audio.
Effets de volume et de dynamique¶
VolumeAudioEffect¶
Élément GStreamer : volume
Objectif : contrôler le niveau de volume audio avec mise en sourdine optionnelle.
Paramètres :
Level(double) : multiplicateur de volume- Plage : 0.0 à illimité
- Par défaut : 1.0 (100 %)
- Exemples : 0.5 = 50 %, 2.0 = 200 %
Mute(bool) : mettre la sortie audio en sourdine- Par défaut : false
Utilisation :
var effect = new VolumeAudioEffect(1.5); // Volume à 150 %
effect.Mute = true; // Mettre temporairement en sourdine
AmplifyAudioEffect¶
Élément GStreamer : audioamplify
Objectif : amplifier l'audio avec contrôle d'écrêtage.
Paramètres :
Level(double) : niveau d'amplification- Plage : 1.0 à 10.0
- Par défaut : 1.0
ClippingMethod(AmplifyClippingMethod) : gestion des pics- Options : Normal, WrapNegative, WrapPositive, NoClip
- Par défaut : Normal
Utilisation :
var effect = new AmplifyAudioEffect(2.0);
effect.ClippingMethod = AmplifyClippingMethod.NoClip;
CompressorExpanderAudioEffect¶
Élément GStreamer : audiodynamic
Objectif : compression ou expansion de la plage dynamique.
Paramètres :
Threshold(double) : seuil d'activation- Plage : 0.0 à 1.0
- Par défaut : 0.0
Ratio(double) : ratio de compression/expansion- Plage : 1.0+
- Par défaut : 1.0
- Typique : 2:1 à 10:1 pour la compression
Mode(AudioCompressorMode) : Compressor ou Expander- Par défaut : Compressor
Characteristics(AudioDynamicCharacteristics) : HardKnee ou SoftKnee- Par défaut : SoftKnee
Utilisation :
var effect = new CompressorExpanderAudioEffect();
effect.Threshold = 0.5;
effect.Ratio = 4.0; // Compression 4:1
effect.Characteristics = AudioDynamicCharacteristics.SoftKnee;
DynamicAmplifyAudioEffect¶
Objectif : contrôle de gain adaptatif.
Paramètres :
AttackTime(uint) : temps de réponse en ms- Typique : 10-100 ms
MaxAmplification(uint) : gain maximum- 10000 = 1x (pas de changement)
- 20000 = 2x amplification
- Par défaut : 10000
ReleaseTime(TimeSpan) : durée avant la reprise de l'amplification- Typique : 100-1000 ms
Utilisation :
var effect = new DynamicAmplifyAudioEffect(50, 20000, TimeSpan.FromMilliseconds(500));
Effets d'égalisation¶
Equalizer10AudioEffect¶
Élément GStreamer : equalizer-10bands
Objectif : égaliseur graphique 10 bandes avec fréquences fixes.
Bandes de fréquences :
- 29 Hz (sub-bass)
- 59 Hz (basses)
- 119 Hz (basses)
- 237 Hz (bas-médium)
- 474 Hz (médium)
- 947 Hz (médium)
- 1889 Hz (haut-médium)
- 3770 Hz (présence)
- 7523 Hz (brillance)
- 15011 Hz (air)
Paramètres :
Levels(double[]) : gain de chaque bande en dB- Plage par bande : -24 à +12 dB
- Le tableau doit contenir exactement 10 valeurs
Utilisation :
var levels = new double[] {
3.0, // 29 Hz : +3 dB
2.0, // 59 Hz : +2 dB
0.0, // 119 Hz : 0 dB (pas de changement)
-2.0, // 237 Hz : -2 dB
0.0, // 474 Hz
0.0, // 947 Hz
1.0, // 1889 Hz : +1 dB
2.0, // 3770 Hz : +2 dB
3.0, // 7523 Hz : +3 dB
4.0 // 15011 Hz : +4 dB
};
var effect = new Equalizer10AudioEffect(levels);
EqualizerParametricAudioEffect¶
Élément GStreamer : equalizer-nbands
Objectif : égaliseur paramétrique avec bandes configurables.
Paramètres :
Bands(ParametricEqualizerBand[]) : tableau de bandes- Nombre : 1 à 64 bandes
- Chaque bande : Frequency, Gain, Width (bande passante en Hz)
Utilisation :
var effect = new EqualizerParametricAudioEffect(3);
effect.Bands[0].Frequency = 100; // Hz
effect.Bands[0].Gain = -6; // dB
effect.Bands[0].Width = 1.0f; // bande passante
// Configurer les autres bandes...
effect.Update(); // Appliquer les modifications
TrebleEnhancerAudioEffect¶
Objectif : renforcer les hautes fréquences.
Paramètres :
Frequency(int) : fréquence de départ en Hz- Typique : 4000-8000 Hz
- Les fréquences au-dessus sont renforcées
Volume(ushort) : quantité de renforcement- Plage : 0 à 10000
- 0 = aucun effet
Utilisation :
var effect = new TrebleEnhancerAudioEffect(6000, 5000);
TrueBassAudioEffect¶
Objectif : renforcer les basses fréquences.
Paramètres :
Frequency(int) : limite supérieure de fréquence en Hz- Typique : 100-300 Hz
- Les fréquences en dessous sont renforcées
Volume(ushort) : quantité de renforcement- Plage : 0 à 10000
- 0 = aucun effet
Utilisation :
var effect = new TrueBassAudioEffect(150, 5000);
Effets de filtrage¶
HighPassAudioEffect¶
Implémentation : DSP personnalisé (filtre passe-haut IIR)
Objectif : supprimer les basses fréquences.
Paramètres :
CutOff(uint) : fréquence de coupure en Hz- Les fréquences en dessous sont atténuées
- Typique : 80-200 Hz pour la voix, 40 Hz pour la musique
Fréquences courantes :
- 20-40 Hz : suppression sub-sonique
- 60-80 Hz : suppression des grondements
- 100-150 Hz : amélioration de la clarté
Utilisation :
var effect = new HighPassAudioEffect(100); // Supprimer les fréquences en dessous de 100 Hz
LowPassAudioEffect¶
Implémentation : DSP personnalisé (filtre passe-bas IIR)
Objectif : supprimer les hautes fréquences.
Paramètres :
CutOff(uint) : fréquence de coupure en Hz- Les fréquences au-dessus sont atténuées
- Typique : 8000-12000 Hz pour suppression du souffle
Fréquences courantes :
- 15000-20000 Hz : réduction douce de l'air
- 8000-10000 Hz : chaleur
- 3000-5000 Hz : effet téléphone
Utilisation :
var effect = new LowPassAudioEffect(10000); // Supprimer les fréquences au-dessus de 10 kHz
BandPassAudioEffect¶
Implémentation : DSP personnalisé (filtre à variables d'état)
Objectif : autoriser uniquement une plage de fréquences spécifique.
Paramètres :
CutOffHigh(float) : limite supérieure de fréquence en HzCutOffLow(float) : limite inférieure de fréquence en Hz
Utilisation :
// Constructeur : BandPassAudioEffect(cutOffHigh, cutOffLow)
var effect = new BandPassAudioEffect(5000, 300); // Autoriser 300-5000 Hz
NotchAudioEffect¶
Implémentation : DSP personnalisé (filtre réjecteur de bande)
Objectif : supprimer une fréquence spécifique.
Paramètres :
CutOff(uint) : fréquence centrale à supprimer en Hz- Typique : 50/60 Hz pour suppression du ronflement
Utilisation :
var effect = new NotchAudioEffect(60); // Supprimer le ronflement 60 Hz
ChebyshevLimitAudioEffect¶
Élément GStreamer : audiocheblimit
Objectif : filtrage passe-bas/passe-haut net avec contrôle d'ondulation.
Paramètres :
CutOffFrequency(float) : fréquence de coupure en HzMode(ChebyshevLimitAudioEffectMode) : LowPass ou HighPassPoles(int) : ordre du filtre (typique 2-8)- Par défaut : 4
- Plus de pôles = pente plus raide
Ripple(float) : ondulation de la bande passante en dB- Par défaut : 0.25
Type(int) : type de Chebyshev (1 ou 2)- Par défaut : 1
Utilisation :
var effect = new ChebyshevLimitAudioEffect();
effect.CutOffFrequency = 100;
effect.Mode = ChebyshevLimitAudioEffectMode.HighPass;
effect.Poles = 6;
ChebyshevBandPassRejectAudioEffect¶
Élément GStreamer : audiochebband
Objectif : filtrage passe-bande ou réjecteur de bande net.
Paramètres :
LowerFrequency(float) : limite inférieure de bande en HzUpperFrequency(float) : limite supérieure de bande en HzMode(ChebyshevBandPassRejectAudioEffectMode) : BandPass ou BandRejectPoles(int) : ordre du filtre (typique 2-8)- Par défaut : 4
Ripple(float) : ondulation de la bande passante en dB- Par défaut : 0.25
Type(int) : type de Chebyshev (1 ou 2)- Par défaut : 1
Utilisation :
var effect = new ChebyshevBandPassRejectAudioEffect();
effect.LowerFrequency = 300;
effect.UpperFrequency = 3000;
effect.Mode = ChebyshevBandPassRejectAudioEffectMode.BandPass;
Effets spatiaux et stéréo¶
BalanceAudioEffect¶
Élément GStreamer : audiopanorama
Objectif : contrôle de balance stéréo (panoramique).
Paramètres :
Level(double) : position de la balance- Plage : -1.0 à 1.0
- -1.0 = tout à gauche
- 0.0 = centre
- 1.0 = tout à droite
- Par défaut : 0.0
Utilisation :
var effect = new BalanceAudioEffect(-0.5); // Panoramique 50 % à gauche
WideStereoAudioEffect¶
Élément GStreamer : stereo
Objectif : améliorer la largeur stéréo.
Paramètres :
Level(float) : intensité d'élargissement- Plage : 0.0+
- Par défaut : 0.01
- Typique : 0.01 à 1.0
- Valeurs plus élevées = champ stéréo plus large
Utilisation :
var effect = new WideStereoAudioEffect();
effect.Level = 0.5f;
Sound3DAudioEffect¶
Objectif : simulation d'audio spatial 3D.
Paramètres :
Value(uint) : amplification spatiale- Plage : 1 à 20000
- 1000 = neutre (désactivé)
- < 1000 = stéréo plus étroite
-
1000 = stéréo plus large
-
10000 peut distordre
Utilisation :
var effect = new Sound3DAudioEffect(2000); // Largeur spatiale x2
PhaseInvertAudioEffect¶
Objectif : inverser la phase audio de 180 degrés.
Paramètres : aucun.
Utilisation :
var effect = new PhaseInvertAudioEffect();
HRTFRenderAudioEffect¶
Élément GStreamer : hrtfrender (rsaudiofx)
Objectif : audio spatial 3D basé sur HRTF.
Paramètres :
HrirFile(string) : chemin vers le fichier de données HRIRInterpolationSteps(ulong) : qualité d'interpolation- Par défaut : 8
BlockLength(ulong) : taille du bloc de traitement- Par défaut : 512
DistanceGain(float) : facteur d'atténuation par la distance- Par défaut : 1.0
Utilisation :
var effect = new HRTFRenderAudioEffect("/path/to/hrir.dat");
effect.InterpolationSteps = 16; // Qualité supérieure
Effets temporels¶
EchoAudioEffect¶
Élément GStreamer : audioecho
Objectif : effets d'écho et de delay.
Paramètres :
Delay(TimeSpan) : durée de delay de l'écho- Ne doit pas dépasser MaxDelay
MaxDelay(TimeSpan) : tampon de delay maximum- Doit être >= Delay
- À définir avant de démarrer la lecture
Intensity(float) : volume de l'écho- Plage : 0.0 à 1.0
- Par défaut : 1.0
Feedback(float) : quantité de répétition de l'écho- Plage : 0.0 à 1.0
- Par défaut : 0.0
- Plus élevé = plus d'échos
Utilisation :
var delay = TimeSpan.FromMilliseconds(500);
var effect = new EchoAudioEffect(delay);
effect.Intensity = 0.7f;
effect.Feedback = 0.4f;
RSAudioEchoAudioEffect¶
Élément GStreamer : rsaudioecho (rsaudiofx)
Objectif : écho amélioré avec contrôles avancés.
Paramètres :
Delay(TimeSpan) : durée de delay de l'échoMaxDelay(TimeSpan) : tampon de delay maximumIntensity(double) : intensité de l'écho- Plage : 0.0 à 1.0
Feedback(double) : quantité de feedback- Plage : 0.0 à 1.0
Utilisation :
var effect = new RSAudioEchoAudioEffect();
effect.Delay = TimeSpan.FromMilliseconds(750);
effect.Intensity = 0.6;
effect.Feedback = 0.3;
ReverberationAudioEffect¶
Élément GStreamer : freeverb
Objectif : simulation de réverbération de pièce.
Paramètres :
RoomSize(float) : taille virtuelle de la pièce- Plage : 0.0 à 1.0
- Par défaut : 0.5
- Plus grand = queue de réverbération plus longue
Damping(float) : absorption des hautes fréquences- Plage : 0.0 à 1.0
- Par défaut : 0.2
- Plus élevé = réverbération plus sombre
Level(float) : mix wet/dry- Plage : 0.0 à 1.0
- Par défaut : 0.5
- 0 = dry, 1 = wet
Width(float) : largeur stéréo- Plage : 0.0 à 1.0
- Par défaut : 1.0
- 0 = mono, 1 = stéréo complète
Utilisation :
var effect = new ReverberationAudioEffect();
effect.RoomSize = 0.8f; // Grande pièce
effect.Damping = 0.3f;
effect.Level = 0.4f;
FadeAudioEffect¶
Objectif : automation de fondu volumique en entrée/sortie.
Paramètres :
StartVolume(uint) : volume à l'heure de débutStopVolume(uint) : volume à l'heure d'arrêtStartTime(TimeSpan) : moment où le fondu commenceStopTime(TimeSpan) : moment où le fondu se termine
Utilisation :
// Fondu sortant sur 3 secondes à partir de 10 secondes
var effect = new FadeAudioEffect(
100, 0,
TimeSpan.FromSeconds(10),
TimeSpan.FromSeconds(13)
);
Effets de modulation¶
PhaserAudioEffect¶
Objectif : effet phaser avec modulation LFO.
Paramètres :
Depth(byte) : profondeur du balayage- Plage : 0 à 255
DryWetRatio(byte) : ratio de mix- Plage : 0 à 255
- 0 = dry, 255 = wet
Feedback(byte) : résonance- Plage : -100 à 100
Frequency(float) : vitesse LFO en Hz- Typique : 0.1 à 5 Hz
Stages(byte) : nombre d'étages- Plage : 2 à 24 recommandée
- Plus = effet plus prononcé
StartPhase(float) : phase de départ du LFO en radians
Utilisation :
var effect = new PhaserAudioEffect(
150, // profondeur
128, // mix 50 %
50, // feedback
0.5f, // LFO 0,5 Hz
6, // 6 étages
0f // phase de départ
);
FlangerAudioEffect¶
Objectif : effet flanging avec modulation de delay.
Paramètres :
Delay(TimeSpan) : durée de delay de base- Typique : 1-15 ms
Frequency(float) : vitesse LFO en Hz- Typique : 0.1 à 5 Hz
PhaseInvert(bool) : inverser la phase du signal retardé- Par défaut : false
Utilisation :
var effect = new FlangerAudioEffect(
TimeSpan.FromMilliseconds(5),
1.0f,
false
);
Effets de hauteur et de tempo¶
PitchShiftAudioEffect¶
Objectif : changer la hauteur sans changer la vitesse.
Paramètres :
Pitch(float) : ratio de décalage de hauteur- 1.0 = aucun changement
- 2.0 = une octave plus haut
- 0.5 = une octave plus bas
- Plage typique : 0.5 à 2.0
Intervalles musicaux :
- 0.5 = -12 demi-tons
- 1.059 = +1 demi-ton
- 1.122 = +2 demi-tons
- 2.0 = +12 demi-tons
Utilisation :
var effect = new PitchShiftAudioEffect(1.5f); // Hausser d'une quinte
ScaleTempoAudioEffect¶
Élément GStreamer : scaletempo
Objectif : changer le tempo sans changer la hauteur (algorithme WSOLA).
Paramètres :
Rate(double) : vitesse de lecture- 1.0 = normale
- 2.0 = double vitesse
- 0.5 = demi-vitesse
- Par défaut : 1.0
Stride(TimeSpan) : pas de traitement- Par défaut : 30 ms
Overlap(double) : pourcentage de recouvrement- Plage : 0.0 à 1.0
- Par défaut : 0.2
Search(TimeSpan) : fenêtre de recherche- Par défaut : 14 ms
Utilisation :
var effect = new ScaleTempoAudioEffect(1.5); // Vitesse 1,5x
Effets spéciaux¶
KaraokeAudioEffect¶
Élément GStreamer : audiokaraoke
Objectif : supprimer les voix centrées dans le panoramique.
Paramètres :
FilterBand(float) : fréquence centrale en Hz- Par défaut : 220 Hz
- Typique : 80-400 Hz
FilterWidth(float) : bande passante du filtre en Hz- Par défaut : 100 Hz
Level(float) : intensité de l'effet- Plage : 0.0 à 1.0
- Par défaut : 1.0
MonoLevel(float) : niveau du canal mono- Plage : 0.0 à 1.0
- Par défaut : 1.0
Utilisation :
var effect = new KaraokeAudioEffect();
effect.FilterBand = 250f;
effect.Level = 1.0f;
RemoveSilenceAudioEffect¶
Objectif : supprimer automatiquement les sections silencieuses.
Paramètres :
Threshold(double) : seuil de détection du silence- Plage : 0.0 à 1.0
- Par défaut : 0.05
- Plus bas = plus sensible
Squash(bool) : supprimer vs réduire le silence- true = supprimer complètement
- false = réduire le niveau
- Par défaut : true
Utilisation :
var effect = new RemoveSilenceAudioEffect("silence-remover");
effect.Threshold = 0.02;
effect.Squash = true;
CsoundAudioEffect¶
Élément GStreamer : csoundfilter
Objectif : programmation audio basée sur Csound.
Plateformes : Windows, macOS, Linux (nécessite l'installation de Csound).
Paramètres :
CsdText(string) : document CSD Csound sous forme de texteLocation(string) : chemin vers un fichier CSDLoop(bool) : boucler la partition en continu- Par défaut : false
ScoreOffset(double) : heure de début en secondes- Par défaut : 0.0
Utilisation :
var csd = @"<CsoundSynthesizer>
<CsInstruments>
; Votre code Csound ici
</CsInstruments>
<CsScore>
; Votre partition ici
</CsScore>
</CsoundSynthesizer>";
var effect = new CsoundAudioEffect("my-csound", csd);
effect.Loop = false;
Réduction de bruit et mesure¶
AudioRNNoiseAudioEffect¶
Élément GStreamer : audiornnoise (rsaudiofx)
Objectif : réduction de bruit basée sur l'IA.
Paramètres :
VadThreshold(float) : seuil de détection d'activité vocale- Plage : 0.0 à 1.0
- Par défaut : 0.0
- Plus élevé = plus sensible à la voix
Utilisation :
var effect = new AudioRNNoiseAudioEffect();
effect.VadThreshold = 0.5f;
AudioLoudNormAudioEffect¶
Élément GStreamer : audioloudnorm (rsaudiofx)
Objectif : normalisation de la sonie EBU R128.
Paramètres :
LoudnessTarget(double) : sonie cible en LUFS- Plage : -70.0 à -5.0
- Par défaut : -24.0
LoudnessRangeTarget(double) : plage cible en LU- Plage : 1.0 à 20.0
- Par défaut : 7.0
MaxTruePeak(double) : pic vrai max en dbTP- Plage : -9.0 à 0.0
- Par défaut : -2.0
Offset(double) : gain d'offset en LU- Plage : -99.0 à 99.0
- Par défaut : 0.0
Utilisation :
var effect = new AudioLoudNormAudioEffect();
effect.LoudnessTarget = -16.0; // Norme de streaming
effect.MaxTruePeak = -1.0;
EbuR128LevelAudioEffect¶
Élément GStreamer : ebur128level (rsaudiofx)
Objectif : mesure de sonie EBU R128.
Paramètres :
Mode(EbuR128Mode) : types de mesure à calculer- Options : Momentary, ShortTerm, Global, LoudnessRange, SamplePeak, TruePeak, All
- Par défaut : All
PostMessages(bool) : publier les messages de mesure- Par défaut : true
Interval(TimeSpan) : intervalle de mise à jour des mesures- Par défaut : 1 seconde
Utilisation :
var effect = new EbuR128LevelAudioEffect();
effect.Mode = EbuR128Mode.All;
effect.Interval = TimeSpan.FromSeconds(0.5);
Gestion des canaux¶
ChannelOrderAudioEffect¶
Objectif : remapper les canaux audio.
Paramètres :
Orders(byte[,]) : tableau 2D de paires [cible, source]- Format : [[target0, source0], [target1, source1], ...]
- Les canaux sont indexés à partir de zéro
Utilisation :
// Échanger les canaux gauche et droit
var orders = new byte[2, 2] {
{ 0, 1 }, // Le canal de sortie 0 reçoit le canal d'entrée 1 (droit)
{ 1, 0 } // Le canal de sortie 1 reçoit le canal d'entrée 0 (gauche)
};
var effect = new ChannelOrderAudioEffect(orders);
DownMixAudioEffect¶
Implémentation : DSP personnalisé (moyennage des canaux)
Objectif : réduire le nombre de canaux (par exemple, 5.1 vers stéréo).
Paramètres : aucun (downmixage automatique).
Utilisation :
var effect = new DownMixAudioEffect();
Effets DirectSound (SDK classiques, Windows uniquement)¶
Les effets suivants sont disponibles uniquement dans Video Capture SDK (VideoCaptureCore), Media Player SDK (MediaPlayerCore) et Video Edit SDK (VideoEditCore) sur Windows. Ils utilisent la technologie DirectSound/DirectX.
DS Chorus¶
Crée un effet chorus avec plusieurs copies retardées et modulées.
Propriétés :
- WetDryMix (float) : mix dry/wet (0-100)
- Depth (float) : profondeur de modulation (0-100)
- Feedback (float) : quantité de feedback (0-100)
- Frequency (float) : fréquence du LFO (0-10 Hz)
- Waveform : Sine ou Triangle
- Delay (float) : delay de base (0-20 ms)
- Phase : relation de phase pour la stéréo (-180 à 180 degrés)
Utilisation :
// Signature : (int streamIndex, string name, float delay, float depth,
// float feedback, float frequency, DSChorusPhase phase,
// DSChorusWaveForm waveformTriangle, float wetDryMix)
videoCaptureCore.Audio_Effects_DS_Chorus(0, "chorus",
delay: 16, depth: 25, feedback: 25, frequency: 1.1f,
phase: DSChorusPhase.Phase90, waveformTriangle: DSChorusWaveForm.Sine,
wetDryMix: 50);
DS Distortion¶
Ajoute de la distorsion/overdrive au signal audio.
Propriétés :
- Gain (float) : gain avant distorsion (-60 à 0 dB)
- Edge (float) : quantité de distorsion (0-100 %)
- PostEQCenterFrequency (float) : centre de l'EQ post-distorsion (100-8000 Hz)
- PostEQBandwidth (float) : bande passante de l'EQ post (100-8000 Hz)
- PreLowpassCutoff (float) : passe-bas avant distorsion (100-8000 Hz)
Utilisation :
// Signature : (int streamIndex, string name, float edge, float gain,
// float postEQBandwidth, float postEQCenterFrequency,
// float preLowpassCutOff)
videoCaptureCore.Audio_Effects_DS_Distortion(0, "distortion",
edge: 50, gain: -18, postEQBandwidth: 2400,
postEQCenterFrequency: 2400, preLowpassCutOff: 8000);
DS Gargle¶
Crée un effet de modulation gargouillis/trémolo.
Propriétés :
- RateHz (int) : taux de modulation (1-1000 Hz)
- WaveForm : onde triangulaire ou carrée
Utilisation :
// Signature : (int streamIndex, string name, int rateHz, DSGargleWaveForm waveForm)
videoCaptureCore.Audio_Effects_DS_Gargle(0, "gargle",
rateHz: 20, waveForm: DSGargleWaveForm.Triangle);
DS Reverb (I3DL2)¶
Réverbération professionnelle avec modélisation environnementale.
Propriétés :
- Room (int) : niveau d'effet de pièce (-10000 à 0 mB)
- RoomHF (int) : effet de pièce hautes fréquences (-10000 à 0 mB)
- RoomRolloffFactor (float) : facteur de roll-off (0 à 10)
- DecayTime (float) : temps de décroissance (0,1 à 20 secondes)
- DecayHFRatio (float) : ratio de décroissance HF (0,1 à 2,0)
- Reflections (int) : premières réflexions (-10000 à 1000 mB)
- ReflectionsDelay (float) : delay des réflexions (0 à 0,3 seconde)
- Reverb (int) : niveau de réverbération tardive (-10000 à 2000 mB)
- ReverbDelay (float) : delay de réverbération (0 à 0,1 seconde)
- Diffusion (float) : diffusion (0 à 100 %)
- Density (float) : densité (0 à 100 %)
- HFReference (float) : référence HF (20 à 20000 Hz)
DS Waves Reverb¶
Réverbération simplifiée avec paramètres de base.
Propriétés :
- InGain (float) : gain d'entrée (0 à 96 dB)
- ReverbMix (float) : mix de réverbération (0 à 96 dB)
- ReverbTime (float) : temps de réverbération (0,001 à 3000 ms)
- HighFreqRTRatio (float) : ratio de temps de réverbération HF (0,001 à 0,999)
Utilisation :
// Signature : (int streamIndex, string name, float highFreqRTRatio,
// float inGain, float reverbMix, float reverbTime)
videoCaptureCore.Audio_Effects_DS_WavesReverb(0, "reverb",
highFreqRTRatio: 0.001f, inGain: 0, reverbMix: -10, reverbTime: 1000);
Matrice de disponibilité des effets¶
| Effet | SDK multiplateformes | SDK classiques | Plateformes |
|---|---|---|---|
| Contrôle de volume/niveau | |||
| Volume | Oui | Oui | Multiplateforme / Windows |
| Amplify | Oui | Oui | Multiplateforme / Windows |
| Traitement stéréo | |||
| Balance | Oui | Non | Multiplateforme |
| Wide Stereo | Oui | Non | Multiplateforme |
| Karaoke | Oui | Non | Multiplateforme |
| Delay et modulation | |||
| Echo | Oui | Oui | Multiplateforme / Windows |
| Reverberation (Freeverb) | Oui | Non | Multiplateforme |
| Flanger | Oui | Oui | Multiplateforme / Windows |
| Phaser | Oui | Oui | Multiplateforme / Windows |
| Hauteur et tempo | |||
| Pitch Shift | Oui | Oui | Multiplateforme / Windows |
| Scale Tempo | Oui | Non | Multiplateforme |
| Tempo | Oui | Oui | Multiplateforme / Windows |
| Égalisation | |||
| Equalizer 10-band | Oui | Non | Multiplateforme |
| Equalizer Parametric | Oui | Oui | Multiplateforme / Windows |
| Filtrage | |||
| High-Pass | Oui | Oui | Multiplateforme / Windows |
| Low-Pass | Oui | Oui | Multiplateforme / Windows |
| Band-Pass | Oui | Oui | Multiplateforme / Windows |
| Notch | Oui | Oui | Multiplateforme / Windows |
| Chebyshev Band Pass/Reject | Oui | Non | Multiplateforme |
| Chebyshev Limit | Oui | Non | Multiplateforme |
| Traitement dynamique | |||
| Compressor/Expander | Oui | Non | Multiplateforme |
| Dynamic Amplify | Oui | Oui | Multiplateforme / Windows |
| Renforcement de fréquence | |||
| TrueBass | Oui | Oui | Multiplateforme / Windows |
| Treble Enhancer | Oui | Oui | Multiplateforme / Windows |
| Effets avancés | |||
| Phase Invert | Oui | Oui | Multiplateforme / Windows |
| Sound 3D | Oui | Oui | Multiplateforme / Windows |
| Channel Order | Oui | Oui | Multiplateforme / Windows |
| Down Mix | Oui | Oui | Multiplateforme / Windows |
| Fade | Oui | Oui | Multiplateforme / Windows |
| Réduction de bruit | |||
| Remove Silence | Oui | Non | Multiplateforme |
| Audio RNNoise | Oui | Non | Multiplateforme (nécessite un plugin) |
| Audio Loud Norm | Oui | Non | Multiplateforme (nécessite un plugin) |
| Analyse | |||
| EBU R128 Level | Oui | Non | Multiplateforme (nécessite un plugin) |
| Audio spatial | |||
| HRTF Render | Oui | Non | Multiplateforme (nécessite un plugin) |
| Spécialisés | |||
| RS Audio Echo | Oui | Non | Multiplateforme (nécessite un plugin) |
| Csound Filter | Oui | Non | Windows/macOS/Linux (nécessite Csound) |
| Effets DirectSound (Windows classique uniquement) | |||
| DS Chorus | Non | Oui | Windows uniquement |
| DS Distortion | Non | Oui | Windows uniquement |
| DS Gargle | Non | Oui | Windows uniquement |
| DS Reverb (I3DL2) | Non | Oui | Windows uniquement |
| DS Waves Reverb | Non | Oui | Windows uniquement |
Légende :
- SDK multiplateformes = Media Blocks SDK, Video Capture SDK (VideoCaptureCoreX), Media Player SDK (MediaPlayerCoreX)
- SDK classiques = Video Capture SDK (VideoCaptureCore), Media Player SDK (MediaPlayerCore), Video Edit SDK (VideoEditCore) — Windows uniquement
Référence des éléments audio¶
| Effet | Élément audio | Plugin |
|---|---|---|
| Volume | volume | coreelements |
| Amplify | audioamplify | audiofx |
| Balance | audiopanorama | audiofx |
| Echo | audioecho | audiofx |
| Karaoke | audiokaraoke | audiofx |
| Wide Stereo | stereo | audiofx |
| Reverberation | freeverb | freeverb |
| Equalizer 10-band | equalizer-10bands | audiofx |
| High-Pass | audiocheblimit | audiofx |
| Low-Pass | audiocheblimit | audiofx |
| Chebyshev Band | audiochebband | audiofx |
| Chebyshev Limit | audiocheblimit | audiofx |
| Compressor | audiodynamic | audiofx |
| Scale Tempo | scaletempo | audiofx |
| Pitch Shift | pitch | soundtouch |
| Audio RNNoise | audiornnoise | rsaudiofx |
| Audio Loud Norm | audioloudnorm | rsaudiofx |
| EBU R128 Level | ebur128level | rsaudiofx |
| RS Audio Echo | rsaudioecho | rsaudiofx |
| HRTF Render | hrtfrender | rsaudiofx |
| Csound Filter | csoundfilter | csound |
Foire aux questions¶
Quelle est la valeur par défaut des paramètres des effets audio ?
Chaque effet possède des valeurs par défaut documentées qui représentent un comportement neutre/bypass. Par exemple, VolumeAudioEffect a par défaut un niveau de 1.0 (100 %), Equalizer10AudioEffect a toutes les bandes par défaut à 0 dB, et ReverberationAudioEffect a par défaut une simulation de pièce modérée. Consultez le tableau de paramètres de chaque effet ci-dessus pour les valeurs par défaut spécifiques.
Comment réinitialiser un effet audio à ses paramètres par défaut ?
Créez une nouvelle instance de l'effet avec les paramètres de constructeur par défaut et appelez Audio_Effects_AddOrUpdate() pour remplacer les paramètres actuels. Le constructeur par défaut de chaque effet initialise tous les paramètres à leurs valeurs par défaut documentées.
Puis-je utiliser plusieurs instances du même type d'effet ?
Oui. Les noms d'effets sont utilisés comme identifiants uniques, pas les types d'effets. Pour exécuter plusieurs instances du même type simultanément, donnez à chaque instance un nom distinct. Appeler Audio_Effects_AddOrUpdate() avec un effet dont le nom correspond à un existant remplace cette instance ; un nouveau nom ajoute une nouvelle instance à la chaîne.
Quelles fréquences d'échantillonnage et configurations de canaux sont prises en charge ?
Tous les effets audio multiplateformes prennent en charge les fréquences d'échantillonnage standard (8 kHz à 192 kHz) et les configurations de canaux (mono, stéréo, multicanal). Les effets s'adaptent automatiquement au format audio du flux d'entrée. Certains effets comme BalanceAudioEffect et WideStereoAudioEffect nécessitent une entrée stéréo.
Comment supprimer un effet audio pendant la lecture ?
Utilisez la méthode Audio_Effects_Remove() avec le type d'effet pour le supprimer de la chaîne de traitement pendant la lecture. Le changement prend effet immédiatement sans interrompre le flux audio.