Skip to main content

Karaoke session management utility

Project description

KaraokeManager

Command-line karaoke session management utility, driving Winamp.

KaraokeManager1

KaraokeManager2

  • Maintains a list of singers and their selected songs, key changes, etc.
  • Easily add/delete/move singers and songs with short, simple commands. No mouse required.
  • Fast undo & redo functionality for fat finger syndrome.
  • Singers maintain their position in the queue, even if they currently have no songs cued up.
  • Heavy OCD rating.
    • Enforces correctly formatted karaoke and music filenames.
    • Can analyze your library for duplicates, bad capitalization, similar-looking titles, missing "The" prefixes, etc (lists of analysis exemptions can be created).
  • Writes the current list of singers to a file for the SingersQueue plugin to display.
  • Not just karaoke! There are also commands for adding non-karaoke music tracks to a playlist, for the AutoDJ plugin to play in-between singers.

Installation

Just run 'pip install karaokemanager'.

To run it

  • First, install a driver! (see below)
  • Copy the YAML template to ".yaml", and modify it with your own settings.
  • Then just run py -m karaokemanager
  • If you hate the config filename, rename it, and provide it as an argument to the program, e.g. py -m karaokemanager renamed_file.yml

Drivers

This utility was created so that it could work with any karaoke player. For it to "drive" the player, you need to provide it with a driver.

Currently, one driver exists, for Winamp, the 90s music player for Windows. There are currently no drivers for any Linux apps. If you know of a useable Linux karaoke app, I'm all ears.

Anyway, if you want to use the Winamp driver, you should install it first with pip.

If you want to create a driver for your favourite karaoke player, create a Python class that exposes two methods:

	def __init__(self, config)
	def play_karaoke_file(self, karaoke_file, key_change, errors)
  • config is the pyyaml object that represents the driver-specific section from the KaraokeManager config file.
  • karaoke_file is the path to the file that should be played
  • key_change is a numeric value that tells you how many semitones the pitch of the track should be shifted.
  • errors is a list to which you should append any error messages that KaraokeManager will display to the user.
  • The constructor should raise an exception if there is a problem.

Create a package containing this code, install it, and then set the driver->class value in the KaraokeManager config file to point to your class.

TODO

  • More customization.
  • More code comments.

v1.0

First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

karaokemanager-1.0.2.tar.gz (55.0 kB view details)

Uploaded Source

Built Distribution

karaokemanager-1.0.2-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file karaokemanager-1.0.2.tar.gz.

File metadata

  • Download URL: karaokemanager-1.0.2.tar.gz
  • Upload date:
  • Size: 55.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for karaokemanager-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c9d30c55ba6166598364b707ef5a807754dfae88e352c03c0a7f6abb715c932b
MD5 df1d0eef38e46897c72f6abb9fc7cbb8
BLAKE2b-256 cf9dce093cfa66c8af45b7e0903fc271cbd70a22b5e1e9757a13868fa29a7ca7

See more details on using hashes here.

File details

Details for the file karaokemanager-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: karaokemanager-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for karaokemanager-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4426fc83049e954fa37502a7c958c657e9e01f337a4fc8b8c9217ded58726c65
MD5 85aec3e512c7f9dab3e5cabb342fb3ed
BLAKE2b-256 0abdec1cf4fcfef43983f2e0ad97cad6f6f04c261f97e891e873880cb37c4cdb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page