2008-09-01から1ヶ月間の記事一覧

今日の卒研

中間発表に向けて谷村さん,岡崎さんがプログラムを必死に考えていた。よいことです。2人とも中間発表のネタが出来た感じ。

文字コード

UTF-8 で書かれた文字列を EUC に変換する必要が生じたため, 文字コードを判別する: .NET Tips: C#, VB.NET に掲載されている C# のコードを C 言語用に書き換えた。元が C# ゆえ,とても簡単に書き換えられたし,これまで使ってきた JIS, SJIS, EUC の文字…

<!-- google_ad_section_start(name=s2) -->人事異動の季節<!-- google_ad_section_end(name=s2) -->

春に加えて,9月も人事異動の季節。 転職される方があれば,転出先から復帰される方もある。

WAVEファイルを2度,再生すると出てくるエラー

CallbackOnCollectedDelegate 何じゃ,こりゃ? callbackOnCollectedDelegate MDAによると,「エラーはガベージ コレクションが発生するタイミングに依存するため、エラーはランダムに見えます。」と書かれている。また,解決策も示されているが,読んでも訳…

卒研生・特研生に読んで欲しい.

文書の書き方山本和彦氏@IIJ

Windows API の読み方

左から「一般標記 : 意味 : VB2005での記述」 DWORD : 32-bit unsigned integer : UInt32 WORD : 関数の引数については C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include を参照し,適時,VB の declare 宣言に書き換えること。

録音成功!

いい加減なソースだが,音声を録音して,WAVファイルに保存することに成功した。まだ,CallbackOnCollectedDelegate や NullReferenceException が発生するが,細かいところを詰めていけば消すことが出来そうだ。

録音できない場合の対処

サウンドレコーダを利用して,録音ができない時は(デバイスが認識されていない場合は論外として),マイクのプロパティを疑うべし。 サウンドレコーダの「編集」→「オーディオのプロパティ」→「録音」の中の「音量」を指定すると「録音のコントロール」が開…

WAVファイルへの書き込み

mmioを用いた VB のプログラム例は以下に掲載されている. vbAccelerator :ただし VB6 以前のコードである.

浜田君

地道にルールベースの照合プログラムを作っているようだ.それにしても,最近,会話が少ない気がする.

谷村さん

文書から頻出語を抽出し,上位の何%があれば元の文書の内容を表現していると言えるか,を主観的に評価した.不要語の定義や「全角1文字(2バイト)のみからなる形態素が必要か」という問題が残っている.

岡崎さん

文書から頻出語を抽出するにあたり,どのような品詞が必要(または不要)かを調べてレポートにまとめた.

岩本さん

WAVEデータをフレーム単位(16msの長さ)へ分割すること,フレーム列から音符を抽出する C プログラムの解読および VB への移植を試みた.

waveIn系関数を用いた録音機能の実装

waveInReset から制御が戻らず,アプリケーションがフリーズ.原因は deadlock のようだ.具体的には,waveInReset を呼んだ時点でバッファ内にはデータが残っているため MM_WIM_DATA イベントと共に callback 関数へと処理が移されて,waveInAddBuffer でデ…

谷村さん

chasen の出力結果(形態素の集合)を出現頻度に従ってソートするプログラムが完成。メモリ解放処理がなされているか不安だが・・・。次の課題は,出力結果のうち,上位の何パーセントを用いて特徴ベクトルとするかの検討。

岩本さん

クライアント側で行う,有声音フレームの検出および音符への分割部分の C プログラムの解釈。プログラムを読む前に理屈を詰めないとならんなぁ。

なんだそりゃ!

上記に「WAV の再生ができない」と書いたが,実は完成していた。変数名を書き換えたとき,1箇所だけ換えるのを忘れて,それがバッファ・サイズを制御するものだった。サイズがゼロとしてバッファが allocation されているという間抜けな理由。そのために2…

WaveIF

どうにもこうにも WAV の再生ができない。ファイルを読み込んで再生するのならば mcistring でよいのだが,データを保持した状態ではうまく動かない。原理は理解できるのだが,インプリメントがうまくいかない。そこで,WAVオーディオデバイスインタフェース…

どうでもよい話だが

Google で "adaboost" を検索すると,私が以前にまとめた「はてなダイアリ」のページが上位に出てくる。別に目立たなくてもよいのに(^^)

録音の手順(とりあえずのメモ)

waveInOpen (録音用の WAVE デバイスを開く) waveInPrepareHeader (WAVE ヘッダの準備) waveInAddBuffer (バッファを加える?) waveInStart (録音開始.録音されたデータは,指定のバッファに保存される) waveInUnprepareHeader (録音が終了したら…

専攻科生用 MS-Office

Office 2007 が到着。発注ミスで遅くなったらしい(^^)

松永さん

最近,何をやっているのか確認していない。明日,軽い議論をしよう。

浜田君

入手した新聞データ'95 の誤りが判明。12万円するが,改めてデータを購入することにした。そのデータが届くまではルールベースによる照応を実現するよう,進める。 CaboCha による形態素解析の前処理として,divide_writing.[c,h] を渡した。

谷村さん

HTML文書からタグを除去するプログラムが完成。なお,忘れていた指摘は以下のとおり: タグを改行文字に置き換えること。 chasen による形態素解析の前処理として,改行を改行のままで扱うこと。(現在の divide_writing.c は改行文字をスキップするよう,作…

岩本さん

WAVデータを解析するコードを書くのは無理(時間がかかりすぎる)と判断し,これは武藤が書く。何故ならば,全く本質的でないコードだから。 昔,C で書いたクライアントのプログラム,および参考にした論文を渡して,有声音の判定,および pitch と duration…

岡崎さん

文章の主題(テーマ)の抽出を目的として,頻出語を抽出してもらった。Chasen によって名詞と判定された語のみを対象とするが,「必要」「重要」など形容動詞語幹の名詞が邪魔をするようだ。つまり,重要でない語にも関わらず頻度が高い。これらを排除するた…

VB2005 での CopyMemory()

CopyMemory() や MoveMemory() を使おうとすると,「AccessViolationExceptionはハンドルされませんでした」および「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。」が出て悩むこと,2…

挙動不審な OpenOffice (spreadsheet)

OpenOffice の .ods 形式でデータを保存した場合,そのアイコンが(1度でもクリックすると)Java アーカイブのアイコンに変化する。武藤のところでは発生しないが,岡崎さんのマシンで確実に発生。その原因をネットで(ちょこっと)探してみたが,見つから…

WAVファイルの操作

サンプルプログラムを理解できるようになってきた。WAVデータのヘッダ部の読み取りが完了。データ部へのオフセットを求めるところまで来た。サンプルプログラムではオーディオ再生を目的としているため,「一部のデータを読んで,残りを読んで」という定番の…

松永さん

TF/IDF の実装で悩んでいるらしい。 MS-Office Professional academic version の CD が到着。明日,インストールしてもらう。それと,インターンシップの報告書作成を急ぐべし。