AARomanov1985 GitHub avatar

Audio-Cassette-Simulation

AARomanov1985

A set of bash scripts using ffmpeg to simulate vintage cassette tape audio profiles with noise, wow/flutter, bandwidth limits, and EQ.

Stars

373

7-day growth

No data

Forks

19

Open issues

0

License

MIT

Last updated

2026-07-25

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It offers a practical, open-source way to apply authentic analog cassette tape characteristics to digital audio, with multiple tape models and streaming support.

Who it is for

  • Audio enthusiasts and lo-fi music producers
  • Podcasters seeking vintage sound effects
  • Retro computing hobbyists
  • Sound designers for nostalgia-driven projects

Use cases

  • Adding tape-like warmth and imperfections to digital recordings
  • Creating vintage-sounding audio for podcasts or videos
  • Simulating specific cassette tape models (e.g., Soviet MK-60) for artistic effect
  • Recording live internet streams with cassette simulation in real time

Strengths

  • Multiple distinct tape profiles (BASF, Maxell, Sony, TDK, Soviet MK-60) with documented sound characteristics
  • Uses widely available ffmpeg, making it easy to integrate into existing workflows
  • Simple bash scripts with clear instructions for converting local files or recording streams
  • MIT license allows free use and modification

Considerations

  • Requires a Unix-like environment with bash and ffmpeg compiled with libmp3lame
  • Limited to predefined tape models—no user-customizable parameters exposed
  • No graphical interface; command-line only

README quick start

Cassette Simulation

This project simulates cassette tape audio profiles using ffmpeg.

It applies tape noise, wow and flutter pitch modulation, bandwidth limits, and equalizer adjustments.

Prerequisites

  • bash
  • ffmpeg (compiled with libmp3lame)

Repository Structure

  • BASF LH Extra C90: German ferric tape. Moderate hiss and mild flutter.
  • Maxell UD C90: Higher-grade ferric tape. Lower hiss, wider frequency range.
  • Sony CHF60 Type I Normal (1978): Vintage 60-minute normal tape. Warm mid-range.
  • Sony CHF90 (1978): Vintage 90-minute normal tape. Slightly higher tape speed drift.
  • TDK D90 (1995-1997): Late-era Type I tape. Clean sound, subtle analog character.
  • mk60: Soviet MK-60 tape. High tape hiss, heavy wow and flutter, aggressive frequency cut.

How to Use

Navigate to any cassette folder and run the scripts:

# Convert local audio files (mp3, ogg, m4a, aac)
./convert_cassette_*.sh

# Record a live web stream into segment files
./record_stream_cassette_*.sh [STREAM_URL]

Processed output files will be saved in the ./out folder.

License

MIT.

Description

This project simulates cassette tape audio profiles using ffmpeg

Related repositories

Similar projects matched by category, topics, and programming language.

jamesob
Featured
jamesob GitHub avatar

local-llm

A comprehensive guide for building and configuring a high-end local machine to run state-of-the-art LLMs, with detailed hardware choices, BIOS tuning, and Docker-based model serving.

AI & Machine LearningLarge Language Models
1,660
bjan
Featured
bjan GitHub avatar

claudemux

Claudemux is a lightweight, dependency-minimal message bus that lets multiple Claude Code sessions communicate in real-time over tmux, enabling one session to ask another a question and receive the answer without manual intervention.

AI & Machine LearningAI Agents
9
ibsgss
ibsgss GitHub avatar

TcpQuality

A TCP quality testing script that probes latency and packet loss to China's three major ISP nodes (Telecom, Unicom, Mobile) with optional speedtest and IPv4/IPv6 support.

Shell
350