mixxx
オープンソースのDJソフト(マルチプラットフォーム)。rekordbox の代替として、楽曲ライブラリ・キューポイント・自動DJを扱える。アニソンDJ・dig の実作業で使用。
操作(ショートカット)
- 再生/停止:
d,l - フェード:
g,h
ライブラリのデータ構造
SQLite でトラックや HotCue、プレイリストを管理しており、直接クエリして解析できる。
track_locations… ファイルパス(mac は/Users/kmt/Music/...、win はD:/Music/...)- HotCue の位置はサンプル単位の
positionで保持され、秒数はposition / sampleRate / rateRatio()で算出(例:1415664 / 44100 / 2 = 16.05s)。AutoDJ の処理はautodjprocessor.cppに対応。 PlaylistTracksでplaylist_idごとにposition順のトラック列を取得できる。
派生アイデア
HotCue でフェードした音声ペアをまとめて確認し、つなぎを検討するWebアプリ/CLI構想(まず2曲ペアのMix候補を聴ける形)。BPM・HotCueの数値から自動でクロスフェード点を計算する発想に繋がる。
→ クラスタ全体: _moc-music
原典メモ(notes/mixxx より統合)
mixxx
2022-10-06
DJツール, マルチプラットフォーム
- 再生停止:
d,l - フェード:
g, h
select * from track_locations limit 10
location directory
// mac
6|/Users/kmt/Music/青春コンプレックス.mp3|青春コンプレックス.mp3|/Users/kmt/Music|1450869|0|0
// win
61|D:/Music/(K)NoW_NAME - Harvest.mp3|(K)NoW_NAME - Harvest.mp3|D:/Music|4739013|0|0
"good night baby [ぽん]"id=7584
id,track_id,type,position,length,hotcue
37438,7584,1,16656624,0,4
37439,7584,1,1415664,0,5
37440,7584,1,60912,0,0
37441,7584,1,6834672,0,1
bpm=128.0(library)
hotcue6 = 16.05s
length = 1415664
- 1415664 / 44100 / 2 = 16.05
position.value() / sampleRate / pDeck->rateRatio()autodjprocessor.cpp
ex. BPM=164, Future(id=10211)@6(107.19s) -> ヴァンパイア(id=10002)@2(126.09s)
SELECT * FROM "PlaylistTracks" WHERE playlist_id = 188 ORDER BY position;
7584
10191
7267
9590
9584
9595
6762
7260
10196
7175
6877
10211
10002
10216
8815
if b_from < 0.0 {
a_from += b_from.abs();
cross -= b_from.abs();
b_from = 0.0;
}- Mixを検討する為にN個の曲のペアのHotCueでfadeした音声を確認できるWebアプリ
- まずはCLIで良い