Code Monkey home page Code Monkey logo

audioarchivist's Introduction

Background

Audio Archivist.

Helps manage collection of audio assets, with reporting on audio resolution, opinionated file naming, audio tagging and audio conversion.

Pre-requisites

Install taglib, e.g. on mac

brew install taglib

And install the pytaglib python library

pip3 install pytaglib

If you want to use aconvert you'll also need ffmpeg, e.g. on mac

brew install ffmpeg

tl;dr

Install

pip3 install -r requirements.txt
pip3 install -e .

Report on audio meta data

ameta

And convert an audio file to release format

aconvert my.wav

Meta data configuration

The meta data for the audio files can be taken from the file and directory naming, and if you want be written directly to the audio files so that when the audio file is run on audio players you see the desired song name, album name and artist name.

To take meta data from file names, place the audio file in a directory named as the album name, and place the album directory in a directory named after the artist.

Meta data can also be overridden by creating a meta.yaml file in current directory or parent directory to define artist and album metadata, e.g

song:
  artist: Me

With this structure in place open up the command line in the artist directory (or directory above that if you're sorting out multiple artists), and run

ameta -n

This will report on the meta data that you can then apply with:

ameta -sn

If you want to also rename the files using a consistent naming pattern (with artist, album and song name in), then run

ameta -snr

Create a meta-root.yaml in the root directory of your audio files to provide support for collections.

Command line arguments

See supported command line arguments with

ameta -h
aconvert -h

Creating variety of audio file formats for testings

Create a variety of audio formats from a given audio file in a sub-directory called Test.

atest my.wav

This can help you decide what format is best for your specific purpose.

Running Tests

pytest

With coverage

pytest --cov=. --cov-report term-missing

audioarchivist's People

Contributors

ianhomer avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.