demodocus is Python CLI program to quickly check synchronization maps.
- Version: 1.0.0
- Date: 2015-12-12
- Developer: Alberto Pettarin
- License: the MIT License (MIT)
- Contact: click here
-
Open a console and type:
$ [sudo] pip install demodocus
-
That's it! Just run without arguments (or with
-h
or--help
) to get the manual:$ demodocus
Make sure to have ffmpeg
installed and available on your PATH
environment variable, see below.
-
Get the source code:
-
clone this repo with
git
:$ git clone https://github.com/pettarin/demodocus.git
-
or download the latest release and uncompress it somewhere,
-
or download the current master ZIP and uncompress it somewhere.
-
-
Open a console and enter the
demodocus
(cloned) directory:$ cd /path/to/demodocus
-
Install the requirements:
$ [sudo] pip -r requirements.txt
-
That's it! Just run without arguments (or with
-h
or--help
) to get the manual:$ python -m demodocus
Make sure to have ffmpeg
installed and available on your PATH
environment variable, see below.
-
Python, version 2.7.x or 3.4.x (or above)
-
ffmpeg
: download it from https://www.ffmpeg.org/ or install it with your packet manager -
pyaudio
: install it viapip
:$ [sudo] pip install pyaudio
(if a compilation error appears, check that you have the PortAudio 1.9 headers available: in Debian, they are provided by the
portaudio19-dev
package)
usage:
$ demodocus -h
$ demodocus -a AUDIO -s SYNCMAP [OPTIONS]
description:
Run an interactive CLI tool to verify that SYNCMAP has a good alignment against AUDIO.
The sync map file can be in JSON or SSV/SSVH format (auto-detected).
optional arguments:
-h, --help show this help message and exit
-a AUDIO, --audio AUDIO
path to the audio file
-c, --continuous keep going (default: False)
-d DURATION, --duration DURATION
play audio for max DURATION seconds (default: 2)
-i INCREMENT, --increment INCREMENT
play audio every INCREMENT fragments (default: 1)
-s SYNCMAP, --syncmap SYNCMAP
path to the sync map file
-v, --version print version and exit
-w WAIT, --wait WAIT wait WAIT seconds before playing the next fragment
(default: 0)
examples:
$ demodocus -a audio.mp3 -s syncmap.json
Check audio.mp3 against syncmap.json with default parameters (2 seconds, all fragments)
$ demodocus -a audio.mp3 -s syncmap.ssv
As above, but the sync map file has SSV format
$ demodocus -a audio.mp3 -s syncmap.json -d 1
Play each fragment for max 1 second
$ demodocus -a audio.mp3 -s syncmap.json -d 3 -i 5
Play every 5 fragments, for max 3 seconds each
$ demodocus -a audio.mp3 -s syncmap.json -d 3 -i 5 -w 0.5
Pause for 0.5 seconds before playing next fragment
$ demodocus -a audio.mp3 -s syncmap.json -c -i 5 -d 1.5 -w 0.5
Play every 5 fragments, 1.5 seconds each, continuously, pausing for 0.5 seconds
demodocus is released under the MIT License.
- The input file must be converted to WAVE before running: slow for very large input files
- Dependency from
ffmpeg
, called viasubprocess
to convert the input file to WAVE - Dependency from
pyaudio
, which in turns depends onPortAudio
- No tests
- No documentation