Skip to content

A free spectrogram-assisted file browser & player for audio recordings

License

Notifications You must be signed in to change notification settings

justlep/sample-commander

Repository files navigation

LeP's Sample Commander

License: GNU GPL v3 Latest GitHub release Build Status

More Screenshots & Videos

Features:

  • 2-panel layout with adjustable widths:
    • Source Panel (left): listing audio files of a selected folder (+ subfolders if enabled)
    • Target Panel (right): showing a directory tree of another folder, e.g. your sample collection location
      (can be hidden, leaving all screen space to the Source panel)
  • Flame-style spectrograms*
    • clickable to set playback position (rightclick pauses playback)
    • Frequency axis in Mel scale, limited to 20.000 Hz (~3817 Mel)
  • Drag & Drop
    • Copy or move files by dragging files from the Source Panel into Target Panel folders
    • Drag audio files from the Source Panel directly into external applications (e.g. your DAW)
  • Rename multiple files at once using patterns, counters, search/replace (incl. regular expressions)
  • Convert to MP3, AAC* or Wave (MP3 in CBR or VBR)
    • *AAC conversion via ffmpeg's native or Fraunhofer "libfdk_aac" codec
    • libfdk_aac is normally not included; you need a special ffmpeg build like this
  • Helpful context menus per right-click, allowing e.g. to
    • show any file/folder in Windows Explorer
    • show any file/folder in your preferred file manager** (like Total Commander ❤)
    • open files in your preferred audio editor** (like Izotope RX)
    • open files in the system-default application
  • Filter files by filename
  • Find unique or duplicate files (even renamed copies):
    • Display only files in the Source panel that exist in both the Source panel folder AND the Target panel folder
    • Display only files in the Source panel that have NO identical copy in the currently selected Target folder
    • configurable duplicate-check strategy: Quick mode vs. Full-Content scan
  • Fast recall of folders through lists for
    • Recent Source panel folders
    • Recent Target panel folders
    • Bookmarked folders
  • Customizable limits for performance safety:
    • limit the max. number of loaded/displayed directories and files
    • limit the max. number of concurrently processed audio files

* requires FFmpeg binaries, see Installation

** configurable in Sample Commander's Settings dialog**

System Requirements

Only Windows 7 and Windows 10 are currently supported.
Other OS may be added in the future.

Installation / Update

  1. Run the latest installer from the Releases page (Sample Commander Setup 2.x.x.exe).
    Sample Commander takes around 160 MB on your harddisk (excluding FFmpeg binaries).

    (Any previously installed 2.x version will be overwritten automatically.)

  2. After the very first installation, make sure you also download the free FFmpeg binaries for Windows. Without FFmpeg, Sample Commander won't be able to generate spectrograms or show details about your audio files.

Setting up FFmpeg (once only)

  1. Download a pre-built package (ZIP file) of FFmpeg binaries from a location below:
  2. Extract the zip anywhere on your harddisk.
  3. Finally, open Sample Commander's Settings dialog and set the location of the extracted FFmpeg files.
What is FFmpeg and what's it useful for?

FFmpeg is a free, open-source collection of tools around recording, analysing, converting and streaming audio and video. Sample Commander uses two executables of FFmpeg:

  • ffprobe.exe for gathering information on audio files (like sample rate, duration, ...)
  • ffmpeg.exe for generating spectrograms

More info on the official FFmpeg website: https://ffmpeg.org/

Development

Developing Sample Commander locally requires Node.js 8+.

# install dependencies
npm install
# serve with hot reload at localhost:9080
npm run dev
# build electron application for production
npm run build
# run unit tests
npm test
# lint all JS/Vue component files in `src/`
npm run lint

License

Copyright © 2019-2023 Lennart Pegel

Sample Commander is licensed under the GNU General Public License v3.

The brand (incl. the name "Sample Commander", logo) is excluded and all rights reserved. If you fork Sample Commander to build your own app, please use a different name and logo, and include some attribution to this repository.

Libraries and modules used in this project are licensed under the GPL and other free software licenses.


Thanks

Many thanks to all developers of the libraries/components I used for building Sample Commander, among them:

Electron, VueJS, vuex-pathify, electron-vue, Buefy, Bulma, VueDarkMode, vue-multipane, readdirp and all I forgot in the list.