Recently in programming Category

PHOTO: Ear Phone

 Microsoft Speech APIを触ってみた。.NETだとすごく簡単だった。Hello Worldは以下のとおり。Microsoft Windows XP上で、Microsoft Speech SDK 5.1をインストールし、Visual C# 2005 Express Editionで作成した。最初に参照設定で、"Microsoft Speech Object Library"を追加すること。
 このコードは、インストールされているすべてのVoiceで"It's fine today"と発音する。

using System;
using System.Collections.Generic;
using System.Text;
using SpeechLib;

namespace TTSTest
{
    class Program
    {
        static void Main(string[] args)
        {
            SpVoice voice = new SpVoice();
            ISpeechObjectTokens token = voice.GetVoices("", "");
            for (int i = 0; i < token.Count; i++)
            {
                voice.Voice = token.Item(i);
                Console.WriteLine(token.Item(i).GetDescription(0));
                voice.Speak("it's fine today", SpeechVoiceSpeakFlags.SVSFlagsAsync);
            }
            while (voice.Status.RunningState == SpeechRunState.SRSEIsSpeaking) ;
        }
    }
}

今月からJava読書会に参加する予定だ。課題図書はJavaネットワークプログラミングの神髄である。予習課題が出ているので早速やってみた。

PHOTO:Clock

 めずらしく技術的な話である。おそらくnoisefactoryの常連読者の皆様のほとんどが興味がないと思われる。気にしないように。

 naoya氏のblogエントリLinux のスリープ処理、タイマ処理の詳細を見るにインスパイアされて、Linuxのシステムコールgettimeofday(2)がマイクロ秒の精度がある理由を調べてみた。 ナゼこんなことに興味があるかというと、時刻を監理しているticsという変数は、(デフォルトでは)4ms毎に更新される。 にもかかわらず、gettimeofdayがその1000倍以上の精度を持っているのは非常に不思議だ。

ハード屋なのかソフト屋なのか学者なのかよくわからない人代表としては、ハード側から攻めて見る事にした。 そもそもCPUにはclockというピンがあり、CPUのペリフェラルにはタイマカウンタがある。 詳細Linuxカーネルの6章によると、tsc(Time Stamp Counter)というカウンタがあるという。おそらくここに到達するだろうということで lxrで追って見る事にした。この記事では、Linux 2.6.11 i386のソースを用いることにする。

About Me

中尾 圭佐(chomy)
千葉県船橋市在住のモノクロ写真に目覚めた研究者。

About this Archive

This page is a archive of recent entries in the programming category.

photograph is the previous category.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.23-en