Skip to content

A lyric player component library aims to look similar to iPad version of Apple Music. Also with DOM, React and Vue bindings. 一个基于 Web 技术制作的类 Apple Music 歌词显示组件库,同时支持 DOM 原生、React 和 Vue 绑定。

License

Notifications You must be signed in to change notification settings

Steve-xmh/applemusic-like-lyrics

Repository files navigation

Apple Music-like Lyrics - A lyric page component library for Web

English / 简体中文

A lyric player component library that aims to look similar to iPad version of Apple Music. With DOM, React and Vue bindings. Also there's a standalone player based on it!

This is perhaps the most iPad Apple Music-like lyric page you've seen in frontend.

Although the goal of this project is not to imitate it completely, it will polish some details to be better than the current best lyric players.

—— AMLL Series Projects ——

AMLL TTML DB - TTML Syllable Lyric Database / AMLL TTML Tool - TTML Syllable Lyric Editor

AMLL Ecology and source code structure

Main modules

  • AMLL-Core: AMLL Core Component Library, written natively with DOM, provides lyric display component and dynamic fluid background component
  • AMLL-React: AMLL React binding, provides React component forms of lyric display and dynamic fluid background components
  • AMLL-Vue: AMLL Vue binding, provides Vue component forms of lyric display and dynamic fluid background components
  • AMLL-Lyric: AMLL lyric parsing module, provides parsing and serialization support for various lyric formats including LyRiC, YRC, QRC, and Lyricify Syllable

External tools

  • AMLL Player: AMLL External Player provides an independent external lyrics player, and communicates with any program that implements the AMLL WebSocket protocol to display lyrics
  • AMLL TTML Tool: AMLL TTML Editor provides editing support for TTML format lyrics and real-time preview using AMLL Core
  • AMLL TTML Database: AMLL TTML Database provides a repository of TTML lyrics so that various lyric players can use community-made word-by-word lyrics

AMLL Player Preview Gallery

AMLL Player Preview

Browser compatibility alerts

This component framework requires the following browsers or newer versions at a minimum:

  • Chromium/Edge 91+
  • Firefox 100+
  • Safari 9.1+

To fully render all component effects, the following browser versions or newer are required:

  • Chromium 120+
  • Firefox 100+
  • Safari 15.4+

Reference Links:

Performance configuration reference

Performance benchmarks have shown that mainstream CPU processors from the last five years can run the lyric component at 30FPS. However, if you need smooth 60FPS operation, ensure your CPU frequency is at least 3.0GHz or higher. For 144FPS or above, a CPU frequency of at least 4.2GHz is recommended.

GPU performance capable of running at full 60 fps at the expected sizes under the following conditions:

  • 1080p (1920x1080): NVIDIA GTX 10 series and above
  • 2160p (3840x2160): NVIDIA RTX 2070 and above

Code contributions

Due to limited time and energy, the author is no longer able to handle issues that arise during usage, so the Issues section has been closed. However, any pull requests that make positive contributions to the code are welcome!

Development/build/packaging process

Install yarn, rustc, and wasm-pack, then clone this repository to any folder and enter the following commands in the terminal to build:

yarn
yarn lerna run build:dev --scope "@applemusic-like-lyrics/*" # Development build
yarn lerna run build --scope "@applemusic-like-lyrics/*" # Production build

Acknowledgements

Special Thanks

Thanks to JetBrains for their development tools that provide great support to the AMLL project

About

A lyric player component library aims to look similar to iPad version of Apple Music. Also with DOM, React and Vue bindings. 一个基于 Web 技术制作的类 Apple Music 歌词显示组件库,同时支持 DOM 原生、React 和 Vue 绑定。

Topics

Resources

License

Stars

Watchers

Forks