使用sox轉換爲.dat格式的值似乎沒有被標準化 - 希望有人能看到我做錯了什麼。我試圖做一些類似於this great SO post about sox and gnuplot(我發送的值在Java中處理,所以有點不同的上下文)中描述的東西。問題是,在我的.dat文件中,我得到「只有很小的值」,而手冊頁說,它們將在-1和1之間進行歸一化。使用sox轉換爲.dat格式的值似乎沒有被標準化
安裝sox和mp3處理包後,我執行以下操作測試:
sox elevator.mp3 -c 1 -r 11000 elevator_mediumres.dat
cat elevator_mediumres.dat |cut -c21-33 > elevator_mediumres_values_only.dat
sort -n elevator_mediumres_values_only.dat > elevator_mediumres_values_only_sorted.dat
# echo min $(head -1 elevator_mediumres_values_only_sorted.dat) max $(tail -1 elevator_mediumres_values_only_sorted.dat)
這給出了輸出「最小-0.48370361最大9.1552734e-05」。如果我的第一個命令是wav而不是dat,那麼wav文件聽起來就OK了(就像Aerosmith的「愛在電梯裏」的11kHz單聲道那樣)。我當然可以手動規範化數據,但我希望有一個更好,更直接的方法。
感謝,
-S-
我最終在Java中自己手動進行了規範化(工作正常),但仍然有興趣知道是否有人爲了更好的方式添加了一些東西。 – Sondre 2012-03-20 12:05:45