📈 GH Trending Explorer 🎲 Surprise me

← all repos

lvt1693 / mashloop

git clone https://github.com/lvt1693/mashloop.git

An endless local jukebox: loops songs through seamless jump points and mixes your library into one continuous set.

—
stars, 24h
+72
stars, 7 days · #701
+72
stars, 30 days · #3,126
72
★ total · +72% this week
31
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageJavaScript
LicenseMIT
Created2026-10-15 (5d ago)
Last push4d ago
Watchers1
OwnerUser

Links

README excerpt
# Mash ∞ Loop
Bài hay thường hết quá sớm. Cái này sửa lỗi đó.
**Nghe thử:** https://mashloop.truclv.com
- [x] **15/10** Bản đầu: lặp vô hạn, nối bài khớp nhịp, màu theo mood, bản web cho nhiều người.
- [x] **16/10** Key lock, tách giọng, 9 kho có sẵn, thêm các kiểu chuyển bài (mashup, double drop, build-up…), bấm vòng để tua.
- [x] **17/10** Chế độ "Như một set DJ", vòng ∞ mới lúc chờ.
Mash ∞ Loop nghe kỹ từng beat của bài hát rồi phát mãi không dứt. Trong một bài, nó
nhảy qua lại giữa những đoạn giống nhau đến mức bạn không biết mình đang ở lần lặp
thứ mấy. Phần ăn tiền là ở **giữa các bài**: khi đã ở đủ lâu, nó tìm chỗ nối sang bài
khác, khớp nhịp, nắn tempo, giữ mood, rồi mix sang như một DJ không biết mỏi tay.
Mỗi bài là một vòng của dấu ∞, mang màu của mood bài đó. Chỗ hai vòng chạm nhau là
chỗ mix, và ánh sáng đi qua điểm giao để chạy sang vòng của bài sau. Tên app, logo
và màn hình chính là cùng một hình vẽ, chuyện này có chủ ý.
## Nó làm gì
- **Mash cả thư viện thành một chuỗi.** Không chỉ lặp trong một bài như
 Infinite Jukebox ngày
 xưa: ở mỗi bài một lúc, rồi đi tới điểm nối tốt gần nhất sang bài khác.
- **Mười ba kiểu nối bài và mười cách blend**, từ nối thẳng không lộ tới mashup
 kiểu DJ (bảng bên dưới). Bật tắt từng kiểu trong *Tinh chỉnh*.
- **Nắn tempo mà giữ tông (key lock).** Lệch tới 8 % vẫn blend được, kể cả nhịp đôi
 70 ↔ 140, và giọng ca sĩ không bị bổng hay trầm đi. Lệch xa hơn (tới 18 %) thì bài
 trước kéo tempo dần về phía bài sau. Hai bài lệch tông thì bài sau được dịch tới hai
 nửa cung cho hợp, rồi trượt dần về tông gốc.
- **Nối vào đúng đoạn:** ra ở cuối câu nhạc, vào đầu điệp khúc hay chỗ drop của bài
 sau, không chỉ vào đầu bài.
- **Chọn tiêu chí cho bài kế tiếp:** cân bằng, cùng mood, cùng nhịp, hợp tông (vòng
 Camelot của DJ), như một set DJ (khởi động, lên dần tới đỉnh, cứ vài bài lại có
 một khoảng nghỉ rồi lên lại), hoặc tự do. Tiêu chí nào cũng nhìn trước một bước:
 không chọn bài mà từ đó chỉ còn cách crossfade đi tiếp.
- **Biết ai đang hát:** không nhảy từ giọng nam sang giọng nữ giữa câu, không cắt
 ngang một câu hát, không để hai giọng hát chồng nhau. Có stem giọng hát riêng nên
 blend được chỉ phần nhạc, hoặc để giọng bài sau hát trên nền bài trước.
- **Mỗi bài một màu theo mood**, cả căn phòng đổi màu theo bài đang phát và chuyển
 dần sang màu bài sau trong lúc mix. Có quầng phổ âm thanh quanh vòng đang phát.
 Thích yên tĩnh thì chọn Neon hoặc Hổ phách trong *Tinh chỉnh*.
- **Nhiều nguồn:** link YouTube (cả playlist), SoundCloud, Bandcamp, Zing MP3,
 Mixcloud; gõ tên bài để tìm trên YouTube; hoặc thả file nhạc, cả nguyên file zip.
## Các kiểu nối bài
| Kiểu | Khi nào | Nghe ra sao |
|---|---|---|
| Nối thẳng | Hai đoạn nghe gần như y hệt nhau | Không nhận ra là đã đổi bài |
| Drop | Cùng groove, cùng cường độ, cùng mood | Bài mới vào đúng phách đầu câu nhạc |
| Blend | Nhịp khớp được (lệch tới 8 %, kể cả nhịp đôi 70 ↔ 140) | Mix kiểu DJ, khóa nhịp từng beat, 2 đến 32 ô nhịp |
| Crossfade dài | Hai bài kh