VisioForge (c) 2025

Search Results for

    Class SpeexOutput

    Speex output settings.

    Inheritance
    object
    SpeexOutput
    Implements
    IVideoEditBaseOutput
    IVideoCaptureBaseOutput
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: VisioForge.Core.Types.Output
    Assembly: VisioForge.Core.dll
    Syntax
    public sealed class SpeexOutput : IVideoEditBaseOutput, IVideoCaptureBaseOutput

    Constructors

    SpeexOutput()

    Initializes a new instance of the SpeexOutput class.

    Declaration
    public SpeexOutput()

    Properties

    BitRate

    Gets or sets bitrate.

    Declaration
    public int BitRate { get; set; }
    Property Value
    Type Description
    int
    Remarks

    Range is 2 - 96.

    BitrateControl

    Gets or sets bitrate control.

    Declaration
    public SpeexBitrateControl BitrateControl { get; set; }
    Property Value
    Type Description
    SpeexBitrateControl

    Complexity

    Gets or sets complexity.

    Declaration
    public int Complexity { get; set; }
    Property Value
    Type Description
    int
    Remarks

    With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way that's similar to the -1 to -9 options to gzip and bzip2 compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about 5 times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4, though higher settings are often useful when encoding non-speech sounds like DTMF tones. Range is 1 - 10. Default is 3.

    MaxBitRate

    Gets or sets maximal bitrate.

    Declaration
    public int MaxBitRate { get; set; }
    Property Value
    Type Description
    int
    Remarks

    Range is 2 - 96.

    Mode

    Gets or sets mode.

    Declaration
    public SpeexEncodeMode Mode { get; set; }
    Property Value
    Type Description
    SpeexEncodeMode

    Quality

    Gets or sets quality.

    Declaration
    public int Quality { get; set; }
    Property Value
    Type Description
    int
    Remarks

    Speex is a lossy codec, which means that it achives compression at the expense of fidelity of the input speech signal. Unlike some other speech codecs, it is possible to control the tradeoff made between quality and bit-rate. The Speex encoding process is controlled most of the time by a quality parameter that ranges from 0 to 10. Default value is 8.

    UseAGC

    Gets or sets a value indicating whether AGC enabled.

    Declaration
    public bool UseAGC { get; set; }
    Property Value
    Type Description
    bool

    UseDTX

    Gets or sets a value indicating whether DTX enabled.

    Declaration
    public bool UseDTX { get; set; }
    Property Value
    Type Description
    bool
    Remarks

    Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary. In file-based operation, since we cannot just stop writing to the file, only 5 bits are used for such frames (corresponding to 250 bps).

    UseDenoise

    Gets or sets a value indicating whether denoise enabled.

    Declaration
    public bool UseDenoise { get; set; }
    Property Value
    Type Description
    bool

    UseVAD

    Gets or sets a value indicating whether VAD enabled.

    Declaration
    public bool UseVAD { get; set; }
    Property Value
    Type Description
    bool
    Remarks

    When enabled, voice activity detection detects whether the audio being encoded is speech or silence/background noise. VAD is always implicitly activated when encoding in VBR, so the option is only useful in non-VBR operation. In this case, Speex detects non-speech periods and encode them with just enough bits to reproduce the background noise. This is called ``comfort noise generation'' (CNG).

    Methods

    GetInternalTypeVC()

    Gets internal output format.

    Declaration
    public VideoCaptureOutputFormat GetInternalTypeVC()
    Returns
    Type Description
    VideoCaptureOutputFormat

    Returns VideoCaptureOutputFormat.

    GetInternalTypeVE()

    Gets internal output format.

    Declaration
    public VideoEditOutputFormat GetInternalTypeVE()
    Returns
    Type Description
    VideoEditOutputFormat

    Returns VideoEditOutputFormat.

    Load(string)

    Loads from JSON.

    Declaration
    public static SpeexOutput Load(string json)
    Parameters
    Type Name Description
    string json

    JSON string.

    Returns
    Type Description
    SpeexOutput

    The string.

    Save()

    Saves to JSON.

    Declaration
    public string Save()
    Returns
    Type Description
    string

    The string.

    Implements

    IVideoEditBaseOutput
    IVideoCaptureBaseOutput