mpg形式を勝手にmp3と解釈しました。
MCIとffmpegを組み合わせればいい感じにできます。
・ffmpeg Windows版バイナリダウンロード
http://blog.k-tai-douga.com/category/359294-1.html
・使い方
http://d.hatena.ne.jp/RobinEgg/20080315/p3
//空のデータ(ダミー)を先に作らないとMCIでの保存が失敗するかも
dummy=""
notesel dummy
notesave "record.wav"
mci "open new alias rec type waveaudio"
//Windows Vista以降では設定に失敗することがあります。
mci "set rec channels 2":ref.0=stat
mci "set rec bitspersample 16":ref.1=stat
mci "set rec samplespersec 44100":ref.2=stat
newcom spv, "Sapi.SpVoice"
if varuse(spv)=0 : dialog "SAPI not found." : end
word="Hello this is H.S.P. for windows."
mes word
mci "record rec"
spv->"Speak" word, 0 ; 0だと終了待ち
;wait 500
mci "stop rec"
mci "save rec \"record.wav\""
mci "close rec"
//MCIの方法だと作成されたWAVEヘッダに誤りがあるため直接修正
//28byte目から4byte(32bit)書き換えます。
//サンプルレート44100,ビットが16,チャンネルが2の場合は44100*2*2で計算
//サンプルレート22050,ビットが8,チャンネルが1の場合は22500*1*1で計算
//失敗した時の分岐
if (ref.0!=-1)|(ref.1!=-1)|(ref.2!=-1){
sdim buf,64
lpoke buf,0,44100*2*2
bsave "record.wav",buf,4,28
}
;exec "record.wav",16
//ffmpegを使用してエンコード
//バイナリダウンロード http://blog.k-tai-douga.com/category/359294-1.html
//コマンドライン使用法 http://d.hatena.ne.jp/RobinEgg/20080315/p3
exec "ffmpeg -i record.wav -acodec libmp3lame -ac 2 -ar 44100 -ab 64k -pass 2 record.mp3"
end