Table of Contents

Class VideoEffectMonoNoise

Namespace
VisioForge.Core.Types.VideoEffects
Assembly
VisioForge.Core.dll

Represents a monochrome noise effect that adds random luminance noise to the video, creating grainy black-and-white speckles similar to classic film grain.

public class VideoEffectMonoNoise : VideoEffect, IVideoEffectMonoNoise, IVideoEffect

Inheritance

Implements

Inherited Members

Remarks

The monochrome (mono) noise effect overlays random brightness variations (luminance noise) onto the video image without adding color variations. This creates black, white, and gray speckles that simulate traditional film grain, vintage photography, or luminance noise from analog sensors. Unlike color noise which affects all RGB channels independently, mono noise adds only brightness variations while preserving the original color relationships, resulting in authentic black-and-white grain texture.

SDK Availability: VideoCaptureCore, MediaPlayerCore, VideoEditCore (Windows only)

Platform Support: Windows only

Technical characteristics:

  • Random luminance variations without chromatic noise
  • Black-and-white grain preserving original color ratios
  • Authentic film grain and photographic noise simulation
  • Each frame uses different random values for organic appearance
  • More subtle and refined than color noise for classic aesthetics

Common use cases include:

  • Classic film grain effects for cinematic quality
  • Black-and-white photography simulation
  • Vintage cinema and documentary aesthetics
  • Adding texture to clean digital video
  • Silent film and early cinema period effects
  • Fine art and artistic photography styles
  • Animated grain intensity for dynamic vintage looks

The monochrome noise intensity can be animated by specifying different VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.Value and VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.ValueStop values. The effect will automatically interpolate between these values, enabling smooth transitions in grain intensity for creative effects like time period transitions or quality degradation sequences.

For colored grain effects that simulate analog video interference, see VisioForge.Core.Types.VideoEffects.VideoEffectColorNoise. Mono noise is preferred for film-like quality and classic black-and-white aesthetics, while color noise is better for VHS and analog video simulation.

Performance: This is a CPU-based effect with minimal computational requirements. The luminance-only noise generation is very efficient, making this suitable for real-time processing even at high resolutions.

Constructors

VideoEffectMonoNoise(bool, int, int, string, TimeSpan, TimeSpan)

Initializes a new instance of the VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise class with specified parameters.

public VideoEffectMonoNoise(bool enabled, int value, int valueStop = 0, string name = "MonoNoise", TimeSpan startTime = default, TimeSpan stopTime = default)

Parameters

enabled bool

true to enable the effect immediately; false to create the effect in a disabled state. The effect can be enabled/disabled later using the VisioForge.Core.Types.VideoEffects.VideoEffect.Enabled property.

value int

The monochrome noise intensity/amplitude. Higher values produce more visible black-and-white grain. Lower values create subtle film texture. Typical range is 10-60, with 10-25 for professional film look and 40+ for vintage aesthetics. Valid range is 1 to 255.

valueStop int

The ending noise intensity for animated transitions. Set to 0 to disable animation and maintain constant intensity at value. When non-zero, the noise intensity will interpolate between value and this value over the effect's time range. Default is 0 (no animation). Valid range is 0 to 255.

name string

An optional name identifier for this effect instance. Default is "MonoNoise". Used to retrieve specific effect instances from a collection via the name property. Multiple effects with the same type can coexist with different names.

startTime TimeSpan

The time at which the effect should start being applied. Default is Zero, which applies the effect from the beginning. Use a specific time value to delay the effect start.

stopTime TimeSpan

The time at which the effect should stop being applied. Default is Zero, which applies the effect until the end. Set to a specific time to limit the effect duration. When using animated transitions with valueStop, this defines the end point of the animation.

Remarks

If both startTime and stopTime are zero (default), the effect will be applied for the entire video duration.

The grain pattern is randomized each frame, creating organic, authentic film grain that appears natural and not static. This randomization is essential for realistic film simulation.

Properties

Value

Gets or sets the monochrome noise intensity (starting value for animations).

public int Value { get; set; }

Property Value

int

Remarks

Controls the amplitude of the random luminance variations added to each pixel. Higher values produce more visible grain with pronounced black-and-white speckles. Lower values create subtle grain that adds authentic film texture without significantly affecting image clarity.

Typical value ranges and their effects:

  • 1-10: Very subtle grain, fine film texture, barely perceptible
  • 11-25: Light grain, 35mm film aesthetic, professional look
  • 26-50: Moderate grain, 16mm film quality, visible texture
  • 51-80: Heavy grain, 8mm film or high-ISO photography
  • 81-120: Very heavy grain, vintage home movie aesthetic
  • 121+: Extreme grain, heavily degraded or experimental effects

When VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.ValueStop is set to a different non-zero value, this property serves as the starting value for an animated transition.

ValueStop

Gets or sets the ending monochrome noise intensity for animated transitions (optional).

public int ValueStop { get; set; }

Property Value

int

Remarks

When set to a non-zero value different from VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.Value, the noise intensity will automatically interpolate between VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.Value and VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.ValueStop over the effect's duration (from VisioForge.Core.Types.VideoEffects.VideoEffect.StartTime to VisioForge.Core.Types.VideoEffects.VideoEffect.StopTime).

Animation examples:

  • Value=5, ValueStop=70: Gradually increase grain (modern to vintage)
  • Value=70, ValueStop=5: Gradually decrease grain (vintage to modern)
  • Value=20, ValueStop=60: Enhance film grain over time
  • ValueStop=0: No animation, constant grain at Value

Animated noise is useful for time period transitions, flashback sequences, memory effects, or simulating aging film stock over the course of a scene.

Set to 0 to disable animation and maintain constant noise intensity at VisioForge.Core.Types.VideoEffects.VideoEffectMonoNoise.Value.

Methods

GetEffectType()

Gets the specific type of this video effect.

public VideoEffectType GetEffectType()

Returns

VideoEffectType

Returns VisioForge.Core.Types.VideoEffects.VideoEffectType.MonoNoise to identify this as a monochrome noise/luminance grain effect.

Remarks

This method overrides the base class implementation to provide the concrete effect type. The effect type is used by the video processing pipeline to route the effect to the appropriate monochrome noise generation module.