VideoCascadeLogo
VideoCascade

Audio Processing

Advanced audio enhancement with silence removal, normalization, and noise reduction

VideoCascade provides powerful audio processing capabilities to enhance your video's sound quality. Apply multiple filters simultaneously for professional-grade audio output.

Available Audio Features

FeatureDescriptionUse Case
removeSilenceAutomatically detects and removes silent portionsRemove pauses, dead air
normalizeAudioNormalize volume to -20 LUFS standardConsistent loudness across videos
removeNoiseAI-powered noise reductionRemove background hiss, hum, static
disableAudio (per-file)Remove audio from specific files when combiningSilent B-roll, mute specific clips

Silence Removal

Automatically detect and remove silent portions from your video.

How It Works

The silence detector:

  • Detects silence below -30dB threshold
  • Identifies silent segments lasting 0.5 seconds or longer
  • Removes these segments and seamlessly stitches remaining audio/video

Basic Usage

curl -X POST https://api.videocascade.com/v1/videos \
  -H "Authorization: Bearer vca_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "fileUrl": "https://example.com/video.mp4",
    "removeSilence": true
  }'
const response = await fetch('https://api.videocascade.com/v1/videos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vca_your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fileUrl: 'https://example.com/video.mp4',
    removeSilence: true,
  }),
});

const data = await response.json();
console.log(`Video ID: ${data.videoId}`);
import requests

response = requests.post(
    'https://api.videocascade.com/v1/videos',
    headers={
        'Authorization': 'Bearer vca_your_api_key',
        'Content-Type': 'application/json',
    },
    json={
        'fileUrl': 'https://example.com/video.mp4',
        'removeSilence': True,
    }
)

data = response.json()
print(f"Video ID: {data['videoId']}")
interface VideoRequest {
  fileUrl: string;
  removeSilence?: boolean;
  normalizeAudio?: boolean;
  removeNoise?: boolean;
}

const request: VideoRequest = {
fileUrl: 'https://example.com/video.mp4',
removeSilence: true,
};

const response = await fetch('https://api.videocascade.com/v1/videos', {
method: 'POST',
headers: {
'Authorization': 'Bearer vca_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify(request),
});

const data = await response.json();
console.log(`Video ID: ${data.videoId}`);

Detection Parameters

The silence detector uses these parameters:

ParameterValueDescription
Noise threshold-30dBSounds below this are considered silence
Minimum duration0.5 secondsMinimum silence length to remove

Note: Very short pauses (under 0.5 seconds) are preserved to maintain natural speech rhythm.

Use Cases

Podcast/Interview Videos

{
  fileUrl: 'https://example.com/podcast-episode.mp4',
  removeSilence: true,
  normalizeAudio: true  // Combine with normalization
}

Screen Recordings

{
  fileUrl: 'https://example.com/tutorial-recording.mp4',
  removeSilence: true  // Remove pauses while thinking
}

Audio Normalization

Normalize audio volume to the industry-standard -20 LUFS (Loudness Units Full Scale).

How It Works

The loudnorm filter:

  • Analyzes the entire audio track
  • Adjusts volume to -20 LUFS target
  • Maintains dynamic range
  • Prevents clipping and distortion

Basic Usage

const response = await fetch('https://api.videocascade.com/v1/videos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vca_your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fileUrl: 'https://example.com/video.mp4',
    normalizeAudio: true,
  }),
});
response = requests.post(
    'https://api.videocascade.com/v1/videos',
    headers={
        'Authorization': 'Bearer vca_your_api_key',
        'Content-Type': 'application/json',
    },
    json={
        'fileUrl': 'https://example.com/video.mp4',
        'normalizeAudio': True,
    }
)

Normalization Parameters

ParameterValueDescription
Integrated loudness-16 LUFSTarget loudness level
Loudness range11 LUDynamic range target
True peak-1.5 dBTPMaximum peak level

Why -16 LUFS?

  • Streaming platforms: YouTube, Spotify, Netflix use -14 to -16 LUFS
  • Consistent playback: Same volume across different videos
  • No clipping: Prevents distortion from too-loud audio
  • Professional standard: Industry best practice

Before/After Example

Before Normalization:

