scripts/audio/README.md

106 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

just-play-something.sh
======================
As its name indicates, the main goal of `just-play-something.sh` is to put some
music on. Anything. What the name doesn't indicate is that the music is played
by MPD.
Its use case is to be binded to a physical button of my router (which is also
my music box), so that I don't have to start a device with an MPD client to
start music (this is especially useful when I first wake up in the morning).
Therefore, it is written with portability in mind and tries to not use any
utility that might not be present on embedded systems.
Here are the required dependencies (beside MPD itself):
- `mpc` (MPD's command-line client)
- time
- ps
- date
- md5sum
- sed
What this script will do for you:
- first of all, if the MPD daemon looks down, it will be restarted; then,
- if there are songs in the playlist but the playback is paused, it will
unpause;
- if there are songs in the playlist but the playback is stopped, it will
start playing the playlist from the begining;
- if there are no songs in the playlist, it will add a random album from your
library and play it;
- if music is already playing, it will be paused.
Tips:
- You can bind a short button press to `just-play-something`, and a long press
(or another button) to `mpc clear ; just-play-something`, so that if you
don't like what is currently in the playlist, you can force playing a random
album with a long press.
- Running this script from another host works just fine by setting the
`MPD_HOST` variable (and possibly `MPD_PORT`), for example:
MPD_HOST=192.168.0.254 just-play-something
metflac-field2field.sh
======================
*Français: voir README-fr.md.*
`metaflac-field2field.sh` uses metaflac to process field to field copy/move on
FLAC file metadatas.
Invocation:
metaflac-field2field.sh <ACTION> <SRC_FIELD> <DST_FIELD> <FILE.flac> \
[ <FILE2.flac> [...] ]
`<ACTION>` is the action to perform on the fields, amongst “copy”, “move”,
“rmcopy” and “mvcopy”:
- **copy**: each occurrence of `SRC_FIELD` is duplicated to create an
occurrence of `DST_FIELD`; all the existing occurrences of `SRC_FIELD` and
`DST_FIELD` are kept.
- **move**: each occurrence of `SRC_FIELD` is moved to create an occurrence of
`DST_FIELD`; the existing occurrences of `DST_FIELD` are kept.
- **rmcopy**: the existing occurrences of `DST_FIELD` are deleted, then each
occurrence of `SRC_FIELD` is duplicated to create an occurrence of
`DST_FIELD`; the occurrences of `SRC_FIELD` are kept.
- **rmmove**: the existing occurrences of `DST_FIELD` are deleted, then each
occurrence of `SRC_FIELD` is moved to create an occurrence of `DST_FIELD`.
`<SRC_FIELD>` is the action's source field.
`<DST_FIELD>` is the action's destination field.
Finally, the file(s) on which the action has to be run are specified at the end
of the command line.
Please note that you should always use UPPERCASE fields; lowercase fields are
*not* supported, and the behaviour is undefined. For example, if you try to
lowercase a field with the move command (e.g. `metaflac-field2field move DATE
date`), the field will just be deleted. This is because `metaflac --remove-tag`
is case-insensitive.
mp3car.sh
=========
`mp3car.sh` uses the pacpl (Perl Audio Converter) multi-purpose audio converter
to convert audio files in any format to low-quality MP3s suitable for listening
in a car. The goal is to maximise the number of albums that can be contained in
a CD-ROM (or USB stick). The default encoding parameters are variable bitrate
(VBR) from 32 to 128 kbps, in joint stereo.
Usage: just call the script with one or more files or directories, and they
will be converted recursively and put in the target directory (`~/tmp/mp3car/`
by default, edit the script to change that).
You must have installed pacpl and lame for this script to work.
Note: if you want to burn all these converted audio files to CD-ROMs, you may
be interested in the `dirpacker.py` script provided in this repository.