Coder Social home page Coder Social logo

jasonnor / th-music-video-generator Goto Github PK

View Code? Open in Web Editor NEW
266.0 11.0 44.0 5.66 GB

Touhou Project random music video generator/player, crawling image and video from websites to generate MV.

Home Page: https://jasonnor.github.io/th-music-video-generator/

License: Apache License 2.0

HTML 12.36% JavaScript 66.15% CSS 17.97% Python 3.05% Batchfile 0.47%
touhou music-video javascript web crawler

th-music-video-generator's Issues

Broken Video List

Please provide the song name if you find that the video link is invalid.

  • 花映塚 ~ Higan Retour(東方花映塚)
  • 上海紅茶館 ~ Chinese Tea(東方非想天則)

Q: Where are video data placed?
A: #35 (comment)

Todo: Update music information

The music belongs to the theme of the character and its gameplay video id or keyword, e.g.,

        {
          "name": "16.不思議の国のアリス.mp3",
          "path": "/audio/th05/16.不思議の国のアリス.mp3",
          "character": "ロリス",
          "video_id": "FFDXkbCGgb4",
          "time": 79
        }
        {
          "name": "03. 妖魔夜行.mp3",
          "path": "/audio/th06/03. 妖魔夜行.mp3",
          "character": "ルーミア",
          "keyword": "東方紅魔郷 LUNATIC stage1 BOSS"
        }

https://github.com/Jasonnor/th-music-video-generator/blob/gh-pages/scripts/th-song.json

Update: ALL done.

Favorite Songs List

Save to web storage or cookies, and show favorite songs at top of playlist.

Todo: Refrain/Chorus Mode

Play song only on refrain, then switch to next one.
Maybe manual tagging on db.json or other better automated methods. 🤔

Music song numbers off

see this comment on how this will make #13 easier to implement

edit: list:

  • th01
  • th02
  • th03
  • th04
  • th05
  • th06
  • th07
  • th07.5
  • th08
  • th09
  • th09.5
  • th10
  • th10.5
  • th11
  • th12
  • th12.3
  • th12.5
  • th12.8
  • th13
  • th13.5
  • th14
  • th14.3
  • th14.5
  • th15
  • th15.5
  • th16

Optimize image display ratio

For example, a 9:16 image in a 16:9 viewport will be cropped to the remaining middle part in the current display mode.

Like this:

image

Would think of a way to optimize the display of images with too large window ratio gaps. At the same time maintain the existing display method of similar scale.

Long-term: Chorus time for every song

Need help of providing chorus-section time for each song, as chorus_start_time and chorus_end_time below:

        {
          "name": "8.夢消失 ~ Lost Dream.mp3",
          "path": "/audio/th03/8.夢消失 ~ Lost Dream.mp3",
          "character": "カナ・アナベラル",
          "video_id": "wG4RaB7BB0A",
          "time": 0,
          "chorus_start_time": 51,
          "chorus_end_time": 128
        },

Time range is about 40 ~ 100 sec, and chorus-section can be the best part you think in the song (because the best melody of Touhou songs may appear in verse instead of chorus).
This will take a lot of time to be done, I need your help. 😋
You can commit to this file or give the chorus-section time of song in the issue. Thanks!

Known Bugs List

  • When changing song in 12 seconds, image & video of previous song still display. (And it will be replace by new image or video in seconds.) (Resolved by e44808f)
  • Play next song to playlist sub-tittle occurs error. (Resolved by b3dcdfd)
  • Play too much song will make player broken. (Play button will show as loading and music won't play.) (Resolved by bcc6e6d)
  • Clicking on wave to change time several times occurs error. (Pause then play will make it work normally) (Resolved by 5895fdf)
  • Avoid changing to duplicate images Moved to #36
  • Google custom search API day limited (No needed anymore now)
  • Fade-in flicker issue from image to video (Resolved by #39 )
  • Resize window make audio wave broken.
  • More ...

Todo: High quality character images crawling

Crawl from pixiv which have 1~5k+ favorites. File name as pixiv ID.

Path: /images/characterName/*

Format of characterName must same as db.

Done: Characters of 旧作 ~ 東方妖々夢.

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.