Skip to main content

demodocus is Python CLI program to quickly check synchronization maps.

Installation

Using pip

  1. Open a console and type:

    $ [sudo] pip install demodocus
  2. 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.

From source code

  1. 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.

  2. Open a console and enter the demodocus (cloned) directory:

    $ cd /path/to/demodocus
  3. Install the requirements:

    $ [sudo] pip -r requirements.txt
  4. 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.

Dependencies

  • 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 via pip:

    $ [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

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

License

demodocus is released under the MIT License.

Limitations and Missing Features

  • The input file must be converted to WAVE before running: slow for very large input files

  • Dependency from ffmpeg, called via subprocess to convert the input file to WAVE

  • Dependency from pyaudio, which in turns depends on PortAudio

  • No tests

  • No documentation

Metadata

Release files for demodocus 1.0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for demodocus 1.0.0.1
File Size Uploaded
demodocus-1.0.0.1.tar.gz 415.8 kB Details

Release files / demodocus-1.0.0.1.tar.gz

Download URL demodocus-1.0.0.1.tar.gz
Size 415.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2ad35d0e7b75657bd7b753a3524e32f68eba1914b6172647976da52d15e4eaa5
BLAKE2b-256 checksum
How to use checksums
e606d8b15ca1e42be5d45f121d4750f78c276bd4bad74dae93127d9d58be674a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page