Skip to content

big-comm/bigrecorder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Recorder icon

Big Recorder

Modern local voice recorder for Linux, built with Rust, GTK4, libadwaita, and GStreamer.

Rust GTK4 libadwaita GStreamer Gettext License MIT

Local recording · Waveform playback · Audio editing · Export tools · Translations

Overview

Big Recorder is a native Linux voice recorder focused on fast local capture, simple playback, and practical editing tools. It records from the microphone, stores audio in the user's Music directory, and keeps the workflow local without uploading recordings to external services.

The interface follows GTK4 and libadwaita conventions, supports light and dark themes, and keeps frequently used tools available from the main window.

Features

  • Local microphone recording with pause, resume, and stop.
  • Live waveform animation during recording.
  • Saved recordings list with in-app playback and progress display.
  • Recording deletion through the system trash.
  • Compact fixed tools footer for quick editing actions.
  • Trim, volume, speed, pitch, voice effects, equalizer, reverse, merge, and export tools.
  • Export formats: WAV, MP3, Opus, and FLAC.
  • Gettext-ready interface with English source strings and external translations.

Audio Tools

Big Recorder includes focused tools for common voice recording adjustments:

  • Trim: cut unwanted parts from a recording.
  • Volume: increase or reduce the recording level.
  • Speed: change playback/export speed.
  • Pitch: adjust tonal height without changing the source file directly.
  • Voice effects: apply character presets such as robot, child, deep voice, radio, echo, and telephone-style effects.
  • Equalizer: shape frequencies with a 10-band visual control.
  • Reverse: create a reversed copy of the selected recording.
  • Merge: combine recordings into one file.
  • Export: save processed audio as WAV, MP3, Opus, or FLAC.

Interface

  • Main page with recordings, playback controls, and a central record button.
  • Dedicated recording page with live visual feedback while speaking.
  • Playback progress bars that show spoken and silent segments.
  • Dialogs with native-style controls and symbolic status icons.
  • Automatic adaptation to the active system color scheme.

Build

Native requirements:

  • Rust toolchain
  • GTK4 development files
  • libadwaita development files
  • GStreamer development files
  • GStreamer audio plugins: good, bad, ugly, libav
cargo build
cargo run

Install Layout

Packaged installations use these application files:

usr/bin/bigrecorder
usr/share/applications/org.communitybig.bigrecorder.desktop
usr/share/icons/hicolor/scalable/apps/org.communitybig.bigrecorder.svg
usr/share/metainfo/org.communitybig.bigrecorder.metainfo.xml

Runtime Data

Recordings are stored in:

~/Music/BigRecorder

Application ID:

org.communitybig.bigrecorder

Binary name:

bigrecorder

Project Layout

src/audio/      Recording, playback, processing, export
src/ui/         GTK4/libadwaita interface and drawing widgets
po/             Gettext catalogs
usr/share/      Desktop file, icon, metainfo
pkgbuild/       BigCommunity package files

Localization

The source code uses English strings with gettext. Translation catalogs live in po/, and compiled catalogs are installed as bigrecorder.mo.

Validation

cargo fmt --check
cargo clippy --offline -- -D warnings
cargo test --offline
desktop-file-validate usr/share/applications/org.communitybig.bigrecorder.desktop

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors