Author: Mark Jobson Date: March 3rd 2022

  1. Overview

The goal of this project is to create an audio crossfading filter for FFMPEG. This filter will allow users to smoothly transition between two audio tracks by blending them together.

  1. Requirements
  1. Design

The filter will be implemented as a new FFMPEG filter. It will accept two audio tracks as input and output a single track with the two tracks blended together. The filter will use a variety of algorithms to blend the two tracks together, depending on the parameters specified by the user.

The filter will also accept a variety of parameters, including the length of the crossfade, the type of crossfade (linear, exponential, etc.), and the volume of each track. These parameters will be used to determine the type of blending algorithm used and the parameters of the algorithm.

  1. Implementation

The filter will be implemented in C++ using the FFMPEG API. The filter will accept two audio tracks as input and output a single track with the two tracks blended together. The filter will use a variety of algorithms to blend the two tracks together, depending on the parameters specified by the user.

The filter will also accept a variety of parameters, including the length of the crossfade, the type of crossfade (linear, exponential, etc.), and the volume of each track. These parameters will be used to determine the type of blending algorithm used and the parameters of the algorithm.

  1. Testing

The filter will be tested using a variety of audio tracks and parameters. The tests will ensure that the filter is able to accept a variety of audio formats, that it is able to accept a variety of parameters, and that it is able to produce a smooth transition between the two tracks.