教程:制作tracker音樂的波形可視化視頻 Oscilloscope view(使用Sidwizplusgui)

波形可視化視頻(Oscilloscope view,下簡稱ov)是什么?
就是將音樂中的聲音波形制作成示波器的形式,使音樂中的聲波可以被“看到”,是了解與欣賞一首音樂的一種奇怪方法。 B站搜索“波形可視化”,可以看到不少示例。
然而,是所有音樂都可以制成ov嗎?
還真不是!
我們通常聽的mp3,wav,flac等格式,都是各個(gè)樂器混合之后的聲音,這樣的波形看起來比較混亂,沒有什么制作的意義。只有“能分出通道的音樂”才可以制成ov,這也是為什么通常的ov中有許多不同的波同時(shí)被顯示,其實(shí)是對(duì)應(yīng)不同的通道。
常見的有通道的音樂有:
midi音樂·(理論上可行,但我不會(huì)做,所以出不了教程)
tracker音樂·(即mod音樂,.it .mod .xm .s3m格式之類)
芯片音樂(狹義,就是指為音效芯片psg寫成的音樂·.sid .vgm之類)。
其中,最常見的還是后兩者。這次先介紹tracker音樂的OV制作法。
用到的工具
OpenMPT(openmpt.org)
——查看mod音樂的內(nèi)容,試聽,輸出分通道wav文件
sidwizplusgui(https://github.com/maxim-zhao/SidWizPlus)
——用分通道wav生成ov
ffmpeg(ffmpeg.org/download.html)
——sidwizplusgui依賴它生成視頻
準(zhǔn)備工作
下載openmpt并安裝。
下載sidwizplusgui并解壓


3.下載ffmpeg并解壓,可以用essential build,也可以用full build,它只支持64位系統(tǒng)!
4.打開sidwizplusgui包里的sidwizplusgui.exe

點(diǎn)擊右側(cè)Programs選項(xiàng)卡,出現(xiàn)FFMPEG,Multidumper,sidplay三欄,后兩個(gè)暫時(shí)用不到,單擊FFMPEG下的Path,右側(cè)出現(xiàn)"...",單擊它,提示選擇ffmpeg.exe的位置。它在你下載的ffmpeg包目錄下的bin文件夾里。

那么,怎么制作呢?
試試一個(gè)小例子,你就什么都知道了。
我們這次以這首Surfing on a Sine Wave( http://modarchive.org/index.php?request=view_by_moduleid&query=169104)為例。下載下來,用OpenMPT打開。試聽一遍以防里面有bug要改。
試聽的同時(shí),調(diào)一下歌曲的音量,如下圖的Sample Volume(這一步可以不做

我們把音量盡量調(diào)大,但是不能無限調(diào)大,否則輸出的音頻文件可能出現(xiàn)削頂失真。
怎么判斷削頂?shù)陌l(fā)生?注意看MPT最上面的工具欄右側(cè)有一個(gè)音量條


“UP,你騙我,什么都沒多呀!”不對(duì)!看到下面圖的右聲道的最右面是不是有個(gè)小紅點(diǎn)常亮?
它代表在這次播放(從你點(diǎn)下播放鍵到再次點(diǎn)下暫停鍵的一段時(shí)間)右聲道的振幅達(dá)到過最大值,即有削頂?shù)娘L(fēng)險(xiǎn)。我們?cè)嚶牭臅r(shí)候先把音量設(shè)到一個(gè)較小值,然后慢慢升高,直到出現(xiàn)紅點(diǎn)。著重看曲子中音量比較大的部分。
不過,有時(shí)這樣做之后,感覺音量太小了。這時(shí)候可以放寬條件,只要讓音量條不要總是頂?shù)筋^即可。當(dāng)然如果你聽不懂(),也可以不做這一步。畢竟作曲家在發(fā)布這個(gè)文件時(shí),已經(jīng)把音量調(diào)得比較合適了。
接下來,就到了重頭戲:輸出分通道的wav。點(diǎn)擊最上面的File ->->->Stream Export,出現(xiàn)如下窗格。

Limit欄:大家都能看懂是吧?:)總之不用動(dòng)任何東西。
Format 欄:指定輸出格式。采樣率看個(gè)人喜好。我填44100。
聲道一欄,一般填stereo,但經(jīng)過試聽,surfingonasinewave 這首竟然全曲兩通道的電平都一樣,也就是兩個(gè)通道沒區(qū)別。所以對(duì)于這曲可以填mono。
位深越高越好,但是我們只是要分通道的音頻,所以一般填16bit。
Render一欄,注意勾選Channel Mode,才能得到每個(gè)通道的聲音。
設(shè)置完后,就可以點(diǎn)OK保存文件了。注意起個(gè)好辯認(rèn)的名字,保存在好找到的目錄!
等待走完21個(gè)條后,我們?cè)谠O(shè)定的目錄就得到了各個(gè)通道的音頻文件了。
格式是 名稱-通道序號(hào),如surfingonasinewave-11.wav
這時(shí)打開sidwizplusgui,選中channel選項(xiàng)卡,點(diǎn)黃色的文件夾打開音頻文件。選中剛生成的21個(gè)音頻。確認(rèn)后發(fā)現(xiàn),左面黑色窗口中出現(xiàn)21行“Loading File”,它們很快消失,變成·水平白線。這便是我們想要的OV了。

不想讓他們擠在一列怎么辦?點(diǎn)擊Layout選項(xiàng)卡,有個(gè)“Columns",是列數(shù)。因?yàn)?*7=21,所以設(shè)成三列。列數(shù)的選擇有些需要注意的地方,回頭再說。
再看Width Height 指定視頻的長寬高。常見的視頻有16:9,4:3.但是據(jù)我觀察,我發(fā)出去的視頻大多是手機(jī)端觀看,所以大家設(shè)個(gè)16:9更好。分辨率看你電腦性能,電腦快的設(shè)個(gè)1920*1080,是1080P。我就保持原樣了。
重點(diǎn)來了!拖動(dòng)預(yù)覽窗底下的滑塊(這時(shí)不要窗口最大化,小窗口拖動(dòng)反應(yīng)更快),看一看波形的大概預(yù)覽,有沒有發(fā)現(xiàn)顯示出來的振幅太小,看不清楚呢?這時(shí)調(diào)節(jié) Vertical Scaling 直到顯示出來的波形清晰可見。我一般設(shè)到150%左右,再慢慢調(diào)小。

這里數(shù)值的意義是文件最大電平對(duì)應(yīng)的顯示出來的振幅占窗格的高度大小。如圖,黃色線顯示窗格的邊界。窗格的上邊界是通道的題目(label)所在的地方。但是sidwizplusgui中,窗格的邊界并不會(huì)分隔開不同的波形,也就是說,一個(gè)波形可如果振幅大,可以越界到上面或下面的窗格!因此,Vertical Scaling值可以調(diào)得比100%大。

我最后填了100%。其實(shí)100%對(duì)大部分曲目的效果就已經(jīng)很好了,如果不會(huì)填都可以填100%。Margins不用管。
我們最后來到Video選項(xiàng)卡。這里指定視頻幀率。如果電腦性能好可以填個(gè)60,電腦性能差的話可以填30,親測對(duì)效果影響不大。再下面,要勾選Encode to file 。Preview 中的 enabled 如果勾選的話,會(huì)在生成視頻的同時(shí)顯示預(yù)覽。我一般取消。(會(huì)不會(huì)使生成視頻變慢呢?)

點(diǎn)擊render按鈕就可以得到想要的視頻了!是不是很激動(dòng)呢~~
(p.s. 不想要channel 上的labels 怎么辦?點(diǎn)channel選項(xiàng)卡里最上面一列倒數(shù)第2個(gè)按鈕,帶個(gè)紅杠的,它是remove labels 。做完一首歌的OV后想換首其他的歌?點(diǎn)最右面的垃圾桶里的remove all (刪掉所有通道·)
更多的技巧以及芯片音樂OV的做法,下周再說。bye~~