« 初音ミクに喋らせてみた(0.1.8版) | トップページ | e-ラーニング終了 »

数字の日本語読み部分

google-code-prettify のテストを兼ねて、MIKU_TALK Ver. 0.1.8 の形態素解析パートで実装した「数字読み」の ActionScript 3.0 のコードを貼ります。

reading (読み)に数字が入っておりますので、各桁の数字(reading.charAt(i))を「いち」~「きゅう」と発音し(pronounce)、桁数(currentFigure)に対応した読み「おく」~「じゅう」の発音 (pronounce) をしています。

private function 
pronounce_number(reading:String):String
{
 var pronounce:String = "";
 var currentFigure:Number = reading.length;
 var pronounceFigure:Number = 1;

 if( currentFigure > 17 ) return "よめない";
 
 for(var i:Number=0; i<reading.length;
                          i++,currentFigure--) {

  if(reading.charAt(i) == "0") {
   if( reading.length == 1 ) pronounce += "ぜろ";
  }
  if(reading.charAt(i) == "1") {
   if(currentFigure % 4 == 1) 
     pronounce += "いち";
   if(currentFigure % 4 == 0 && 4 < currentFigure)
     pronounce += "いっ";
  }
  if(reading.charAt(i) == "2") pronounce += "に";
  if(reading.charAt(i) == "3") pronounce += "さん";
  if(reading.charAt(i) == "4") pronounce += "よん";
  if(reading.charAt(i) == "5") pronounce += "ご";
  if(reading.charAt(i) == "6") pronounce += "ろく";
  if(reading.charAt(i) == "7") pronounce += "しち";
  if(reading.charAt(i) == "8") pronounce += "はち";
  if(reading.charAt(i) == "9") pronounce += "きゅう";

  if( reading.charAt(i) != "0" ) {
   if( currentFigure % 4 == 2 ) {
    pronounce += "じゅう";
    pronounceFigure = 1;
   }
   if( currentFigure % 4 == 3 ) {
    pronounce += "ひゃく";
    pronounceFigure = 1;
   }
   if( currentFigure % 4 == 0 ) {
    pronounce += "せん";
    pronounceFigure = 1;
   }
  }
  if(currentFigure == 5 && pronounceFigure == 1) {
   pronounce += "まん";
   pronounceFigure = 0;
  }
  if(currentFigure == 9 && pronounceFigure == 1) {
   pronounce += "おく";
   pronounceFigure = 0;
  }
  if(currentFigure == 13 && pronounceFigure == 1) {
   pronounce += "ちょう";
   pronounceFigure = 0;
  }
 }
 return pronounce;
}

ソースコードがいまいち洗練されていないのは、これが ActionScript の処女作で、言語仕様がよくわかっていないためです。やっぱり参考書籍(以下参照)を買わなきゃダメかな。

|

« 初音ミクに喋らせてみた(0.1.8版) | トップページ | e-ラーニング終了 »

初音ミク」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 初音ミクに喋らせてみた(0.1.8版) | トップページ | e-ラーニング終了 »