Video 1: -8 LUFS (too loud, may clip)
Video 2: -24 LUFS (too quiet, hard to hear)
Video 3: -18 LUFS (inconsistent)

After Normalization:

Video 1: -16 LUFS (perfect)
Video 2: -16 LUFS (perfect)
Video 3: -16 LUFS (perfect)

Use Cases

Video Series

// Normalize all episodes for consistent volume
const episodes = ['episode1.mp4', 'episode2.mp4', 'episode3.mp4'];

for (const episode of episodes) {
  await fetch('https://api.videocascade.com/v1/videos', {
    method: 'POST',
    headers: {
      Authorization: 'Bearer vca_your_api_key',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      fileUrl: `https://example.com/${episode}`,
      normalizeAudio: true,
    }),
  });
}

User-Generated Content

{
  fileUrl: 'https://example.com/user-upload.mp4',
  normalizeAudio: true,  // Ensure consistent volume
  removeNoise: true      // Clean up audio quality
}

Noise Reduction

Remove background noise.

How It Works

The noise reduction filter:

  • Analyzes audio patterns
  • Identifies and reduces background noise
  • Preserves speech/music clarity
  • Reduces hiss, hum, static, and room tone

Basic Usage

const response = await fetch('https://api.videocascade.com/v1/videos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vca_your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fileUrl: 'https://example.com/video.mp4',
    removeNoise: true,
  }),
});
response = requests.post(
    'https://api.videocascade.com/v1/videos',
    headers={
        'Authorization': 'Bearer vca_your_api_key',
        'Content-Type': 'application/json',
    },
    json={
        'fileUrl': 'https://example.com/video.mp4',
        'removeNoise': True,
    }
)

Use Cases

Home Studio Recordings

{
  fileUrl: 'https://example.com/home-recording.mp4',
  removeNoise: true,     // Remove background hum
  normalizeAudio: true   // Consistent volume
}

Outdoor Videos

{
  fileUrl: 'https://example.com/outdoor-interview.mp4',
  removeNoise: true  // Reduce wind/traffic noise
}

Conference Room Recordings

{
  fileUrl: 'https://example.com/meeting-recording.mp4',
  removeNoise: true,     // Remove HVAC noise
  removeSilence: true    // Remove long pauses
}

Combining Audio Filters

Apply multiple audio filters in a single request for maximum enhancement:

const response = await fetch('https://api.videocascade.com/v1/videos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vca_your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fileUrl: 'https://example.com/raw-podcast.mp4',
    removeSilence: true,    // Remove dead air
    normalizeAudio: true,   // Consistent volume
    removeNoise: true,      // Clean background
    compressionQuality: 95  // High quality output
  }),
});
response = requests.post(
    'https://api.videocascade.com/v1/videos',
    headers={
        'Authorization': 'Bearer vca_your_api_key',
        'Content-Type': 'application/json',
    },
    json={
        'fileUrl': 'https://example.com/raw-podcast.mp4',
        'removeSilence': True,    # Remove dead air
        'normalizeAudio': True,   # Consistent volume
        'removeNoise': True,      # Clean background
        'compressionQuality': 95  # High quality output
    }
)
interface AudioProcessingRequest {
  fileUrl: string;
  removeSilence?: boolean;
  normalizeAudio?: boolean;
  removeNoise?: boolean;
  compressionQuality?: number;
}

const request: AudioProcessingRequest = {
fileUrl: 'https://example.com/raw-podcast.mp4',
removeSilence: true, // Remove dead air
normalizeAudio: true, // Consistent volume
removeNoise: true, // Clean background
compressionQuality: 95 // High quality output
};

