ポートを解放してなくて送ったバイナリが前の命令の続きになっちゃってるだけでした
修正版
#include "hspsock.as"
#define GetNowPlaying 0x0120
#define GetTaskCount 0x0130
port=50001
text="こんにちは。HSP。"
speed = -1 ;標準の設定
tone = -1 ;標準の設定
volume = -1 ;標準の設定
voice = 0 ;0:棒読みちゃん画面上の設定、1:女性1、2:女性2、3:男性1、4:男性2、5:中性、6:ロボット、7:機械1、8:機械2、10001〜:SAPI5 だそう。
code = 2 ;0:UTF-8, 1:Unicode, 2:Shift-JIS
len = strlen(text) ;文字数
sdim buf, 15 ;ってもHSPの仕様上64byte確保されるけど。
wpoke buf, 0, $0001
wpoke buf, 2, speed
wpoke buf, 4, tone
wpoke buf, 6, volume
wpoke buf, 8, voice
poke buf,10, code
lpoke buf,11, len
sdim null,64
sockopen 0, "localhost", port
sockputb buf, 0, 15, 0
sockput text, 0
sockclose 0
;情報の取得
wait 100
sdim mpost,2
wpoke mpost,0,GetNowPlaying
sdim mget,1
sockopen 1, "localhost", port
sockputb mpost,0,2,1
sockgetb mget,0,1,1
sockclose 1
wait 10
mes "読み上げ状態:"+peek(mget,0)
詳しい事は仕様書(棒読みちゃんフォルダ\SampleSrc\SampleSrc.txt)に書いてあります