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
| Feature | Description | Use Case |
|---|---|---|
removeSilence | Automatically detects and removes silent portions | Remove pauses, dead air |
normalizeAudio | Normalize volume to -20 LUFS standard | Consistent loudness across videos |
removeNoise | AI-powered noise reduction | Remove background hiss, hum, static |
disableAudio (per-file) | Remove audio from specific files when combining | Silent 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:
| Parameter | Value | Description |
|---|---|---|
| Noise threshold | -30dB | Sounds below this are considered silence |
| Minimum duration | 0.5 seconds | Minimum 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
| Parameter | Value | Description |
|---|---|---|
| Integrated loudness | -16 LUFS | Target loudness level |
| Loudness range | 11 LU | Dynamic range target |
| True peak | -1.5 dBTP | Maximum 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
}Related Features
Video Combining
Combine multiple videos with per-file audio control
Segment Removal
Remove specific segments from videos
Compression
Control audio/video quality and file size
Audio Elements
Add background music and sound effects