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 に対応。
  • PlaylistTracksplaylist_id ごとに position 順のトラック列を取得できる。

派生アイデア

HotCue でフェードした音声ペアをまとめて確認し、つなぎを検討するWebアプリ/CLI構想(まず2曲ペアのMix候補を聴ける形)。BPM・HotCueの数値から自動でクロスフェード点を計算する発想に繋がる。

→ クラスタ全体: _moc-music

原典メモ(notes/mixxx より統合)

mixxx

2022-10-06
DJツール, マルチプラットフォーム

shortcut

  • 再生停止: d, l
  • フェード: g, h

2023-05-09

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

2023-12-24

  • "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

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で良い