PC-1500的代碼存入WAV文件

1 保存    1

1.1 操作    1

1.2 波形說明    4

1.3 波形整形    5

1.4 壓縮    8

2 載入    9

2.1 操作    9

2.2 音量    9

3 wav2bin代碼解析    10

3.1 讀取一個數據位    10

 

 

1 保存

本章將介紹如何把PC-1500機內的BASIC代碼保存到PCwav文件內。您需要:PC-1500的底座(CE-150)、錄音軟件(本章以Cool Edit 2.1爲例進行說明)、E500Comm14.11.23

1.1 操作

準備一根音頻線。普通的音頻線也行,如下圖所示

1.1

音頻線一端插入底座的MIC插孔(這是PC-1500輸出音頻信號的地方),另一端插入PCMIC插孔。一定不要插入PCLine In插孔。Line InMIC都是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,低頻碼元被當做08個碼元1組成一個數據位18個碼元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的採樣值只有兩個:0173。上圖上面一排小方塊的採樣點,其採樣值就是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 壓縮

波形整形後,能否壓縮爲MP3wma?經筆者測試是不行的。因爲MP3wma都是有損壓縮。

 

 

2 載入

本章將介紹如何把錄製在wav文件裏的BASIC代碼載入到PC-1500機內。

2.1 操作

音頻線一端插入底座的EAR插孔(這是PC-1500輸入音頻信號的地方,也就是"耳朵"),另一端插入PCLine Out插孔。一定不要插入PC的耳機插孔。Line Out和耳機都是PC音頻輸出的插孔,但它們有很大的區別:Line Out是聲卡直接輸出的音頻信號,耳機則是聲卡輸出的音頻信號經放大後輸出的。不使用耳機的原因一是音量太大,二是容易失真。

PC-1500上運行命令CLOADPC上播放wav文件。注意:PC上的能突然發聲的程序請關閉,如:QQ。否則會打擾PC-1500接聽wav文件。

2.2 音量

PC-1500接聽聲音文件,最難控制的就是音量。

該如何精準的調節音量呢?筆者在這裏介紹一個方法——使用 Cool Edit 查看Line Out輸出的音頻信號。具體做法爲:

1、將插入PC-1500底座的EAR孔的音頻線插頭拔下來,插入PCLine In插孔。也就是說:Line Out輸出的音頻信號直接進入Line In插孔;

2PC上播放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個起始位04個數據位,6個停止位1。所以,問題的關鍵在於把數據位前面的兩個二進制位10讀取出來。換句話說就是找到一段6.4毫秒的數據,前面3.2毫秒交點數爲16,後面3.2毫秒交點數爲8。這樣就找到了起始位,接着讀取4個數據位。

發佈了113 篇原創文章 · 獲贊 46 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章