Skip to content

Use a record player and timecoded record as an input device.

License

Notifications You must be signed in to change notification settings

zwass/lpControl

Repository files navigation

lpControl - Bringing that warm analog feel back to your computer

lpControl allows you to use an analog record player and timecode record as a computer input device. A server program reads audio input from the record player and sends relative velocity information to listening clients over UDP.

Requirements

Usage

Run the server program with python server.py. Now any program can listen for UDP packets on localhost:6666. Try one of the example programs.

Examples

Spotify

python spotify.py

Control Spotify as if it were pressed onto vinyl. Drop the needle on the record and Spotify begins playing. Scratch backwards to go to the previous track. Scratch forwards for the next track. Lift the needle and marvel as Spotify pauses.

Rotary Phone

python dialer.py

Dial a rotary phone by rotation of the record. Rotation of the record is mapped to 1:1 with the virtual phone. Requires PyGame and twilio-python.

Extending

Broadcasting velocity information over UDP makes it incredibly easy to build out new applications on top of this. Try using a bit of AppleScript (as in spotifycontrol.py) to control almost anything on your Mac.

skeleton.py is a good starting point for building new apps. It demonstrates listening for velocity data, and using that to run a state machine detecting qualitative record movement (ie. fast-forward, forward, stopped, reverse).

Please let me know (zachwass2000@gmail.com) if you build something cool!

About

Use a record player and timecoded record as an input device.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages