最近在很多站在不約而同看到很多朋友在討論N900鈴聲的問題
明明選擇鈴聲的當下是很正常的
為什麼電話響起時卻會破音呢?
這個問題在我拿到N900第一天就發現了
在國外爬文後整理出一點小心得
這是因為當user選定一個檔案當作鈴聲的時候 N900會自動把它轉成"單聲道"的wave檔
放在 /home/user/.local/share/sound 下面
當收到來電時 N900會到那個資料夾下面選擇轉好檔的鈴聲播放
偏偏N900裡面預設的這個轉換的功能相當的差....所以就會變成破音了
那如果user選擇的是內建的那些AAC鈴聲呢?
N900還是會把它轉成單聲道的wave檔案
不過因為旋律較緩和 因此破音的現象並不明顯
那如果我就直接轉了一個單聲道的wave檔案給N900吃呢?
很抱歉....它還是會自己在轉一次 因為轉換的功能太差 所以依然會破音
因此....較治標的解決方法
就是把你要選的檔案 (比如是 Track.mp3) 先轉成wave檔案 (Track3.wav)
不一定要單聲道 雙聲道其實也是可以的 只是檔案會大很多
然後把檔名改成 Track.mp3.wav
再把 Track.mp3 和 Track3.mp3.wav 放到手機中準備
接下來
先在操作模式裡面選好那首鈴聲
此時在 /home/user/.local/share/sound 下會自動生成 Track.mp3.wav
再把自己轉的 Track.mp3.wav 放到 /home/user/.local/share/sound 下覆蓋即可
不過這終究是一個治標的方法
因為每當user 選了別首鈴聲
N900會做的事情不只生成wave檔而已
還會把上一次生成的檔案刪除
因此每當換一首鈴聲 這個動作就要做一次
網路上好像沒有看到比較具體的方法
不知道各位先進有沒有可以提供的做法呢
我來提供一下我的做法
我想把鈴聲放在 ~/.local/share/sounds 下面
再把他加入到預設鈴聲中
我的作法是有點土法煉鋼 在這裡獻醜了!
希望有更好做法的朋友也能提出來一起討論~~
預備動作:
首先 我實驗的對象是三首歌
其中兩首是mp3 一首是wav (請大家記得買正版喔)
先把其中的兩首mp3轉成雙聲道 ( 單聲道也可以 ) 的wave檔案
至於原本就是wave格式的鈴聲我就不轉了
檔名的部分 盡量用英文 而且檔名絕對不可以有空格 ( 可以有底線或dash )
將N900連接電腦後
我將原本的鈴聲 ( 2*MP3+1*WAV ) 丟到N900的MyDocs底下自行創建的 Reintones 資料夾
而轉換後的三首 WAVE 則放到該資料夾下自行創建的 sounds 資料夾
## 這邊要注意的是 原本的mp3如果叫作 Track.mp3 那轉檔的wav就要叫作 Track.mp3.wav
至於原本的wav如果叫作 Track.wav 那轉檔的wav就要叫作 Track.wav.wav

Step1
我們接下來要製作各個鈴聲的絕對路徑
N900預設鈴聲的路徑 是放在 /etc/ringtones 這個檔案內
裡面使用的路徑為絕對路徑
如果想要把鈴聲加成預設 那麼用 vi 打開這個檔案一條一條輸入也是個方法
那萬一我一次加了數十首鈴聲該怎麼打呢?
也許可以試試看我的方式:
打開X-term
輸入 cp -r MyDocs/Ringtones/sounds . ; rm -r MyDocs/Ringtones/sounds
(因為我要在Ringtones資料夾內製造路徑 希望先把不相關的資料夾移走)

接下來進入Ringtones資料夾
cd MyDocs/Ringtones
ls | sed "s:^:`pwd`/:" > test
## pwd前後那兩點 是電腦鍵盤上數字1左邊的那個按鍵
至於N900怎麼打出 ^ 與 `
可以用 WinSCP 或者用蒙帖手寫出這兩個符號

OK 到這裡就建好所有檔案的絕對路徑了
Step2:
用 vi 打開我們剛剛生成的路徑資料
vi test
打開後就會看到放在資料夾下面的檔案之絕對路徑
輸入i 開始編輯模式
這邊其實很簡單 就在每個路徑前面加上 "要在預設鈴聲內顯示的名子"
至於 " " 內的文字最好還是用英文
而且有重複也沒關係 ( 比如我的Besame Mucho就剪了兩段想當鈴聲 而我兩個顯示的檔名都取作"Besame Mucho" )
另外 顯示檔名跟後方的絕對路徑之間的空格 不是按空白鍵 而是要按螢幕上的 Tab按鍵

更改好之後按螢幕上的Ecs
再輸入 :wq 退出
Step3
輸入
cp /etc/ringtones /etc/ringtones.back <==先備份一下
cat test >> /etc/ringtones <==把剛剛修改的結果加入 ringtones檔案內

接下來輸入
cat /etc/ringtones
就可以看到剛剛更改的部分被加在 ringtones 檔案後面了

如果以上的步驟都沒錯
應該就可以在操作模式裡面看到我們自己創建的鈴聲了
( 如果還是沒看到 就請檢查一下絕對路徑的部分吧 看路徑是否有問題或者檔名有空格)
Step4
接下來我們要把自己轉好的wav放到 ~/.local/share/sounds 下面去
因為我剛剛已經把自己轉好的鈴聲移到 /home/user/sounds 裡面去了
所以我先切換到該資料夾去
輸入
cd /home/user/sounds

執行
cp * /home/user/.local/share/sounds

這時已經把我們轉好的WAV移到N900放置鈴聲的資料夾囉
這時請先不要急
先以root登入
輸入
root
cd /home/user/.local/share/sounds
chattr +a 你的檔名.mp3.wav
chattr +a 你的檔名.wav.wav
(這邊需要手動改 如果加了數十首的會可能會改很久......所以盡量想辦法用些檔名規則幫自己省時間吧!)

執行這個是為了不要讓我們選擇別首鈴聲時
N900自動把我們轉好的wav 刪除
也可以避免他內建轉好的破音 wav 取代我們轉好的檔案
只要步驟都沒錯
應該就可以在操作模式裡面看到你的鈴聲了

這個方法有點麻煩 不過這是我能想出最簡單的了
如果各位前輩有改進的方式也麻煩告知一下喔
謝謝~~下台一鞠躬
內文搜尋

X