プレイ日記
【悲報】 「プチコンからパソコンに音声を送るソフト」を作ってたら、言語仕様上勝手にファイルが化けることが判明。開発中止。
8そうだね
プレイ済み
返信[1]
親投稿
以前書いた「WAVE_OUTPUT」の受信側を作ってたんだけど、PRINTとCHR$()で書き出してたら勝手に化けてどうしようもなくなった。
0そうだね
プレイ済み
返信[2]
親投稿
※ 誤解のないようにいいますが、プチコンは悪くありません。 パソコン側の言語のせいです。
0そうだね
プレイ済み
返信[3]
親投稿
エンコーダ(プチコン側)はできてるので デコーダ(パソコン側)はどなたか作ってあげてください。もう飽きた。
0そうだね
プレイ済み
返信[4]
親投稿
プログラミング嫌いになりそう、助けて 「Chr$(x) は アスキーコード x (0≦x <256)に対して,それに対応する文字を与えます。」 って書いてあったから244もそのまま出力されると思ったのに違う値に化けた。
0そうだね
プレイ済み
返信[5]
親投稿
閉鎖的というただ唯一の欠点を除けば、プチコンほど素晴らしいツールはないと思った。
7そうだね
プレイ済み
返信[6]
親投稿
ここだけの話、マイク端子があれば、ラジカセかデータレコーダに録音できるんだけどね。
1そうだね
プレイ済み
返信[7]
親投稿
それなんだよね。私の場合つなぐ線が無いのよね
0そうだね
プレイ済み
返信[8]
親投稿
かつてあった、音響カプラを自作するしかないのかな。残念ながら、手がしびれて自作困難でして。
2そうだね
プレイ済み
返信[9]
親投稿
コンクリートマイクというのがあるけど、高価で、余計な音を拾いそうで。
1そうだね
プレイ済み
返信[10]
親投稿
Godot orz_127
「違う値に」とは? 244が幾つに? ただテキストエディタ等で表示される文字が違うだけなら、それは言語設定や使っているフォントのせいだと。 ASCII範囲の&H00~&H7Fは、だいたい同じ(「\」バックスラッシュと「¥」円サインの違いはあるけど)ですが &H80~&HFFは国によって違うかと。 公式ページにプチコン用フォントがあった筈。 それをPCにインストールしてテキストエディタのフォントをそれに変えれば期待通りの文字が表示されるのでは?
1そうだね
プレイ済み
返信[11]
親投稿
・パソコン側はプチコンじゃないBASIC 値として244を出そうとしたら&h8145に化けて困ったって話。文字列しか出力できないからCHR$()で頑張ろうとしたらこうなった。 サンプリングレート8180Hzの下から2番目のバイトの方ね(8180 DIV 256)
1そうだね
プレイ済み
返信[12]
親投稿
間違えた 最下位の8180 AND 255(=244) 2番目の8180>>8(=31)は正しく出力されたのに
0そうだね
プレイ済み
返信[13]
親投稿
プチコンで言うところのTXTでwavファイルを作るってかなりめんどくさいよね。 プチコンのDATファイルに感謝。
2そうだね
プレイ済み
返信[14]
親投稿
化けるなら、化けないものだけ使って送る方法もありかもしれません。 ただし、ファイルサイズが大きくなる欠点があります。 例えば、”0”から”9”、”A”から”F”だけ使って、整数型DATファイルに詰め込んで送る。(ファイルサイズが2倍になるので転送時間も2倍。許せないかも。)
0そうだね
プレイ済み
返信[15]
親投稿
じゃなくてwavファイルを作る段階で出力できない値があるから困ってる
1そうだね
プレイ済み
返信[16]
親投稿
もしかして、そのBASICは、シフトJISを扱う設定になっていて、文字コード表に無いから、「・」を出力しているのかな?
1そうだね
プレイ済み
返信[17]
親投稿
いくつか選べるので文字コード変えてみたけど別の値が化けるからにっちもさっちもいかなくなった。 (0~255番の文字をファイルに書き出すプログラムで実験)
0そうだね
プレイ済み
返信[18]
親投稿
Godot orz_127
具体的になんと言うBASICかわからないと、確認のしようもない^^; VB?
1そうだね
プレイ済み
返信[19]
親投稿
TinyBasicっていうの
0そうだね
プレイ済み
返信[20]
親投稿
Godot orz_127
TinyBasicというと 大昔大型コンピュータで動作していた初期の頃のBasicを指したりしますが、もしや物持ちが良くて大昔のコンピュータが現役? それは、ないとしてw www.tbasic.orgの所がみつかつたけど、それ? だとして。 ざっとドキュメントを眺めたところテキストファイルしか扱えない訳ではなく、バイナリファイルも扱えるのに、テキストにこだわる理由は何?
1そうだね
プレイ済み
返信[21]
親投稿
Godot orz_127
発見w 何か延々と詳しくバイナリファイルについて語られている割りには、扱えるファイルは、テキストファイルのみとありました^^; そういう理由はのですね。
1そうだね
プレイ済み
返信[22]
親投稿
なるほど、プチコンの場合、UTF-16とは言っても、仕様を全てサポートしているわけでは無く、文字コードが一致しているだけなので、CHR$とASCでがんばれるけど、他のシステムでは、そうも行かないと言うことなんですね。 あとは、PC側ですぐ使えるように、プチコン側で全部やるか、バイト列を扱える言語を使うしかないと言う意味だったのですね。 理解が、遅くてすみません。
1そうだね
プレイ済み