Git Product home page Git Product logo

moonlit's Introduction

Moonlit

Are you a weirdo who likes to listen to slowed + reverb music? Or maybe you like to listen nightcore music? Well, you'll probably like this app.

Moonlit is a melancholy music app with customizable playback to accompany your moods. It works by using Tone.js (AudioContext API) to manipulate the audio in real-time.

See it in action: moonlit.wastu.net

You can also listen to your favorite tracks from YouTube on Moonlit. Just add lit to the URL of any YouTube video (example: youtubelit.com/watch?v=...).

Demo ๐Ÿ”Š

moonlit-demo.mp4

Features

  • Customizable playback settings: Change the playback speed, add reverb, and more!
  • Quick access: Seamlessly remix YouTube videos by adding lit to the URL (example: youtubelit.com/watch?v=...).
  • Change background: Change the app's background to suit your mood.

Donating

If you like this project, please consider donating. Your support helps me pay for domain and hosting services. Thanks!

moonlit's People

Contributors

bgwastu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

moonlit's Issues

feature: share button and parameter as configurations

Feature Request, Low Priority

Story: User want to share his configurations of music to his friends

Technical Programmer Explanations:
Share Button allow another user get link to music in moonlit with parameter URL
every change of Custom Configuration changes Share Button's link according to parameter
on webpage first load, read parameter and works as arguments to changes Custom Configuration

User A share his music (he has do custom) to User B
User A's Share Button link is https://moonlit.wastu.net/watch?v=nROvY9uiYYk&ab_channel=Eve&playback_rate=0.8&reverb=0.4
User B receive link and open (first load and web detect parameter playback_rate and reverb, automatically changes to custom and set the parameter)

feature: save music and configuration

Save Music, Low Priority

Story: User has find perfect configurations and want to save his configuration

Technical Programmer Explanations:
Music link is saved as array in Javascript Storage
at first webpage loaded, read Javascript Storage and list saved music by looping over it

Notes:
Feature #3 need to be solved first in order to make this feature useful as allows user to save music and its configuration

localStorage

How can I make the default value 'normal', as localstorage is not working correctly
When changing music, if before my state was custom, then after switching music I can not choose custom, I have to change the state to slowed or sped up and only after that to custom already.
Thank you anyway, it's a good app.

Safari bug

Player is paused when safari is minimized, probably AudioContext problem.

Possible solution

I'll probably rewrite it by using HTML audio element for safari (the conversion might be slower since it needs manual confirmation).

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.