Vorbis Tools包含了Ogg的編碼器(oggenc)、解碼器(oggdec)以及其它相關工具。Ogg是開源、自由、免費的音訊編碼格式,沒有麻煩的專利授權問題。若拿相同大小的MP3和Ogg格式的音樂檔案來比較,Ogg的音質通常會比MP3還要來得好。更正確來說,Ogg一開始只是一個檔案封裝格式,就像M4A格式一樣,可以同時包含視訊與音訊在同一個檔案中,Vorbis才是Ogg檔案封裝格式所使用的音訊編碼格式,但後來為了相容性的考量,官方規定.ogg
檔案只能存放Vorbis格式的音訊,而衍生出.oga
、.ogv
、.ogx
等其他的檔案封裝格式,所以現在所稱的Ogg格式其實就是在說Vorbis格式。
目前已有比Vorbis格式還要更好的Opus格式,官方也建議使用Opus來取代Vorbis。有關Opus格式的介紹可以參考這篇文章。
Vorbis支援32kbps到500kbps的變動位元率(VBR),使用變動位元率(VBR),它的取樣頻率範圍在8kHz到192kHz,比AAC的96kHz還要高。
Vorbis官方網站:
安裝Vorbis Tools
基於Debian的Linux發行版執行以下指令來安裝:
基於紅帽的Linux發行版執行以下指令來安裝:
Vorbis Tools包含什麼工具?
Vorbis Tools包含了以下幾種工具:
- ogg123:Ogg的播放器,可以從檔案或是從網路串流播放Ogg。
- oggdec:Ogg的解碼器。
- oggenc:Ogg的編碼器。
- ogginfo:Ogg檔案的資訊顯示器。
- vcut:剪輯Ogg檔案的工具。
- vorbiscomment:查看或是編輯Ogg檔案註解的工具。
這篇文章將會著重介紹Ogg的編碼器(oggenc)的用法。
Ogg編碼器─oggenc
oggenc自帶文件
安裝好Vorbis Tools後,在終端機下輸入以下指令,可以查看oggenc的用法:
從上圖中可以看到oggenc可以設定的參數有許多種,但我們其實只要使用-q
參數來調整輸出的Ogg之品質,就已經足夠應付大部分的狀況。
oggenc快速調整聲音輸出品質(-q
參數)
oggenc
提供了一個能牽一髮動全身的參數,那就是-q
,只要調整這個值的大小,就可以影響輸出的位元率,這個值的範圍是「-1~10」,愈大音質愈高。以下將會以擁有CD音質的WAV檔案來使用不同的-q
參數值實際轉檔測試。
先來看看WAV檔的頻譜:
-q 10
將參數-q
設置為10
,可以輸出oggenc
能夠支援的最高音質。
將測試用的WAV檔使用-q 10
轉換後,得到的音樂檔的變動位元率平均為472kbps,檔案大小約為原先的33%,頻譜如下:
從上圖可以發現將WAV轉換成-q 10
的Ogg後,20.5kHz以上的頻率有細微的變化,但20.5kHz以下的頻譜幾乎沒有改變。實際播放來聽,也聽不出與原始檔案的差異。
-q 9
將測試用的WAV檔使用-q 9
轉換後,得到的音樂檔的變動位元率平均為338kbps,檔案大小約為原先的24%,頻譜如下:
從上圖可以發現將WAV轉換成-q 9
的Ogg後,20.5kHz以上的頻率有明顯的變化,但20.5kHz以下的頻譜變化甚微。實際播放來聽,也聽不出與原始檔案的差異。
-q 8
將測試用的WAV檔使用-q 8
轉換後,得到的音樂檔的變動位元率平均為270kbps,檔案大小約為原先的19%,頻譜如下:
從上圖可以發現將WAV轉換成-q 8
的Ogg後,20.5kHz以上的頻率有很明顯的變化,18.7kHz至20.5kHz的頻譜也有一些改變,但18.7kHz以下的頻譜改變則不明顯。實際播放來聽,也聽不出與原始檔案的差異。
-q 7
將測試用的WAV檔使用-q 7
轉換後,得到的音樂檔的變動位元率平均為230kbps,檔案大小約為原先的16%,頻譜如下:
從上圖可以發現將WAV轉換成-q 7
的Ogg後,和-q 8
的Ogg相比,20.5kHz以上的頻譜有很明顯的變化,18.7kHz至20.5kHz的頻譜也有一些改變,但18.7kHz以下的頻譜形狀改變則相對不明顯。實際播放來聽,也聽不出與原始檔案的差異。
-q 6
將測試用的WAV檔使用-q 6
轉換後,得到的音樂檔的變動位元率平均為198kbps,檔案大小約為原先的14%,頻譜如下:
從上圖可以發現將WAV轉換成-q 6
的Ogg後,和-q 7
的Ogg相比,18.7kHz以上的頻譜有很明顯的變化,但18.7kHz以下的頻譜改變則相對不明顯。實際播放來聽,音質沒有受太大的影響。
-q 5
將測試用的WAV檔使用-q 5
轉換後,得到的音樂檔的變動位元率平均為165kbps,檔案大小約為原先的12%,頻譜如下:
從上圖可以發現將WAV轉換成-q 5
的Ogg後,20.1KHz以上的訊號幾乎消失,18.7kHz以下的頻譜形狀則有一些改變。實際播放來聽,已可以略為聽出聲音不如原始的清晰,但還算是很不錯的音質。
-q 4
將測試用的WAV檔使用-q 4
轉換後,得到的音樂檔的變動位元率平均為134kbps,檔案大小約為原先的10%,頻譜如下:
從上圖可以發現將WAV轉換成-q 4
的Ogg後,19.6KHz以上的資料完全消失,18.7kHz以下的頻譜形狀則有一些改變。實際播放來聽,已可以聽出聲音有些壓縮感,不如原始的清晰,但還能接受。
-q 3
將測試用的WAV檔使用-q 3
轉換後,得到的音樂檔的變動位元率平均為112kbps,檔案大小約為原先的8%,頻譜如下:
從上圖可以發現將WAV轉換成-q 3
的Ogg後,17.1kHz以上的訊號幾乎完全消失,17.1kHz以下的頻譜有一些改變。實際播放來聽,已可以聽出聲音有壓縮感。
-q 2
將測試用的WAV檔使用-q 2
轉換後,得到的音樂檔的變動位元率平均為92kbps,檔案大小約為原先的7%,頻譜如下:
從上圖可以發現將WAV轉換成-q 2
的Ogg後,16.6KHz以上的資料完全消失,16.6kHz以下的頻譜有一些改變。實際播放來聽,可以聽出聲音有很重的壓縮感。
-q 1
將測試用的WAV檔使用-q 1
轉換後,得到的音樂檔的變動位元率平均為74kbps,檔案大小約為原先的5%,頻譜如下:
從上圖可以發現將WAV轉換成-q 1
的Ogg後,16KHz以上的訊號幾乎完全消失,16kHz以下的頻譜形狀也有很明顯的改變。這音質已經完全讓人無法接受了,不要再用-q 0
、-q -1
來傷耳朵。
使用-q
參數來轉檔
根據以上不同-q
參數值的測試,-q -1
、-q 0
、-q 1
不要使用比較好,很傷耳朵。如果是要收藏音樂的話,-q 7
是首選。如果有檔案傳輸需求的話,-q 6
是音質和檔案大小平衡的首選。
如果我們要使用-q 7
進行轉檔,可以使用以下指令:
使用-b
參數來轉檔
如果想要更精細的調整oggenc
的輸出品質,可使用-b
參數來指定Ogg的動態控制位元率的逼近值,範圍值是32~500。
oggenc與其他解碼器合作
由於oggenc
所支援的輸入格式有限,因此常會與其他解碼器一同工作,利用外部的解碼器將特殊格式的音樂檔進行解碼,再將解碼結果傳給oggenc
進行格式轉換的工作。在終端機預設的bash script下可以使用|
字元將兩個指令隔開在同一行中。字元|
左邊的指令輸出到標準輸出(stdout)中的資料,會成為字元|
右邊指令的標準輸入串流(stdin)。使用-
字元可以指定要使用標準輸入/輸出串流的參數位置。
FLAC轉Ogg
必須要先有flac
套件。
基於Debian的Linux發行版可以使用以下指令來安裝:
基於紅帽的Linux發行版可以使用以下指令來安裝:
使用以下指令可以將FLAC格式的音樂檔案轉成Ogg音樂檔:
flac
指令的-c
參數表示將輸出改成標準輸出(同-o -
),-d
參數表示要進行解碼(decode)。
APE(MAC)轉Ogg
APE(或是MAC)為Monkey's Audio的格式,在Linux上如果要進行解碼,得使用以下的非官方套件(基於Debian的Linux發行版):
使用以下指令可以將APE(或是MAC)格式的音樂檔案轉成Ogg音樂檔:
mac
指令的-d
參數表示要進行解碼(decode)。
Opus轉Ogg
必須要先有opus-tools
套件。
基於Debian的Linux發行版執行以下指令來安裝:
基於紅帽的Linux發行版執行以下指令來安裝:
使用以下指令可以將Opus格式的音樂檔案轉成Ogg音樂檔:
AAC(M4A)轉Ogg
必須要先有faad
套件。
基於Debian的Linux發行版可以使用以下指令來安裝:
基於紅帽的Linux發行版可以使用以下指令來安裝:
使用以下指令可以將AAC(M4A)格式的音樂檔案轉成Ogg音樂檔:
MP3轉Ogg
必須要先有lame
套件。
基於Debian的Linux發行版執行以下指令來安裝:
基於紅帽的Linux發行版執行以下指令來安裝:
使用以下指令可以將MP3格式的音樂檔案轉成Ogg音樂檔: