GithubHelp home page GithubHelp logo

dsheeler / digitaldj Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 64 KB

An MPD and jack client that uses festival text-to-speech engine to announce info upon song change.

License: MIT License

C++ 92.75% Python 7.25%
festival-speech-synthesis jack-audio-connection-kit mpd systemd-service

digitaldj's Introduction

Digital DJ

Digital DJ uses the festival text to speech engine and the jack audio toolkit to create an MPD client that, upon song change, announces the upcoming song title and artist and shows a notification. It also takes midi input that can control MPD with pause/play, stop, previous track, and next track operations.

Building and Installing

$ PREFIX=/usr waf configure
$ waf
# waf install

PREFIX may be set to any desired installation root, for example /usr/local or /usr.

Running

$ digitalDJ

MIDI Control of MPD

Digital DJ has a midi input port that allows contrtol over MPD.

An MPD operation is triggered by sending a value of 127 to the operation's mapped MIDI CC number. The following table shows the CC number to operation mapping.

MIDI CC number MPD Operation
41 Play/Pause
42 Stop
43 Previous Track
44 Next Track

JACK Connections

To hear the announcements, route the output of Digital DJ to your desired pipewire or jack input ports. Any audio routed to the Digital DJ input ports will be re-played on the output ports modified by lowering volume of the incoming audio while the DJ is speaking.

Route your MPD output ports to the DJ input ports to hear the lowered volume while the DJ makes its announcements.

Digital DJ as a user level systemd service

To enable Digital DJ as a service, run:

$ systemctl --user enable digitalDJ
$ systemctl --user start digitalDJ

digitaldj's People

Contributors

dsheeler avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

digitaldj's Issues

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.