目 錄
第1章 保存
本章將介紹如何把PC-1500機內的BASIC代碼保存到PC的wav文件內。您需要:PC-1500的底座(CE-150)、錄音軟件(本章以Cool Edit 2.1爲例進行說明)、E500Comm14.11.23版
1.1 操作
準備一根音頻線。普通的音頻線也行,如下圖所示
圖1.1
音頻線一端插入底座的MIC插孔(這是PC-1500輸出音頻信號的地方),另一端插入PC的MIC插孔。一定不要插入PC的Line In插孔。Line In和MIC都是PC音頻輸入的插孔,但它們有很大的區別:Line In直接把音頻信號傳給聲卡,MIC會把音頻信號放大後再傳給聲卡。PC-1500輸出的音頻信號很弱,使用Line In插孔,PC根本無法辨認。
運行Cool Edit 軟件,新建一個波形文件,如下圖所示:
採樣率建議16000以上。聲道固定爲"單聲道",採樣精度固定爲"8位"。
圖1.2
單擊下圖的錄音按鈕,然後在PC-1500上運行CSAVE命令。Cool Edit 將錄音。CSAVE命令執行完畢,請單擊下圖的停止按鈕。
圖1.3
注意波形的最大值和最小值,兩者的差值應在80左右,太小則說明採集到的信號太弱了。
圖1.4
解決辦法就是調整PC上麥克風的音量和麥克風加強,如下圖所示:
圖1.5
Cool Edit裏單擊【文件】【另存爲】菜單項,將錄好的音頻保存到wav文件裏,如下圖所示:
圖1.6
1.2 波形說明
上一節記錄下來的波形如下圖所示。
圖1.7
理想的波形應該是正弦波,如下圖所示:
圖1.8
碼元寬度(豎線的間隔)爲0.0004秒。左邊3個碼元內的正弦波頻率爲2500Hz;右邊4個碼元內的正弦波頻率爲1250Hz。高頻碼元被當做1,低頻碼元被當做0。8個碼元1組成一個數據位1;8個碼元0組成一個數據位0。因此,PC-1500輸出的音頻信號,其波特率爲2500,其比特率大概爲2500/8=312.5,每秒大概只能輸出40個字節(事實上,每秒大概只能輸出15個左右的字節。1KB的程序大概要1分鐘才能傳輸完畢)。
1.3 波形整形
波形整形有這麼幾個目的:
1、圖1.7所示波形其振幅非常關鍵:振幅太小則PC-1500將無法接收音頻信號。因此,有必要將波谷的樣本值調整爲0,波峯的樣本值調整得大一些(一般大於180即可)。
2、可以簡化波形,如下圖所示:可更改採樣率爲5000Hz,這樣一個碼元裏只需要2個採樣點。左邊三個碼元表示1,右邊四個碼元都表示0。
圖1.9
簡化之後,wav文件的大小會減小很多。假定錄製wav文件時的採樣率爲16000Hz,而簡化後的採樣率變成了5000Hz,數據量將減少近70%。
不過,播放簡化後的wav文件其波形就不是非常完美的了。下圖是使用Cool Edit打開globe.wav文件(下載自www.pc1500.com)看到的內容:
圖1.10
globe.wav的採樣值只有兩個:0和173。上圖上面一排小方塊的採樣點,其採樣值就是173。爲什麼不設置爲最大值255呢?因爲如上圖所示:高頻變低頻時,會有一個突然變高的波峯。爲了讓這個突變的波峯儘量接近255,只能設置採樣值的最大值爲173了。
wav文件的波形整形請通過E500Comm來實現。該程序下載方法:
進入網盤 http://pan.baidu.com/s/1gd7XDkf
再進入 public\Tools\E500Comm 下載壓縮包E500Comm14.11.23.rar
使用E500Comm處理wav文件的步驟:
1、運行E500Comm。選擇計算器爲"PC-1500",然後單擊"確定"按鈕;
圖1.11
2、程序主界面請單擊"1.程序"按鈕
圖1.12
3、單擊【文件】【打開...】菜單項,載入wav文件,如下圖所示。
圖1.13
4、單擊上圖【文件】【保存】菜單項(或【另存爲】菜單項),保存wav文件。
1.4 壓縮
波形整形後,能否壓縮爲MP3或wma?經筆者測試是不行的。因爲MP3和wma都是有損壓縮。
第2章 載入
本章將介紹如何把錄製在wav文件裏的BASIC代碼載入到PC-1500機內。
2.1 操作
音頻線一端插入底座的EAR插孔(這是PC-1500輸入音頻信號的地方,也就是"耳朵"),另一端插入PC的Line Out插孔。一定不要插入PC的耳機插孔。Line Out和耳機都是PC音頻輸出的插孔,但它們有很大的區別:Line Out是聲卡直接輸出的音頻信號,耳機則是聲卡輸出的音頻信號經放大後輸出的。不使用耳機的原因一是音量太大,二是容易失真。
PC-1500上運行命令CLOAD,PC上播放wav文件。注意:PC上的能突然發聲的程序請關閉,如:QQ。否則會打擾PC-1500接聽wav文件。
2.2 音量
PC-1500接聽聲音文件,最難控制的就是音量。
該如何精準的調節音量呢?筆者在這裏介紹一個方法——使用 Cool Edit 查看Line Out輸出的音頻信號。具體做法爲:
1、將插入PC-1500底座的EAR孔的音頻線插頭拔下來,插入PC的Line In插孔。也就是說:Line Out輸出的音頻信號直接進入Line In插孔;
2、PC上播放wav文件;
3、使用Cool Edit軟件錄製音頻,查看音頻波形的振幅。這個振幅最好在170以上。
對於波形被處理後的wav文件,簡單的把音量調整到最大即可(假定播放wav音頻的軟件是Windows Media Player,則其音量也要最大。其它播放軟件不知是否放大了音頻信號,最好用Cool Edit查看一下音頻輸出)。
第3章 wav2bin代碼解析
wav2bin下載自http://www.pocketmuseum.com/index.html。它可以將wav文件轉換爲bas文件(文本格式的BASIC代碼)和img文件(二進制格式的BASIC代碼)。
3.1 讀取一個數據位
3.2毫秒內,8個週期的高頻波(2500Hz),表示二進制位1。如下圖所示:
圖3.1
3.2毫秒內,4個週期的低頻波(1250Hz),表示二進制位0。如下圖所示:
圖3.2
換句話說就是:二進制位1與中間紅線的交點個數爲16;二進制位0與中間紅線的交點個數爲8。
數據存入wav文件時,會有1個起始位0,4個數據位,6個停止位1。所以,問題的關鍵在於把數據位前面的兩個二進制位10讀取出來。換句話說就是找到一段6.4毫秒的數據,前面3.2毫秒交點數爲16,後面3.2毫秒交點數爲8。這樣就找到了起始位,接着讀取4個數據位。