Skip to content

A minimalist macOS menu bar app for ambient noise generation

License

Notifications You must be signed in to change notification settings

warike/red-magic-room

Repository files navigation

Red Magic Room

A minimalist macOS menu bar app that generates ambient noise to help you focus.

macOS 14+ Swift 5.9+ License: MIT Dependabot

Features

  • Three noise types: White, Brown, and Pink noise generated algorithmically
  • Focus timer: Configurable work/rest cycles (Pomodoro-style)
    • Focus: ∞ / 30 / 40 / 60 minutes
    • Rest: N/A / 5 / 10 / 15 minutes
  • Menu bar only: Lives in your menu bar, no dock icon
  • Lightweight: Zero external dependencies, ~200KB
  • Privacy: No analytics, no network requests, no data collection

Installation

Homebrew (Recommended)

The easiest way to install and stay updated:

brew tap warike/tools
brew install --cask red-magic-room

Download Release

  1. Download the latest RedMagicRoom.zip from Releases.
  2. Unzip the file.
  3. Move RedMagicRoom.app to your Applications folder.
  4. Launch the app.

Build from Source

Requirements:

  • macOS 14.0+
  • Swift 5.9+ (included with Xcode Command Line Tools)
# Clone
git clone https://github.com/warike/red-magic-room.git
cd red-magic-room

# Build and run
./build.sh --run

Usage

  1. Click the shield icon in your menu bar
  2. Select a noise type (White / Brown / Pink)
  3. Adjust volume as needed
  4. Optionally set Focus/Rest cycles for timed sessions

Click the active noise type again to stop playback.

Noise Types

Type Character Best For
White Equal intensity across frequencies Masking distractions, tinnitus relief
Brown Deeper, rumbling (−6dB/octave) Deep focus, sleep, relaxation
Pink Balanced, natural (−3dB/octave) Concentration, background ambiance

Project Structure

red-magic-room/
├── RedMagicRoom/
│   ├── RedMagicRoomApp.swift   # App entry, MenuBarExtra
│   ├── ContentView.swift       # Popover UI
│   ├── NoiseEngine.swift       # AVAudioEngine noise generation
│   ├── NoiseType.swift         # Noise type enum
│   ├── AppState.swift          # Observable state + persistence
│   └── Info.plist              # App configuration
├── AppIcon.icns                # App icon
├── Package.swift               # Swift Package Manager config
└── build.sh                    # Build script

Contributing

Contributions are welcome! Please read our Contributing Guide to get started. It covers:

  • Development workflow
  • Conventional Commits (required for automated releases)
  • Building the app locally

Security

We take security seriously. Please read our Security Policy to learn about supported versions and how to report vulnerabilities.

License

MIT

Acknowledgments

  • Audio generation uses Apple's AVAudioEngine
  • Icons from SF Symbols

About

A minimalist macOS menu bar app for ambient noise generation

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •