cljs karaoke client
1.0.0
在Clojurescript中實現的Web卡拉OK播放器
滾石 - 現在到處
我嘗試製作一個不錯的卡拉OK播放器。多年來,我一直在嘗試使用一個好的軟件卡拉OK解決方案,但幾乎沒有成功,主要替代方案是Ultrastar,Frets Fire等遊戲,或者將YouTube Karaoke視頻的播放列表放在一起。
這兩種替代方案都提供廣泛的歌曲目錄,您可以通過互聯網自由訪問,但有一些缺點:
主要困難是獲得帶有同步信息的歌詞,我在網絡上發現了許多MIDI文件,顯然是用於卡拉OK機器的。這些文件包含的歌詞一直同步到音節級別。由於如何在Karaoke機器上存儲歌詞在Karaoke機器上存儲歌詞確實沒有標準,因此許多人在存儲的方式上存在微妙的差異,因此在解析這些文件時,我做了一堆總假設,並提取了歌詞以與定時數據一起分開文件。大多數還可以,但是許多人都會有些偏移
MIDI解析器是一個單獨的項目:CLJ-KARAOKE。
另一個困難是獲得歌曲音軌,因為歌詞已同步到MIDI音頻曲目,因此要做的是使用它。最初,我打算將MIDI文件直接用於音頻軌道,但是在播放音頻時,質量極大地取決於您已安裝的聲音字體,並為不錯的結果設置了一個好的ENV並不是一項瑣碎的任務。另外,如果我想在Web客戶端上播放這些文件,請考慮所有這些文件,只是使事情變得更加複雜。因此,我解決了提取歌詞以分離文件並使用膽怯將MIDIS渲染到MP3文件的,這很棒,我能夠嘗試使用不同的聲音字體集合。

先決條件:
$ npm i -g shadow-cljs
$ npm install
$ shadow-cljs watch app如果要編譯發布版本,則可以運行以下內容:
$ shadow-cljs release app該構建將位於/public目錄中。