const response = await fetch('https://api.videocascade.com/v1/videos', {
method: 'POST',
headers: {
'Authorization': 'Bearer vca_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify(request),
});

Per-File Audio Control (Combining)

When combining videos, you can disable audio from specific files:

const response = await fetch('https://api.videocascade.com/v1/videos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vca_your_api_key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    combine: true,
    files: [
      {
        url: 'https://example.com/b-roll-intro.mp4',
        disableAudio: true  // Mute this clip
      },
      {
        url: 'https://example.com/main-content.mp4'
        // Keep audio from this clip
      },
      {
        url: 'https://example.com/b-roll-outro.mp4',
        disableAudio: true  // Mute this clip
      }
    ],
    normalizeAudio: true  // Normalize remaining audio
  }),
});
response = requests.post(
    'https://api.videocascade.com/v1/videos',
    headers={
        'Authorization': 'Bearer vca_your_api_key',
        'Content-Type': 'application/json',
    },
    json={
        'combine': True,
        'files': [
            {
                'url': 'https://example.com/b-roll-intro.mp4',
                'disableAudio': True  # Mute this clip
            },
            {
                'url': 'https://example.com/main-content.mp4'
                # Keep audio from this clip
            },
            {
                'url': 'https://example.com/b-roll-outro.mp4',
                'disableAudio': True  # Mute this clip
            }
        ],
        'normalizeAudio': True  # Normalize remaining audio
    }
)

Use Cases for Per-File Audio

Silent B-Roll Montage

{
  combine: true,
  files: [
    { url: 'https://example.com/broll1.mp4', disableAudio: true },
    { url: 'https://example.com/broll2.mp4', disableAudio: true },
    { url: 'https://example.com/broll3.mp4', disableAudio: true }
  ],
  // Add separate audio track using elements
  elements: [
    {
      type: 'audio',
      url: 'https://example.com/background-music.mp3',
      timing: { entireVideo: true },
      effects: { volume: 0.3 }
    }
  ]
}

Interview with Silent Cutaways

{
  combine: true,
  files: [
    { url: 'https://example.com/interview-segment1.mp4' },
    { url: 'https://example.com/cutaway-broll.mp4', disableAudio: true },
    { url: 'https://example.com/interview-segment2.mp4' }
  ]
}

Before/After Scenarios

Scenario 1: Raw Podcast

Before:

  • Frequent awkward pauses (5-10 second silences)
  • Inconsistent volume (speaker A is quieter than speaker B)
  • Background computer fan noise

Processing:

{
  fileUrl: 'https://example.com/raw-podcast.mp4',
  removeSilence: true,
  normalizeAudio: true,
  removeNoise: true
}

After:

  • Natural pacing with pauses under 0.5s preserved
  • Both speakers at consistent -16 LUFS
  • Clean audio without fan noise

Scenario 2: Tutorial Video

Before:

  • Long pauses while instructor thinks (3-7 seconds)
  • Low audio volume (hard to hear)
  • No background noise

Processing:

{
  fileUrl: 'https://example.com/tutorial.mp4',
  removeSilence: true,
  normalizeAudio: true
}

After:

  • Faster-paced with thinking pauses removed
  • Clear, audible volume at -16 LUFS
  • Professional sound quality

Scenario 3: Conference Recording

Before:

  • HVAC hum throughout
  • Varies from quiet room tone to loud presentation
  • Multiple speakers at different volumes

Processing:

{
  fileUrl: 'https://example.com/conference.mp4',
  removeNoise: true,
  normalizeAudio: true,
  removeSilence: true
}

After:

  • No HVAC background noise
  • All speakers at consistent volume
  • Dead time between speakers removed

Common Use Cases

Podcast Post-Production

{
  fileUrl: 'https://example.com/podcast-raw.mp4',
  removeSilence: true,      // Remove awkward pauses
  normalizeAudio: true,     // Consistent volume
  removeNoise: true,        // Clean background
  compressionQuality: 95,   // High quality
  aspectRatio: '1:1',       // Square for social media
  outputFormat: 'mp4'
}

YouTube Video Enhancement

{
  fileUrl: 'https://example.com/youtube-raw.mp4',
  normalizeAudio: true,     // Match YouTube standard
  removeNoise: true,        // Professional sound
  aspectRatio: '16:9',      // YouTube format
  compressionQuality: 90
}

Interview Video Cleanup

{
  fileUrl: 'https://example.com/interview.mp4',
  removeNoise: true,        // Remove room noise
  normalizeAudio: true,     // Balance speakers
  compressionQuality: 95
}

User-Generated Content

{
  fileUrl: 'https://example.com/ugc-video.mp4',
  removeNoise: true,        // Clean phone/camera audio
  normalizeAudio: true,     // Consistent volume
  compressionQuality: 85    // Balance quality/size
}