Category Archives: music production tools

Samples selection and chopping workflow

  1. Download the naive-chopper script. LINK
  2. Add the path to the folder storing the script to the PATH
  3. Go to directory with WAV files to be chopped.
  4. For segments of length 30 run:
    1. $ for file in *.wav; do $file ../<output-dir>/; done
  5. For 60 seconds long segments run:
    1. $ DURATION=60;
    2. $ for file in *.wav; do $file ../<output-dir>/ $DURATION $STARTPOINT $ENDPOINT; done
    1. For 20 seconds long segments between 2:00 and 3:00 minute:
      1. $ DURATION=20;  STARTPOINT=120; ENDPOINT=180;
      2. $ for file in *.wav; do $file ../<output-dir>/ $DURATION $STARTPOINT $ENDPOINT; done

“Drums DB tools” – project overview


  1. Production of beats in fast manner (less than 30 minutes per beat) requires database of tested and well known drum samples.
  2. Selection of best sounding drum samples requires browsing many different directories.
  3. Some samples have unacecptable quality to be used in professional productions and need to be removed
  4. Having metadata and feature representation of sounds enable finding similar sounds in terms of style, quality, origin and timbre. It might be useful for remixing and learning about timbres used by respected producers.


– Quality:

  1. Time of preparing a beat consisting of drums, sample/instrument track and baseline with 1:30 of simple arrangement
  2.  Number of samples rated 4 or 5
  3. Percentage of misclassified samples after manual verification

– Progress:

  1. Number of automatically pre-processed and classified samples in different categories
  2. Number of manually processed samples
  3. Number of commits to gitghub
  4. Degree of process automatiion



-version 0.1.0

  • Script for renaming files and title metadata extraction

– future versions:

  • Meta data schema
  • Manually ranked test set
  • Function to select file based on rank and metadata
  • Offline app for manuaal tagging
  • Python script for feature extraction

Future plans

  • Zbudowanie bazy transkrypcji
  • Ekstrakcja groove’ów i zastosowanie na dowolnej tranksrypcji
  • Selekcja reprezentywnych cech warstwy rytmicznej.
  • System do rozpoznawania kopii beatów.


  1. Python library for drums processing
  2. Db with preprocessed samples and metadata
  3. App for manual tagging


  1. Finish script for search, renaming.
  2. Commit to github
  3. Add title meta-data creation
  4. Prepare meta-data schema
  5. Select test set N=3 per category
  6. Manually annote test set

Gain staging



– 6 dB per channel set in DAW

– refence mixes adjusted to -20 dBFS RMS

– Best resolution of DAW mix faders around neutral position (0 dBFS)


– matching operational range of the plugin by adjusting input signal level e.g. trim

– staying below 0!

– aiming at -6 dBFS peaks (20 dbVU)


– Average RMS mix level – 20, -18 dBFS [1]


– – everything you might need, working fine with maschine studio 2.0 32/64 bit