Audio-Cassette-Simulation logo

Audio-Cassette-Simulation

This project simulates cassette tape audio profiles using ffmpeg

ShellShellMIT 421 22Health 77
GitHub

What is it?

What it is

A collection of bash scripts that use ffmpeg to simulate cassette tape audio characteristics such as tape noise, wow and flutter, bandwidth limiting, and equalization for various tape types.

Why it exists

To allow users to easily apply authentic cassette tape degradation and warmth to digital audio files or live streams for nostalgic, artistic, or experimental purposes.

Who should use it

Audio hobbyists, musicians, podcasters, or developers who want to add cassette tape characteristics to their audio files using simple shell scripts and ffmpeg.

Who should avoid it

Users seeking real-time audio processing, those uncomfortable with command-line tools, or anyone without ffmpeg installed.

How it works

A quick walkthrough in plain English

How Audio-Cassette-Simulation works

Step 1 of 3

You interact with it

Open Audio-Cassette-Simulation, send a request, or connect it to your stack.

Features

Simulates tape noise, wow and flutter pitch modulation, bandwidth limits, and equalizer adjustments
Uses ffmpeg for audio processing
Includes various tape profiles (BASF, Maxell, Sony, TDK, MK-60)
Supports batch conversion of local audio files (mp3, ogg, m4a, aac)
Supports recording live web streams into segment files
Shell-based automation scripts

Advantages

  • High variety of vintage tape emulations
  • Lightweight and easy to run via bash
  • Extensible through ffmpeg filters
  • Permissive MIT license

Disadvantages

  • Requires external dependency (ffmpeg with libmp3lame)
  • Limited to shell environments (bash)
  • No graphical user interface

Installation

cloud

N/A

docker

N/A

native

Prerequisites: bash, ffmpeg (compiled with libmp3lame). Navigate to any cassette folder and run the scripts:./convert_cassette_*.sh or./record_stream_cassette_*.sh [STREAM_URL]

compose

N/A

FAQ

What software is required to run the simulation scripts?

You must have bash installed and ffmpeg compiled with libmp3lame support to process audio files.

What types of audio files can be converted?

The scripts support local audio files in mp3, ogg, m4a, and aac formats.

How do I record a live web stream using this tool?

You can use the provided recording scripts by running `./record_stream_cassette_*.sh [STREAM_URL]`.

Where are the processed audio files saved?

All processed output files are saved in the `./out` directory within the specific cassette folder you are using.

What is the difference between the Sony and mk60 tape profiles?

The Sony profiles offer vintage warmth and specific drift characteristics, while the mk60 profile simulates Soviet-era tape with high hiss, heavy wow and flutter, and aggressive frequency cuts.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for Audio-Cassette-Simulation

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
Audio-Cassette-Simulation | MushyBook