perlでpackとunpack
http://perldoc.perl.org/functions/pack.html
packやunpackのテンプレートには,強制的にbig endianにしたりlittle endianにしたりできる補助記号なんてのがあったのね...HTK形式の特徴量ファイルへの書き出しに小一時間もハマってしまった...
正解は,
pack("f>", $value);
でした.
==以下追記。==
結局HTK形式の特徴量ファイルを作るには、ヘッダー部分の12バイトは、順に"N","N","n","n"でpack、値の部分は"f>"でpackすればよいです。
open OUT, $filename; # ヘッダーに関してはこちらの記事も参考に。http://d.hatena.ne.jp/masayukipo/20070930 print OUT pack( "N", $nSamples ); # number of samples in file print OUT pack( "N", $sampPeriod ); # sample period in 100ns units print OUT pack( "n", $sampSize ); # number of bytes per sample print OUT pack( "n", $parmKind ); # a code indicating the sample kind for( my $i=0; $i<$nSamples; $i++ ){ for( my $j=0; $j<$sampSize/4; $j++ ){ print OUT pack( "f>", $value[$i][$j] ); } } close OUT;