Giter Site home page Giter Site logo

tunetable's Introduction

Tunetable

A simple app that lets you stream your vinyl records over AirPlay using an iPhone or iPad.

It also has the neat feature of automatically matching the song played with Shazam and updating Now Playing accordingly.

Why'd you call it Tunetable?

It was mostly a personal joke since I originally had my records streaming throughout my house using Icecast + DarkIce, which is effectively spinning up my own radio station that I would tune into but that didn't work as well as I'd like (delay issues) so I made this app instead and called it Tunetable.

The name probably won't stick, so I'm open to other ideas, RecordPlay / VinylPlay / AirLP, etc. sounded not so great ๐Ÿ™ƒ

Installation

Requirements

  • iOS 15+
  • Swift 5.0 or higher
  • An iPhone or iPad running iOS 15 or later (didn't test anything prior).
  • A usb audio interface that works with iOS (you'll want a camera connection kit). I'm currently using this one.

Usage

It'll be published on the App Store at some point, but for now, you'll have to build and run yourself.

Note: Be sure to register the appropriate App ID and give it the Shazam entitlement so it can use ShazamKit properly.

  1. Connect your turntable to the audio interface
  2. Connect the audio interface to your iOS device
  3. Open the app, pick your AirPlay destinations
  4. Drop the needle and then you're good to go!

TODO

  • Figure out why setting a samplerate higher than 441000hz doesn't work, though this is probably useless since AirPlay streams at 44100hz anyways.
  • Add an icon.
  • Filter out garbage audio data / make stream more reliable. For some reason you'll get a second of crackly audio sporadically, I still have no idea why this happens, it's just dumping whatever's coming in to AirPlay with barely any CPU usage.
  • Deal with "arbitrary" rate limits for ShazamKit

License

Tunetable is licensed under the BSD 2-clause license.

Please don't just re-package this up and sell it, it's meant to be free.

Contact Info

If you have any questions, or want to learn more, feel free to ask me anything!

Feel free to follow me on twitter: @b3ll!

tunetable's People

Contributors

b3ll avatar

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.