« 2017年10月 | トップページ | 2017年12月 »

2017年11月

2017年11月28日 (火)

開発費用ゼロ コンピューターグラフィックスによる動画制作 (2) Java OpenCV3 Eclipse を使って

先日、下記のコンテンツを発表しました。

開発費用ゼロ コンピューターグラフィックスによる動画制作 Java OpenCV3 Eclipse を使って

上記に述べたように、私が使用しているコンピューター上に、[Java , OpenCV3 , Eclipse]の3点セットを使って動画制作を行う基盤を整備することができたので、別のプログラムを制作してみました。

上記で記述したプログラムは、

 動画の中に、静止画を埋め込む

というものでしたが、この1歩先へ行ってみよう、ということで、今回制作するプログラムを、以下のようなものに目標設定しました。

 動画Aの中に、別の動画Bを埋め込む
 動画Bを埋め込む際に、動画Bの各フレーム中の、
  [ある条件]を満たすようなピクセルだけを選択して、
  動画Aのフレームの中に、埋め込む

[ある条件]の内容を、文章でうまく表現するのは困難なので、後述のプログラム・ソースリスト記述の所で、述べます。

制作作業の結果、できたのが、下記の動画です。(ユーテューブ上にアップロードしてあります。)

映像を、この自作のコンピュータープログラムにより、制作しました。

バックグラウンド音楽には、自作曲 [だがっきだだがっきだ, Op.21]を、使用しました。
  (短い動画なので、この曲の一部だけを用いています。)

制作した動画を、下記でご覧になることができます。

この動画の格納先URLは、下記です。

https://youtu.be/WvNAgGxZ7Eg

----------------
今回の制作で、[OpenCV3]に関して、今まで知らなかった事を、新たに知りました。

制作し始めた段階では、動画Aの中に、別の動画Bを埋め込む、ということで、下記のような処理を繰り返すような、プログラミングをしていました。

  (1) 動画Bの1フレームを読みこむ
  (2) 動画Aの1フレームを読みこむ
  以下の(3)~(7)を繰り返す
   (3) 読みこまれた動画Aの1フレームを、出力側の動画の1フレームに、コピーし
   (4) コピーされたそのフレームを、動画Bの読みこまれているフレームの内容に従って、加工する
   (5) 加工がすんだフレームを、出力側の動画格納ファイル中に、書き込む
   (6) 動画Bの次の1フレームを読みこむ
   (7) 動画Aの次の1フレームを読みこむ

「(3) 読みこまれた動画Aの1フレームを、出力側の動画の1フレームに、コピーし」の所では、

 Matクラスのcloneメソッド

を使用するようにしていました。

ところが、このプログラムを実行すると、大問題が発生してしまいました。

処理が相当進んで行った段階で、コンピューターの動きが、なんだかおかしくなってきたのです。プログラムの進行が止まってしまったり、ハードウェア・アクセスランプが点灯し続けたり・・・。

(Windows10のタスクマネージャーを起動して、処理を強制的にストップしようともしましたが、タスクマネージャーの画面が、なかなか現れてくれない・・・)

これまでのプログラム制作の経験から、「メモリー不足」という言葉が、脳裏に浮かびました。

もしかしたら、プログラムのいずれかの箇所で、メモリー確保がバンバン行われしまっていて、ついには、メモリー不足に陥って、と、このような事が原因なのでは、と思いました。

そこで、ネットで調べて、[copyTo]というメソッドが、Matクラスに備わっていることを知り、[clone]ではなく、[copyTo]を使うようにしてみました。

しかし、問題の解決には至りませんでした。

ついには、[copyTo]の使用もやめ、読みこまれたフレームの内容が含まれている Matインスタンスを、別のMatインスタンス にコピーすることなく、直接、その内容を加工する、というように、してみました。

しかし、問題の解決には至りませんでした。

そしてついに、出力側の動画を複数個出力するようにしてみました。

 一定数の出力側の動画のフレームが出力された後、
 VideoWiterインスタンスに、releaseを行わせ
 ファイル名を変えて、新たなVideoWriterをコンストラクトして、
 そこに、続きを出力していく

というような動作をするように、プログラムを変えました。

更に、動画Bを複数個の動画ファイルに分割し、それぞれの分割後の動画(情報量が、分割前の動画よりも少ない)に対して、このプログラムを実行する、というように、コンピューターへの負荷を低減するようにしてみました。

すると、ようやく、問題が解消して、コンピューターが安定的に動作するようになりました。

そのようにして、生成された多数の出力側動画ファイルを、動画編集ソフトを使って、1個の動画にまとめあげました。この作業には、手間がかかりました。もっとスマートなやり方があるのかもしれません。

[clone]、[copyTo]については、下記のキーワードを用いてネット検索して、関連する情報を得ることができました。

 [OpenCV Mat clone]
 [OpenCV Mat copyTo]

-------------------------------------------

どのようなプログラムを制作して、今回の動画制作を行ったのか、今、その作業の記憶が頭の中に残っているうちに、記録しておこう、将来、再び、同じような動画の制作を行う際に困らないように、と思い、その内容を下記に記述しました。

下記の記述をお読みになった方が、それを単に参考にしていただく分には、問題は無いと思われます。

しかし、記述されている内容に沿って、その方がそこに記されているのと同様のプログラムを制作して、コンピューター上で実行された際に、その作業の結果、作業に使用されたコンピューター等、様々な方面において、何らかの問題が発生しないという保証は、全くありません。

その作業の結果、その方や、その方が使用された様々な器機、インフラ等の身の上にどのような事が起ころうとも、私は一切、責任を負いません。

今回の制作作業において、私が使用したコンピューターは、以下のような仕様になっています。

 CPU : Core i3-3110M 2.40GHz
 メモリー : 4GB
 Operating System : Windows 10 Home, 64ビットオペレーティングシステム

後述のプログラム・ソースリストは、私が実際に制作したものと、以下の点で、異なった内容になっています。

(1)フォルダー名が異なっている

    String path_string_1 = "C:\\Users\\Xyyyyy\\Documents\\" ;
    String path_string_2 = "10\\J\\T\\" ;

となっていますが、実際に使用したフォルダー名は、上記とは異なります。

(2)記述省略 色の範囲を指定するテーブル

 mv_table_of_color_value の内容を全て記述すると、長くなるので、一部、記述を省略しています。

 このエリアは、上記中の「[ある条件]を満たすようなピクセルだけを選択して」の、[ある条件]に関係している記述です。ピクセルの色(BGR値)を、L*a*b* 形式の値に変換し、その値に対して、このエリア中の記述を用いて、範囲チェックを行うようにしました。

 mv_table_of_color_value [ * ] [ 6 ] にセットされる値が、-1.0 の場合は、この範囲内にある色であれば、[ある条件]を満たさない、とする(なので、調べているピクセルの色を、出力側の動画のフレーム上には、コピーしない)

 [ * ] [ 6 ] にセットされる値が、1.0 の場合は、この範囲内にある色であれば、[ある条件]を満たすとする

ソースリストの最後の方にある、detect_color_value メソッドの中で、上記に沿ってのプログラミングを行っています。

(3)記述省略 WaitEntKeyクラス

ソースリスト中にある、

 WaitEntKey.wait_ent_key () ;

は、自作の別クラスのメソッドを呼び出しているものです。

[wait_ent_key ()]メソッドが実行されると、Enterキーが押されるまで、じっと待つ、という動作になります。WaitEntKeyクラスは、この動画を行わせるためだけに、制作したクラスです。簡単なプログラムだし、今回発表のテーマとはあまり関係ないような内容なので、そのクラスのソースリストに関する記述を省略しました。

以下、今回制作したプログラムのソースリストです。   

-------
        //for using OpenCV3
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.VideoWriter;
import org.opencv.imgproc.Imgproc ;
        //for using Calendar class
import java.util.Calendar;

public class Test2 {

  private static String mv_this_Class_name = "Test2" ;

  private static double [ ] [ ] mv_table_of_color_value  ;
  private static int mv_number_of_table_of_color_value ;
  private static String [ ] mv_table_of_filename_BVF ;

              //for reading BackGroundVideo
  private static int mv_index_of_current_using_BackGroundVideo ;

  private static String mv_dir_of_input_video ;
  private static String mv_dir_of_output_video ;

  private static int mv_index_of_VideoWriter = 0 ;

  public static void main ( String[] args ) {

    make_output_video ( ) ;
   }

  //--------------------------
  // make_output_video
  //--------------------------
  private static char make_output_video ( ) {

    String this_methode_name = "make_output_video" ; 

    Calendar ins_calendar_at_start = Calendar.getInstance ( ) ;

    String path_string_1 = "C:\\Users\\Xyyyyy\\Documents\\" ;
    String path_string_2 = "10\\J\\T\\" ;
    String path_string_4 = "VideoInput\\" ;
    String path_string_5 = "VideoOutput\\" ;

    mv_dir_of_input_video
         = path_string_1 + path_string_2 + path_string_4 ;
    mv_dir_of_output_video
         = path_string_1 + path_string_2 + path_string_5 ;

//==============================================
                 //prepare table for selecting pixel by color value
    mv_number_of_table_of_color_value = 9 ;
    mv_table_of_color_value =
            new double [ mv_number_of_table_of_color_value ]
                                   [ 7 ] ;
        //gray for pine movie
    mv_table_of_color_value [ 0 ] [ 0 ] = 0.0 ;   //L* value : From                        
    mv_table_of_color_value [ 0 ] [ 1 ] = 300.0 ;   //L* value : To
    mv_table_of_color_value [ 0 ] [ 2 ] = 124.0 ;   //a* value : From
    mv_table_of_color_value [ 0 ] [ 3 ] = 136.0 ;   //a* value : To
    mv_table_of_color_value [ 0 ] [ 4 ] = 117.0 ;   //b* value : From
    mv_table_of_color_value [ 0 ] [ 5 ] = 136.0 ;   //b* value : To
    mv_table_of_color_value [ 0 ] [ 6 ] = -1.0 ;
        //[ * ] [ 6 ] = -1.0 : if color value is in area defined above
        //    , do not get the pixel
                  //yellow ( pineapple )
    mv_table_of_color_value [ 1 ] [ 0 ] = 50.0 ;   //L* value : From                        
    mv_table_of_color_value [ 1 ] [ 1 ] = 290.0 ;   //L* value : To
    mv_table_of_color_value [ 1 ] [ 2 ] = 125.0 ;   //a* value : From
    mv_table_of_color_value [ 1 ] [ 3 ] = 150.0 ;   //a* value : To
    mv_table_of_color_value [ 1 ] [ 4 ] = 170.0 ;   //b* value : From
    mv_table_of_color_value [ 1 ] [ 5 ] = 205.0 ;   //b* value : To
    mv_table_of_color_value [ 1 ] [ 6 ] = 1.0 ;
            //[ * ] [ 6 ] = 1.0 : if color value is in area defined above
            //    , get the pixel

            ・・・記述省略
//==============================================

//==============================================
            //prepare table for path of loading backgound video file
    mv_table_of_filename_BVF = new String [ 6 ]  ;
    mv_table_of_filename_BVF [ 0 ] = "M03.mp4" ;                        
    mv_table_of_filename_BVF [ 1 ] = "M02.mp4" ;   
    mv_table_of_filename_BVF [ 2 ] = "M01.mp4" ;
    mv_table_of_filename_BVF [ 3 ] = "M04.mp4" ;
    mv_table_of_filename_BVF [ 4 ] = "M05.mp4" ;
    mv_table_of_filename_BVF [ 5 ] = "M06.mp4" ;

    mv_index_of_current_using_BackGroundVideo = (-1) ;
//==============================================

              //prepare for using OpenCV3
    System.loadLibrary ( Core.NATIVE_LIBRARY_NAME ) ;

             //prepare for reading video file
                    //BackGround Video
    String path_of_InputVideoFile_BG =
        mv_dir_of_input_video
          + mv_table_of_filename_BVF [ 0 ] ;
                   //ForeGround Video   
    String path_of_InputVideo_FG =
         mv_dir_of_input_video
         //=====================================
              + "PMikan_60_End.mp4" ;
         //=====================================

        //construct instance of VideoCapture for ForeGround Video            
    System.out.println ( "path_of_InputVideo_FG = "
                + path_of_InputVideo_FG ) ;
    VideoCapture ins_VideoCapture_FGV
          = new VideoCapture ( path_of_InputVideo_FG ) ;
    if ( ins_VideoCapture_FGV == null ) {
      System.out.println ( "can not access InputVideo_FG" ) ;
      return '1' ;   
     }
    if ( ins_VideoCapture_FGV.isOpened ( ) != true ) {
      System.out.println ( "can not open InputVideo_FG" ) ;
      return '2' ; 
     }
        //construct instance of Mat for ForeGround Video
    Mat ins_Mat_contain_one_frame_of_InputVideo_FG
               = new Mat () ;
        //read first frame of InputVideo_FG
    long number_of_readed_frame = 0 ;
    char read_status_1 = 'N' ;
    if ( ins_VideoCapture_FGV
             .read ( ins_Mat_contain_one_frame_of_InputVideo_FG )
       ) {
      read_status_1 = 'Y' ;
     }
    if ( read_status_1 == 'N') {
      System.out.println ( "can not read first frame Video_FG" ) ;
      return '3' ; 
     }
       //have read first frame of InputVideo_FG
    System.out.println ( "can read first frame Video_FG" ) ;
    number_of_readed_frame ++ ;

        //construct instance of VideoCapture for BackGround Video
    System.out.println ( "path_of_InputVideoFile_BG = "
            + path_of_InputVideoFile_BG ) ;
    VideoCapture ins_VideoCapture_BGV_kariOpen
            = new VideoCapture ( path_of_InputVideoFile_BG ) ;
    if ( ins_VideoCapture_BGV_kariOpen == null ) {
      System.out.println ( "can not access InputVideoFile_BG" ) ;
      return '4' ; 
     }
    if ( ins_VideoCapture_BGV_kariOpen.isOpened ( ) != true ) {
      System.out.println ( "can not open InputVideoFile_BG" ) ;
      return '5' ; 
     }
             //construct instance of Mat for BackGround Video
    Mat ins_Mat_contain_one_frame_of_BGV_kariOpen
                = new Mat () ;
            //read first frame of InputVideo_BG
    char read_status_2 = 'N' ;
    if ( ins_VideoCapture_BGV_kariOpen
             .read ( ins_Mat_contain_one_frame_of_BGV_kariOpen )
       ) {
      read_status_2 = 'Y' ;
     }
    if ( read_status_2 == 'N') {
      System.out.println ( "can not read first frame Video_BG" ) ;
      return '6' ; 
     }
              //have read first frame of InputVideo_BG
    System.out.println ( "can read first frame Video_BG" ) ;

          //know information about frame_of_InputVideo_BG
    Size size_of_Mat_I
       = ins_Mat_contain_one_frame_of_BGV_kariOpen.size ( ) ;
    int width_of_frame_InputVideo_BG = (int) size_of_Mat_I.width ;
    int height_of_frame_InputVideo_BG =(int) size_of_Mat_I.height ;
    int type_of_Mat
       = ins_Mat_contain_one_frame_of_BGV_kariOpen.type ( ) ;
    System.out.println( "width and height of frame_of_InputVideo_BG = "
                + width_of_frame_InputVideo_BG
        + " , " + height_of_frame_InputVideo_BG ) ;
    System.out.println( "type_of_Mat = " + type_of_Mat ) ;

          //prepare OutputVideo
       //FPS
    int fps_value = 30 ;
       //forucc : MP4V format
    int fourcc_value = VideoWriter.fourcc ( 'm', 'p' , '4', 'v' ) ;
       //Size
    int width_of_frame_OutputVideo = width_of_frame_InputVideo_BG ;
    int height_of_frame_OutputVideo = height_of_frame_InputVideo_BG ;
    System.out.println( "width_of_frame_OutputVideo = "
       + width_of_frame_OutputVideo ) ;
    System.out.println( "height_of_frame_OutputVideo = "
       + height_of_frame_OutputVideo ) ;
    Size ins_Size_of_VideoWriter
       = new Size ( width_of_frame_OutputVideo
         , height_of_frame_OutputVideo ) ;

         //construct instance of VideoWriter class
    VideoWriter ins_VideoWriter_OutputVideo
          = new VideoWriter(
                  //path of output video
            ( mv_dir_of_output_video +
              "out" + 0 + ".m4v" )
         , fourcc_value
         , fps_value
         , ins_Size_of_VideoWriter
                   ) ;
    System.out.println( "prepared OutputVideo" ) ;

           //prepare area for handling image data   
    Mat ins_Mat_contain_one_frame
        = new Mat ( size_of_Mat_I , type_of_Mat ) ;

    ins_VideoCapture_BGV_kariOpen.release ( ) ;

    VideoCapture ins_VideoCapture_of_BGV = null ;
    VideoWriter ins_VideoWriter_new ;

           //until this value , writing will be continue
    long max_number_of_output_frame
           = ( long ) ( fps_value * 40.0 ) ;

           //for changing BGVideo
    int timing_of_chage_BGV = fps_value * 40 ;
    int counter_for_reading_BGV = timing_of_chage_BGV + 1 ;
           //for changing VideoWriter
    int timing_of_chage_VideoWriter = fps_value * 3 ;
    int counter_for_writing_OutputVideo = 0 ;

    mv_index_of_VideoWriter = 0 ;

    char reached_to_end_of_InputVideo_FG = 'N' ;
    int w1 = 0 ;

     //repeat :
     //      modify contents of the frame of inputVideo BackGround
     //      write the frame modified into OutputVideo file
     //      read next frame of inputVideo
    char reached_to_end_of_process = 'N' ;
    while ( reached_to_end_of_process == 'N' ) {

                       //display frame number
      System.out.println ( "----------------------------------" ) ;
      System.out.println ( "Class = " + mv_this_Class_name +
              " : methode = " + this_methode_name ) ;
      System.out.print ( "number_of_readed_frame = "
              + number_of_readed_frame ) ;
      System.out.println ( ", max_number_of_output_frame = "
             + max_number_of_output_frame ) ;
      System.out.print ( "counter_for_reading_BGV = "
               + counter_for_reading_BGV ) ;
      System.out.println ( ", timing_of_chage_BGV = "
              + timing_of_chage_BGV ) ;
      System.out.println ( "mv_index_of_current_using_BackGroundVideo = "
                + mv_index_of_current_using_BackGroundVideo ) ;
      System.out.print ( "counter_for_writing_OutputVideo = "
                + counter_for_writing_OutputVideo ) ;      
      System.out.println ( ", timing_of_chage_VideoWriter = "
                + timing_of_chage_VideoWriter ) ;      

      if ( number_of_readed_frame
               >  max_number_of_output_frame ) {
                   //reached to process end
        reached_to_end_of_process = 'Y' ;
        break ;
       }
      w1 = counter_for_reading_BGV ;
      if ( w1 >= timing_of_chage_BGV ) {
                   //it is the timing of changing BGV
        ins_VideoCapture_of_BGV
              = change_VideoCapture_of_BGV (
                      mv_dir_of_input_video
                    , mv_table_of_filename_BVF
                                           ) ;
        read_one_frame_of_BGV (
                 ins_VideoCapture_of_BGV
               , ins_Mat_contain_one_frame
                               ) ;
        counter_for_reading_BGV = 0 ;
       }
             //modify contents of frame
      modify_contents_of_frame (
               ins_Mat_contain_one_frame
             , ins_Mat_contain_one_frame_of_InputVideo_FG
             , mv_table_of_color_value
             , mv_number_of_table_of_color_value
                                 ) ;
      System.out.println ( "passed : modify_contents_of_frame" ) ;

      w1 = counter_for_writing_OutputVideo ;
      if ( w1 >= timing_of_chage_VideoWriter ) {
                      //it is the timing of changing VideoWriter
          ins_VideoWriter_new =
               change_VideoWriter (
                      ins_VideoWriter_OutputVideo
                      , width_of_frame_OutputVideo
                      , height_of_frame_OutputVideo
                                    ) ;
          ins_VideoWriter_OutputVideo
                  = ins_VideoWriter_new ;
          counter_for_writing_OutputVideo = 0 ;
       }

               //write the frame modified into OutputVideo file
      ins_VideoWriter_OutputVideo
                .write (
                        ins_Mat_contain_one_frame                        
                        ) ;
        counter_for_writing_OutputVideo ++ ;
      System.out.println ( "passed : ins_VideoWriter_OutputVideo.write" ) ;

                   //read next frame of ForeGroundVideo
      read_status_1 = 'N' ;
      if ( ins_VideoCapture_FGV
                   .read ( ins_Mat_contain_one_frame_of_InputVideo_FG )
         ) {
        read_status_1 = 'Y' ;
       }
      if ( read_status_1 == 'N') {
        System.out.println ( "have reached to end of InputVideo_FG file" ) ;
        WaitEntKey.wait_ent_key () ;
        reached_to_end_of_InputVideo_FG = 'Y' ;
        reached_to_end_of_process = 'Y' ;
        break ;
       }
      else {
        number_of_readed_frame ++ ;
       }          
               //read next frame of BackGroundVideo          
      read_one_frame_of_BGV (
                  ins_VideoCapture_of_BGV
                , ins_Mat_contain_one_frame 
                             ) ;
      counter_for_reading_BGV ++ ;
     }
                //release VideoWriter
    ins_VideoWriter_OutputVideo.release ( ) ;
    System.out.println ( "passed : ins_VideoWriter_OutputVideo.release ( )" ) ;

    System.out.println ( "======================" ) ;
    System.out.println ( "terminated" ) ;
    Calendar ins_calendar_at_end = Calendar.getInstance ( ) ;
    System.out.println ( "Start Time = " +
                ins_calendar_at_start.get ( Calendar.HOUR_OF_DAY )
        + " : " + ins_calendar_at_start.get ( Calendar.MINUTE )
        + " : " + ins_calendar_at_start.get ( Calendar.SECOND )
                       ) ;
    System.out.println ( "End Time =   " +
            ins_calendar_at_end.get ( Calendar.HOUR_OF_DAY )
        + " : " + ins_calendar_at_end.get ( Calendar.MINUTE )
        + " : " + ins_calendar_at_end.get ( Calendar.SECOND )
                       ) ;

    return 'Y' ; 
   }

//---------------------
//change Output VideoWriter
//--------------------- 
  private static VideoWriter change_VideoWriter (
                  VideoWriter para_ins_VideoWriter_current
                , int para_width_of_frame_InputVideo_BG
               ,  int para_height_of_frame_InputVideo_BG
                                       ) {

    String this_methode_name = "change_VideoWriter" ; 

            //release current VideoWriter
    para_ins_VideoWriter_current.release ( ) ;
    para_ins_VideoWriter_current = null ;

    System.out.println( "Class = " + mv_this_Class_name
             + " , " + this_methode_name ) ;
    System.out.println( "released current VideoWriter" ) ;

            //prepare new OutputVideo
    //=====================================   
    mv_index_of_VideoWriter ++ ;
    //=====================================       
      //FPS
    int fps_value = 30 ;
     //forucc : MP4V format
    int fourcc_value = VideoWriter.fourcc ( 'm', 'p' , '4', 'v' ) ;
     //Size
    int width_of_frame_OutputVideo = para_width_of_frame_InputVideo_BG ;
    int height_of_frame_OutputVideo = para_height_of_frame_InputVideo_BG ;
    System.out.println( "width_of_frame_OutputVideo = "
           + width_of_frame_OutputVideo ) ;
    System.out.println( "height_of_frame_OutputVideo = "
           + height_of_frame_OutputVideo ) ;
    Size ins_Size_of_VideoWriter
      = new Size ( width_of_frame_OutputVideo
                 , height_of_frame_OutputVideo ) ;
         //construct instance of VideoWriter class
    String path_of_output =
        mv_dir_of_output_video +
             "out" + mv_index_of_VideoWriter + ".m4v" ;
    VideoWriter ins_new_VideoWriter
          = new VideoWriter(
                      //path of new output video file
                path_of_output
              , fourcc_value
              , fps_value
              , ins_Size_of_VideoWriter
                           ) ;
    System.out.println( "new instance of VideoWriter constructed") ;
    System.out.println( "path_of_output = "
                 + path_of_output ) ;

//    WaitEntKey.wait_ent_key () ;

    return ins_new_VideoWriter ;
   } 

//----------------------
// change VideoCapture of BackGoundVideo
//---------------------- 
  private static VideoCapture change_VideoCapture_of_BGV (
         String para_dir_of_input_video
       , String [ ] para_table_of_path_BVF
                                     ) {

    String this_methode_name = "change_VideoCapture_of_BGV" ;

    VideoCapture ins_VideoCapture_return = null ;

    //====================================
    mv_index_of_current_using_BackGroundVideo ++ ;
    //===================================
    String filename_of_BackGoundVideo
           = para_table_of_path_BVF
        [ mv_index_of_current_using_BackGroundVideo ] ;
    String path_of_BackGoundVideo =
            para_dir_of_input_video +
            filename_of_BackGoundVideo ;   

    VideoCapture ins_VideoCapture_BGV
            = new VideoCapture ( path_of_BackGoundVideo ) ;
    if ( ins_VideoCapture_BGV == null ) {
      System.out.println ( "    Class = " + mv_this_Class_name +
                " : methode = " + this_methode_name ) ;
      System.out.println ( "    can not access Background Video File" ) ;
      System.out.println ( "path_of_BackGoundVideo = "
                     + path_of_BackGoundVideo ) ;
      WaitEntKey.wait_ent_key () ;
      return ins_VideoCapture_return ;
     }
    if ( ins_VideoCapture_BGV.isOpened ( ) != true ) {
        System.out.println ( "    Class = " + mv_this_Class_name +
                " : methode = " + this_methode_name ) ;
      System.out.println ( "    can not open Background Video File" ) ;
      System.out.println ( "path_of_BackGoundVideo = "
                    + path_of_BackGoundVideo ) ;
      WaitEntKey.wait_ent_key () ;
      return ins_VideoCapture_return ;
     }

    ins_VideoCapture_return = ins_VideoCapture_BGV ;
    return ins_VideoCapture_return ;
  }

//--------------------
//read one frame of InputVideo_BGV
//--------------------
  private static Mat read_one_frame_of_BGV (
              VideoCapture para_ins_VideoCapture
            , Mat para_ins_Mat_contain_read_imageData
                                           ) {

    String this_methode_name = "read_one_frame_of_BGV" ;

    char read_status_2 = 'N' ;
    if ( para_ins_VideoCapture
             .read ( para_ins_Mat_contain_read_imageData )
       ) {
      read_status_2 = 'Y' ;
     }
    if ( read_status_2 == 'N') {
      System.out.println ( "    Class = " + mv_this_Class_name +
                " : methode = " + this_methode_name ) ;
      System.out.println ( "can not read frame Video_BG" ) ;
      WaitEntKey.wait_ent_key () ;
     }

    return para_ins_Mat_contain_read_imageData ;   
   }

//---------------------
//modify contents of frame
//---------------------      
  private static void modify_contents_of_frame (
               Mat para_ins_Mat_contain_one_frame_of_InputVideo_BG
             , Mat para_ins_Mat_contain_one_frame_of_InputVideo_FG
             , double [ ] [ ] para_table_of_color_value
             , int para_number_of_table_of_color_value
                                           ) {

    String this_methode_name = "modify_contents_of_frame" ;

    Size size_of_Mat_I = para_ins_Mat_contain_one_frame_of_InputVideo_FG.size ( ) ;
    int width_of_frame_InputVideo_FG = (int) size_of_Mat_I.width ;
    int height_of_frame_InputVideo_FG =(int) size_of_Mat_I.height ;
//    System.out.println( "width and height of frame_of_InputVideo_FG = "
//                    + width_of_frame_InputVideo_FG
//            + " , " + height_of_frame_InputVideo_FG ) ;

    double [ ] color_Lab_of_one_pixel ;
    double [ ] color_BGR_of_one_pixel ;
    char return_status ;

          //make instance of Mat that contain
          //  color value of L*a*b* converted from BGR
    Mat ins_Mat_converted = new Mat ( ) ;
    Imgproc.cvtColor (
             para_ins_Mat_contain_one_frame_of_InputVideo_FG
           , ins_Mat_converted
           , Imgproc.COLOR_BGR2Lab ) ;

    int put_location_X = 0 ;
    int put_location_Y = 0 ;
    long counter_of_put_pixel = 0 ;

    char debug_mode = 'N' ;

    for ( int get_location_X = 0
               ; get_location_X < width_of_frame_InputVideo_FG
               ; get_location_X ++ ) {
      for ( int get_location_Y = 0
                 ; get_location_Y < height_of_frame_InputVideo_FG
                 ; get_location_Y ++ ) {

                 //get the color value (L*a*b*) of one pixel in Photo Image
        color_Lab_of_one_pixel
              = ins_Mat_converted
                  .get ( get_location_Y, get_location_X ) ;

//        if ( ( get_location_X == 964 )
//             &&
//             ( get_location_Y == 166 )
//         ) {
//           debug_mode = 'Y' ;
//          }
//        else {
//           debug_mode = 'N' ;
//         }            

        if ( debug_mode == 'Y' ) {
            System.out.println ( "Class = " + mv_this_Class_name
                      + " , " + this_methode_name ) ;
          System.out.println ( "get_location_X = "
                        + get_location_X
                        + " , get_location_Y = "
                        + get_location_Y ) ;
          System.out.println ( "color_Lab_of_one_pixel = "
                            + color_Lab_of_one_pixel [ 0 ]
                    + " , " + color_Lab_of_one_pixel [ 1 ]
                    + " , " + color_Lab_of_one_pixel [ 2 ]
                            ) ;
          WaitEntKey.wait_ent_key () ;
         }
                 //detect the color
        return_status = detect_color_value (
                           color_Lab_of_one_pixel
                         , para_table_of_color_value
                         , para_number_of_table_of_color_value
                         , debug_mode
                                           ) ;

        if ( debug_mode == 'Y' ) {
          System.out.println ( "Class = " + mv_this_Class_name
                        + " , " + this_methode_name ) ;
          System.out.println ( "get_location_X = "
                            + get_location_X
                            + " , get_location_Y = "
                            + get_location_Y ) ;
          System.out.println ( "return_status = "
                        + return_status    ) ;
          WaitEntKey.wait_ent_key () ;
         }

        if ( return_status == 'Y' ) {
                //this pixel have the color in condition
                //so , this pixel have to be copied into frame of output video
          color_BGR_of_one_pixel
              = para_ins_Mat_contain_one_frame_of_InputVideo_FG
                  .get ( get_location_Y, get_location_X ) ;             
          put_location_X = get_location_X ;
          put_location_Y = get_location_Y ;
          para_ins_Mat_contain_one_frame_of_InputVideo_BG
                .put (
                        put_location_Y , put_location_X
                      , color_BGR_of_one_pixel
                              ) ;
          counter_of_put_pixel ++ ;
         }
       }
     }

    System.out.println ( "    Class = " + mv_this_Class_name +
                        " : methode = " + this_methode_name ) ;
    System.out.println( "        counter_of_put_pixel = "
                        + counter_of_put_pixel ) ;
//    WaitEntKey.wait_ent_key ( ) ;
   }

//----------------------
//detect the color
//-----------------------
  private static char detect_color_value (
         double [ ]  para_color_Lab_of_one_pixel
       , double [ ] [ ] para_table_of_color_value
       , int para_number_of_table_of_color_value
       , char para_debug_mode
                                      ) {

    String this_methode_name = "detect_color_value" ;

    char display_do = 'N' ;

    char return_status = ' ' ;                                 
    for ( int i = 0 ; i < para_number_of_table_of_color_value
                        ; i ++ ) {      
      if ( para_debug_mode == 'Y' ) {
        System.out.println ( "    Class = " + mv_this_Class_name +
                    " : methode = " + this_methode_name ) ;
        System.out.println( "return_status = "
                       + return_status ) ;
        System.out.println( "para_number_of_table_of_color_value = "
                    + para_number_of_table_of_color_value ) ;
        System.out.println ( "i = " + i ) ;
        System.out.println ( "para_table_of_color_value [ i ] = "
             + para_table_of_color_value [ i ][0]
            + " , " + para_table_of_color_value [ i ][1]
                    + " , " + para_table_of_color_value [ i ][2] 
                    + " , " + para_table_of_color_value [ i ][3] 
                    + " , " + para_table_of_color_value [ i ][4] 
                    + " , " + para_table_of_color_value [ i ][5]            
                     ) ;
        System.out.println ( "para_color_Lab_of_one_pixel = "
                  + para_color_Lab_of_one_pixel[0]
                 + " , " + para_color_Lab_of_one_pixel [1]
                 + " , " + para_color_Lab_of_one_pixel [2] 
                          ) ;
          WaitEntKey.wait_ent_key ( ) ;
       }

      if ( ( para_color_Lab_of_one_pixel [ 0 ]   //L*                
                  > para_table_of_color_value [ i ] [ 0 ] ) //L* From )
            &&
            ( para_color_Lab_of_one_pixel [ 0 ]   //L*                
                  < para_table_of_color_value [ i ] [ 1 ] ) //L* To )
            &&                  
            ( para_color_Lab_of_one_pixel [ 1 ]   //a*                
                  > para_table_of_color_value [ i ] [ 2 ] )//a* From )
            &&                  
            ( para_color_Lab_of_one_pixel [ 1 ]   //a*                
                  < para_table_of_color_value [ i ] [ 3 ] ) //a* To )
            &&                  
            ( para_color_Lab_of_one_pixel [ 2 ]   //b*                
                  > para_table_of_color_value [ i ] [ 4 ] ) //b* From )
            &&                  
            ( para_color_Lab_of_one_pixel [ 2 ]   //b*                
                  < para_table_of_color_value [ i ] [ 5 ] ) //b* To )
          ) {
        if ( para_table_of_color_value [ i ] [ 6 ] < 0.0 ) {
            //[ * ] [ 6 ] = -1.0 : if color value is in area defined above
            //    , do not get the pixel            
          return_status = 'N' ;

          if ( para_debug_mode == 'Y' ) {
              System.out.println ( "i = " + i ) ;
              System.out.println ( "return_status = "
                      + return_status ) ;             
               WaitEntKey.wait_ent_key ( ) ;
           }             
          return return_status ;            
         }
        else {
            //[ * ] [ 6 ] = 1.0 : if color value is in area defined above
            //    , get the pixel
             return_status = 'Y'  ;
         }

        if ( para_debug_mode == 'Y' ) {
           System.out.println ( "    Class = " + mv_this_Class_name +
                     " : methode = " + this_methode_name ) ;
          System.out.println( "return_status = "
                        + return_status ) ;
          WaitEntKey.wait_ent_key ( ) ; 
         }    
       }         
    }
   return return_status ;                                     
  }

}

------------------------------------------------

新作動画の発表 [この生命体、何をしている?](コンピューター・グラフィックスにより制作)

ユーチューブ上に、自らが制作した動画1個をアップロードしました。バックグラウンド音楽に、自作曲を使用しました。

映像を、自作のコンピュータープログラムにより、制作しました。

バックグラウンド音楽には、自作曲 [だがっきだだがっきだ, Op.21]を、使用しました。
  (この動画に含まれているのは、この曲の一部だけです)

下記でご覧になることができます。

この動画の格納先URLは、下記です。

https://youtu.be/WvNAgGxZ7Eg

------------------------------------------------------------
私が制作した他の動画を、私のユーチューブチャンネルからご覧いただけます。私のユーチューブチャンネルにアクセスしたい時は、

ここをクリックしてください。

私が作曲した他の音楽作品を、クレオフーガ・サイト上の私のコーナーでお聴きいただけます。それにアクセスしたい時は、

ここをクリックしてください。

2017年11月27日 (月)

レマンスカ さん と 講殿 さんの 展覧会に行きました 2017年 11月

2017年11月に、アートギャラリー北野 に行きました。京都市の三条河原町にあるギャラリーです。

[Timeless パリの風景写真と京都の扇子の二人展](2017.11.22 ~ 11.27)という展覧会に行ってきたのです。

Joanna Lemanska (ジョアンナ・レマンスカ)さん(写真家)と、講殿友宏さん(扇クリエイター)の、共同の展覧会です。

ジョアンナ・レマンスカさん、および、講殿友宏さんよりの許可をいただいて、展覧会場に展示されていたお二人の作品の中から数点を撮影し、ここに紹介させていただきます。

ジョアンナ・レマンスカさんの作品(写真)

P1
P01

P2
P02

P3
P03

講殿友宏さんの作品(扇)

P4
P04

P5
P05

P6
P06

下記は、お二人の作品を撮影したものです。

P7
P07

レマンスカさんと講殿さんに、私が初めてお会いしたのは、数年前、京都市内の寺町通りにあるギャラリーで、お二人で展覧会をされていた時です。

ジョアンナ・レマンスカ (Joanna Lemanska) さんは、

ポーランド(Poland)のスウプス(Slupsk)生まれ。大学で、アート・ヒストリーを専攻、のちに写真家を目指す。現在、パリ在住。レマンスカさんのサイトは、下記です。

MISSCOOLPICS

講殿友宏さんは、株式会社ファンティーク(扇子 企画・製造・販売)代表。講殿さんのサイトは、下記です。

株式会社ファンティーク

講殿さんのご経歴等については、下記をご参照ください。

株式会社ファンティークの会社情報

2017年11月21日 (火)

開発費用ゼロ コンピューターグラフィックスによる動画制作 Java OpenCV3 Eclipse を使って

先日、下記のコンテンツを発表したのですが、

コンピューターグラフィックスによる動画制作をやってみました ( Python と OpenCV を使って )

その中で、下記のように記しました。

----------------
 [Python]、もっと速く動いてほしいなぁ

という感じです。

将来、時間的余裕があれば、今回、Python で記述したコンピュータープログラムを、Java言語を使って書き直してみようかな、というような事も思っています。
----------------

で、「時間的余裕」が少し生じたので、調べてみました、

下記の3点セットを使って、
 コンピューターグラフィックス による 動画制作 を
  行えるかどうか

という事について。  

3点セット
 OpenCV3
 Java言語
 Eclipse

上記3点セット中のいずれをも、ネットを経由して、新たに費用を出費することなく、入手することができます。

なので、この3点セットを使って、動画の制作を行うことができるのであれば、「開発費用ゼロ」での動画の制作を、私は行うことができるようになるであろうと、と考えました。

調べてみた結果は、

 「なんとかできそうだ」

でした。

しかし、その結論に達するまでの道程は、様々な障害を乗り越えていくものでした。

どのような手順で、様々な作業を行って、上記の結論に達しえたのか、今、その作業の記憶が頭の中に残っているうちに、記録しておこう、将来、再び、動画の制作を行う際に困らないように、と思い、その内容を下記に記述しました。

その内容は、このような手順で、このような作業を行ったら、このようになった、という事を、ただ、淡々と述べているに過ぎません。

下記の記述をお読みになった方が、それを単に参考にしていただく分には、問題は無いと思われます。

しかし、記述されている内容に沿って、その方がそこに記されているのと同様の作業を行われた際に、その作業の結果、作業に使用されたコンピューター等、様々な方面において、何らかの問題が発生しないという保証は、全くありません。

その作業の結果、その方や、その方が使用された様々な器機、インフラ等の身の上にどのような事が起ころうとも、私は一切、責任を負いません。

-------

どのような手順でもって、どのような作業を行った末に、上記3点セットを使用しての動画制作、なんとかできそうだ、という結論に達したのか

について、以下に記します。

以下のような手順で、作業を行いました。

1. prepare computer
     使用するコンピューターを用意

 CPU : Core i3-3110M 2.40GHz
 メモリー : 4GB
 Operating System : Windows 10 Home, 64ビットオペレーティングシステム

2.  OpenCV3 関連の作業を行いました

2.1 install OpenCV3

OpenCV

から、[opencv-3.3.1-vc14.exe] をダウンロードし、上記1.に記述されているコンピューターの中に、インストールしました。

これ以降の、OpenCV3に関する記述において、[OpenCV_3_3_1_vc14]という文字列が出現した場合には、、これは、上記の作業の結果、OpenCV3がインストールされた先のフォルダーを表すものと、考えてください。

例えば、

  OpenCV_3_3_1_vc14
    opencv
      build

というような記述が行われている場合には、これは、下記のようなフォルダーの階層構造になっていることを意味します。

ドライブC
  XXXXXXXX
    YYYYYYYYY
      OpenCV_3_3_1_vc14
        opencv
          build

2.2 copy opencv_ffmpeg331_64.dll

  OpenCV_3_3_1_vc14
    opencv
      build
        bin

の下にある、opencv_ffmpeg331_64.dll を、

  OpenCV_3_3_1_vc14
    opencv
      build
     java
       x64

の下に、コピーしました。

その結果、このフォルダー中には、

  OpenCV_3_3_1_vc14
    opencv
      build
     java
       x64
         opencv_ffmpeg331_64.dll
         opencv_java331.dll

というように、2個の dll が存在する状態になりました。 

このような、OpenCV3 の内部の構造を改変するような事を、してもよいのかどうか、よく分かりませんが、このような作業が必要でした。他に、もっとスマートな解決方法があるのかもしれません。

3  Java 関連の作業を行いました

3.1 install Java SE Development Kit 8

[Java SE Development Kit 8u152] を、ダウンロードし、上記1.に記述されているコンピューター中に、インストールしました。

3.2 環境変数の設定変更

上記1.に記述されているコンピューターに対して、環境変数の設定変更を行いました。

 [JAVA_HOME] を追加
 [Path]に、[%JAVA_HOME%\bin;]を追記

この際に、とまどったのが、Win10の[システムの詳細設定]の操作でした。

詳細設定の画面をどうやって表示させたらよいのか?

下記の手順に従ってやったら、できました。

 [窓枠アイコン](画面の左下角)を、左クリック
 [設定アイコン](歯車のような形)を、左クリック
 [Windowsの設定]の画面が開いたので、[システム]のアイコンを、左クリック
 [設定の検索]の箱の中に、[詳細設定]の4文字を入力すると、その箱の下に、
 [システムの詳細設定の表示]という文字列が表示されたので、そこを、左クリック
 [システムのプロパティ]画面が表示されたので、[詳細設定]タブを、左クリック
 [環境変数(N)...]ボタンを、左クリック

上記のようにして、環境変数の設定変更の処理を行うことができるようになりました。もっとスマートな(簡単な)やり方があるのかもしれません。

将来、Win10のバージョンアップに伴い、別のやり方によってやるようになるのかもしれません。

4  Eclipse 関連の作業を行いました

4.1 install eclipse-inst-win64.exe

Download Eclipse Technology that is right for you

にアクセスして、

[Get Eclipse OXYGEN] の下にある
  [DOWNLOAD 64 BIT]
   を、左クリックして、

eclipse-inst-win64.exe

をダウンロードして、
それを、左ボタン・ダブルクリックで起動して、インストールを行いました。

インストール対象としては、

 [Eclipse IDE for Java Developers]

を、選択しました。

4.2 動作確認

[TestOpenCV3]というプロジェクトを作成し、その中に、下記のプログラム(Java言語によって記述)を作成しました。

-----------------------------
public class Test1 {
  public static void main(String[] args) {
        System.out.println ( "AAA") ;
  }
}
-----------------------------

これを起動すると、Ecipseのコンソール上に

AAA

と表示されたので、

インストールした、[Ecipse] と [Java SE Development Kit 8] を用いて、Java言語を用いて記述されるプログラムを、制作、実行していく事が、私が使用するコンピューターを用いて可能となったことを、確認できました。

5. connect OpenCV3 and Eclipse

ここまでの作業により、私が使用するコンピューター上に、下記3点セットがインストールされた事になります。

3点セット
 [OpenCV3]
 [Java SE Development Kit 8u152]
 [Eclipse]

上記のうち、[Eclipse] と [Java SE Development Kit 8u152] とは、既に結合された状態になっています。

残るは、[OpenCV3] と [Eclipse] の結合であります。

5.1 opencv-331.jar

[Eclipse]を使用して、

プロジェクト[TestOpenCV3] の上で、右クリック
Build Path
Add External Archives で、下記を指定

  OpenCV_3_3_1_vc14
    opencv
      build
        java
          opencv-331.jar

5.2 Native library location

[Eclipse]を使用して、

プロジェクト[TestOpenCV3] の上で、右クリック
Build Path
Add Libraries
User Library を Select
・・・

で、[User Library] を1個作成して、

その後、

プロジェクト[TestOpenCV3] の上で、右クリック
Build Path
Configure Build Path

で、上記で作成された[User Library]を選択し、
それの、[Native library location] に、下記を登録しました。

  OpenCV_3_3_1_vc14
   opencv
    build
     java
       x64

2.2 に述べたように、上記のフォルダーの中には、

 opencv_ffmpeg331_64.dll
 opencv_java331.dll

が入っているのですが、これらの格納位置を、Eclipse に知らしめる事により、5.1に述べた処理とあいまって、[OpenCV3] と [Eclipse] の結合作業、完成、ということになったのかもしれません。

6. テスト・プログラム実行

後述のプログラムを、プロジェクト[TestOpenCV3] 中に記述し、実行してみました。

このプログラムは、

下記のようなイメージの動画

Bef
V_before  

の中に、

下記のようなイメージの写真画像を、埋め込んで

P
Inputphotoimage

下記のようなイメージの動画を新たに作成する

Aft
V_after

と、いうものです。

写真画像の埋め込みは、ただ単に埋め込む、というようなものではなく、

写真画像中の、赤成分が、緑成分、青成分よりも大きいようなピクセルだけを、埋め込む

というものです。

埋め込み先の位置も、動画が進んでいくにつれて変わっていくようにしてあります。

なので、写真画像のうち、緑色っぽい部分は埋め込まれておらず、黄色(花の部分)や茶色に近い部分だけが埋め込まれ、埋め込まれる先の位置も、徐々に変化していき、というような感じになっています。

このプログラムを制作してみて、今後に希望が出てきたような感じがしています。

PythonとOpenCVを使っての動画制作は、自分の使用しているコンピューターでは、処理に時間がかかりすぎるので、とてもムリのようですが、このプログラムのように、JavaとOpenCV3を使っての制作であれば、今後の更なる制作への希望が持てるような、短い時間で処理できることが、分かりました。

テスト・プログラムのソースリストを、以下に記します。

------------------------------------------------
//=====================================
//Exmpl1.java
//=====================================

           //for using OpenCV3
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs ;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.VideoWriter;

public class EXmpl1 {

          private static String mv_this_Class_name = " Exmpl1" ;

          public static void main ( String[] args ) {

            String this_methode_name = "main" ;

            System.out.println ( "----------------------------------" ) ;
              System.out.println ( "Enter into Class = " + mv_this_Class_name +
                          " : methode = " + this_methode_name ) ;

                        //prepare for using OpenCV3
            System.loadLibrary ( Core.NATIVE_LIBRARY_NAME ) ;

                        //load photo image data
            String path_of_InputPhotoImage = "E:Exmpl1\\InputPhotoImage.png" ;
                         //photo image data will be set to instance of Mat class
            Mat ins_Mat_contain_PhotoImage
                             //Using OpenCV3
                         = Imgcodecs.imread ( path_of_InputPhotoImage ) ;
            if ( ins_Mat_contain_PhotoImage == null ) {
              System.out.println ( "can not read InputPhotoImage" ) ;
             }
            else {
              System.out.println ( "can read InputPhotoImage" ) ;
              System.out.println ( "path_of_InputPhotoImage = "
                               + path_of_InputPhotoImage ) ;
              make_video ( ins_Mat_contain_PhotoImage ) ;
             }
          }

        //------------------------
        // making of video
        //------------------------
          private static char make_video
               ( Mat para_ins_Mat_contain_PhotoImage ) {

            String this_methode_name = "make_video" ;

            System.out.println ( "----------------------------------" ) ;
            System.out.println ( "Enter into Class = " + mv_this_Class_name +
                    " : methode = " + this_methode_name ) ;

                   //know the size of PhotoImage
            Size size_of_loaded_PhotoImage
                      = para_ins_Mat_contain_PhotoImage.size() ;
            int width_of_PhotoImage =  (int) size_of_loaded_PhotoImage
                                                 .width ;
            int height_of_PhotoImage = (int) size_of_loaded_PhotoImage
                                                 .height ;
            System.out.println ( " width_of_PhotoImage = " +  width_of_PhotoImage ) ;
            System.out.println ( " height_of_PhotoImage = " +  height_of_PhotoImage ) ;

                            //set path of video
            String path_of_InputVideoFile = "E:Exmpl1\\BeforeVideo.mp4" ;
            String path_of_OutputVideoFile = "E:Exmpl1\\AfterVideo.m4v" ;
                            //access InputVideoFile using OpenCV3
            VideoCapture ins_VideoCapture_InputVideo
                = new VideoCapture ( path_of_InputVideoFile ) ;
            if ( ins_VideoCapture_InputVideo == null ) {
              System.out.println ( "can not access InputVideoFile" ) ;
              return 'N' ;
             }
            if ( ins_VideoCapture_InputVideo.isOpened ( ) != true ) {
              System.out.println ( "can not open InputVideoFile" ) ;
              return 'O' ;
             }
                  //we accesed and opened InputVideoFile
                  //Maybe, will be able to make output video

                           //define Mat for handling videos
            Mat ins_Mat_contain_one_frame_of_InputVideo
                        = new Mat () ;
            Mat ins_Mat_contain_one_frame_of_OutputVideo ;
                           //define and initialize counter for readed frame
            long number_of_readed_frame = 0 ;

                  //read first frame of InputVideo
            char read_status = 'N' ;
            if (ins_VideoCapture_InputVideo
                       .read ( ins_Mat_contain_one_frame_of_InputVideo )
               ) {
              read_status = 'Y' ;
             }
          if ( read_status == 'N') {
              System.out.println ( "can not read first frame" ) ;
              return 'F' ;
             }
                  //have read first frame of InputVideo
                  //Maybe, will be able to make output video
            System.out.println ( "can read first frame" ) ;
            number_of_readed_frame ++ ;

            Size size_of_Mat_I = ins_Mat_contain_one_frame_of_InputVideo.size ( ) ;
            int width_of_frame_InputVideo = (int) size_of_Mat_I.width ;
            int height_of_frame_InputVideo =(int) size_of_Mat_I.height ;
            System.out.println( "width and height of frame_of_InputVideo = "
                        + width_of_frame_InputVideo
                + " , " + height_of_frame_InputVideo ) ;

                    //prepare OutputVideo
                       //FPS
            int fps_value = 30 ;
                      //forucc : MP4V format
            int fourcc_value = VideoWriter.fourcc ( 'm', 'p' , '4', 'v' ) ;
                      //Size
            int width_of_frame_OutputVideo = width_of_frame_InputVideo ;
            int height_of_frame_OutputVideo = height_of_frame_InputVideo ;
            Size ins_Size_of_VideoWriter
                 = new Size ( width_of_frame_OutputVideo
                            , height_of_frame_OutputVideo ) ;
                      //construct instance of VideoWriter class
            VideoWriter ins_VideoWriter_OutputVideo
                 = new VideoWriter(
                          path_of_OutputVideoFile
                        , fourcc_value
                        , fps_value
                        , ins_Size_of_VideoWriter
                                  ) ;
             System.out.println( "prepared OutputVideo" ) ;

                    //repeat :
                    //      copy read frame of InputVideo to frame of OutputVideo
                    //        modify contents of copied frame
                    //      write the frame modified into OutputVideo file
                    //      read next frame of Inputvideo
              char reached_to_end_of_InputVideo = 'N' ;
              while ( reached_to_end_of_InputVideo == 'N' ) {

                           //display frame number
                System.out.println ( "----------------------------------" ) ;
                  System.out.println ( "Class = " + mv_this_Class_name +
                          " : methode = " + this_methode_name ) ;
                System.out.println ( "number_of_readed_frame = "
                             + number_of_readed_frame ) ;

                           //copy read frame of InputVideo to frame of OutputVideo
                ins_Mat_contain_one_frame_of_OutputVideo
                   = ins_Mat_contain_one_frame_of_InputVideo.clone() ;

                           //modify contents of copied frame ( by using PhotoImage )
                modify_contents_of_copied_frame (
                         ins_Mat_contain_one_frame_of_OutputVideo
                       , number_of_readed_frame
                       , para_ins_Mat_contain_PhotoImage
                       , width_of_PhotoImage
                       , height_of_PhotoImage
                                      ) ;
                System.out.println ( "passed : modify_contents_of_copied_frame" ) ;

                           //write the frame modified into OutputVideo file
                ins_VideoWriter_OutputVideo
                        .write ( ins_Mat_contain_one_frame_of_OutputVideo ) ;
                System.out.println ( "passed : ins_VideoWriter_OutputVideo.write" ) ;

                           //read next frame of Inputvideo
                read_status = 'N' ;
                if (ins_VideoCapture_InputVideo
                           .read ( ins_Mat_contain_one_frame_of_InputVideo )
                   ) {
                  read_status = 'Y' ;
                 }
                if ( read_status == 'N') {
                  System.out.println ( "have reached to end of InputVideo file" ) ;
                  reached_to_end_of_InputVideo = 'Y' ;
                  }
                else {
                   number_of_readed_frame ++ ;
                 }
               }

                        //release VideoWriter and VideoCapture
              ins_VideoWriter_OutputVideo.release ( ) ;
              ins_VideoCapture_InputVideo.release ( ) ;

              System.out.println ( "terminated" ) ;

              return ' ' ;
             }

        //-------------------------
        //modify contents of copied frame
        //-------------------------
          private static void modify_contents_of_copied_frame (
                         Mat para_ins_Mat_contain_one_frame_copied
                       , long para_number_of_readed_frame
                       , Mat para_ins_Mat_contain_PhotoImage
                       , int para_width_of_ins_Mat_contain_PhotoImage
                       , int para_height_of_ins_Mat_contain_PhotoImage
                                      ) {

            String this_methode_name = " modify_contents_of_copied_frame" ;

            System.out.println ( "    Class = " + mv_this_Class_name +
                        " : methode = " + this_methode_name ) ;
            System.out.println ( "    width and hieght of Mat_contain_PhotoImage = "
                       + para_width_of_ins_Mat_contain_PhotoImage
               + " , " + para_height_of_ins_Mat_contain_PhotoImage
                                ) ;

            int put_location_X = 0 ;
            int put_location_Y = 0 ;
            int w1 = 0 ;
            double [ ] color_value_of_one_pixel ;

            for ( int get_location_X = 0
                     ; get_location_X < para_width_of_ins_Mat_contain_PhotoImage
                     ; get_location_X ++ ) {
              for ( int get_location_Y = 0
                       ; get_location_Y < para_height_of_ins_Mat_contain_PhotoImage
                       ; get_location_Y ++ ) {

                       //get the color value of one pixel in Photo Image
                color_value_of_one_pixel
                    = para_ins_Mat_contain_PhotoImage
                         .get ( get_location_Y, get_location_X ) ;
                            //detect the color
                if ( ( color_value_of_one_pixel [ 0 ] < color_value_of_one_pixel [ 2 ] )
                     &&
                     ( color_value_of_one_pixel [ 1 ] < color_value_of_one_pixel [ 2 ] )
                   ) {
                           //modify the color value of one pixel in frame of video
                  w1 = ( int ) para_number_of_readed_frame % 100 ;
                  put_location_X = 30 + ( w1 * 2 ) + get_location_X ;
                  put_location_Y = 500 - w1 + get_location_Y ;
                  para_ins_Mat_contain_one_frame_copied
                             .put (
                        put_location_Y , put_location_X
                      , color_value_of_one_pixel
                              ) ;
                 }
               }
             }
           }

    }
------------------------------------------------

太平記 現代語訳 16-20 楠夫人、楠正行を諭す

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

湊川(みなとがわ:兵庫県・神戸市・中央区)で討死にした楠正成(くすのきまさしげ)の首は、京都の六条河原(ろくじょうがわら)にさらされた。

街の声A 楠はんの首、六条河原にさらされてるて、あれ、ほんまですかいなぁ?

街の声B さぁ、どうでっしゃろなぁ・・・去年の春にも、「これ楠の首やぞ!」言うてさらしてたけど、実は別人のもんやった、なんちゅうこともありましたやろぉ。

街の声C そやそや、そないな事もありましたわなぁ。

街の声D 今度もまた、ニセ首とちゃいますかぁ?

街の声E わたい、今朝、問題の首、見てきましたんやけどな、その側に立て札が立っててな、おもろい事、書いてましたでぇ。

街の声A どないな事、書いたりましたんや?

街の声E 歌が一首。こないな歌でしたわ、

 疑(うたがい)は 人によりてぞ 残りける マサシゲなるは 楠が頸(原文のまま)(注1)

--------
(訳者注1)「正(まさ)しげ=本物らしい」と「正成(まさしげ)」をかけてある。
--------

その後、足利尊氏(あしかがたかうじ)は、楠正成の首を、自分の元へ取り寄せた。

足利尊氏 (楠正成の首をしげしげと見つめながら)・・・正成殿・・・。

足利尊氏 あなたとは、公私にわたって、おつきあい頂いてたのに・・・。

足利尊氏 ・・・こんな事になってしまってなぁ・・・。

足利尊氏 ・・・後に残された妻子も、あなたの顔をもう一目だけ、と思ってるだろうなぁ・・・。

尊氏は、正成の首を、彼の故郷へ送り届けさせた。まことに、情けある処置であった。

--------

正成に対面した、楠夫人と長子・正行(まさつら)は、

楠夫人 あなた・・・。

楠正行 父上!

楠夫人 (涙)あの日あなたは、兵庫へお発ちになる時に、わたしに色々な事を、言い置いていかはりましたなぁ・・・。(涙)

楠正行 (涙)兵庫へ向かう途中、「今度の合戦では、わしは必ず討死にするんや」言うて、父上はボクを、桜井からここへ帰らせはりました・・・。(涙)

楠夫人 それ以来、もう二度とあなたにはお会いでけへんもんと、覚悟かためとりましたけど・・・こないな変りはてた姿にならはってからに・・・目も塞がり、色も変わってしまわはった・・・ううう・・・ううう・・・うううう・・・(涙、涙)

今年11歳になった正行は、変わり果てた父の首、嘆き悲しむ母の姿を見ているうちに、たまらなくなってきて、流れる涙を袖で押さえ、楠家の持仏堂(じぶつどう)の方へ向かった。

楠夫人 (内心)・・・あの子はいったい、どないしたんや・・・まさか・・・正行!

楠夫人は、正行の後を追って持仏堂へ走り、横の戸から中へ入った。

見ると、正行は、兵庫へ向かう時に父から形見に渡された菊水紋入りの刀を右手に抜き持ち、袴の腰を押し下げて、今まさに自らの腹に刀を突き立てんとしているではないか!

楠夫人 いったいナニしてるんや!

彼女は走り寄って、正行の右腕を無我夢中でつかんだ。

楠夫人 (涙)あかん! 死んだらアカン!

楠正行 お母さま、このまま死なせて下さい!

楠夫人 (涙)このドアホォ! あんたはいったい、ナニ考えてんねん! ドアホめが!

楠正行 (涙)うううう・・・。

楠夫人 あんたは、ドアホや! 正真正銘のドアホやぁ!

楠正行 (涙)・・・。

楠夫人 「栴檀(せんだん)は双葉(ふたば)より芳(こうば)し(注2)」と言うやないか! あんたはたしかに、まだ少年や、そやけどな、あんたはいったい、誰の子やねん! 天下の楠正成の子やないかい! 正成の子が、これしきの事でナニを血迷ぉとんねん! えぇかげんにしぃや!

楠正行 ・・・。

楠夫人 子供ながらも、よぉよぉ考えてみぃ! お父はんが兵庫へ向かわはる途中に、桜井宿(さくらいじゅく)から、あんたをここへ帰らせはったん、あれはいったい、なんの為やったんやぁ?

楠正行 ・・・。

楠夫人 息子に、自分の菩提を弔(とむら)わせるためでもない、息子に、腹を切らせるためでもない。「たとえ、正成は命運尽きて戦場に命を失うとも、天皇陛下がどこかにおわすと聞いたならば、生き残りの楠一族と若党らのめんどう見ながら、再度、戦を起して朝敵を滅ぼし、政権を陛下のもとに奪回せぇ」と、お父はんは、あんたに言い残さはった、そうやったんやろぉ!

楠正行 ・・・。

楠夫人 「お父はんのご遺言は、確かにこうこう、こうでした」と、あの日、あんたは私にはっきり言うたでぇ! そやのに、いったいいつの間に、あんたはその遺言を忘れてしもぉたんや!

楠正行 ・・・。

楠夫人 あぁ、なんちゅうナサケナイ子なんや、あんたはぁ・・・こないな事では、あんたは、そのうちきっと、お父様の名前を汚す事にもなるやろなぁ・・・陛下に対しても、何の御用にもたてへんやろうなぁ・・・。(涙、涙)

楠正行 お母はん・・・うううう・・・(涙、涙)。

楠夫人 うううう・・・(涙、涙)。

母に刀を奪い取られた正行は、腹を切れなくなり、礼盤(らいばん:注3)の上から倒れ伏し、母と共に涙を流して嘆き悲しんだ。

--------
(訳者注2)栴檀は香木で、双葉が生え出る時から早くも芳香を発しはじめる。それより転じて、「才能ある人は幼年時からすでに、他人と違う様を現す」の意味のことわざになった。

(訳者注3)本尊の前に設置された壇。この上に乗って礼拝をする。
--------

これより後、正行は、父の遺言、母の教訓、心に染め肝(きも)に銘(めい)じる毎日となった。

ある時は、近隣の児童らを打ち倒してその首を取る真似をしつつ叫ぶ、

楠正行 楠正行、ただ今、朝敵の首を取りましたぁ!

ある時は、竹馬(たけうま:注4)にまたがり、馬に鞭を当てる動作をしながら、

楠正行 楠正行はただ今、足利将軍を追撃中でありまぁす!

--------
(訳者注4)現代の二本の竹で作る「竹馬」ではなくて、車がついていて引っ張るようになっている遊具。
--------

このように、たわいのない遊びをする時までも、父の遺言に従おうとの一心一念。

楠正行はこの先、どのような人間になっていくのであろうか。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-19 日本の朝敵について

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

そもそも、わが日本国の開闢(かいびゃく)の始めを尋(たず)ねるに:

混沌の中より、天と地とが二つに分かれ、さらにそこに人類が発生してより2万年経過、イザナキ・イザナミの二柱のミコト、妻神(めかみ)夫神(おかみ)となって、天下(あめのした)にあまくだり、一女三男を産みたもうた。

一女と申すは、天照太神(あまてらすおおみかみ)、三男と申すは、月神(つきのかみ)、蛭子(ひるこ)、スサノオノミコトである。

第一の御子・天照太神は、わが国の主となって、伊勢国(いせこく)五十鈴川(いすずがわ)のほとり、神瀬下津岩根(かみがせしもついわね)に、姿を現じ給うた。

ある時は、衆生救済の為に、仏に姿を変じてこの世に現われ、ある時は本体の神に帰りて、日本国中すみずみの民に利益(りやく)を与え給う。まさに、化身しては至高の極みに昇って真理を示し、本体に帰りては世俗の混濁に身を混じえて衆生を済度す。

さてここに、第六天の天魔らが、集まって会議。

第六天魔王 この「日の本」なる国土に、もし仏法、広く宣布せられば、その結果は如何(いかん)?

天魔A 大いに問題あり。我らの天魔波動力、著しく減衰し、我らは、力を失うでありましょう。

第六天魔王 さらば、いかなる手だてを用いて、仏法宣布を阻止せんか?

天魔B かの女神の、応化利生(おうけりしょう)の活動を阻止すべきかと。

第六天魔王 はてさて、「かの女神」とは?

天魔B アマテラス・オオミカミ。

第六天魔王 ウーン! その策、極めて良きかな!

天魔一同 同感、同感!

天照太神 !!!

その状況を感知した天照太神は、大宇宙空間中の天魔会議フィールド(場)に接近して、いわく、

天照太神 そなたら天魔一同、我に対して、よからぬ事をタクラミおるか・・・我、そなたらを決して恐れるにはあらず、しかれど、今後日夜にわたりて、そなたらの陰湿かつ執拗なる妨害活動を受けるとなりては、それもまた、うっとおし。ゆえに、我、そなたらに対して、若干の譲歩の用意あり。

天魔A その「譲歩」とやら、内容は如何(いかん)?

天照太神 我、そなたらに誓約す、「今後、我は、「仏・法・僧(ぶっ・ぽう・そう)」すなわち、仏教で説くところの「三宝(さんぼう)」に、あえて接近すること無し。」。わが譲歩の内容、かくのごとし・・・さてさて、そなたらの考えは?

第六天魔王 さほどまでの大幅なる譲歩、我らの期待を上回るものなり。その言葉を聞きては、我ら第六天魔衆も、怒りの剣を鞘に納めるべし。女神殿のその誓約、よもや、嘘偽り無かろうな?

天照太神 第六天魔王ともあろう者が、何というたわけ事を申すか! 神には、二枚舌無し!

第六天魔王 よし、しからば、我もまた、誓約書を記すべし、しばし待たれよ、女神殿、

第六天魔王 ウェーーーーーゥィ!

やがて、第六天魔王の全身から、血がにじみ出てきた。

第六天魔王 我、下記のごとく誓言す!

 「未来永劫(みらいえいごう)に渡りて、天照太神の子孫をもって、この「日の本」の主となすべし。その主の命に違(たが)う者ありて、国を乱(みだ)り、民を苦しめれば、10万8000のわが眷族(けんぞく)、朝(あした)に駆けり、夕(ゆうべ)に来たりて、その罰を行い、その命を奪うべし!」

第六天魔王の体からにじみ出た血は、自動的に集まって文字の形となり、あっという間にこの誓約書が出来上がり、天魔王から天照太神に提出された。

三種の神器のうちの一つ、「ヤサカノマガタマ」は、このようにして出来た、との一説あり。

まさに、天照太神のその誓言のごとく、伊勢神社の内宮(ないくう)・外宮(げくう)においては、他の神社とは事替わり、錦のとばりに神の本体を象徴する鏡を懸けることもなく、念仏読経の声も聞こえず、僧侶尼僧の参拝も許されない。天照太神が発せられた誓約を違えないようにしながら人々に縁を繋ぐことにより、結局は仏縁もつけてしまう、という方便であるといえよう。

天照太神よりこのかた、子々孫々に天皇位を伝えて96代、この間に、朝敵となって滅びた者も数多い。

神武天皇(じんむてんのう)の御代(みよ:注1)、紀伊国(きいこく:和歌山県)名草郡(なくさごおり)に、身の丈2丈余りの巨大蜘蛛、現わる。手足長大、膂力(りょりょく)絶倫、網を張ること数里におよび、往来の人々を殺害す。しかして、勅命を受けて出動の朝廷軍、鋼鉄の網を張り、熱湯を四方より浴びせ、この蜘蛛ついに殺されて、その身、分々に爛れた。

また、天智天皇(てんじてんのう)の御宇(ぎょう:注1)、藤原千方(ふじわらのちかた)という者あり。彼は、金鬼(きんき)、風鬼(ふうき)、水鬼(すいき)、隠形鬼(おんぎょうき)という4匹の鬼を使っていた。金鬼は、その身体、堅固にして、矢を射るも立たず。風鬼は、大風を吹かせて、敵城を吹き破る。水鬼は、洪水を流して、敵を陸地に溺(でき)す。隠形鬼は、その形を隠して、にわかに敵を取りひしぐ。かくのごとくの神通力、凡夫(ぼんぷ)の智力をもって防ぐこと能(あた)わずして、伊賀(いが:三重県西部)、伊勢(いせ:三重県中部)の両国、これが為に制圧せられて、朝廷の命に服する者なし。

--------
(訳者注1)「御代」も「御宇」も「XX天皇の治世下に」という意味。
--------

ここに、紀朝雄(きのともお)と言う者ありて、天皇の命を承ってかの地方に赴き、一首の和歌を詠じて、鬼のもとへ送った。

 草も木も 天皇陛下の もんなんや 鬼の棲むとこ どこにもないで

 (原文)草も木も 我(わが)大君(おおきみ:注2)の国なれば いずくか鬼の 棲(すみか)なるべき

--------
(訳者注2)天皇のこと。
--------

これを見た四匹の鬼は、

金鬼 これは不覚なり!

風鬼 さては我ら、悪逆無道(あくぎゃくぶどう)の臣に従いおりしか・・・。

水鬼 善政有徳(ぜんせいうとく)の君を、背(そむ)き奉りけるかな!

隠形鬼 天罰遁(のが)るる所、無かりけり。

鬼たちは、たちまち四散消失し、力を失った千方は、やがて朝雄に討たれた。

これのみならず、朱雀院(すざくいん)の御宇・承平(しょうへい)5年、平将門(たいらのまさかど)なる者が、関東にて乱を起し、相馬郡(そうまごおり)に都を立て、朝廷百官を任命して、自らを平親王(へいしんのう)と号した。

朝廷軍こぞって、これを討たんとしたが、彼の全身は鉄身にして、矢石にも傷(やぶ)られず、剣戟(けんげき)にも痛まない。そこで、諸卿、会議を催して対策を講じ、鋼鉄の四天王像を鋳造(ちゅうぞう)し、比叡山に安置、四天合行法(してんごうぎょうぼう)を延暦寺に修めさせた。

この行の効果はてきめん、天より白羽の矢一筋が降(ふ)って、平将門の眉間に立った。将門はついに、俵藤太秀郷(たわらとうだひでさと)に、首を取られた。

将門の首は、獄門に懸けて曝(さら)されたが、三か月経過の後も、色は変ぜず、眼も塞(ふさ)がらず、常に牙(きば)を噛みて、夜な夜な、叫ぶ、

将門の首 斬られし我が五体、何れの場所に有るや? 我が五体、ここに来たれ! この首と合体して、もう一戦やらかすべーし!

これを聞いて、諸人、恐怖に身を震わせる。

時に、道を過ぎる人、この将門の叫びを聞いて、一首、

 将門(まさかど)は 米(コメ)カミよりぞ 斬られける 俵藤太(たわらとうた)が 謀(はかりごと)にて(原文のまま:注3)

--------
(訳者注3)「米(こめ)」と「俵」をかけている。
--------

これを聞いて、首はカラカラと大いに笑い、眼はたちまちに塞がり、その屍(かばね)はついに、枯れた。

この他、大石山丸(おおいしのやままる)、大山皇子(おおやまのおうじ)、大友真鳥(おおとものまとり)、物部守屋(もののべのもりや)、曽我入鹿(そがのいるか)、豊浦大臣(とようらのだいじん)、曽我石川麻呂(そがのいしかわまろ)、長屋王(ながやおう)、藤原豊成(ふじわらのとよなり)、伊予親王(いよしんのう)、氷上川継(ひかみのかわつぎ)、橘逸勢(たちばなのはやなり)、文室宮田麻呂(ぶんやのみやたまろ)、藤原仲麻呂(ふじわらのなかまろ)、井上皇后(いがみこうごう)、早良親王(さわらしんのう)、大友皇子(おおとものおうじ)、藤原仲成(ふじわらのなかなり)、藤原純友(ふじわらのすみとも)、源義親(みなもとのよしちか)、藤原頼長(ふじわらのよりなが)、源為義(みなもとのためよし)、藤原信頼(ふじわらののぶより)、安倍貞任(あべのさだとう)、安倍宗任(あべのむねとう)、清原武衡(きよはらのたけひら)、平清盛(たいらのきよもり)、源義仲(みなもとのよしなか)、浅原為頼(あさはらためより)、北条時政(ほうじょうときまさ)の9代目後胤・高時(たかとき)。

世間の声A いやぁ、こないして数え挙げてみると、朝敵となって天皇陛下を悩まし、仁義を乱しはったお人も、日本の歴史上に、けっこうおいやしたんどすなぁ。

世間の声B ほんになぁ・・・で、そのお人らは、一人残らず、刑戮(けいりく)の下に身を苦しめ、屍を獄門の前にさらす結果となり、と、いうことですやん。

世間の声C とにもかくにも、天皇陛下にたてついちゃぁ、いい事ねぇんだよぉ。

世間の声D だよねぇ。足利様、今年の春に、関東8か国の大軍率いて京都に攻め上ってきたけど、その時は、天皇陛下にたてつく朝敵・足利って、ことだったわよね。だから、戦っても戦っても、ボロ負けしちゃったんだぁ。

世間の声E ほいでもって、はるばる、九州まで逃避行っちゅうことに、なってしまわはりましたわなぁ。

世間の声F 彼はね、その失敗から学んだのだよ、我が国における、権力闘争の成功パタ-ンを。

世間の声D だからぁ、今度は、皇室の一方の系統をお立て申し上げて、「院宣をいただく」という形でもって、軍を起したんだよねぇ。

世間の声A 大いなる威勢の上に、さらに大義名分まで備わって、たちまち大成功っちゅうことどすなぁ。

世間の声々 なぁるほどねぇ。

--------

このようにして、東寺(とうじ)が、院の御所となった。四方の壁を強化して城砦化し、光厳上皇を警護する形で、足利尊氏も直義も共に、その中にたてこもった。

足利尊氏 なぁ、直義、この寺、防衛戦略上の観点から考えて見ると、けっこう城砦としても使えるじゃないか。

足利直義 そうですね。延暦寺から敵軍が攻め寄せてきても、小路毎に防衛陣を敷いて、縦横に戦線を展開できますよ!

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-18 光厳上皇、東寺へ

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

「持明院統(じみょういんとう)の皇族方も、延暦寺(えんりゃくじ:滋賀県・大津市)へご避難あそばされるべし」ということで、太田全職(おおたたけもと)がおともして、花園上皇(はなぞのじょうこう)、光厳上皇(こうごんじょうこう)、豊仁親王(とよひとしんのう)も、坂本へ向けて発たれた。

しかし、光厳上皇は先に、足利尊氏(あしかがたかうじ)に対して院宣を送っていたので(注1)、輿が北白川(きたしらかわ:京都市・左京区)あたりにさしかかった時に、

--------
(訳者注1)16-7に、尊氏が院宣を受け取るシーンがある。
--------

光厳上皇 (内心)今回のこの騒動、自分にとってはまたとないチャンス・・・天皇に復位できるかも・・・。

光厳上皇 あんなぁ、急に気分が悪ぅなってきてしもぉた。法勝寺(ほうしょうじ:左京区)まで、輿を戻せ。

上皇は、法勝寺の塔の前まで輿を引き返させ、そこで時間をかせいだ。

そうこうするうち、足利軍が京都に乱入してきたと見えて、四方から兵火が上がりはじめた。北白川で光厳上皇をジリジリと待っていた太田全職は、焦りだして、

太田全職 新院陛下のお帰りを、いつまでもお待ちしてるわけにはいかん! 本院陛下(注2)、親王殿下だけ、先に、坂本へお遷し申し上げよ!

ということで、皇族御二人だけが坂本へ向かうことになった。

--------
(訳者注2)「本院」が花園上皇、「新院」が光厳上皇である。
--------

一方、法勝寺に留まった光厳上皇は、

光厳上皇 このまま、ここにじっとしててもなぁ・・・太田がここに戻ってきたら、エライ事になってしまうし・・・どないしょう?

日野資名(ひのすけな) とにかく、どこか他のとこへ、逃げ込む事にしましょう。どこがえぇやろかなぁ?

三条実継(さんじょうさねつぐ) 東寺(とうじ:南区)は、どないですやろ?

日野資名 よし、そこにしょう。さ、陛下、わたいらが、お供しますから。

かくして、光厳上皇は、日野資名と三条実継に伴なわれて、東寺へ逃げ込んだ。

これを聞いた足利尊氏は、

足利尊氏 ナニ! 新院陛下が東寺に?!

足利尊氏 (内心)やったぞ!

足利尊氏 みんな、よく聞け! たった今から、東寺が皇居だぞ! わが国の主、新院陛下は、東寺におわすのだ!

足利軍メンバー一同 エーッ!

足利尊氏 それぇ! 東寺へ急げぇ!

足利軍メンバー一同 ウォーイ!

久我(くが)はじめ、後醍醐天皇について行かなかった公家たちも、やがて東寺に参集してきた。

足利尊氏 本日をもって、わが日本国に、新しい政権が誕生した! 諸君、今日から、新しい日本がスタートするのだぁ!

足利軍メンバー一同 バンザーイ! バンザーイ! バンザーイ!

まさに、この光厳上皇の東寺への退避行は、足利尊氏の運が今後大きく開けていく瑞兆であったといえよう。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-17 御醍醐天皇、延暦寺へ避難

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

朝廷軍の総大将・新田義貞(にったよしさだ)が、たったの6,000余騎にまで兵力を減じて、逃げ帰ってきたとあって、京都中残らず、上を下への大パニック状態である。

「かりに朝廷軍敗退となった場合、陛下におかれましては、前のように、坂本(さかもと:滋賀県・大津市)へ御動座(どうざ)いただいて・・・」との、予てからの計画通りに、5月19日、三種神器(さんしゅのじんき)を先頭に、後醍醐天皇(ごだいごてんのう)は、都を後にした。

あぁ、なんということであろうか、元弘(げんこう)年間の初(はじめ)(注1)、鎌倉幕府からの政権奪回にみごと成功を収めしより未だ3年を過ぎずして、このような事態となってしまい、日本国は再び戦乱の渦中に突入してしまった。

--------
(訳者注1)原文に、「元弘の初に公家天下を一統せられて」とあるので、このように訳したが、正しくは、「元弘の終に公家天下を一統せられて」と記述されるべきだろう。

[元弘]から[建武]に改元されたのは、元弘4年であり、鎌倉幕府が倒れたのは、元弘3年であるから。
--------

朝廷の臣A こないだの正月の合戦においては、朝敵・足利はたちまちに敗退、九州近海の波間に漂う事になった。まさに、天皇陛下の聖なる徳の力、みごとに顕現っちゅうような、カンジやったのになぁ・・・。

朝廷の臣B もうこないなったら、お上(かみ)の尊厳を犯し、反乱を起こそうなんちゅうヤツは、一人もいいひんやろうと、思ぉとったんやけど・・・。

朝廷の臣C ところが、ところが、西方から侵略軍たちまち襲来、1年の中に2度までも、天皇陛下が玉座を動座(どうざ)されるとは・・・。

朝廷の臣D もはや、太陽も月も昼夜を照らす事なく、君臣も上下をわきまえんような、ムチャクチャな世の中に、なってしまいましたわぁ。

朝廷の臣E もうこの世も終わりでんなぁ・・・仏法(ぶっぽう)、王法(おうぼう)、共に滅びる時が、ついに来たんでっしゃろ。

朝廷の臣F そやけど、今年の春も、陛下は延暦寺を頼って坂本へご動座なさいまして、それから間もなく、朝敵を撃退する事ができましたやん、今度もきっと、うまいこと行きますよ。

このような、何の根拠もない希望的観測により、今回の動座には、公家からも武家からも多数の者が、天皇に随行することを決意した。

摂政(せっしょう)はもちろんのこと、上級貴族たち、すなわち:

内大臣(ないだいじん)・吉田定房(よしださだふさ)、大納言(だいなごん)・万里小路宣房(までのこうじのぶふさ)、同・西園寺公重(さいおんじきんしげ)、同・御子左為定(みこひだりためさだ)、中納言・四条隆資(しじょうたかすけ)、同・坊城経顕(ぼうじょうつねあき)、左衛門監(さえもんのかみ)・洞院実世(とういんさねよ)、参議(さんぎ)・千種忠顕(ちぐさただあき)、中納言・葉室長光(はむろながみつ)、参議・中御門宣明(なかみかどのぶあきら)。

中級貴族の人々は、と言えば:

左中将(さちゅうじょう)・中院定平(なかのいんのさだひら)、左大弁(さだいべん)・坊門清忠(ぼうもんきよただ)、中将・四条隆光(しじょうたかみつ)、同・園基隆(そののもとたか)、左大弁・甘露寺藤長(かんろじふじなが)、右中弁(うちゅうべん)・岡崎範国(おかざきのりくに)、頭大夫(とうのたいふ)・一条行房(いちじょうゆきふさ)。

この他、衛府(えふ)、諸官庁、書記、記録係、6位以下の官僚、院守護担当、官位を持つ、あるいは持たない御所警備人、諸家の侍、朝廷づきの僧侶、女官、医師、陰陽師(おんみょうじ)に至るまで、我も我もと、動座に参加した。

一方、天皇に供奉する武士のメンバーは、といえば:

新田義貞をはじめ、その子息・義顕(よしあき)、脇屋義助(わきやよしすけ)、その子息・義治(よしはる)、堀口貞満(ほりぐちさだみつ)、大館氏明(おおたちうじあきら)、江田行義(えだゆきよし)、額田正忠(ぬかだまさただ)、大江田氏経(おおえだうじつね)、岩松義正(いわまつよしまさ)、鳥山氏頼(とりやまうじより)、羽川時房(はねかわときふさ)、桃井顕氏(もものいあきうじ)、里見義益(さとみよします)、田中氏政(たなかうじまさ)、千葉貞胤(ちばさだたね)、宇都宮公綱(うつのみやきんつな)、宇都宮泰藤(うつのみややすふじ)、狩野貞綱(かののさだつな)、熱田大宮司昌能(あつたのだいぐうじまさよし)、河野通治(こうのみちはる)、得能通益(とくのうみちます)、武田盛正(たけだもりまさ)、小笠原政道(おがさわらまさみち)、仁科氏重(にしなうじしげ)、春日部時賢(かすかべときかた)、名和長年(なわながとし)、名和長生(なわながたか)、今木範家(いまきのりいえ)、頓宮忠氏(とんぐうただうじ)。

これらの主要メンバーの他、合計6万余騎が、天皇の輿の前後に連なって、今道越(いまみちごえ)ルート経由で、坂本へ向かった。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-16 小山田高家、青麦を刈る

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

新田(にった)軍の中には、義の道を知り、命を軽んずる者多しといえども、大将・義貞の危急に及んで、自分の命を投げ出そうとする者はいなかった、そんな中に、小山田高家(おやまだたかいえ)だけが、遥かに隔たった地点から単身、馬に乗って引き返し、新田義貞(にったよしさだ)をその馬に乗せ、義貞の退路を守って討死にしたのである。

高家のその志、よって来る所を鑑(かんが)みるに、まさに、「わずかの情けによって、百年の身を捨てた」というべきであろうか。

中国地方征圧の勅命を受けて、新田義貞が播磨に軍を進めた時、兵力は多かったが、食料は不足していた。

このような状態の下、厳しい軍法を定めなければ、みな掠奪行為に走るであろうから、ということで、道の辻ごとに、以下のような高札が立てられた。

朝廷軍令:「村々の田からの穀物の収奪行為、あるいは、在家の家に押し入っての掠奪行為、たった一粒の収奪であろうとも、たった一軒の掠奪であろうとも、それを行った者は、ソク死刑に処する!」

これを見て、在地の農民は安堵して耕作を続け、商人は快く売買を続行していた。ところが、この小山田高家、敵陣の近隣に行き、部下たちに青麦を全て刈り取らせ、鞍に積んで持ち帰ってしまったのである。

新田軍の軍規取締担当・長浜六郎左衛門(ながはまろくろうざえもん)は、この報告を聞き、直ちに高家を召喚、軍法にもとづいて、泣く泣く彼を処刑せんとした。ところがこれを聞いた義貞はいわく、

新田義貞 な、な、ちょっと待てよぉ。

長浜六郎左衛門 ・・・。

新田義貞 ほんの軽ぅーいノリでもって、青麦と自分の命を引き換えようなんてするヤツ、いるかなぁ? うーん・・・どうも察するに、彼には彼なりの、何かよっぽど深いワケがあったんじゃぁねぇのぉ? 「あそこは敵陣エリアなんだから、麦刈ったっていいじゃねぇか!」てなフウに、考え違いしたのかも・・・あるいは、食料確保に万策尽きて、軍法の重さを忘れたか・・・おそらく、このどっちかだろうな。

長浜六郎左衛門 ・・・。

新田義貞 とにかく、処刑するのはちょっと待ってさぁ、小山田の陣中を、ちょっくら調査してみてよ。

長浜六郎左衛門 はい!

さっそく使者が、高家の陣中に赴き、調べてみたところ、馬や武具はきちんとそろっているのだが、食物の類は一粒も無い。

帰ってきた使者の報告に、義貞は大いに恥じ入った風で、

新田義貞 いやいやぁ・・・アイツは、戦の為に軍法を忘れちまって、それで、あんな事しでかしちまったんだよなぁ。

長浜六郎左衛門 どうやら、そのようですねぇ。

新田義貞 とにかく、士卒の方から先にまいっちまってるなんてぇ事じゃぁ、大将の側に重大な落ち度があるってことだわさ、大将の恥だわさ。こんな事の為に、あたら勇士を死なせる事なんか、とてもできやしねぇ・・・かといって、軍法を乱すのもいかんしなぁ・・・。

そこで、義貞は、青麦を刈り取られた地主には小袖2着を与え、小山田高家には食料10石を与え、ねぎらいの言葉を与えて、自陣に帰らせた。この義貞の情けに、高家は深く感じ入り、忠義の心をますます強くしたのであった。

このような事があったからこそ、高家は、自らの命を義貞の命に替えて、我が身をなげうって討死にしたのである。

昔より今に至るまで、武士たるべきは、利に流されず、威をも恐れず、ただひたすら大将に忠義を尽し、彼の為には身命を捨てていくべし。昨今の武将たちもいま少し、この小山田高家の行為を深く思惟し、自らの生きザマを振り返ってみるが良かろう。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-15 新田軍、生田森で、足利軍を迎撃

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

楠正成(くすのきまさしげ)は、既に討たれ、あとは、新田義貞(にったよしさだ)のみ・・・足利尊氏(あしかがたかうじ)、直義(ただよし)双方が率いる軍は一つに合して、新田軍に襲いかかっていった。

新田義貞 西宮(にしのみや:兵庫県・西宮市)方面から上陸してきた敵は、旗の紋から察するに、下っ端の連中らばかりだ。湊川(みなとがわ:兵庫県・神戸市・中央区)方面から進んでくる軍勢こそ、足利兄弟の率いる本体に違いない。我々の戦うべき相手は、そっちの方だ!

新田軍は西宮から取って返し、生田森(いくたのもり:神戸市中央区・生田神社の辺り)を背後にして、4万余騎の軍勢を3手に分けて、足利軍に対峙した。

両軍、勇みたってトキの声を上げ、いよいよ戦いが始まった。

まず一番手として、大館氏明(おおたちうじあきら)と江田行義(えだゆきよし)率いる新田側3,000余騎が、仁木(にっき)と細川(ほそかわ)率いる足利側6万余騎を迎え撃ち、双方火花を散らして戦いあう。

互いに戦死者を出して、両方へサァッと退いた後、今度は二番手の、中院定平(なかのいんさだひら)、大江田(おおえだ)、里見(さとみ)、鳥山(とりやま)の新田側5,000余騎と、高(こう)と上杉(うえすぎ)の足利側8万騎とが激突、両軍は1時間ほど、黒煙を上げてもみあった。

二番手も戦い疲れて両方へサァッと退いた次には、新田側三番手の、脇屋義助(わきやよしすけ)、宇都宮公綱(うつのみやきんつな)、菊池次郎(きくちじろう)、河野(こうの)、土居(どい)、得能(とくのう)の1万騎が、足利直義、吉良(きら)、石塔(いしどう)の10万余騎を迎撃、天を響かせ地を揺るがして、攻め戦う。

こなたにおいては、引き組んで落ち重なり、首を取ったり取られたり、彼方(あなた)においては、互いに正面から激突して太刀を打ち合い、共に馬から落ちる・・・その凄まじさは、二頭の虎の戦いに喩えるべきか、はたまた、二匹の龍の対決とでも言うべきか。

戦死者続出の後、双方東西へ引き分かれ、しばし、人馬の息を休める。

新田義貞 戦線に繰り出せる兵力は、もう残らず出しちまったわさ。こうなったらいよいよ、オレが出ていくしかねぇよなぁ!

義貞は、23,000騎を左右に展開し、足利軍30万騎に立ち向かっていく。自らの命を軽い羽根のごとくなげうち、大敵に立ち向かって刃を交える義貞。

かたや朝廷軍の総大将、かたや武士たちの総帥、義貞と尊氏が自ら戦闘指揮を取る、激しい戦いが始まった。

敵の矢に射落とされても、体に刺さった矢を抜くひまも無く、相手に組み伏せられてしまっても、それを助けに駆け寄ってきてくれる味方もいない。子は親を棄てて切り合い、郎等は主から離れて戦う。馬の馳せ違う音、太刀の撃ち合う音、いかなる修羅世界(しゅらせかい:注1)の闘諍(とうじょう:注2)たりとも、これに比べればまだナマやさしいものであろう。

--------
(訳者注1)16-14の注に述べた「九界」の中の「修羅」の世界。その世界においては日常的に、闘諍が行われているという。

(訳者注2)闘:闘争、諍:いさかい。
--------

先に戦闘を行って引き退いていた双方の軍団も、「ここが勝敗の分かれ目!」とばかりに、この戦いの渦中に再び参入、新田と足利双方の軍は入り乱れ相交じり、中黒(なかぐろ)の旗、二引両(ふたつびきりょう)の旗、巴(ともえ)の旗、輪違(わちがえ)の旗、東へ靡き西へ靡き、磯からの風にはためき、山からの風に翻(ひるがえ)る。

住民A 双方の旗、グジャグジャに入り乱れてしもとぉ。

住民B あれでは、戦しとる連中、自分の味方がどこにおんのんか、さっぱりワケ分からんようになってしもとぉやろなぁ。

住民C 新田と足利の権力闘争、いよいよオオヅメに来たんやわ。

--------

命をなげうって戦う新田軍メンバーたち・・・しかし、兵力面での劣勢をはねかえす事は、遂にできなかった。激戦の末に残ったのは、わずか5000余騎。

やがて彼らは、生田の森の東方から丹波(たんば)方面を目指して、敗走しはじめた。足利軍数万が、勝ちに乗じてこれを急追する。

義貞は、自軍メンバーを逃がすために、軍の最後尾に下がり、返し合わせ、返し合わせて戦い続けていた。と、そのとき、

義貞の乗馬 ヒヒーン!(バタッ)

新田義貞 あぁ、馬が!

矢を7本も突き立てられ、彼の乗馬はついに、膝を折って倒れてしまったのである。

義貞は、馬から下りて求塚(もとめづか:神戸市・灘区)の上に立ち、乗り換えの馬の到着をじっと待った。しかし、誰もこれに気がつかないのであろうか、駆け寄ってきて自分の馬を義貞に譲ろうとする者は、一人もいない。

足利軍メンバーA おいおい、あそこにつっ立ってんの、敵軍の総大将、新田義貞じゃんかよぉ!

足利軍メンバーB まさかぁ。

足利軍メンバーC いんや、たしかに義貞だ。おいら、あいつの顔、よく知ってるもん!

足利軍メンバーD よぉし、周りからみんなで迫ってって、首取っちまおうぜ!

足利軍メンバーE でも、あいつな、モンノスゲェ強いんだぜぇ。まともに切り合ったんじゃぁ、おいらたちじゃぁ、とてもかないっこねぇよ。

足利軍メンバーF じゃぁ、遠巻きにして、十方から矢で攻めりゃいいじゃん!

足利軍メンバー一同 よぉし!

雨アラレのごとく、義貞に降り注ぐ、矢、矢、矢・・・。

彼は、源氏に代々伝わる薄金(うすかね)なる鎧に身を固め、身に帯した鬼切(おにきり)と鬼丸(おにまる)、すなわち、多田満仲(ただのみつなか:注3)より伝わる源氏重代(げんじじゅうだい)の二本の太刀を左右の手に抜き持ち、仁王立(におうだち)に。

--------
(訳者注3)清和源氏の祖・源経基(みなもとのつねもと)の長男。兵庫県川西市多田に居住。
--------

下の方を狙って放たれた矢を、飛び上がってやり過ごし、上の方に来る矢を、うつむいてよける。真ん中に飛んできた矢を、二本の太刀をふるって16本までも払い落とす。

須弥山(しゅみせん:注4)の四方から四天王が一斉に矢を放つ時、それに仕える捷疾鬼(しょうしつき)が走り回って、大海に落ちない前にその矢を取って返すというが、義貞のその奮戦の姿は、まさにそれを彷彿(ほうふつ)とさせる。

--------
(訳者注4)仏教の世界地図において、中央に聳え立つ山。
--------

はるか彼方の山上からこの有様を見た小山田高家(おやまだたかいえ)は、左右双方のアブミを同時にあおって、義貞のもとへ駆けつけた。

小山田高家 殿、さ、この馬に!

新田義貞 おぉ、よくきてくれたな!

小山田高家は、自らの乗馬に義貞を乗らせ、徒歩で、迫り来る足利軍メンバーの攻撃を防いだが、やがて多数の中に包囲され、ついに討死にしてしまった。

その間に義貞は、自軍の中に駆け入り、虎口を遁れた。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-14 湊川の戦 楠正成と楠正季、自害す

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

楠正成(くすのきまさしげ)は、弟・正季(まさすえ)に言わく、

楠正成 足利軍に前後挟まれた上に、わが軍と新田軍との距離も離れてもたわい。こないなってはもう、逃れようもないわ。まずは、前方の足利直義(あしかがただよし)軍を一散らししてから、後ろの敵に当るとしよかいな。

楠正季 よっしゃ!

楠兄弟は、自軍700余騎を前後に配置し、足利直義率いる大軍中に、突撃を開始。

足利直義 あの向かってくる軍、軍旗の紋はまさに菊水(きくすい)、楠正成だな! いよいよ、戦いがいのある相手が出てきたな。よぉし、楠軍を包囲して、殲滅せよ!

楠正成・正季は、足利直義軍に対し、東から西へ破(わ)って通り、北より南へ追い靡(なび)く。戦う相手として不足無しと思えば、馬を並べ、組んで落としては首を取り、戦いがいのない相手と見れば、一太刀打って駆け散らす。混戦の中に、7度合し、7度分かれる正成と正季。

楠正季 (内心)なんとかして、直義に肉薄して・・・。

楠正成 (内心)組みついて、討ち取ってしもたる!

楠兄弟の一念は、湊川の戦場にメラメラと、炎となって燃え上がる。足利直義率いる50万騎は、楠の700余騎に攻めたてられ、ついに、須磨の上野(うえの:神戸市須磨区)の方へ退きはじめた。

足利直義 うん? いったいどうした、この馬・・・右の足がおかしい! いかん!

直義の乗馬は鏃を踏んでしまい、右足を傷つけてしまった。彼をめがけて殺到してくる楠軍団・・・足利直義の命は風前の灯火。

薬師寺公義(やくしじきみよし) あっ、直義殿が危ない!

公義はただ一騎、蓮池(はすいけ)の堤(神戸市・長田区)の辺から、とって返した。

薬師寺公義 殿、ここは私が、さ、早く!

足利直義 おぅ!

公義は馬から下り、2尺5寸の小長刀(こなぎなた)の刃と柄の端の双方を使い、接近してくる楠軍メンバーの、馬の首を叩いたり胸にかかる紐を切ったりして、立て続けに7、8人ほどを馬から落とした。その間に、直義は馬を乗り換えて戦場から退却し、危機を脱した。

--------

直義の軍が、楠軍に追い立てられて退いていくのを見た尊氏は、

足利尊氏 新手(あらて)の援軍を、あの方面に送り込め! 直義を死なせてはならん!

吉良(きら)、石塔(いしどう)、高(こう)、上杉(うえすぎ)の軍勢6000余騎が、湊川の東方へ進み、楠軍を背後から圧迫し始めた。

楠兄弟は、取って返してこの軍勢に攻めかかり、駆けては打ち違えて殺し、駆入っては組んで落とし、6時間ほどの間に16回の戦闘を繰り返した。

このような長い長い戦いの末、ついに、楠軍は73騎が残るだけになってしまった。

楠正成 みんな討たれてしまいよったか・・・残っとんのは、これだけかいなぁ。

正成の軍略をもってすれば、たったこれだけの兵力であっても、囲みを破ってどこかへ落ちのびる事は可能であったろう。しかし彼は、「自分の人生、もはやこれまで」との覚悟を決して、京都を出てきたのである。

楠正成 なぁ、みんな! 今日という今日はほんまにもう、一歩も退かんとからに、とことん戦い続けたなぁ!

楠軍メンバー一同 ・・・。

楠正成 さすがのわしも、もう疲れたわい・・・そろそろ、腹切ってしもたろ。

彼らは、湊川北方に一群の民家があるのを見付け、一軒の家の中に走り入った。

正成は、鎧を脱ぎ、自分の体をつくづくと見つめていわく、

楠正成 あいつらもうほんまに、わしのこの体、よぉけ切り刻んでくれよったやんけぇ・・・ここに1個所、ここに2個所・・・「楠正成、計11箇所の負傷を負えり」ですわいな。

楠軍メンバーA わいらかてなぁ。

楠軍メンバーB 全員、満身創痍(まんしんそうい)やんけ。

楠軍のメンバー72人は残らず、3箇所ないし5箇所の傷を負っている。

楠軍メンバーA タイショウ、ほなわしら、一足お先に、行かしてもらいまっせぇ! なむあみだぶつ、なむあみだぶつ・・・。

楠一族13人と家臣60余人は、大広間に2列に並び、念仏を10回ほど唱えた後、一斉に腹を切った。

上座に座った正成は、弟の正季に対して、問い掛けた。

楠正成 あんなぁ、人間、死にぎわがいっちばん大事なんやてな。今わの際に、どないな事思ぉとるかによって、死んでからの行く先が決まるんやと。

楠正季 ・・・。

楠正成 おまえの、この世の最後の願い、いったい何や? 九つある世界(注1)のうち、どこへ、、おまえ行きたい?

楠正季 兄キ、わしの最後の願いはなぁ、

楠正成 おう。

楠正季 もうあと7回、この人間界に生を受けて、朝敵・足利を滅ぼしたい!

楠正成 エェーッ! またなんちゅう、罪業(ざいごう)の深い事、考えとるんやぁ。

楠正季 ほなら、兄キはどやねん! 兄キの最後の願いは、どんなんやねん?!

楠正成 わしかぁ?・・・わしはやな・・・もうあと7回、この人間界に生を受けて、朝敵・足利を滅ぼしたい!

楠正季 ・・・。

楠正成 ・・・。

楠正季 ハハハハハ・・・。(涙)

楠正成 ハハハハハ・・・。

楠正季 ・・・。(涙)

楠正成 兄弟そろぉて、また人間に生まれかわってな、この本懐(ほんかい)を遂げようやないかい! さ、正季、そろそろ行こか!

楠正季 兄キぃ!

楠正成 うん!

楠正成と楠正季は、兄弟ともに刺し違え、枕を並べて死んでいった。

--------
(訳者注1)地獄、餓鬼(がき)、畜生、修羅(しゅら)、人間、天上(てんじょう)、声聞(しょうもん)、縁覚(えんがく)、菩薩(ぼさつ)。これに「仏」を加えて十界という。
--------

橋本正員(はしもとまさかず)、宇佐美正安(うさみまさやす)、神宮寺正師(じんぐうじまさもろ)、和田正隆(わだまさたか)をはじめ、主な一族16人、それに従う武士50余人も、運命を共にした。

兄・菊池武重(きくちたけしげ)の使者として、状況視察のためにやってきた菊池武朝(たけとも)も、楠軍メンバー自害の場に出くわし、自分だけおめおめと帰れようかと、同じく自害し、炎の中に身を横たえた。

元弘(げんこう)年間以来、今日に至るまで、後醍醐天皇(ごだいごてんのう)の陣営について忠節を尽し、功を誇った人間は、いったい何千万人いることであろうか。

しかるに、足利尊氏が天皇に反旗を翻すやいなや、仁義を知らぬ者は、朝廷から受けし恩を忘れて足利陣営へ走り、勇気無き者は、死を免れんとして刑戮(けいりく)に会い、智慧持たぬ者は、時勢の変化を察知できずに、道に違う事を行うばかり。

それにひきかえ、智仁勇の三徳を兼ね備え、人間としてまっとうな最期を遂げた楠正成・・・古より今に至るまで、彼ほどの人物は未だかつて、この世には存在しなかった。

楠兄弟の自害こそは、天皇が再び政権を失って逆臣が威を振るう時代の到来を告げる、まさにその前兆であったといえよう。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-13 経島の合戦

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

遠矢を射損ねて、双方の失笑を得てしまった例の武士は、その恥をそそがんと、船1隻に200余人ほど乗り込み、経島(きょうのしま:兵庫県・神戸市・兵庫区)へ漕ぎ寄せ、全員一斉に磯に飛び降りて、新田(にった)軍の中へ突入していった。

これを迎え撃つ脇屋義助(わきやよしすけ)軍の兵500余騎は、相手を包囲し、右方左方にぴったりとつけて、矢を一斉射撃。突入した200余人、意気は盛んなりといえども、射手も少なく徒歩の者ばかり、脇屋軍の騎馬武者の攻撃に悩まされ、一人残らず討ち取られてしまった。

戦い静まった後には、彼らが乗り捨てた船が、岸を打つ波に漂っている。

これを見て、足利サイドの細川定禅(ほそかわじょうぜん)は、四国勢に命令を下した。

細川定禅 後続部隊が攻め込んでいかないから、むざむざとあのように、多くの味方を死なせてしまったじゃないか!

細川定禅 このままじっと、機会を待ってたんじゃ、いつまでたっても、戦は始まらない。とにかく、上陸しやすい所に着岸して、馬を船から下ろして、一気に攻め上れ!

四国勢の大船700余隻が、動き出した。

四国勢リーダー 上陸目標地点、神戸(こうべ)ビーチィ!(注1)

四国勢メンバー一同 よぉし、行くでぇ! ワッセェ、ワッセェ、ワッセェ、ワッセェ・・・。

四国勢の船団は、海岸に沿って東へ東へ、移動していく。

--------
(訳者注1)原文には「紺部(こんべ)の濱」とある。おそらくは、神戸市中央区付近の浜であろう。
--------

兵庫ビーチ(ひょうご:神戸市・兵庫区)の3か所に展開していた新田軍5万余騎は、四国勢の上陸を阻止しようと、漕ぎ行く四国勢の船と同じ方向に、汀を東に移動していく。

この状況を上空から俯瞰(ふかん)して見るならば、四国勢船団は自ら前進するがごとく見え、陸上の新田軍はひたすら東へ退却していくかのように見える。海陸の両軍は互いに相手の様子を窺いながら東へ移動していく・・・そしてついに、四国勢は、兵庫よりはるか東方の汀に接岸して上陸開始。

足利尊氏(あしかがたかうじ) (船中より対岸を凝視しながら)(内心)東の神戸ビーチへ移動していく新田軍と、湊川(みなとがわ)ゾーンを守っている楠(くすのき)軍との間に、間隙が生じた。兵庫ビーチは、無防備状態になってるな。

足利尊氏 よし、今だ! 九州勢と中国勢を、兵庫ビーチ・和田岬(わだみさき)から上陸させよ!

足利軍の九州勢と中国勢の軍船60余隻は、和田岬に漕ぎ寄せ、一斉に上陸を開始した。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-12 本間孫四郎、遠矢を射る

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

両軍がこのように、互いに挑み合いつつも、未だ戦端を開かず、という時、本間孫四郎(ほんままごしろう)は、黄瓦毛(きがわらげ)の太くたくましい馬に乗り、紅下濃(くれないすそご)の鎧を着てただ一騎、和田岬(わだみさき:神戸市・兵庫区)の波打ち際まで馬を寄せ、沖の船に向かって、大音声(だいおんじょう)でいわく、

本間孫四郎 おぉーい、足利将軍殿ぉーっ!

本間孫四郎 筑紫(つくし:福岡県)からのご上洛ということならば、きっと船の中には、鞆(とも:広島県・福山市)や尾道(おのみち:広島県・尾道市)のキレイドコロも、大勢お供されてんでしょうなぁ。

本間孫四郎 ではこれから、珍しい酒の肴をいっちょう、わしからその女性方へプレゼントするとしましょうかぁ! 今からそちらへ送ったげるからねぇ、ちょっくら待ってておくんなさいましよぉ。

孫四郎は、エビラの上差しからカブラ矢を抜き、羽根が少し広がっているのを、鞍の前部の山形に当ててかき直し、二所藤(ふたどころどう)の太い弓につがえた。そして、小松の陰に馬を寄せ、波の上を舞うミサゴをじっと見つめた。

ミサゴは、自分の影で魚を驚かし、飛び下がって魚を捉えようとしているのである。

足利軍メンバー一同 (内心)あそこまで、モッタイいつけといて、失敗しちゃったら、希代の笑い者だよなぁ。(じっと見つめる)

新田軍メンバー一同 (内心)射当てる事ができたら、ものすごい名誉だぞぉ。(かたずを飲んで見まもる)

空中高く飛び上がったミサゴは、次の瞬間、急降下態勢に入った。波の上にかかるやいなや、2尺ほどの魚をサァッと捕え、沖の方へ飛び去ろうとする。その瞬間、孫四郎は、小松原の中から馬を駆け出し、追いかけざまに、飛び去るミサゴめがけて矢を放った。

孫四郎の弓 ビュン!

カブラ矢 ヒューーーーヒョヒョヒョヒョ・・・ハシッ・・・ブスッ!

ミサゴを殺さないで射落とそうと思い、孫四郎は、わざと鳥の体の中心から狙いを外し、片方の羽根をめがけて矢を射たのであった。そのねらいは過(あやま)たず、カブラ矢は鳴り響きながら、大内(おおうち)軍の船の帆柱に突き立ち、ミサゴは魚を掴みながら、大友(おおとも)軍の船の屋根の上へ落ちた。

その矢を射た本間孫四郎の名を知る人もなかったものの、足利軍サイド7,000余隻の船上の人々は、残らず舷側に立ち並び、新田軍サイド5万余騎は、汀(なぎさ)に馬をひかえ、孫四郎を褒(ほ)め称(たた)えた。

足利軍メンバー一同 あ、射たぞ、射たぞぉ!

新田軍メンバー一同 見事に、射とめたぞ! お見事ぉ!

これを見た足利尊氏(あしかがたかうじ)は、

足利尊氏 あの男は、自分の弓の技を見せつけようとして、この鳥を射たんだろうけどねぇ・・・こちらの船の上に鳥が落ちたのは、我々にとっては、非常に吉なる事だと思うよ。

足利尊氏 ・・・それにしても、あの男の名前、聞いてみたいもんだなぁ。

そこで、小早川七郎(こばやかわしちろう)が、船の舳先に立ち出て、

小早川七郎 おーい、そこの希代の弓の名人! まったく見事なもんじゃのぉ。貴殿のお名前、是非ともおうかがいしたいーっ!

孫四郎は、弓を杖にして突きながら、それに答えていわく、

本間孫四郎 いやいやぁ、わしは、そんな、てぇ(大)したもんじゃねぇからよぉ、名乗ってみたところで、そっちサイドの誰も、わしの名前なんか知らんだろうけんど・・・関東八か国の弓矢の道に長けたもんならば、わしの名を知ってるヤツもいるかもなぁ。よぉし、もう一本、矢を進呈しよう、矢にわしの名字、書いとくぜぃ。

孫四郎は、3人張りの弓に15束3伏の矢をギリギリと引き絞り、二引両の旗の立った船めがけて、遠矢を射た。

その矢は、6町もの距離を一気に飛んで、尊氏が乗っている船の隣にあった、佐々木筑前守(ささきちくぜんのかみ)の船の矢竹の中を通り、船室にいた武士の鎧の裾に裏まで突き通った。

尊氏がこの矢を取り寄せて見たところ、「相模国住人 本間孫四郎重氏」と、小刀の先を使って彫り付けてあった。

足利サイドのメンバーたちは、この矢を順に手渡しながら、口々に、

足利側メンバーA いやぁ、おっそろしいなぁ。

足利側メンバーB まったくもう、この矢、持ってるだけで、なんだか、腕の方から冷たくなってきちゃったぜぃ、ブルブルブル!

足利軍メンバーC いったいどこの誰だい、あいつが放つ矢に運悪く出くわして、死んでいくヤツはぁ!

足利軍メンバーD そいつって、本当、不運だよなぁ。

孫四郎は、扇を掲げ、足利軍の方を差し招いていわく、

本間孫四郎 おぉい、そこのぉー! 合戦のまっ最中だからなぁ、矢の一本だって惜しいんだよぉ! ご苦労さんだけんどなぁ、その矢ぁ、こっちへ射返して下さいましなぁー!

これを聞いた尊氏は、高師直(こうのもろなお)にいわく、

足利尊氏 こちらサイドに、誰か、あの矢を射返せるような者、いないかな?

高師直 ・・・ウーン・・・あいつが射たこの遠矢を、同じくらいうまく射返せるような者が、関東勢の中に居るたぁ思えませんなぁ。

足利尊氏 ・・・。

高師直 関東勢よりも、むしろ中国勢、そうそう、佐々木顕信(ささきあきのぶ)なんか、どうでしょうねぇ? ヤツは、中国地方一の強弓の達人じゃぞぃ。彼をお召しになって、仰せ付けられませ。

足利尊氏 よし! 佐々木をここへ呼べ!

佐々木顕信は、尊氏からのお召しに応じて、彼の前にやってきた。

足利尊氏 (孫四郎が射た矢を手に持って)この矢をな、あの男の居る所まで、射返してみないか。

佐々木顕信 いや、わしにはそんな事、到底ムリですけん、そればかりは、どうぞ、ご勘弁!

足利尊氏 ナニ言ってんだぁ、君ならばできるだろう。

佐々木顕信 いえいえ、とても無理ですけん、どうか、ご勘弁を!

足利尊氏 そこを何とか!

佐々木顕信 どうか、ご勘弁を!

足利尊氏 君は・・・私の願いを・・・どうあっても・・・聞けないというのかねぇ?

佐々木顕信 (モロ、ビビって)ハハィ! そこまでおっしゃるんでしたら!

佐々木顕信 (内心)うわぁー、まいったなぁ。

顕信は、自分の船に戻り、火威(ひおどし)の鎧を着て、クワガタ打った兜の緒を締め、銀のツクを打った強弓を帆柱にギリギリと当てて、弦を張った。

足利軍メンバー一同 (内心)おぉ、あいつぅ、ヤル気出してるぞぉ。こりゃぁミモノだねぇ。

船の舳先に出て弦を引く顕信を、かたずを飲んで見守る足利軍メンバー一同。

と、その時、足利サイドの讃岐(さぬき:香川県)勢の中から、叫び声が、

讃岐勢メンバーE この矢ぁ一つ、受けてみいやぁ! わしの弓の腕前、とっぷり拝めぇ!

彼は、カブラ矢を、一本射放った。

讃岐勢メンバーEの弓 ピュッ。

カブラ矢 ヒューーー、ポチャン。

鎧の前面に弦を触れさせてしまったのであろうか、あるいは、彼にはもともと、遠矢を射るだけの力が無かったのであろうか、その矢は2町足らず飛んだだけで、波の上に落ちてしまった。

足利側メンバーA オイオイ、今いきなり矢を射たあの男、あれはいったい、どこの誰ぇ?

足利側メンバーB 興覚めだなぁ!

足利軍メンバーC もぉっ、よけいなこと、しやがってぇ!

孫四郎の後ろにひかえていた新田軍5万余騎は、これを見て拍手大喝采。

新田軍メンバーF おぉ、射たぞ、射たぞ!

新田軍メンバーG どこのどなたかは存知あげませぬが、お見事ーっ!

新田軍メンバー一同 ワッハッハッハッハ・・・。

新田軍メンバーの笑いは、しばらく止まない・・・。

佐々木顕信 えぇっとぉ・・・こういう事になってしもぉたけん、今さらこの矢を射ても、なんだかねぇ・・・。

足利尊氏 ・・・。

ということで、佐々木顕信の射撃は、取りやめになってしまった。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-11 足利軍、海陸双方より兵庫へ迫る

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

明くる5月25日午前8時、兵庫沖(兵庫県・神戸市・兵庫区)の霞の切れ間のかなたに、幽(かす)かな船影が見えた。

新田軍メンバーA ありゃぁ、夜の漁から帰ってくる舟かなぁ?

新田軍メンバーB いやいや、おそらく、明石海峡の渡し舟だよ。

海浜に立って海上はるかに目を凝らす彼らの眼前にやがて出現したのは、船尾と船首に軍旗を立てた数万の軍船であった。

櫂(かい)を並べて、とり舵、おも舵、順風満帆に進んで来る。天と水とが出会う水平線よりこなた一面14、5里ほど、船は連なって互いに舷側をきしり合わせ、舳先を一線に並べて接近してくる。船団に埋めつくされて、海上はにわかに陸地(くがち)になったかのようであり、林立する帆に遮られて、対岸の山の姿も見えないほど。

新田軍メンバーA すげぇ・・・すげぇ大軍だぁ・・・。

新田軍メンバーB 三国志で名高いあの赤壁(せきへき)の戦、あの時の船の数も、これほどじゃぁなかったろうなぁ。

新田軍メンバーC モンゴル帝国が宋(そう)王朝を滅ぼした時の黄河の戦いの時だって、兵力、これよりは少なかったろうよ。

新田軍メンバーD おいおい、あっち見ろ! ほら、須磨(すま:神戸市・須磨区)の方角!

新田軍メンバーE あちゃぁー、海軍だけじゃなくて、陸軍までやってきやがったかぁ!

須磨の上野(うえの)、鹿松岡(しかまつのおか)、鵯越(ひよどりごえ)のあたりには、二引両(ふたつびきりょう)、四目結(よつめゆい)、直違(すじかい)、左巴(ひだりともえ)、よせかかりの輪違(わちがい:注1)の軍旗5、600本ほどがはためき、雲霞のごとき大軍がこちらに向かって来るのが見える。

--------
(訳者注1)いずれも足利サイドの各家のもの。[二引両:足利氏]、[四目結:佐々木氏]、[直違:松田氏]、[左巴:宇都宮氏]、[よせかかりの輪違:不明]。
--------

新田軍メンバーA (内心)海上の軍船も・・・。

新田軍メンバーB (内心)陸上の敵兵も・・・。

新田軍メンバーC (内心)思ってたより、おびただしい数・・・。

新田軍メンバーD (内心)聞いてたよりも、なおすごい・・・。

新田軍メンバー一同 (互いに顔を見あわせながら)(内心)まいったなぁ・・・。

新田義貞 さぁ、行くぞぉ!

楠正成 いよいよやなぁ!

新田義貞(にったよしさだ)も楠正成(くすのきまさしげ)も、大敵を見ても、ものともせず、小敵に対しても油断しない、まさに中国・後漢(こうかん)王朝建国の光武帝(こうぶてい)の心根をそのまま写し取ったような勇者、いささかなりとも気力失せたる様子もなく、和田岬(わだみさき:神戸市・兵庫区)の小松が生える原まで進み、静かに軍勢を配置し始めた。

第1軍の大将は、脇屋義助(わきやよしすけ)。彼の下に、新田一族23人が5,000余騎を率いて、経島(きょうのしま:神戸市・兵庫区)に布陣した。

第2軍を率いるは、大館氏明(おおたちうじあきら)。彼に従う一族16人は3,000余騎を率いて、灯ロ堂(とうろどう:神戸市・兵庫区)の南方の浜に展開した。

第3軍を率いるは、楠正成。彼は、わざと楠軍以外の勢力を交えず700余騎で、湊川(みなとがわ:神戸市・兵庫区)西方宿付近に陣を構え、足利サイドの陸軍に対峙(たいじ)した。

新田義貞は、総大将として諸将に命令を発すべく、25,000余騎を率いて、和田岬に司令本部を構えた。

やがて、足利サイド海軍は、帆を下ろし、磯に向かって漕ぎ寄せてきた。陸軍の方も、軍旗をはためかせながら接近してきた。朝廷軍と足利軍との距離は、徐々に縮まって行く・・・。

まず、沖の船団から太鼓の音が鳴り、トキの声が上がった。

足利サイド海軍の太鼓 ドンドンドンドン・・・。

足利サイド海軍リーダー エェィッ エェィッ

足利サイド海軍メンバー一同 オォーゥーッ!

続いて、足利サイド陸軍50万が、

足利サイド陸軍リーダー エェィッ エェィッ

足利サイド陸軍メンバー一同 オォーゥーッ!

今度は、朝廷軍が、盾の端を撃ち鳴らし、エビラを叩いて、

朝廷軍の盾 カシカシカシカシ・・・。

朝廷軍のエビラ ボンボンボンボン・・・。

朝廷軍リーダー エイッ エイッ

朝廷軍メンバー一同 オウーーッ!

彼らの上げるトキの声は、南は淡路島(あわじしま)の絵島崎(えじまざき:兵庫県・淡路市)から鳴門海峡(なるとかいきょう)まで、西は播磨路の須磨浦(すまうら:神戸市・須磨区)まで、東は摂津(せっつ)国の生田森(いくたのもり:神戸市・中央区)まで、四方300余里にわたって響き渡り、天の四隅をささえている綱も切れて落ち、地軸も傾かんかと思われるほどである。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

太平記 現代語訳 16-10 楠正成、兵庫へ向かう

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

新田義貞(にったよしさだ)からの急報が、朝廷に届いた。

 「足利尊氏(あしかがたかうじ)と直義(ただよし)、大軍を率いて京都へ向けて進軍中、要害の地においてその進行を阻止すべく、わが軍、兵庫(ひょうご:兵庫県・神戸市・兵庫区)まで退却!」

後醍醐天皇(ごだいごてんのう)は大いに驚き、楠正成(くすのきまさしげ)を、御所に呼び寄せた。

後醍醐天皇 正成、正成! はよ、兵庫へ出向いて、義貞と力を合わせて戦え!

楠正成 陛下、おそれながら、申し上げます!

後醍醐天皇 うん。

楠正成 足利尊氏は、筑紫(つくし:福岡県)等、九州全域の武士を率いて、こちらに向かっとります。おそらく、その兵力は膨大ですやろ。それにひきかえ、こっちはどうでっか、戦い疲れた小勢の兵力しかありませんやん! こんな態勢でもって、勢いに乗った敵軍にまともに立ち向こぉていっても、どないもこないも、しょうがありませんわ。こっち側の敗北は確実、そうや、敗北は確実ですやん!

後醍醐天皇 なら、どないしたらえぇねん!

楠正成 持久戦です、陛下、持久戦ですわ!

後醍醐天皇 ・・・。

楠正成 まず、新田殿を京都へ呼び寄せられ、彼を伴って陛下はこないだみたいに、比叡山(ひえいざん)の延暦寺(えんりゃくじ)に避難なされませ。そうやっといて、まずは、足利軍を京都へ入らせるんですわ。

楠正成 で、私は、河内(かわち)へ移動してから、近畿勢を率いて、淀川の河口(よどがわかこう:大阪市)周辺一帯を押さえて、足利軍のロジスティックス・ライン(注1)を断ち切りますわ。

--------
(訳者注1)兵站(へいたん)線。食料、武器弾薬等の輸送ルート。
--------

後醍醐天皇 ん・・・で?

楠正成 かたや比叡山から、かたや淀川河口方面から、というように、東西両方向から京都の中にいる足利軍を圧迫しながら、敵軍を兵糧不足の状態に追い込みます。そないなると、足利サイドからは逃亡者続出、兵力は次第に減衰。一方、こっちサイドに馳せ参じてくる者は増えていき、わが方の兵力は日増しに増大。機を見計ろぉて、新田殿は比叡山から、私は大阪方面から京都に進軍、かくして、一戦にて朝敵を殲滅(せんめつ)!

後醍醐天皇 ・・・。

楠正成 新田殿かて、おそらく、私と同じ戦略、考えてると思いますでぇ。せやけど、あの人にはあの人の立場っちゅうもんが、ありますやんかぁ。進軍してくる足利軍に対して、ただの一戦もやらんと退却となりますとな、世間からは、「新田は、なんちゅうフガイナイやっちゃねん!」てなふうに、罵られますやん。せやから、あえて、兵庫で踏みとどまってるんですやろなぁ。

楠正成 わしに言わせれば、そんなもん、なんとでも言わしとけぇ、ですけどなぁ。敵の大軍におじけづいて、京都から逃亡? あぁ、逃亡したした、逃げたでぇ。で、それがなんやっちゅうねん?! 戦なんちゅうもんは、しょせん、結果オーライのもんやんけ! 最終的に勝てさえしたら、それでえぇんちゃうかい? 途中経過、そうや、途中経過なんか、どうでもえぇんですわ、陛下!

後醍醐天皇 ・・・。

楠正成 陛下、なにとぞ、よくよく御深慮あそばされた上で、朝廷の議決を、お願いいたします!

それを聞いた会議出席メンバーらは、

公卿A なるほどなぁ。

公卿B やっぱし、「餅は餅屋」ですかいなぁ。

公卿C 戦の事やったら武士に任せとけよ、という事ですわなぁ。

公卿D 楠の戦略、なかなかよろしやん。

坊門清忠(ぼうもんきよただ) 正成の申す所もなるほど、もっとも。しかしながら、朝敵征伐の為に派遣された将軍が一戦もせん前に、あたふたと、帝都(ていと)を後にして比叡山へ退避するのは、いかがなものかと・・・そないなると、1年の中に、1度ならず、2度までも、比叡山に、という事になりますわなぁ。(注2)

--------
(訳者注2)14-8において、後醍醐天皇は京都から延暦寺へ避難しているので、ここで避難すると、清忠が言うように、1年の間に2度、避難することになる。
--------

坊門清忠 そないな事では、陛下の権威は、いったいどないなりますか! 朝廷軍が掲げる錦の御旗に、何の威力があると言えますでしょうか!

公卿一同 ・・・。

坊門清忠 いくら、尊氏が九州の大軍を率いて攻め上ってくると言うたかて、去年、関東8か国の軍勢を従えて、京都へ向かって来た時の勢いには劣るでしょう。

坊門清忠 その時も、緒戦から敵の敗北まで終始一貫、我がサイドの兵力は劣ってました。そやけど、戦うたんびに、足利の大軍を攻め靡(なび)かせる事が出来ました。その勝利の要因は、戦略の優れたるにあったのではありません、ただただ、陛下の御聖運が、天の定めに叶ぉておられたからです。

後醍醐天皇と公卿一同 ・・・(身を乗り出す)。

坊門清忠 ならば、今回も同様です。帝都の外に勝負を決して、朝敵を打ち負かす事に、いったい何の困難がありましょうや! すぐに、楠正成を兵庫に向かわせるべきです!

後醍醐天皇と公卿一同 ・・・(深くうなずく)。

楠正成 ・・・。

後醍醐天皇と公卿一同 ・・・。

楠正成 分かりました。この上は何も申し上げる事、ございません。兵庫へ出陣いたします。

5月16日、楠正成は、500余騎を率いて京都を出発、兵庫へ向かった。

--------

正成は、「これが自分の最後の戦」と、覚悟を定めていた。

正成の嫡子(ちゃくし)・正行(まさつら)は、その時、11歳の少年であったが、父と共にその軍中にあった。

櫻井宿(さくらいじゅく:大阪府・三島郡・島本町)にさしかかった時、父は息子に、

楠正成 正行!

楠正行 はい!

楠正成 あんな、わし、ちょっと、考える事あってなぁ・・・。

楠正行 はい?

楠正成 おまえな、こっから、河内へ戻れ。

楠正行 えぇっ?

楠正成 河内へ、そうや、河内へ戻るんや、おまえはな!

楠正行 ・・・。

楠正成 よぉ聞けよ・・・ライオンは、出産の3日後、子供を、高さ数千丈の断崖から投げ落とすと言う。もしもその子に、百獣の王に育つべき素質があるならば、誰に教えられるともなく、空中から跳ね返って、墜落死せんですむという・・・。

楠正行 ・・・。

楠正成 ましてや、おまえはもう既に、齢10歳を超えた人間や。

楠正成 わしのこれから言い聞かせる事、一言でも耳の底に留めたんやったら、それを違える事は、絶対にならんぞ、えぇか!

楠正行 はい!

楠正成 今度の合戦、まさしく、天下分け目の戦いや。わしがこの世でお前の顔を見れるのも、今日が最後や・・・。

楠正行 ・・・。(涙)

楠正成 「楠正成、討死にす」との知らせを聞いたらな、「足利尊氏が天下を取ること、確実」と思え。そやけどな、「わが命助かりたい」というような空しい念にとらわれて、長年の天皇陛下への忠烈の心を捨てて足利サイドに投降、なんちゅう事は、絶対に、したらあかんぞ!(涙)

楠正行 (強くうなずく)・・・(涙)。

楠正成 わが一族、あるいは若党らのうち、一人でも生き残ったやつがおったらな、そいつらを従えて、金剛山(こんごうさん:大阪府と奈良県の境にあり)の麓(ふもと)に引きこもれ! 敵が寄せて来たら、命を養由(ようゆう:注3)の矢先に懸けて、紀信と(きしん:注4)忠心を競うんじゃ! それがわしへの一番の親孝行やぞ、分かったか!(涙)

楠正行 (うなずきながら)ううう・・・。(涙)

--------
(訳者注3)中国春秋時代の弓の名人。

(訳者注4)漢の高祖の忠臣。詳細については、2-10を参照。
--------

かくして、楠父子は櫻井宿を後に、東西へ分かれて行った。

中国春秋時代、百里奚(ひゃくりけい)は、主君の秦国・穆公(ぼくこう)が晋国に戦いを挑んだ時、自国側に戦いの利無き事を思い、その軍の将・孟明視(もうめいし)(注5)に対面して、今を限りの別離を悲しんだという。

--------
(訳者注5)孟明視は、百里奚の子である。
--------

今の世に、楠正成は、「敵軍、都の西方に接近す」と聞いた時より、「国家が滅亡すること必定」と愁い、息子・正行を後に留めて、自分の亡き後までも、義を重んずる道を彼に託したのであった。

かたや、異国の良弼(りょうひつ:注6)、かたや、我が朝の忠臣、数千年の時の隔たりを超えて、異なる時空間に期を一(いつ)にして出現した、希有の賢佐(けんさ:注7)二人・・・。

--------
(訳者注6)良臣。

(訳者注7)賢明なる補佐の臣。
--------
--------

兵庫に到着した楠正成を迎えて、新田義貞は、

新田義貞 楠殿、今回の事、陛下はどのようにお考えなのかなぁ?

正成は、威儀を正して、自分の所感と天皇よりの命令を詳細に述べた。

新田義貞 まったくもう、楠殿の言う通りだよなぁ。戦に敗けた少ない兵力でもって、勢いに乗った敵の大軍に立ち向かってみても、とても勝ち目ねぇわ・・・それは、よく分かってる、分かってるよぉ。

楠正成 ・・・。

新田義貞 でもなぁ、去年、関東での戦に敗けて京都へ退却する時、おれは、途中で足利軍の前進を食い止める事ができなかったんだ。その時、世間の人からまぁ、なんと悪し様に、罵(ののし)らたかぁ・・・。

楠正成 ・・・。

新田義貞 今度もまた、中国地方制圧の大将を拝命したってぇのによぉ、数箇所ある城、たったの一つも落とせてねぇのに、「敵の大軍、襲来」ってぇんで、またまた京都へ遠路退却、なんてぇ事ではなぁ、あまりにも悲しすぎる、情けなさすぎる!

楠正成 うん・・・。

新田義貞 だからなぁ、今度こそは、勝敗を度外視して、ただこの一戦に、「義」の一文字書いてみようと思ってんだよぉ。

楠正成 あのね、史記(注8)の中に、こんな言葉ありまっせぇ、「愚かなやつらがガタガタ言うとんのん、聞いてるよりは、一人の賢者が唯々諾々(いいだくだく)と、うなずきながらも述べる意見に、耳を傾けてる方が、よっぽどえぇわい」。

新田義貞 ほぉ・・・。

楠正成 なぁーんもワケ分かっとらん連中らが、新田殿の事をゴチャゴチャぬかしよったかて、そんなもん、一切気にする必要ないやんけ! 戦うべき機を見て前進し、そうでないと知った時には退却する、そういうのをこそ、良き将軍と言うんやんか!

新田義貞 (ニッコリうなずく)

楠正成 かの孔子先生もなぁ、勇猛を自負する弟子の子路(しろ)を、戒めてはるでぇ、「「虎を素手で撃ち殺し、黄河を徒歩で渡ったるわい、死んでも悔いはないーっ」なーんちゅう事を言うてるような人間とは、私は、行動を共にしとぉないわなぁ」とねぇ。

新田義貞 うーん。

楠正成 だいたいがやね、元弘(げんこう)年間に、あの猛威を振るった鎌倉幕府権力の頂点・北条高時(ほうじょうたかとき)を、一瞬のうちに攻め倒し、またまた今年の春には、逆賊・足利をみごと九州へ追い落とした、その一番の功労者は、いったい誰やぁ?! たしかに陛下の御運も強かったという事もあったんやろうけどねぇ、結局のとこは、戦略、そうや、戦略! 何もかも、新田殿の優れた戦略あってこそやないかぁい!

新田義貞 (顔がほころぶ)

楠正成 そういうこっちゃねんからねぇ、新田殿の軍事面の采配について、誰もとやかく言うもんなんか、おりますかいなぁ! 今度の中国地方からの撤退、兵庫に留まりながらの朝廷への急報、何もかもが一つ一つ、戦の理に、かのぉとりますぞい!

新田義貞 正成殿、よくぞ、言ってくれたぁ! よぉし、今夜は、いっしょに、呑もう、呑もう!

楠正成 あい分かりましてそぉろぉ!

新田義貞 ハハハハハハ・・・。

楠正成 ワッハハハハ・・・。

これが、正成の最後の酒となった・・・あぁ、哀れなるかな。

--------
(訳者注8)中国後漢時代、司馬遷(しばせん)が著述した歴史書。「完璧」、「臥薪嘗胆」、「四面楚歌」、「背水の陣」等の言葉は、この書物の中に記述された逸話から生れた。
--------

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

2017年11月20日 (月)

太平記 現代語訳 16-9 新田軍、兵庫へ退却

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。

--------

新田義貞(にったよしさだ)は、加古川(かこがわ:兵庫県。加古川市)西岸の岡に陣を取り、備前(びぜん)、美作(みまさか)から退却してくる自軍の兵を待ちながら、そこに2日間逗留した。

時はまさしく梅雨の季節、降り続いた雨により、川は増水している。

新田軍リーダーA 敵が今にも、ここまで迫ってくるかもしれませんよ!

新田軍リーダーB そうですよぉ。まずは、殿と主立った方々だけでも、舟に乗って、対岸へ渡って下さい。

新田軍リーダーC 殿、さ、早く早く!

新田義貞 おまえら、ナニ言ってやがんでぇ! 備前や美作まで出張ってくれてるあいつらを後に残して、おれ一人、オメオメと、向う岸に渡れるかってんだぁ! いいんだよぉ、ここに敵がやってきたってぇ。そうなったら、もうどこにも退く所、無くなっちまうからよぉ、「こうなっちゃあ、仕方が無ぇ、いっちょ、自分の命張って戦うべいか」ってぇフンギリも、つくってもんじゃぁねぇか!

新田軍リーダー一同 ・・・。

新田義貞 古代中国に、あの韓信(かんしん)が川を背後にして陣を張ったのを、見習えって事さぁねぇ(注1)。わが全軍が渡り終えた後、最後におれが川を渡るんだよぉ。それで、何の問題もねぇだろ!

新田軍リーダー一同 ・・・。

新田義貞 そうだなぁ・・・よぉし、馬に乗るのが下手なモン(者)と負傷してるモン(者)を優先して、順に川を渡らせろ!

新田軍リーダー一同 分かりましたぁ!

--------
(訳者注1)「背水の陣」の語源である。韓信は漢の高祖に仕えた名将軍。
--------

そうこうしているうちに、一夜の中に、川の水位が低くなった。

備前や美作に行っていたメンバーたちも戻ってきたので、馬を繋ぎ合わせ並べて、6万余騎一斉に、川を渡った。

5月13日、義貞たちは、ようやく兵庫(ひょうご:兵庫県・神戸市・兵庫区)に到着したのだが・・・

新田義貞 (内心)なにぃ、現在のわが軍の兵力、わずか2万騎足らずになってしまったってぇ? ついこないだまでは、中国地方の連中が馳せ集まって、優に10万は超えてたのになぁ・・・さては、「足利兄弟、京都へ向けて進軍」と聞いて、いつの間にか、みんな逃げ出しやがったんだなぁ・・・ったくもう!

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


2017年11月19日 (日)

太平記 現代語訳 16-8 福山城攻防戦

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)l

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

新田(にった)軍の福山城(ふくやまじょう:岡山県・総社市)防衛担当のメンバーたちは、「足利(あしかが)軍、京都へ進軍開始!」との情報をキャッチして、

新田軍メンバーA エェーッ・・・この城、まだ、かためれてないのにぃ。

新田軍メンバーB もう、足利軍、進軍開始かぁ。

新田軍メンバーC あっちサイドの兵力、すごいって言うじゃん! それにひきかえ、こっちサイドは・・・これじゃ到底、勝ち目ありませんよぉ。

大江田氏経(おおえだうじつね)は、じっと思案していたが、いわく、

大江田氏経 合戦の常として、勝敗は時の運による・・・とは言うもんのなぁ、おれたちのこの小勢でもって、敵の大軍と戦って勝てる可能性、千に一つもねぇだろう。

大江田氏経 だけんどよぉ、足利尊氏の京都進軍を食い止める為に、わざわざ国境を超えて備中までやってきた、おれたちなんだぞぉ。大軍が寄せて来たからって、アタフタ逃げ出すような事、できゃしねぇやなぁ。

一同 ・・・。

大江田氏経 ようはだなぁ、同じ業(ごう)を背負い、同じ果(か)を受けるべき運命を持った人間たちが、今ここに集まったってぇ事なんだろうよ。

大江田氏経 いってぇどんな前世の因果なのか、そこまでは分かんねぇけんど、とにかくここで死ぬ、という運命の星の下に生まれてきた者どうしってわけよぉ、おれたちはぁ。

一同 ・・・

大江田氏経 死を軽んじ、名誉を重んずる、それが人間の生きていく道ってぇもんじゃぁねぇかい! なぁみんな、全員ここで討死にして、名を子孫に残す覚悟、かためようじゃねぇの!

紀伊常陸(きのひたち) 分かりました、おれもキッパリ覚悟、決めました。ここで討死にしましょう!

合田(あいだ) これでかえって、心の中もスッキリしましたぜ、ハッハッハッ・・・。

新田軍・福山城・防衛担当メンバー一同 (うなずく)

--------

翌5月15日の宵方、足利直義(あしかがただよし)は、30万騎の軍勢を率いて勢山(せやま:岡山県・倉敷市)を越え、福山城の山麓の周囲4、5里ほどのエリア内数100か所に、かがり火を焚いて布陣した。

この大軍勢の包囲を見れば、いかなる鬼神さえも怖れをなして、今夜のうちに城から逃げ出してしまうのでは、と思われた。しかし、城を守る側も、かがり火を焚き続け、なおも持ちこたえている。

夜明けとともに、まず、備前(びぜん)、備中(びっちゅう)の足利サイド3,000余騎が、浅原峠(あさはらとうげ:岡山県・倉敷市)越えのルートで、城に攻めかかっていった。しかし、城内はなりを潜め、コトリとも音がしない。

足利軍リーダーD さては、城の連中、逃げ出しよったなぁ。よし、いっちょうトキの声あげて、城に敵が残ってるかどうか、確かめるんじゃ!

彼らは一斉に盾の板を叩き、トキの声を3度上げ、城に迫り登った。すると、城内からも東西の木戸口で太鼓を打ち、トキの声を合わせてきた。

城の外に迫っていた足利軍サイドは、これを聞いて、

足利軍リーダーD あれぇ、まだいよったかぁ。

足利軍リーダーE そりゃそうじゃろぉ、新田軍の大将が守っとるんじゃけん、たとえ兵力が少なくても、ビビッテ逃げ出すなんてこたぁありえんと、思ぉとったでぇ、わしはぁ。

足利軍リーダーF 相手をあなどって、最初の戦に、失敗してはいかんのぉ。

足利軍リーダーG おれたちだけでのぉて、全軍で城の四方をきっちり包囲してから、一斉に攻めかかるのが、えぇじゃろう。

というわけで、足利側は各軍毎にエリアを分担して城の周囲に展開した後、四方の谷々峯々から攻め登って行った。

守備側はすでに心の準備は出来ている。

雲霞のごとき大軍に包囲されても、少しもあわて騒ぐこともなく、ここかしこの木陰に隠れながら、矢を惜しまず、さんざんに射る。放った矢は一本も無駄になることなく、稲や麻のようにびっしりと密集した攻城側の武士たちを倒して行く。

新田サイドの矢が尽きてしまうのを待とうということで、足利サイドは、わざと矢を放たない。ゆえに、新田サイドには未だ一人の負傷者も出てはいないのだが・・・情勢を見て取った大江田氏経は、

大江田氏経 力尽きてしまわねぇうちに、城からうって出て、足利直義の陣を蹴散らしてやろうかい!

氏経は、城内に歩兵500余人を配備した後、乗馬の巧みな兵1,000余騎を率い、城の木戸を開かせ、逆茂木(さかもぎ)を取り除かせ、北側の尾根上の最も険しい所から、おめきながら馬を走らせた。

その方面を担当していた足利軍2万騎は、これに圧倒されて谷底に追い落とされ、幾重にも重なり合って、倒れ伏した。

氏経は、彼らを追いかけずに、

大江田氏経 東の方の、尾根裾はるか伸びたあたりに、二引両(ふたつびきりょう)の旗がある。きっと、あそこが、直義の本陣なんだろう。よぉし、行くぜぃ!

氏経率いる新田軍は、足利軍2万余騎が控えるその陣中に破(わ)って入り、それから2時間ほど戦い続けたが、

大江田氏経 ウーン、残念! 直義の陣じゃなかったかぁ!

足利サイドの大軍の中をサァッと駆け抜けてから、氏経は後ろを振りかえってみた。自軍は、500余騎ほど討たれてしまい、わずか400騎になってしまっている。

大江田氏経 城の方はどうかな・・・。

はるか城の方を見やれば、自分の出陣と入れ替わりに、足利軍が城に入ってしまったものと見え、櫓や防壁から、火の手が上がっている。

氏経は、兵を一個所に集めて、

大江田氏経 今日の戦は、もうこれまで。さぁ、敵陣の一角を打ち破ってなぁ、備前へ帰り、播磨と三石の友軍に合流しよう。

大江田軍は、板倉川(いたくらがわ)の橋を渡り、東方へ撤退を開始。

これに対して、足利サイドは、2,000騎、3,000騎と、ここかしこに道を塞ぎ、襲いかかっていく。

もはや逃れようも無しと、覚悟かためた大江田軍400騎は、接近してくる相手の中へ、破(わ)って入り、懸け散らし、破(わ)って入り、懸け散らし・・・このようにして、板倉川のあたりから唐皮(からかわ:岡山県・岡山市・北区)まで、10余度もの戦闘が繰り返されていった。

しかし、大量の戦死者も出さず、大江田氏経も無傷のままに虎口の難を逃れ、5月18日早朝、彼らは三石宿(みついしじゅく:岡山県・備前市)にたどりついた。

--------

足利直義 よぉし、緒戦はこれでモノにしたな! 幸先いいじゃないのぉ!

新田軍の福山城防衛担当の追い落としに成功し、直義は上機嫌である。その日は、唐皮宿に逗留して首実験を行ったところ、「生け捕り・討死1353人」と記録することになった。

足利直義 備中(びっちゅう)国一宮の吉備津神社(きびつじんじゃ)に、参拝しときたいんだけどなぁ・・・合戦の最中だから、穢(けが)れになってはいかんし・・・願書だけ奉納するとしよう。

翌日、足利直義は、軍を率いて唐皮を出発した。

足利尊氏率いる足利第2軍も出帆し、順風に帆を上げた。

--------

5月18日夜、脇屋義助(わきやよしすけ)は、三石から使者を新田義貞(にったよしさだ)のもとに送り、福山の合戦の経緯を詳細に報告させた。

やがて、使者は戻ってきて、いわく、

使者 義貞様よりの伝達、申し上げます!

 「白旗(しらはた)、三石(みついし)、菩提寺(ぼだいじ)の城を未だに攻め落とせてないのに、尊氏と直義の大軍が、海路と陸路で進んで来てる。陸路をやってくる足利軍を防ぐために、ここ備前で待ち構えていたのでは、海路を来る敵軍はイッキに、京都に達してしまうだろう。だから、今すぐに中国地方を放棄し、摂津国(せっつこく)まで撤退して、水陸両路の敵を一個所にて待ち受け、京都を背後に合戦をすることにしよう。そちらの軍も急ぎ、山野里(やまのさと:兵庫県・赤穂郡・上郡町)まで撤退して、我々に合流してくれ。美作(みまさか)方面のわが軍にも、この旨を伝えておいたから。」

かくして、5月18日の夜半、三石の守備担当の新田軍はそこを撤退し、船坂(ふなさか)からも退却。城内の足利側はにわかに活気づき、船坂山まで進出し、新田軍の行く手を塞いで散々に矢を射掛ける。

宵の間の月は山に隠れ、前後も定かに見えない中に、親が討たれ子が討たれようとも、とにかく一足でも前へ逃げのびようとする新田軍メンバーたち。

そのような中、新田の友軍・菊池(きくち)軍・若党の原源五(はらのげんご)、原源六(はらのげんろく)という有名な剛の者が、味方の撤退を助けようと、退き行く軍の最後尾に下がり、防ぎ矢を射続けた。

矢をすべて射つくしてしまった後、刀を鞘から抜き、二人は叫ぶ、

原源五 おぉい、みんなぁ!

原源六 どこかにいるんなら、ここまで帰って来てくれぇ!

これを聞いた菊池軍の若党たちは、はるか先まで行っていた者たちも、「おぉ、ここにおるぞ! 今行くぞぉ!」と、口々に叫び、原兄弟のいる所に戻ってきた。

城から出てきた足利サイドメンバーらは、この勢いを見て、さすがに近寄る事もできず、離れた峯を進みながら、トキの声を上げるばかり。その間に、数万の新田軍は一人も討たれる事なく撤退、大江田氏経も、夜明け頃に山の里に到着した。

--------

児島範長(こじまのりなが)とその子・高徳(たかのり)は、「足利側の佐々木の一党が上陸した」との情報をキャッチし、これを防ぐために、旭川(あさひがわ:岡山県・岡山市)付近に陣を敷いていた。しかし、福山落城の知らせを受け、

児島範長 いかぁん、このままでは、わしら、孤立してまうのぉ。三石にいる新田軍に合流するかぁ。

9日の夜、彼らは三石に到着した。しかし、

児島範長 いったいどうなっとるんじゃぁ? ここには、誰もおらんがのぉ。

児島範長 おいおい、脇屋義助殿は、どこへ行ってしもぉたぁ?

三石の住民H 脇屋殿かぁ? 今日の宵頃に、播磨へ撤退してもぉたぞぉ。

児島範長 うーん・・・となると、船坂も、もう通れんじゃろなぁ。

そこで児島軍は、先日、新田軍第3軍団が通った例の三石の南の山道を徹夜で越え、ようやく、坂越(さごし:兵庫県・赤穂市)の浦へ出た。

夜明けまでは、まだ相当時間があったから、坂越で止まらずに先へ進んでおれば、児島たちは新田義貞の軍に楽々、追いつく事ができたであろう。

しかし、児島高徳は、先日の戦闘で負った傷が未だ癒えない状態のまま、馬に長時間揺られていたので、目がくらみ、意識が薄れてきていた。

児島範長 こりゃぁ、とても、馬に乗っていける状態ではないわ。このへんに、わしのよぉ知っとる僧侶がおるけん、しばらく、高徳を預かってもらおう。

ということで、その僧侶に高徳を託すために、している間

5月の夜は短い・・・範長がその僧侶に高徳を託している間に、「時」はあっという間に過ぎ去って行き、児島範長の運命を決してしまった。

「落人(おちうど)がこのルートを通って逃げていくぞ!」との情報を得て、赤松円心(あかまつえんしん)は、300余騎を差し向け、名和(なわ:兵庫県・相生市)のあたりで、児島たちを待ち伏せさせた。

児島範長が率いるは、わずかに83騎、ひたすら、山陽道めざして進んで行く。

とある山陰にさしかかった時、赤松軍が眼前に現われた。

赤松軍リーダー そこを行くやつ、落人と見たでぇ! いったいどこの誰や! 命惜しかったらなぁ、弓の弦を外し、鎧を脱いで、降参せぇ!

児島軍に追いすがってくる赤松軍を見て、

児島範長 なにをコシャクな事、言うとるんじゃ、ハハハハハ・・・。

児島範長 それにしても、ミョーな事、言いよるのぉ、「降参せぇ」じゃとぉ? そんなことする気があるんじゃったらのぉ、筑紫(つくし)から足利が、あれやこれやと誘いの手紙を送ってきよった時に、さっさと足利に寝返っとるわい!

児島範長 そんな手紙、みぃんな引き裂いて、火にくべてやったわい。そんなわしじゃけん、お前らごときに対して、「はい、降参いたしますぅ」なんちゅうこと、言うはずないじゃろが! 鎧欲しけりゃ、力づくで取ってみろ!

言い放つやいなや、児島軍83騎は赤松軍300余騎の中におめいて駆け入り、12騎を切って落とし、23騎に手傷を負わせ、大勢の囲みを破って、浜沿いに東に向かって馬を走らせた。

赤松軍メンバーたちは、そのあたりの地理をよく知っているので、懸け散らされながらも、児島軍の行く先の方々へ先回りし、近隣の村々に、「そのうちな、このあたりを、落人が通るでぇ。通せんぼして、鎧剥ぎとってまえ!」と、触れてまわった。

それを聞いた周辺2、3里ほどのエリアの野伏(のぶし)2、3,000人が、ここの山陰、かしこの田の畦にと出動してきて、児島軍に対して、矢の雨を降らせた。

児島軍の若党たちは、主を逃すために、進んではかけ破り、引き下がっては討死しながら、那波野(なわの:兵庫県・相生市)から阿弥陀宿(あみだじゅく:兵庫県・高砂市)のあたりに至る間、18回も戦い続けた。

このようにして、児島軍は、主従わずか6騎となってしまった。

ある辻堂の前で、範長は馬を止め、若党たちにいわく、

児島範長 あぁ・・・児島一族の連中らさえ、いっしょに来てくれてたらなぁ・・・そしたら、播磨国のどまん中を、難なく突っ切っていけるじゃろうに。みんな、方々の戦場に分かれていってしもぉて、一個所に固まっとらんけんのぉ。

若党たち一同 ・・・。

児島範長 もう、どうしようもないのぉ。ついに、わしも討たれる時が来たようじゃ。

児島範長 今となっては、逃れようもない、最後の念仏を心閑(こころしず)かに唱えながら、腹切るとするか。お前ら、事が終わるまで敵が近づかんように、守ってくれよ!

範長は、馬から飛び降り、辻堂の中へ走り入った。

本尊の前にどっかと座り、合掌して、

児島範長 範長、いよいよこれで、最期となりました。南無阿弥陀仏(なむあみだぶつ)、南無阿弥陀仏、南無阿弥陀仏・・・。

声高らかに、念仏を2、300回ほど唱えた後、範長は、腹を真一文字にかっ切り、その刀を口にくわえて、うつぶせに伏した。

それに続いて、若党4人が自害した。

児島範長の従兄弟の和田範家(わだのりいえ)は、しばし、思案した。

和田範家 (内心)敵の一人くらいやっつけてこそ、後々まで語り継がれる忠節というもんじゃろう。わしらを追って、赤松一族の誰かがやってきたら、そいつに襲いかかって刺し違えてやるけん。

範家は、刀を抜いて逆手に握り、兜を枕にして自害した風を装いつつ、うつ伏せになり、赤松軍メンバーがやってくるのをじっと待った。

やがて赤松軍の一隊がやってきた。隊長は宇弥重氏(うのしげうじ)、彼は、範家の親類である。

自害した敵の首を取ろうと、辻堂の庭に入ってきた重氏は、そこに横たわっている遺骸の袖を見るやいなや、抜いた太刀を投げ捨てていわく、

宇弥重氏 あぁ、なんという事や・・・みんな、下黒紋(したぐろもん)の笠標(かさじるし)着けとるやないか。ここに死んどるのは、児島、和田(わだ)、今木(いまき)の家のもんらやなぁ。

宇弥重氏 自分の追いかけてる相手がこの人らやと分かっとったら、我が命に替えてでも、助けてあげたやろうになぁ・・・。(涙を流して、たたずむ)

これを聞いた範家は、ガバと起き上がって叫ぶ。

和田範家 ほれ、この通り、範家は生きとるぞ!

重氏は、驚いてかけ寄り、

宇弥重氏 おぉ、なんと、なんと・・・(大喜び)

重氏は、範家をそこから連れ出して助け置き、児島範長の葬儀をねんごろに営み、その遺骨を、彼の故郷へ送り届けた。

このようにして、児島範長たち83騎は討たれ、和田範家たった一人だけが、命を取りとめた。人間の運命というものは、実に不思議なものである。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

2017年11月18日 (土)

太平記 現代語訳 16-7 足利軍、九州から京都へ向かう

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

多々良浜(たたらはま)での戦の後、筑紫(つくし)をはじめ、九州全域の武士たちは一人残らず、足利尊氏(あしかがたかうじ)に従い靡(なび)くようになった。しかし、中国地方には朝廷方の勢力が充満して道を塞ぎ、関東にも朝廷の勢威が及んでいて、味方についてくれるような者は少ない。

足利サイド内の声 こんな情勢だもんなぁ、すぐに京都へ攻め上るってぇのも、いかがなものかと・・・。

今年の春に喫した敗北がよほど骨身にこたえているのか、足利サイドには、威勢の良い掛け声の一つすらも、上がってはこない。

そのような所に、赤松円心(あかまつえんしん)の三男・則祐(のりすけ)と得平秀光(とくひらひでみつ)が、播磨(はりま)から筑紫へやってきた。

赤松則祐 たしかにね、京都から派兵された敵軍が、備中(びっちゅう)、備前(びぜん)、播磨、美作(みまさか)に充満しているのは、事実ですよ。そやけどな、彼らは、方々の城を攻めあぐねててな、気力も衰え、食料も最近、底をついてきとぉ。今、足利将軍様が大軍を率いて京都へ向かわはるとなったら、その情報が伝わっていっただけで、あいつら、ヘナヘナになってしまうでしょうなぁ。

足利尊氏 ・・・。

赤松則祐 京都進軍のこの好機を逃してね、白旗(しらはた)の城が攻め落とされてしもたら、残りの城かてもう、1日も持ちこたえることできひん。中国地方の4か国の要害がすべて敵側の城になってしもたら、たとえ何100万の軍勢があったとて、京都進軍は、もはや不可能になってしまいますでしょう。

足利尊氏 ・・・。

赤松則祐 古代中国・秦(しん)帝国の末期、趙(ちょう)王が秦国の兵に包囲された時、楚(そ)の項羽は、舟や筏(いかだ)を沈め、釜や炊飯器を焼き払い、「戦いに負けたら士卒一人も生きて帰らじ!」との覚悟を示して、戦に臨んだというではありませんか! 将軍殿が天下を取れるかどうかは、今この時に京都へ進軍を開始するか否か、この一点にかかっておりますよ!

単刀直入に言い放つ則祐。

足利尊氏 なるほど・・・。君の提案は、実に的を射ているな・・・。

赤松則祐 将軍、さ、ご決断を!

足利尊氏 よし・・・ならば、夜を日に継いで、京都進軍を急ぐとしよう。ただ・・・九州を放置したままで、軍を東に進める、というわけにもいかんだろうなぁ・・・。

そこで、尊氏は、九州残留軍のリーダーに仁木義長(にっきよしなが)を任命し、その下に大友(おおとも)、小弐(しょうに)の両名を留め置く事にした。

--------

4月26日、足利軍は太宰府(だざいふ:福岡県・太宰府市)を出発、同月28日、順風の中に艫綱(ともづな)を解いて、瀬戸内海へ出帆。

5月1日、安芸(あき:広島県西部)の厳島(いつくしま:広島県・廿日市市)に船を寄せ、尊氏は、厳島神社に3日間の参篭(さんろう)を行った。

結願(けちがん)の3日目、醍醐寺・三宝院(だいごじ・さんぼういん:京都市。山科区)の僧正・賢俊(けんしゅん)が京都からやってきた。

賢俊 お待たせいたしました。持明院統(じみょういんとう)側からの院宣(いんぜん:注1)、確かにここに。どうぞ、お受け下さいませ。

足利尊氏 ・・・(院宣を伏し頂いて、開く)

院宣 パサパサパサ。

足利尊氏 ・・・(院宣を読む)

足利尊氏 あぁ、やっと・・・なんだか、箱と蓋とがピシッと合わさったって感じだなぁ・・・我が心中の願い、ついにかなえられたかぁ。

賢俊 お喜び申し上げます。

足利尊氏 (大喜び)こうなったらな、今までとは話が違ってくるのだよ。これからの戦、もう、すべて勝利だぞ!

--------
(訳者注1)院から発行された公式文書。この院宣の内容について、原文には一切触れられていないのだが、おそらくは、「新田義貞を追討せよ。」といった内容であろう。
--------

去る4月6日に、胤仁(たねひと)法皇は持明院殿にて崩御され、後伏見院(ごふしみのいん)と謚(おくりな)されていた。院宣はその前に、発行されていたのである。

--------

厳島神社への参拝を済ませた後、5月5日、進軍を再開。

伊予(いよ:愛媛県)、讃岐(さぬき:香川県)、安芸、周防(すおう:山口県南部)、長門(ながと:山口県北部)の勢力500余隻が、合流してきた。

同月7日、備後、備中、出雲(いずも:島根県東部)、石見(いわみ:島根県西部)、伯耆(ほうき:鳥取県西部)の勢力6000余騎、合流。その他の地方からも武士たちが続々馳せ参じてくる。招かざるに集まり、責めざるに順(したが)い、吹く風が草木を靡かせるがごとくである。

新田義貞(にったよしさだ)の軍勢が備中、備前、播磨、美作に充満し、方々の城を攻めているとの事ゆえ、足利軍は、備後(びんご)・鞆の浦(とものうら:広島県・福山市)から、二手に分かれて進む事にした。

第1軍は、足利直義(あしかがただよし)が大将、20万騎の編成で、陸路を進む。

第2軍は、足利尊氏と一族40余人、高(こう)家の一党50余人、上杉(うえすぎ)家の一類30余人、外様(とざま:注2)の有力武士たち160人、軍船7,500余隻を並べて、海上を行く。

--------
(訳者注2)足利家の親族以外の武士。
--------

鞆の浦での停泊中に、一つの不思議が示された。

船室の中で、

足利尊氏 うん? あれはいったいなに? 南の方から、光輝く物体が接近してくる・・・。

足利尊氏 船の舳先(へさき)に、降り立ったぞ・・・。

足利尊氏 あぁ、なんと! 観世音菩薩(かんぜおんぼさつ:注3)さまではないか・・・まばゆいばかりに、輝いておられる・・・。

足利尊氏 おぉ、御家来の二十八部衆(にじゅうはちぶしゅう)の方々も、いっしょに来ておられる・・・それぞれ武装して、観世音菩薩様を護っておられるな・・・。

足利尊氏 (ハッ)(夢から醒める)・・・あぁ、夢だったのか・・・。

ふと見ると、山鳩が1羽、船室の屋根の上にとまっている。

足利尊氏 (内心)うぅん! 次の戦、勝てるな・・・今の夢は、必ず勝利を得る事が出来るぞ、というお告げなんだ。円通大士(えんつうだいし:注4)が、私を擁護して下さるのだ!

--------
(訳者注3)Avalokiteśvara。「観自在菩薩」とも呼ばれる。

(訳者注4)「観世音菩薩」の別称。「円通」=「円満融通」。
--------

尊氏は、杉原紙(すいばらがみ)を短冊のサイズに切らせ、そこに自筆で、観世音菩薩の絵を描き、各船の帆柱に貼り付けさせた。

やがて、海路を行く第2軍は、備前の吹上(ふきあげ:、岡山県・倉敷市)に到着。陸路を行く第1軍は、備中の草壁庄(くさかべしょう:岡山県・小田郡・矢掛町)に到達した。

--------
(訳者注5)

以降の記述においては、下記の略称を用いる。

[書A]:[日本古典文学大系35 太平記二 後藤丹治 釜田喜三郎 校注 岩波書店]
[書B]:[新編 日本古典文学全集55 太平記2 長谷川端 校注・訳 小学館]

院宣に関して、これまでの出来事を時系列で見ると、以下のようになる。

1331年 鎌倉幕府が後醍醐天皇を廃位、光厳天皇が即位。
 (後醍醐天皇は大覚寺統、光厳天皇は持明院統)。

1332年 後醍醐天皇、隠岐へ。

1333年 後醍醐天皇、京都へ帰還、天皇位に復帰。
 光厳天皇は廃位されるが、その父・後伏見上皇は上皇のまま(上皇には退位・廃位が無いので)。

1335年 朝廷・対・足利氏の権力闘争が始まる。この時、足利氏は、朝敵・賊軍(朝廷の敵)と位置づけられている。

1336年 足利兄弟、九州へ。
 太平記作者は、[太平記 15巻6章]において、足利尊氏が薬師丸を京都へ送り、院宣獲得の工作を行わせようとした、との趣旨の事を記述している。

1336年 足利兄弟、九州を出発。
 太平記作者は、[太平記 16巻7章(本章)]において、院宣は、後伏見上皇(光厳上皇の父、持明院統)の薨去よりも前の段階で発行された、との趣旨の事を記している。この記述の意図が不明なのだが、もしかしたら、院宣は後伏見上皇によって発行されたのである、という事を言いたかったのかもしれない。
 しかし、[書A]の141Pの注には、「光厳上皇が院宣を尊氏に賜い、復位を図ったことは保暦間記に載る。」とあるので、院宣は実際には、光厳上皇によって発行されたのであろう。

1336年 太平記作者は、[太平記 16巻7章(本章)]において、足利尊氏が厳島神社に参拝していた時に、持明院統サイドより発行された院宣が、尊氏に届けられた、との趣旨の事を記述している。

この院宣が発行された後、権力闘争の構図は激変する。すなわち、

 朝廷(天皇-新田氏) 対 朝敵・足利氏 の構図から、
 朝廷(天皇-新田氏) 対 院(上皇(元天皇)-足利氏) の構図に。

尊氏は、この院宣を獲得することにより、権力闘争面において、朝廷と対等の関係に立つことができるようになった(院宣を発行した上皇を自分の上にいただくことにより)と、太平記作者は、解釈・記述しているのであろう。

朝廷(天皇)・対・院(上皇)の構図での権力闘争は過去にもあった

 保元の乱 : 後白河天皇 対 崇徳上皇
 一の谷の戦いから壇ノ浦の戦いまでの、源平争乱 : 安徳天皇 対 後白河法皇(上皇)

過去にもあったこのような権力闘争の構図に、尊氏は持ち込むことに成功した、これにより、権力闘争の潮の流れが大きく変わったと、太平記作者は、解釈・記述しているのであろう。

太平記では、尊氏が院宣を獲得したのは、宮島(厳島神社のある)である、とされているのだが、

[書A]の141Pの注には、

 「保暦間記には持明院の院宣が筑紫に到来といい、梅松論では尊氏が筑紫へ逃れる際備後の鞆に泊まった時、院宣到来という。」

とあり、

[書A]の113Pの注には、

 「梅松論では豊島河原合戦の後に、二月十一日、赤松円心の忠告で持明院の院宣を頂くよう願い出たが、尊氏は西走して鞆津でこれを請けたとある。」

とあり、

[書B]の295Pの注には、

 「『梅松論』下では、院宣は尊氏が九州へ逃れる際、備後の鞆で拝受したとする。」

とある。

このように、尊氏が院宣を獲得した場所については、[筑紫](保暦間記)、[鞆の浦](梅松論)、[宮島](太平記)と、「諸説あり状態」のようだ。

訳者としては、その場所が[鞆の浦]であったとしたら、おもしろいストーリー展開になるのでは、と思う。

訳者は、2017年10月に、[鞆の浦]へ行った。その地に関する様々な事を知った。

[鞆の浦]は、昔は、[潮待ち]をする所であったようだ。

瀬戸内海は、四国の西側と東側で、太平洋につながっているので、満潮の時には、四国の西側と東側で、太平洋から瀬戸内海へ海水が流入してくる。そして、広島県と岡山県の四国に面している沿岸部においては、

 西の方では、潮流は西方から東方へ
 東の方では、潮流は東方から西方へ

となる。その、流れる方向が逆の関係になっている潮流がぶつかる所が、鞆の浦付近であるのだそうだ。

よって、鞆の浦の西方から東方へ行こうとする船は、満潮時には、西方から東方へ流れる潮流に乗っていけるので、鞆の浦までは楽にいけるが、そのまま進んでいってしまうと、鞆の浦から東では、潮流に逆らって航行していかねばならない、ということになる。

そこで、干潮の時まで、鞆の浦に停泊する、すなわち、[潮待ち]をするのである。

干潮になると、鞆の浦より東方においては、潮の流れは、[東-->西]から[西-->東]へと変わるので、その時、鞆の浦から出航すれば、潮の流れに乗って、東方へ航行していける。

鞆の浦の東方から西方へ行こうとする船についても、同様である。

([潮待ち]については、[鞆の浦 潮流 潮待ち]でネット検索して、関連する情報を得ることができた。)

そのような、物理的な潮の流れが変わるのを待つ地である[鞆の浦]に足利尊氏が滞在していた時に、権力闘争の潮の流れを変えるようなもの(院宣)が、尊氏のもとへやってきた、という事になると、なにかとてもおもしろいストーリー展開になるのでは、と思うのだ。

しかしながら、「おもしろい」かどうかということと、それが史実であるかどうか、ということとは、全く別物である。

それから数百年後、織田信長によって京都を追われた室町幕府最後の将軍・足利義昭は、ここ、鞆の浦にやってきて、数年を過ごしたのだそうだ。

もしかしたら、足利義昭は、鞆の浦で、潮の流れ(権力闘争の)が変わるのを、待ち続けていたのかもしれない。

本能寺の変が起こった時、義昭は鞆の浦にいたのだそうだ。

毛利氏が、天下取りの強い意欲を持っていたら、足利義昭のその後も変わっていたかもしれないが、これもしょせん、歴史の「たら・れば」に過ぎない、このような事をいくら考えていっても、意味がないだろう。

([鞆の浦 足利義昭]でネット検索して、関連する情報を得ることができた。)

--------

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


2017年11月17日 (金)

太平記 現代語訳 16-6 児島高徳、新田義貞に呼応して挙兵す

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。

--------

備前(びぜん)国の住人・児島高徳(こじまたかのり)は、昨年の冬、四国から攻め上ってきた細川定禅(ほそかわじょうぜん)と、備前、備中で数回戦ったが、毎回敗退した。

その後、高徳は、山林の中に潜伏しながら、なんとかしてその雪辱をと、新田義貞(にったよしさだ)の中国地方への進軍を待っていた。

「新田軍が船坂山(ふなさかやま:兵庫県・赤穂郡・上郡町-岡山県・備前市)を越えられないでいる」、との情報を得た高徳は、義貞のもとへ密使を送ってきた。

(児島高徳よりの)使者 わが主、児島高徳より、新田義貞殿に、以下のように伝えよ、との、ことですわ、

 「船坂山越えのルートを通って、進軍されると聞いたんじゃが、それは、ホンマですけぇの? あそこは要害じゃけん、それほどたやすぅには、攻め破れんよ。」

 「わし、一計を考えついたんじゃ、こないな作戦、どうじゃろう?」

 「来る18日、わしが、備前の熊山(くまやま:岡山県・赤磐市)で兵を上げる。すると、船坂山をかためとる敵軍の連中らはきっと、熊山の方へ押し寄せて来よるじゃろうから、船坂の方の守備が手薄になる。そこをすかさず、新田殿が突くんじゃ。」

 「新田殿の軍勢を二手に分けて、一方を、船坂山へさし向けてな、ここを攻めるぞっちゅう、勢いを示す。そいでもって、もう一方を、三石山(みついしやま:岡山県・備前市)の南方、そこに、木樵(きこり)が通る道があるんでな、そこを密かに進ませて、三石宿(岡山県・備前市)の西へ出す。そうなりゃ、船坂山におる足利側勢力は、前後を挟まれたような形になってしまうけん、逃げ場が無くなってしまうわ。」

 「そういうグアイに、この高徳が備前国中を巻き込んで挙兵して、船坂山の敵陣を破ってしもぉたらの、中国地方の連中は残らず、朝廷側に帰参してきよるじゃろう。」

 「この作戦で、やってみんかの?」

新田義貞 いやぁ、これは嬉しい事、言ってくれるじゃぁねぇのぉ。

新田義貞 播磨から西の方、長門に至るまで、みぃんな、足利サイドについてしまっててさぁ、頼りになるような事言ってくれるの、誰もいなかったんだよなぁ。児島殿のこの提案、じつに嬉しいよ。

使者 はい!

新田義貞 児島殿のこの作戦プラン、たしかに了解した。帰ったら、よろしく言っといてくれ。

使者 分かりました!

このように、攻勢に打って出る日取りを決めて、密使を高徳のもとに返した。密使は備前に帰り、義貞よりの伝達事項を、高徳に伝えた。

--------

4月17日夜半、児島高徳は、自分の館に火を放ち、わずか25騎だけで出陣した。

急な事ゆえ、国境の外にいる一族たちを召集することも出来ず、近隣の親族たちだけに事の次第を告げたところ、今木(いまき)、大富(おおどみ)、和田(わだ)、射越(いのこし)、原(はら)、松崎(まつざき)の者たちが、取るものも取りあえず馳せ参じてきて、間もなく、児島軍の兵力は200余騎にまでなった。

「夜中のうちに熊山へ登り、四方にカガリ火を焚いて、大軍がたてこもっているかのようにカモフラージュしよう」との作戦をたてていたのだが、「馬は! 鎧は!」と準備している間に、短い夏の夜は程なく明けてしまった。「約束の時刻を違えてはなるまい」という事で、児島軍はそのまま熊山へ登った。

高徳の予想通り、三石と船坂に居る足利側勢力は、児島軍決起の報を聞き、「備前国中に敵が増殖していったら、ゆゆしき事になる、他の事はさしおいても、まずは熊山を落とせ」という事になった。さっそく、船坂と三石を守る兵の中から3,000余騎が、熊山へ向かった。

熊山は、高さは比叡山(ひえいざん)と同じくらいで、山の周囲に7本の道がある。いずれの登山ルートも、山麓近辺では少し険しく、頂上付近でなだらかになる。高徳は、わずかの兵力を7方へ分けて、四方から迫り来る足利側勢力を防いだ。

追い落とせば攻め上がり、攻め上がれば追い落とし、終日戦い続けて時間をかせいだ。

--------

その夜、足利側の石戸彦三郎(いしどひこさぶろう)という、付近の地理に詳しい者が、思いもよらないルートから児島側の守備をかいくぐって熊山に侵入し、山頂の本堂後方の峰で、トキの声を上げた。

児島側は四方の山麓に兵力を分散してしまっていたので、本堂の庭に残るはわずか14、5名だけであった。彼らは、石戸軍200騎の中におめいてかけ入り、火花を散らして戦った。

深山の木々に月光も遮られ、相手が打ちかけてくる太刀スジをも、さだかに見分ける事ができない。

児島高徳 ウッ!

いきなり高徳は、兜の内側を突かれ、馬から逆さまに転落。しめたとばかりに、石戸軍の2人がいっしょになって、首を取らんと迫ってくる。

高徳の甥の松崎範家(まつざきのりいえ)と和田四郎(わだしろう)が、彼らに馳せ合って追い払い、高徳を馬に乗せて、本堂の縁まで運んだ。

高徳は、兜の内側を突かれて重傷を負ってしまった上に、落馬した時に胸を強く踏まれ、目がくらんで意識を失ってしまっていた。本堂に運ばれてからも、彼はただ横たわったままである。

高徳の父・児島範長(こじまのりなが)は、高徳の側に寄りそい、大声で叱咤激励した。

児島範長 おい、高徳、よく聞けよ! 昔、源平合戦時代になぁ、平景政(たいらのかげまさ)は戦っとって、左の目を射抜かれてしもぉたが、それから3日3晩、目から矢も抜かんと、敵に矢を射続けたというでぇ。それに比べて、お前はなんじゃぁ! たったこれしきの傷一つ負っただけで、弱って死んでいくとは、なんとまぁ情けなや。

児島範長 こないな意気地無しのくせして、よぉもまぁ、これほどの一大事、思いついたもんじゃのぉ!

するとなんと、高徳は、たちまち息を吹き返して、ガバと起きあがり、

児島高徳 おい、わしを早ぉ馬に乗せんか! もう一戦して、敵を追い払うんじゃけん。

範長は、大喜び。

児島範長 よぉしよし、これでこいつも死なんじゃろ。さぁみんな、そこらにタムロしとる敵を、追い散らしにかかるとしようや! わしについて来い!

範長はじめ、今木範秀(いまぎのりひで)、その弟・今木範仲(いまぎのりなか)、中西範顕(なかにしのりあき)、和田範氏(わだのりうじ)、松崎範家(まつざきのりいえ)ら主従17人は、石戸軍200騎の中へまっしぐらに突っ込んでいった。

石戸軍は、相手がそれほどの小勢とは気づかなかったのであろう、一戦も交えることなくして、熊山の南側の長い坂を、福岡(ふくおか:岡山県・瀬戸内市)まで退いていった。

かくして、熊山においては、攻める側、守る側、戦を交えず、にらみあいの状態となった。

--------

例の約束の日となった。

新田軍は、脇屋義助(わきやよしすけ)を大将に、梨原(なしがはら:兵庫県・赤穂郡・上郡町)まで進軍し、そこで2万騎の軍勢を3手に分けた。

第1軍は、江田行義(えだゆきよし)が率いる2,000余騎。杉坂(すぎさか:兵庫県・佐用郡・佐用町-岡山県・美作市)へ進み、菅家(かんけ)、南三郷(みなみさんごう)の者らが守っている所を攻め破り、美作国(みまさかこく:岡山県北東部)へ進まんとする。

第2軍は、大江田氏経(おおえだうじつね)を大将とする菊池と宇都宮の軍勢5,000余騎。船坂山へ向かい、敵勢力をそこで遮り留め、カラメ手方面軍が密かに背後へ回り込むのを助けんとする。

第3軍は、伊東大和守(いとうやまとのかみ)がナビゲイター役(注1)をつとめ、頓宮六郎(とんぐうろくろう)、畑時能(はたときよし)、当国・国司代官・範猷(のりみち)、由良新左衛門(ゆらしんざえもん)、小寺六郎(こでらろくろう)、三津澤山城権守(みつざわやましろごんのかみ)以下、300余騎の、わざと少ない人数で編成されている。

--------
(訳者注1)原文では「案内者」。
--------

第3軍メンバーは、轡(くつわ)に紙を巻いて馬の舌根を結わえた後、杉坂方面へ向かった。

杉坂越(すぎさかごえ)の北、三石の南の方に、鹿の通る道が一本あり、彼らはその道へ入っていった。足利側はこの道があることを知らないのであろう、堀も切られず、逆茂木(さかもぎ)も設置されていない。

木が生い茂り、枝が密集している所では、馬から降りて徒歩で行き、極めて険しくて足も止まらぬような急斜面は、馬に乗って駆け下ろす。このようにして、6時間ほどかけて、険しい道をようやく通過し、彼らは三石宿の西へ出た。

はるかかなたに突如出現したこの新田サイド第3軍団を見た足利サイドは、城にこもる勢力も船坂山を守備する者たちも、それがまさか敵軍だとは思いもよらなかった。あまりにも思いがけない方角に出現したからである。「あれはきっと、熊山を攻めていた者らが、帰ってきたのだろう」と考え、驚きもしなかった。

新田サイド第3軍団300余は宿の東方の夷神社(えびすじんじゃ)の前へ押し寄せ、中黒紋の旗を掲げ、東西の民家に放火してトキの声を上げた。

城中の兵力はその殆どを船坂山の守備に割いてしまっている。三石に配置の兵力もみな熊山へ向かってしまっている。足利側には応戦できるだけの兵力はもはや残っておらず、新田側の進出を防ぐ事は不可能であった。

一方、船坂山に配備された軍勢は前後を新田軍に挟まれ、もはや、なすすべも無く、馬や鎧を捨て、城に連なる山の上へ何とかして逃げ登ろうと、大慌てである。

これを見た新田軍は、大手、カラメ手一斉に、「残らずやっつけてしまえ!」と、攻撃にかかった。逃げ場を失った足利サイドメンバーは、ここにかしこに行き詰まってしまい、自害する者100余人、生け捕られる者50余人、という状態になった。

備前(びぜん)国の一の宮・吉備津神社(きびつじんじゃ)の在庁官人(ざいちょうかんじん:注2)、美濃権介助重(みののごんのすけ・すけしげ)は、逃げ場を失って、今まさに腹を切ろうとしていたが、

美濃権介助重 うん、そうじゃ!

助重は、脱いだ鎧をもう一度身に着け、捨てた馬にうち乗って、向かってくる相手軍メンバーの中を推し分けて、播磨国(はりまこく)の方を目指して進んだ。

--------
(訳者注2)国司庁に在勤して事務を行う在地の役人。
--------

助重の行く手を、船坂方面より進んできた新田軍の武士らが遮った。

新田軍メンバーA おい、そこのぉ、いってぇ何者だぁ!

美濃権介助重 わしは、新田軍・カラメテ方面軍のナビゲイター役をおおせつかった者じゃ。戦況を詳しく、新田殿へ報告しようと思ぉてのぉ。

新田軍メンバーB おぉ、そっちの方も大勝利だそうじゃないか。

新田軍メンバーC まことに、めでたい事だなぁ。

新田軍メンバーA さ、早く、新田殿のとこへ行け!

新田軍メンバーらは、道を開いて、助重を通してやった。

やがて助重は、新田義貞の参謀・長浜の前に行き、彼の前にひざまずいて、

美濃権介助重 備前国の住人、美濃権介助重、三石城より降参して参りました。

これを聞いた新田義貞は、

新田義貞 それは殊勝な。

ということで、すぐに、着到(ちゃくとう:注3)に、助重の名が書き加えられた。

--------
(訳者注3)将軍の出征に従軍するメンバーの名字を記録する事を「着到」と言う。
--------

このようにして、助重は多くの人を出し抜いて、命拾いした。これも、とっさの智謀と言うべきであろう。

--------

船坂山の足利サイド守備陣が破れた後、江田行義(えだゆきよし)は、3,000余騎を率いて美作(みまさか)国へ進み、奈義能山(なぎのせ)、菩提寺(ぼだいじ)の2か所の城を包囲した。守備していた者たちはなすすべも無く、馬や鎧を捨てて、城に連なる上方の山へ逃げ登って行った。

一方、脇屋義助(わきやよしすけ)は、5,000余騎を率いて三石城を攻め、大江田氏経(おおえだうじつね)は2000余騎を率いて備中(びっちゅう)国へ進軍し、福山(ふくやま:岡山県・総社市)の城に陣を取った。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


2017年11月16日 (木)

太平記 現代語訳 16-5 新田軍、中国地方へ進軍

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。

--------

やがて、新田義貞(にったよしさだ)は病癒え、5万余騎を率いて中国地方へ出発した。

後続部隊の到着を待って、播磨(はりま)の加古川(かこがわ:兵庫県・加古川市)に4、5日逗留しているうちに、宇都宮公綱(うつのみやきんつな)、城井冬綱(きいふゆつな)、菊池武季(きくちたけすえ)が率いる3,000余騎が到着。その他、摂津(せっつ)、播磨、丹波(たんば)、丹後(たんご)の勢力も思い思いに馳せ参じてきて、新田軍の兵力は6万余騎になった。

その後、赤松円心(あかまつえんしん)がこもっている城を攻めようということで、新田軍は、斑鳩宿(いかるがしゅく:兵庫県・揖保郡・太子町)まで進んでいくと、円心が小寺藤兵衛(こでらとうべえ)を使者として送ってきた。

小寺藤兵衛 わが主、赤松円心より、新田殿に次のように申し伝えよ、とのことですわ。

 「赤松円心、不肖の身とはいいながら、元弘(げんこう)年間の初め、大敵なる鎌倉幕府に抗して立ち上がり、逆徒・北条氏を攻め退けた。ゆえに、自分こそは忠節第一の人間やと、自負しとった。ところが、いただいた恩賞はと言えば、幕府側から降参してきた不義の輩のそれよりも少いやないか! それがどうしても納得いかんかったんで、一時の恨みにかられて足利の味方をしてしまい、それまで積んできた大いなる功績を、帳消しにしてしもぉた。」

 「しかしながら、故・護良親王(もりよししんのう)殿下よりいただいた御恩は、末々までも忘れることはできひん・・・朝廷の敵に与したのも、心底からの恨みがあってのもんやない。」

 「そこで、いっちょ相談したいんやが・・・播磨・・・播磨国の守護職にだけでもえぇから、綸旨(りんし)に任命書を添えて、朝廷から任命してもろぉたら、以前のように朝廷側に帰参して、忠節を尽くそうと、思とぉんやがなぁ・・・どうやろ?」

新田義貞 そっかぁ、そんな事、言ってんのか、赤松は。

新田義貞 播磨の守護職ねぇ・・・うん、まぁ、問題ねっかぁ。

義貞は、すぐに京都へ急使を送り、守護職補任の申請を行い、綸旨を得た。

ところが、その使者が播磨と京都間を往復している10余日の間に、円心は、城の防備をかためてしまった。

義貞から送られてきた綸旨を見て、円心は、

赤松円心 播磨の守護職に任命したるやとぉ・・・ナニ言うとぉ、守護職はおろか、国司職までもなぁ、足利将軍殿から、とっくの昔に任命してもろてるわい。いつひっくりかえるか分からんような、あてにならん綸旨なんか、いらん、いらん! はよ、持って帰れ! ワハハハ・・・。

これを聞いた義貞は、

新田義貞 いってぇなんだと思ってやがる、おそれおおくも陛下からいただいた綸旨だぞぉ! 臣下の分際で、陛下をないがしろにするとは、けしからん!

新田義貞 恨みを抱いて朝敵の身になったってなぁ、天の下に生きながら、天命に逆らえるとでも、思ってんのかぁ!

新田義貞 よぉし、そっちがそのつもりだったら、おれだってなぁ。

新田義貞 赤松の城、落としてやる! 何か月かかったっていい、絶対に落としてやる。あの城、落としてからでないと、おれは先に進まぁん!

義貞は、6万余騎の軍勢をもって、白旗(しらはた)城を百重千重に包囲し、昼夜分かたず50余日、息もつがずに攻め続けた。

--------

白旗城がある地は、四方すべて険阻な地形で、人間が登っていけそうな所ではない。城中には、水も食料もたっぷりと備蓄がある。そのような所に、播磨、美作(みまさか)の弓の巧者が、800余人もたてこもっているのである。

攻めても攻めても、新田サイドは、徒らに死傷者を出していくばかり、赤松サイドはびくともしない。

脇屋義助(わきやよしすけ)は、義貞に、

脇屋義助 なぁ、アニキィ・・・このままじゃぁ、ちょっと、まずいんじゃぁなぁいぃ?

新田義助 ・・・。

脇屋義助 おれ、なんだかさぁ、数年前のあれが思い出されて、しょうがないんだよなぁ。

新田義助 あれって、なんだい?

脇屋義助 ほら、鎌倉幕府の滅亡寸前の、あの頃の事さ。

新田義助 ・・・。

脇屋義助 楠正成(くすのきまさしげ)が、金剛山(こんごうさん)の千剣破城(ちはやじょう)に、たてこもってたろ? あの城に、日本国中のもんらが総がかりで攻めかかってったけどさ、どうにもならなかったよな。そこからやがて、天下が覆っていったってわけさぁね。

脇屋義助 あの城一つにこだわっちゃったこと、北条サイドの連中らにしてみりゃ、いくら悔やんでも悔やみ切れなかったんじゃぁ、ないかなぁ。

新田義助 うーん・・・。

脇屋義助 おれたちも今、同じような状況なんじゃないかなぁ。わずか小城一つにかかずらって、いたずらに日を送ってたんじゃぁ、そのうち、こっちの食料は乏しくなっていく、赤松サイドは、ますます勢いづいてきやがるよ。

脇屋義助 それにさぁ、足利尊氏(あしかがたかうじ)は、もうすでに、筑紫はじめ九州全域を支配下に収め、やがて京都へ向かって進軍するってな情報もあるじゃん? だとしたらだよ、あいつがやって来ねぇ先に、備前(びぜん)、備中(びっちゅう)の足利側勢力をやっつけて、安芸(あき)、周防(すおう)、長門(ながと)の勢力をこっちサイドに引き込んでしまわないと・・・そうでないと、非常に、まずい事になっちまうよ。

新田義助 だよなぁ・・・だけどなぁ・・・。

脇屋義助 うん、だけどなぁ、なんだよね。せっかくここまで攻めた城なのに、落とさないままで引き下がっちゃったんでは、天下の人々の物笑いの種になっちまうよねぇ。

新田義助 ・・・。

脇屋義助 こういうの、どうかな? 軍勢を少しだけここに残した上で、残りの全軍を、船坂山(ふなさかやま:兵庫県・赤穂郡・上郡町-岡山県・備前市)へ進め、まずは山陽道を制圧して、中国地方の勢力を味方につける。その後、筑紫へ軍を進める。

新田義助 いいね、それ!

というわけで、新田義貞は、宇都宮と菊池の軍と共に、伊東大和守(いとうやまとのかみ)、頓宮六郎(とんぐうろくろう)に道案内をさせながら、2万余騎を率いて船坂山へ向かった。

--------

船坂山は、山陽道第一の難所である。峯が峨々(がが)と聳(そびえ)立つ中に、一本の細い道が通っているだけ。谷は深く、石は滑らか、雲霧が立ち込めて薄暗い中に、羊の腸のごとく曲がりくねった道を上ること20余町。「一夫、怒って道を塞がば、万人、そこを通過すること難し(注1)」と言うべきか。

--------
(訳者注1)原文:「若(もし)一夫(いっぷ)怒(いかって)臨関(かんにのぞめば)、萬侶(ばんりょ)難得透(とおることをえがたし)」
--------

このように険しい地形の所に、さらに、岩石を穿(うが)って細橋を渡し、大木を倒して障害物にしている。これでは、たとえ百万騎の軍勢でかかってみても、そこを攻め破れようとは、到底思えない。

さすがの勇猛果敢な菊池、宇都宮の軍勢も、山麓に控えるばかりで前進できず、案内の任に当る伊東、頓宮の者たちも、ただ山を見上げるばかりで、徒に日は過ぎていく。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

2017年11月15日 (水)

太平記 現代語訳 16-4 各地で、足利サイド勢力、決起

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

足利尊氏(あしかがたかうじ)が九州へ逃走した後、四国や中国の足利サイドの人々は呆然自失(ぼうぜんじしつ)状態になってしまい、進退窮してしまった。あるいは山林の奥深く身を隠し、あるいは縁故を頼って新田義貞(にったよしさだ)に所領安堵をしてもらい、というような状態であったから、その時すぐに、義貞が中国地方へ軍を進めておれば、一人残らず降参していただろう。

しかし・・・。

ここに、ある女人がいた。

彼女は、御所に勤務する勾当内侍(こうとうのないし:注1)職にあり、「当世天下第一の美女」との誉れ高き人。義貞はなんと、彼女を後醍醐天皇から賜ってしまったのである。

--------
(訳者注1)内侍職の筆頭。
--------

新田義貞 (内心)あぁ、この女人(ひと)は、なんて素晴らしいんだろう・・・1分も、いや、1秒たりとも、離れていたくない、24時間365日、ずっといっしょにいたい・・・この女人を残して遠征に出るだなんて、そんな悲しい事、出来るわけないだろう。

このようなわけで、朝廷側の中国地方への派兵は、3月末までずるずると遅延してしまったのであった。あぁ、またしても、例の「美女起因性・国家危機」が・・・。(注2)

--------
(訳者注2)原文:「誠(まこと)に傾城(けいせい)傾国(けいこく)の験(しるし)なれ」
--------

そうこうしているうちに、丹波国(たんばこく:兵庫県東部+京都府中部)では、久下(くげ)、長澤(ながさわ)、荻野(おぎの)、波々伯部(ははかべ)たちが、仁木頼章(にっきよりあきら)を大将に仰いで高山寺城(こうさんじじょう:兵庫県・丹波市)にたてこもり、播磨国(はりまこく:兵庫県南西部)では、赤松円心(あかまつえんしん)が、白旗峯(しらはたみね:兵庫県・赤穂郡・上郡町)に城郭を構え、朝廷側の中国地方への進軍を阻止する動きを見せ始めた。

美作国(みまさかこく:岡山県北部)では、菅家(かんけ)、江見(えみ)、弘戸(ひろと)の者らが、奈義能山(なぎのせやま:岡山県・勝田郡・奈義町)と菩提寺(ぼだいじ:岡山県・勝田郡・奈義町)に城を構えて国中を制圧。

備前国(びぜんこく:岡山県東部)では、田井(たい)、飽浦(あくら)、内藤(ないとう)、頓宮(とんぐう)、松田(まつだ)、福林寺(ふくりんじ)の者らが、石橋和義(いしばしかずよし)を大将に仰いで、甲斐河(かいかわ:場所不明)、三石(みついし:岡山県・備前市)の2か所に城を構えて、海路と陸路の双方を抑えにかかった。

さらに備中国(びっちゅうこく:岡山県西部)では、庄(しょう)、真壁(まかべ)、陶山(すやま)、成合(なりあい)、新見(にいみ)、多地部(たちへ)の者らが、勢山(せやま:岡山県・倉敷市)を塞ぎ、鳥も飛べないような防衛ラインを構えた。

これより以西、備後(びんご:広島県東部)、安芸(あき:広島県西部)、周防(すおう:山口県南部)、長門(ながと:山口県北部)は言うに及ばず、四国、九州全域において、「もうこうなったら、足利サイドに参加するしかないだろう」ということで、足利尊氏に気脈を通じていなかった者たちまでもがこぞって、足利陣営に、という情勢になってきた。

--------

方々の城郭や国々における足利サイド勢力の決起の知らせが、続々と京都へ伝えられてくる。

「東の方面までも、敵の支配下になってはまずい」ということで、朝廷はまず、北畠顕家(きたばたけあきいえ)を鎮守府将軍(ちんじゅふしょうぐん)に任命して東北地方へ下向させた。次に、新田義貞に、16か国(注3)の軍事権を与え、足利尊氏追討の命令を下した。

--------
(訳者注3)山陽道8か国と山陰道8か国。
--------

朝廷からの命令を受けて、まさに中国地方へ出発しようとした義貞であったが、折り悪しく、[おこり病]を患ってしまったので、江田行義(えだゆきよし)と大館氏明(おおたちうじあきら)を、播磨へ先行させた。

彼らが率いる2,000余騎は、3月4日に京都を発ち、同月6日、書写山(しょしゃざん:兵庫県・姫路市)および坂本(さかもと:姫路市)に到着した。

この情報をキャッチした赤松円心は、そこに、新田軍を留まらせてはいかん、と思い、備前・播磨両国の武士たちを率いて、書写山、坂本めがけて進発。

江田行義と大館氏明は、室山(むろやま:兵庫県・たつの市)まで出向いて、それを迎え撃った。

その戦いにおいて、赤松軍は敗北。新田サイド先発軍は勢いづき、「中国地方の敵勢力、恐れるに足らず、一刻も早く、本隊の進軍を!」とのゲキ(檄)を、京都へ送った。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


2017年11月14日 (火)

太平記 現代語訳 16-3 多々良浜の戦い

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

小弐妙慧(しょうにみょうえ)の居城が落城して、一族若党165人は全員一所で討たれてしまい、兵力が増大した菊池(きくち)軍は、多々良浜(たたらはま:福岡市・東区)に押し寄せていった。

足利尊氏(あしかがたかうじ)は、香椎宮(かしいぐう:福岡市・東区)の丘に登り、はるかかなたの菊池軍を遠望した。

足利尊氏 (内心)見たところ、菊池軍の兵力は4万騎から5万騎。それに対して、こちらは300騎ほど、そのうち半数程は、馬も無し、鎧も着けず、か・・・。

足利尊氏 こんなわずかな兵力でもって、あんな大軍に立ち向かうのは、いわば、大きな蟻が大木を揺り動かそうとするようなもの、カマキリが流れてくる車を止めようとするようなもの・・・。なまじっか戦なんかして、つまらない敵の手にかかって死ぬより、今ここで、腹を切ってしまった方がよっぽどましだなぁ。

それを聞いて、足利直義(あしかがただよし)は、兄を強く諌めていわく、

足利直義 兄上、何てぇ事を! 戦の勝負は必ずしも、兵力の多い少ないによって決まるもんじゃないでしょう!

足利尊氏 ・・・。

足利直義 過去の歴史の事例を振り返ってみてくださいよ。古代中国において、漢の高祖(こうそ)が、栄陽(えいよう)の包囲を破って脱出したときに、彼のもとにいたのは、たったの28騎。でもその後ついに、項羽(こうう)の百万の軍勢を倒して、天下を取った!

足利直義 わが国の最近の歴史にだって、同じような事例があるじゃないですか、ほら、あの、源頼朝(みなもとのよりとも)公。土肥(とひ)の杉山(神奈川県・足柄下郡・湯河原町)で戦に負けて、倒木の洞(うろ)の中に隠れた時、いっしょにいたのは、わずか7人。でも、頼朝公は平氏一門を滅ぼし、公の子孫は、将軍の位を継いでいった。

足利直義 28騎でもって百万騎の包囲から逃れたのも、7騎でもって倒木の下に隠れたのも、臆病ゆえに命を捨てれなかった、というのではない、天運が良き方向に転じる時を期待しての事だった。

足利直義 敵の兵力は膨大だけど、我々サイドの300余人は、皆ここまで、我々兄弟についてきてくれた者たちなんだ。これから先の我々の運命を、とことん見届ようと、覚悟かためた一騎当千の勇士たちだ。敵に背中を見せる者なんか、ただの一人もいやしない! この300騎が心を一つにすれば、必ず、敵を追い払える!

足利直義 兄上、早まって、自害なんかしないでくださいよ! まずは私が、敵に馳せ向かって、一戦してみますからね。

このように言って、直義は、香椎宮を出発した。

彼に従うは、仁木義長(にっきよしなが)、細川顕氏(ほそかわあきうじ)、高師重(こうのもろしげ)、大高重成(だいこうしげなり)、南宗継(みなみむねつぐ)、上杉重能(うえすぎしげよし)、畠山国清(はたけやまくにきよ)をはじめ、大友(おおとも)、嶋津(しまづ)、曽我(そが)、白石(しろいし)、八木岡(やぎおか)、饗場(あいば)ら、合計250騎。

3万余騎の相手に懸け合わさんと意気高く、自らの命を塵芥(じんかい)のごとく思うその心、まことにあっぱれである。

直義が旗を立てる準備をしながら社壇の前を通り過ぎていく時に、一つがいのカラスが、杉の葉を一枝くわえて飛んで来て、彼の兜の上へ、それを落とした。

直義は、馬から降りてその杉の葉を手にとり、

足利直義 おいおい、みんな見ろよ、これ! サイン(合図)だよ、サイン、香椎宮の神様からの・・・おまえら、助けてやっぞって、神様は、言ってくださってんだ。

直義は、社に向かって礼拝し、その杉の葉を鎧の左の袖に指して、戦場へ向かった。

--------

いよいよ両軍が接近し、まさにトキの声を上げようというその時、

大高重成 尊氏様の陣があまりに手薄なんで、心配になってきました。わし、ここから引き返して、尊氏様のお側をかためます。

重成は、このように言って、引き返していった。その後ろ姿を見ながら、直義は、

足利直義 まったくもう、あいつはぁ! 兄上の陣が手薄なんで、そちらをかためるだとぉ、よく言うよなぁ! そんならそうで、始めっから、兄上の側にとどまってりゃぁいいのに。敵の姿を見てから引き返しやがってぇ、まったくもう、なんて臆病なヤツなんだぁ!

足利直義 おぉい、大高、お前のその5尺6寸の太刀なぁ、5尺ほど切って捨てて、残りを、剃刀にでもしたらどうだぁ!

--------

菊池武敏(きくちたけとし)は、5,000余騎を率いて浜の西方から接近し、開戦の合図の鏑矢を放った。しかし、足利サイドは、矢の一本も射ずになりをひそめ、隙あらば切りかからんと機を窺っている。

その時、誰が射たのか分からない白羽の鏑矢が一本、菊池軍の頭上を超えていった。

鏑矢 シャキーーーーン・・・ヒュルヒュルヒュルヒュル・・・。

その矢はどこにも落ちずにそのまま飛び続けて、人々の視野から去っていった。

足利軍メンバーA おいおい、あれ見たかよ!

足利軍メンバーB 見ぃたともぉ!

足利軍メンバーC ありゃぁ、タダゴトじゃぁねぇよぉ、不思議な事もあるもんだなぁ。

足利軍メンバーD こっちサイドから敵サイドの方へ、飛んでったんだよなぁ、あの矢。

足利軍メンバーE これも、神様のご加護の徴(しるし)だぁ、たのもしいよなぁ!

足利軍メンバー全員 よぉし、やるぜぃ!

両軍対峙し、未だに戦端を開かずというまさにその時、菊池軍の中から一人の武士が、弾かれたように馬を駆ってとび出してきた。黄色がかった鬣(たてがみ)黒き白馬にまたがり、緋色の鎧を着ている。彼は、菊池軍の最前線より3町ほど隔たった地点まで、抜け駆けしてきた。

曽我左衛門(そがさえもん)、白石彦太郎(しろいしひこたろう)、八木岡五郎(やぎおかごろう)の三人は、馬も鎧も無い状態で足利軍最前線にいたが、その武士を見て奮い立った。

白石彦太郎 (内心)よぉし、あいつを馬から引きずり落としてやる!

彦太郎は、武士めがけて接近し、至近距離の位置に飛び込んだ。

武士は、太刀を捨て、脇差しを抜こうと体を反らせたが、バランスを崩して落馬してしまった。

彦太郎はすかさず、武士を押え込み、首を掻いた。そこに走り寄ってきた曽我左衛門は、武士が乗っていた馬に飛び乗り、八木岡五郎は、武士の身体から鎧を剥ぎ取り、自分の身体に装着した。

白石彦太郎の手柄によって、二人も、このように利を得ることができた。

その後すぐに、この三人は、菊池軍サイドへ突入。これを見た、仁木、細川他のメンバーらは、

足利軍リーダーF あの三人を、討たせてはいかぁん!

足利軍リーダーG みんな、ヤツラに続けぇ!

足利軍全員 オォォーッ!

足利軍は全員一斉に、菊池の大軍中に突撃を敢行、ここかしこに、乱戦が展開していく。

仁木義長は、接近してきた菊池サイドの武士5騎を切って落とし、6騎に負傷を負わせ、なおも敵中に踏みとどまり、反り返ってしまった太刀を足で踏んで伸ばして、また敵と切りあい、命ある限りと、戦い続ける。

かくのごとく、足利軍150騎は勇猛果敢、次々と菊池サイドの堅陣を破っていく。相手に百倍するほどの兵力を擁する菊池軍であったが、小勢の足利軍にこのように懸け立てられて、前線の3,000余騎は、多々良浜の干潟上を20余町までも退却した。

--------

カラメ手方面に回った菊池サイドの松浦(まつら)・神田(こうだ)勢は、わずか300騎にも満たない尊氏の近くにいる足利軍を見て、それを大軍であると、錯覚してしまった。

松浦・神田勢リーダーH (内心)こりゃぁ、いかんばい。足利サイドの兵力、2万、いや、3万は、あるとね。

松浦・神田勢リーダーI (磯を打つ波の音を耳にして)(内心)あれはきっと、足利軍のトキの声ぞね。あの声のスゴサから察するに、あちらはえらい大軍だわね。

彼らは急におじけづいてしまい、一戦もせずに、旗を巻き兜を脱いで、足利側に降伏してしまった。

これを見た菊池は、

菊池武敏 (内心)うーん、こりゃぁ、非常にまずかぁ状態になってしもぉたばい。足利側の兵力が大きいならんうちに、退却した方がよか。

ということで、菊池軍は急遽、本拠地の肥後(ひご:熊本県)に退却した。

--------

尊氏はすぐに、一色道献(いっしきどうけん)と仁木義長を肥後に送り込み、菊池側の城を攻めさせた。城は一日も持ちこたえず、菊池軍は、深山の奥に逃げこもった。

次に、肥後の八代城(やつしろじょう:熊本県・八代市)を攻め、そこを守っていた内河彦三郎(うちかわひこさぶろう)を追い落とした。

さらに、多々良浜合戦で重傷を負った阿蘇大宮司・惟直(あそのだいぐうじこれなお)は、肥前国(ひぜんこく:佐賀県+長崎県)小杵山(おつきやま:佐賀県・唐津市)で自害し、その弟・九郎は、不案内な里で道に迷い、在所の農夫に生け捕りにされてしまった。

秋月備前守(あきづきびぜんのかみ)は、太宰府(だざいふ: 福岡県・太宰府市)まで落ちのびたが、一族20余人皆、そこで討たれてしまった。

これらはみな、一軍を率いる大将の地位にあった人々であり、九州地方における足利軍の強敵と成りうる存在であった。しかし、天運はついに彼らには味方せず、このように皆、滅んでしまい、これより後、九国二島(注1)の武士たちは悉く、足利尊氏の命に服するようになった。

--------
(訳者注1)当時の行政区分によるならば、九州地方には11か国があった事になる。すなわち、[九国:筑前(ちくぜん)、筑後(ちくご)、豊前(ぶぜん)、豊後(ぶんご)、日向(ひゅうが)、大隅(おおすみ)、薩摩(さつま)、肥後(ひご)、肥前(ひぜん)]と[二島:壱岐(いき)、対馬(つしま)]。
--------

この足利サイドの、奇跡的なリカバリーの原因はいったい何か?

それは、菊池武敏が不覚を取ったからではない、足利直義の作戦のよろしきにあったのでもない。ようは、足利尊氏の前世において、後に彼を天下の主の地位に押し上げるような善因(ぜんいん)が、蓄積されていたからである。

その良き因の果が現れる時がついに到来し、霊神が擁護の威力を彼に加え給うたがゆえに、思いがけない勝利を手中にし、一時のうちに九州全域が、尊氏に靡くこととなったのである。

--------

大敵と目されていた松浦・神田の者たちが小勢の足利軍を大軍と錯覚し、降伏してきたとの知らせを聞いて、尊氏は、高、上杉家の人々に向かっていわく、

足利尊氏 うまい事を言って、その裏では、相手の破滅を願い、笑顔の奥に、刀を研ぎ澄ます・・・最近の人間の心って、そんなもんだろぉ。

足利軍リーダー一同 ・・・。

足利尊氏 それが証拠に、見てみろよ、小弐のあの最期を・・・。あそこの一族は長年、小弐妙慧(しょうにみょうえ)の恩顧を受けてきた人たちなんだよ、でもあのように、妙慧を裏切って、討ってしまったじゃないか・・・。

足利尊氏 松浦・神田の連中らだって、どんな野心を含んで、一戦もせずに降伏してきたのか・・・。

足利尊氏 誠をこめて信心を捧げたので、神仏が不思議な力を現して下さって、このような事になった、とも、考えられるんだけど・・・いやいや、どうにも、あの連中らの、「小勢を大軍に錯覚した」との言い分・・・やっぱり、怪しいよなぁ・・・。

足利尊氏 いいか、お前たち、あいつらには用心しろよ。心を許しちゃいかんぞ。

足利軍リーダー一同 ・・・。

遥か末座に座していた高師茂(こうのもろしげ)が、進み出ていわく、

高師茂 まことに、殿のお言葉の通り、人の心の測り難きは、天よりも高く、地よりも厚し・・・とは言いながらも、現在のような、重大な局面においては、あまりに人の心を疑かってばかりでは、速やかな成功を得るのは、難しいのではないかと、思うのですが・・・。

足利尊氏 ・・・。

高師茂 彼らが我が軍を大軍と錯覚したのも、それほど不審な事ではありません。歴史上にも、そのような例がございますよ。

高師茂 昔、中国・唐王朝の時代のことです。玄宗皇帝(げんそうこうてい)の左将軍・哥舒翰(かじょかん)は、逆臣・安禄山(あんろくざん)の部下の崔乾祐(さいけんゆう)と、潼関(とうかん)で、戦いました。その時、黄色の旗を差した兵10万余騎が皇帝軍中に忽然と現われ、これを見た崔乾祐は、「敵は大勢なり」と思って、兵を引いて四方に逃散しました。

高師茂 後日、戦勝のお礼を申し上げるために、皇帝勅使が宗廟(注2)に参りましたところ、石人、これは廟に並べてある石製の人形なんですけどね、その両足が泥に汚れ、体中に矢が突き刺さってたんです。そこで、「さては、あの黄色の旗を掲げた兵10万余は、宗廟の神が皇帝軍の兵士と化して、逆徒を退け給うたのであったのか」と、みんな、納得したって言うんです。

--------
(訳者注2)祖先の御霊を祭る場所。
--------

高師茂 我が国にだって、同じような例がありますよ。天武天皇(てんむてんのう)と大友皇子(おおとものみこ)とが天下を争われた時(注3)の事。備中国(びっちゅうこく:岡山県西部)の二萬郷(にまのさと:岡山県・倉敷市)という所で、戦が行われました。その時、天武天皇側はわずか300余騎、大友皇子側は1万余騎。このような兵力差では、戦ってみても勝敗は始めから決しているようなもの。ところがところが、いったいどこからやってきたのか、爽やかなる兵2万余騎が出現、天武天皇側について戦いまして、大友皇子の軍勢を十方へ懸け散らしました。それ以来、その地を、「二萬里(にまのさと)」と呼ぶようになったんです。

--------
(訳者注3)いわゆる「壬申の乱」。
--------

高師茂 周防の内侍(すおうのないし:注4)の歌、

 君が代(きみがよ)は 二萬(にま)の里人(さとびと) 二万人 貢(みつぎ)の献上(けんじょう) 絶やす事なく

 (原文)君が代は 二萬の里人 数副(かずそ)えて 絶えず備(そなう)る 御貢物哉(みつきものかな)

は、このような、その土地の歴史を意識してのものなんですよ。

--------
(訳者注4)平安時代の歌人。
--------

このように、高師茂は、中国と日本の過去の事例を引いて、尊氏の武運が天の意に叶っているからこそ、松浦・神田の者らの錯覚が起ったのである、と説明したので、尊氏はじめ、そこにいた人々は皆、歓喜の笑みを浮かべた。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

2017年11月13日 (月)

太平記 現代語訳 16-2 菊池武敏、参戦す

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

肥後国(ひごこく:熊本県)の菊池武敏(きくちたけとし)は、ネッカラの朝廷派であったので、「小弐妙慧(しょうにみょうえ)が足利サイドに援軍を送った」との情報をキャッチして、奮い立った。

菊池武敏 よぉし、小弐のヤツラめ、見とれよぉ。足利のとこに向かう途中ばぁ襲ぉて、討って散らしてやるとよ!

武敏は、3,000余騎を率いて、水木渡(みずきのわたし:福岡県・太宰府市)へ向かった。

そんな事とは夢にも知らない小弐頼尚(しょうによりひさ)は、小舟7隻にめいっぱい配下のメンバーらを同乗させて、まっ先に水木渡を渡り、対岸へ上がった。

小弐の家臣・畔籠(あぜくら)たちは、対岸から舟が戻ってくるのをこちら岸でじっと待っていった。まさにその時、菊池軍が三方から、彼らに襲いかかり、川の中へ追い落そうとした。

畔籠ら150騎は、「もはや逃れがたし」と覚悟を定め、菊池の大軍中に突入して、一人、また一人と、死んでいく。

頼尚は、向う岸からそれを見て、なんとかして彼らを助けたいと思うのだが、目の前の大河は、舟無くしては渡れない。

小弐頼尚 (内心)どっかに、舟ないか、舟、舟!

小弐頼尚 (内心)心から頼りにしとるあいつらが、敵の中で死んでいくのを、ただじっと見てるしかないとは・・・あぁ、無念、無念!

頼尚の願い空しく、ついに近辺に舟は見つからず、畔籠たちは全て、死んでしまった。

頼尚は怒りを忍びながら、尊氏のもとへ向かった。

--------

菊池武敏 やったやったぁ! まずは最初の一戦ばぁ、モノにしたとね。さい先のよかスタート、きれたばい。

菊池武敏 次は、小弐のオンタイの方を、やっつけちゃるとね!

菊池軍は、小弐妙慧がたてこもる内山城(うちやまじょう:福岡県・太宰府市)に押し寄せた。

小弐サイドは、精鋭メンバーをすべて頼尚につけて送り出しており、その過半数が、水木渡で討たれてしまっている。城に残っているのは、わずか300人足らず。これではとても、菊池の大軍を防ぎようがないのでは、と思われた。

しかし、城の守りは意外にかたく、絶壁の下に菊池軍を見下ろして防戦すること数日、菊池サイドは、軍を入れ替え入れ替え、昼夜分かたず十方より城を攻撃するも、小弐サイドの者は一人も討たれず、城中の矢の備蓄もまだ尽きない。このままでは、菊池サイドがいかように攻めようとも、城は持ちこたえるのでは、と思われた。

ところが、小弐一族中のあるグループのメンバーらが、急に心変わりをしてしまった。彼らは本丸を占拠し、そこに中黒紋の旗を掲げ、小弐妙慧のもとに使者を送った。

グループの使者 うちら(我ら)は、少し考える所ばぁあって、朝廷方へ帰参することにしたとね。妙慧殿も、うちらに合流なされますかいのぉ?

妙慧は、使者に対して一言も返答せずに、

小弐妙慧 義の道ばぁ踏み外して、生きながらえるよりも、死んで後生に名誉ばぁ残す、そっちの方が、よっぽど良か。

妙慧は、仏を安置してある堂に走り入り、腹を切って死んでいった。彼の郎等100余人も、堂の縁側に居並び、声を掛け合いながら一斉に腹を切った。彼らのその声は天まで響き、有頂天(うちょうてん:注1)までも届いたのでは、と思われたほどであった。

--------
(訳者注1)原文では「非想非々想天(ひそうひひそうてん)」となっているが、これは「有頂天(うちょうてん)」の別称である。

[仏教辞典 大文館書店]の[有頂天]の項には、以下のような解説がある。

「非想非非想処の異名。三界(欲・色・無色)を九地に分ち、此の天は無色界(むしきかい)の最上天であるから、有(三有・二十五有)の頂なる意味でいう」。
--------

小弐妙慧の末子で僧侶の宗応蔵主(そうおうぞうす)は、雨戸を踏み破って薪に積み、その上に父の遺体を安置した後、荼毘(だび)の辞を朗唱した。

宗応
 広々とした青空に 風すがすがしく吹き渡り 月の光は 明らかに輝いている
 ここに わが父妙慧が み仏の世界を求めて 旅に発(た)つ事を 思う
 白刃(はくじん)を踏んで 身を転じ行く
 荼毘の儀においては 燃え盛る火も 一段と涼しい

 (原文)
 萬里(ばんりの)碧天(へきてん)風高(かぜたかく)月明(つきあきらけし)
 為問(ためにとう)慧公(えこう)行脚事(あんぎゃのこと)
 踏翻白刃(はくじんをとうほんして)転身行(みをてんじてゆく)
 下火云(あこいわく)猛火重焼(もうかかさなりもゆ)一段清(いちだんきよし)

宗応によって点ぜられた火は燃え上がって、妙慧の遺体を包んでいった。そして宗応もまた、その炎の中に飛び込んで、父と共に死んでいった。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


2017年11月12日 (日)

太平記 現代語訳 16-1 足利兄弟、九州・多々良浜に上陸

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)

この現代語訳は、原文に忠実なものではありません。様々な脚色等が施されています。

太平記に記述されている事は、史実であるのかどうか、よく分かりません。太平記に書かれていることを、綿密な検証を経ることなく、史実であると考えるのは、危険な行為であろうと思われます。
--------

建武(けんむ)3年(1336)2月8日に、足利尊氏(あしかがたかうじ)は兵庫(ひょうご:兵庫県・神戸市・兵庫区)から九州へ向けて転進、その時、彼に従った兵はわずかに7千余騎であった。

備前(びぜん:岡山県東部)の児島(こじま:岡山県・倉敷市)に到着の後、「京都から追討軍がやってきたら、三石(みついし:岡山県・備前市)のあたりで、対抗せよ。」との命を下し、斯波氏頼(しばうじより)に、田井(たい)、飽浦(あくら)、松田(まつだ)、内藤(ないとう)の勢力をつけてそこに止めた。

さらに、「関東方面の守りが気がかりだから」ということで、細川定禅(ほそかわじょうぜん)と細川義敦(ほそかわよしあつ)を、関東へ派遣した。

多くの軍勢リーダーが、各々いとまを申し出て各自の領地に帰ってしまったので、今や尊氏のもとにいるのは、高(こう)、上杉(うえすぎ)、仁木(にっき)、畠山(はたけやま)、吉良(きら)、石塔(いしどう)のメンバーたちと、武蔵(むさし)相模(さがみ)からやってきた武士たちだけになってしまった。

やがて一行は、筑前国(ちくぜんこく:福岡県北部)の多々良浜(たたらばま:福岡県・福岡市)の湊に到着した。

総勢わずかに500人足らず、打出(うちで)と瀬川(せがわ)の戦で矢を使い果たしてしまい、馬や鎧はすべて、兵庫(ひょうご)・西宮(にしのみや:兵庫県・西宮市)から船に乗った時に、遺棄(いき)してしまっている。

足利軍メンバーA (内心)あーぁ、もう、精も魂も尽き果てちまったよぉ。

足利軍メンバーB (内心)おれたち、言ってみりゃぁ、車の轍(わだち)の跡に溜まった泥水の中にあえいでる魚みてぇなもんだなぁ。

足利軍メンバーC (内心)逃げ場を失った末に、猟師の懐に入らんとする鳥ってとこかぁ。

足利軍メンバーD (内心)見知らぬ地で宿を探し、気心も知れねぇやつのもとに身を寄せ。

足利軍メンバーE (内心)朝の食事にことかいて、飢渇(きかつ)に苦しみ。

足利軍メンバーF (内心)夜は不安で、眠れやしねえ。

足利軍メンバーA (内心)そのうちおいらも、敵側の誰かの手にかかって、死んでいくんだろうなぁ。

足利軍メンバーB (内心)死んだ後も、魂は浮かばれず。

足利軍メンバーC (内心)骨は、野ざらしのまま。

足利軍メンバーD (内心)故郷をはるか遠く離れたこの地にて、望郷の鬼となりはてるのか・・・。

足利軍メンバーE (内心)明日の命もおぼつかない。

足利軍メンバーF (内心)あーぁ、なさけない、やだやだぁ・・・。

このように皆、落ち込んでいる所に、宗像(むなかた)神社(福岡県・宗像市)の大宮司(だいぐうじ)・氏範(うじのり)の使者がやってきていわく、

使者 わが主が、こんように申しとります。

 今、足利様がおられるあたりは、あまりにも土地が狭く、軍勢が逗留(とうりゅう)するに適当な宿所も無か。おそれながら、わが陋屋(ろうおく)へお移りになられませんか? こちらでしばらく、先日からお疲れのおからだ(身体)を休めてリフレッシュされ、そん後、諸方面へ将軍召集令状ばぁ送り、軍勢ばぁ編成されては、いかがでしょう?

足利尊氏 よし、分かった。

尊氏らはすぐに、宗像の館へ移動した。

翌日、尊氏は、南宗継(みなみむねつぐ)と豊田光顕(とよたみつあき)を、小弐妙慧(しょうにみょうえ)のもとへ送り、援軍を要請した。

妙慧は、即断即決し、ただちに、嫡子・頼尚(よりひさ)に若武者300騎を添えて、尊氏のもとへ向かわせた。

太平記 現代語訳 インデックス4 (その中に [主要人物・登場箇所リスト]へのリンクもあり)


太平記 現代語訳 インデックス4

太平記 現代語訳 総インデックス

主要人物・登場箇所リスト

-----------------------------
第16巻

16-1 足利兄弟、九州・多々良浜に上陸

16-2 菊池武敏、参戦す

16-3 多々良浜の戦い

16-4 各地で、足利サイド勢力、決起

16-5 新田軍、中国地方へ進軍

16-6 児島高徳、新田義貞に呼応して挙兵す

16-7 足利軍、九州から京都へ向かう

16-8 福山城攻防戦

16-9 新田軍、兵庫へ退却

16-10 楠正成、兵庫へ向かう

16-11 足利軍、海陸双方より兵庫へ迫る

16-12 本間孫四郎、遠矢を射る

16-13 経島の合戦

16-14 湊川の戦 楠正成と楠正季、自害す

16-15 新田軍、生田森で、足利軍を迎撃

16-16 小山田高家、青麦を刈る

16-17 御醍醐天皇、延暦寺へ避難

16-18 光厳上皇、東寺へ

16-19 日本の朝敵について

16-20 楠夫人、楠正行を諭す

-----------------------------
第17巻

17-1 足利軍、延暦寺を攻める

17-2 京都、再び戦火の渦中に

17-3 延暦寺、興福寺に対して、連合軍結成の勧誘檄文を送る

17-4 四条隆資軍、八幡より京都に攻め寄せる

17-5 新田義貞、足利尊氏に対して一騎打ちを挑む

17-6 延暦寺衆徒、近江方面へ軍を進める

17-7 足利尊氏の調略、功を奏し、天皇側陣営あえなく崩壊

17-8 後醍醐天皇、新田義貞に恒良親王を託す

17-9 天皇軍メンバー、比叡山を後に

17-10 後醍醐天皇、花山院に幽閉される

17-11 新田軍、地獄を行く

17-12 脇屋義助、杣山への入城ならず、金崎への帰還を目指す

17-13 新田軍、計略をもって、金崎城の囲みを解く

17-14 金崎の船遊び

17-15 足利軍、再び金崎城を攻める

-----------------------------
第18巻

18-1 後醍醐天皇、京都を脱出し、吉野へ

18-2 高野山と根来山の確執

18-3 瓜生兄弟、新田陣営へ

18-4 瓜生兄弟、奮戦するも・・・

18-5 瓜生兄弟の母、脇屋義治をなぐさめる

18-6 金崎城、ついに落ちる

18-7 尊良親王と奥方の悲しい運命

18-8 玄慧、熱弁をもって、延暦寺を廃絶の危機から救う

-----------------------------
第19巻

19-1 天皇位、持明院統の手中に

19-2 足利兄弟、政権を掌握

19-3 新田義貞、再起して、越前国府を攻略す

19-4 恒良親王と成良親王の最期

19-5 国内各所において、御醍醐天皇サイド勢力、次々と蜂起

19-6 北条時行、後醍醐天皇サイドに加わる

19-7 北畠顕家、大軍を編成して、奥州より関東へ進撃す

19-8 北畠軍、鎌倉を攻略の後、京都へ向かう

19-9 青野原の戦

-----------------------------
第20巻

20-1 新田軍、越前国の完全制圧を目指す

20-2 越後の新田勢力、越前へ向かう

20-3 後醍醐天皇、新田義貞に上洛を促す

20-4 新田義貞、延暦寺に同盟勧誘文を送る

20-5 高師直、八幡に焼き討ちをかける

20-6 新田義貞、再び足羽城攻めを計画

20-7 新田義貞に示された不思議

20-8 義貞の乗馬、暴れる

20-9 新田義貞の最期

20-10 脇屋義助、兄の弔い合戦を志すも叶わず

20-11 新田義貞と勾当内侍

20-12 吉野朝廷、奥州に拠点確立を図る

20-13 結城道忠、地獄に堕ちる

2017年11月10日 (金)

旧古河庭園 東京都 2017年11月

2017年11月に、旧古河庭園 に行きました。

----------

JR[駒込駅] から、徒歩で行きました。

入り口から入ると、西洋風の建物がありました。

P1
P01

P2
P02

入り口でもらったパンフレットには、「天然スレートぶきレンガ造り。外壁は真鶴産の赤味をおびた新小松石(安山岩)で仕上げられており、雨にぬれると落ち着いた色調をかもしだします。」とあります。

P3
P03

P4
P04

P5
P05

洋館の周囲にある庭園には、様々な種類のバラがありました。

P6
P06

P7
P07

入り口でもらったパンフレットによれば、この洋館と洋風庭園を設計したのは、[ジョサイア・コンドル]なのだそうです。

ジョサイア・コンドルは、イギリス人、ロンドン生まれ(1852年)。

1877年に、明治政府より招かれ、日本へ。工部大学校(現・東京大学工学部建築学科)の教師、工部省営繕局の顧問に。

彼が設計した建造物は、現在も残っているようです。ネットで調べて、下記の建造物がコンドルの設計によるものであることが、分かりました。

[旧岩崎邸庭園洋館]、[三菱開東閣]、[綱町三井倶楽部]、[桑名市六華苑]、[旧島津公爵邸(清泉女子大学内)]

日本史の授業で出てきた [鹿鳴館]も、コンドルの設計によるものなのだそうです。

彼は、河鍋暁斎に師事して日本画を学んだのだそうです。

[河鍋暁斎 ジョサイア コンドル]、[丸の内 ジョサイア コンドル]等でネット検索して、関連する情報を得ることができました。

-----

旧古河庭園の中には、日本庭園もありました。

P8
P08

P9
P09

P10
P10

P11
P11

P12
P12

P13
P13

P14
P14

P15
P15

P16
P16

この日本庭園を作庭したのは、[小川治兵衛](七代目・植治)。

京都には、小川治兵衛が作庭した庭が、多くあります。知名度の高いと思われるものでは、

 [円山公園]、[平安神宮]の庭園、[無鄰菴](山縣有朋の別邸)の庭園、といったところでしょうか。

「第二無鄰菴」、あるいは、「高瀬川源流庭苑」と称される庭園も、あります。

[京都 白河院](旅館)の庭も、彼による作庭です。

[野村別邸 碧雲荘]等の、南禅寺の付近にある別荘の庭の中にも、彼によって作庭されたものがあります。

東京にあるこの庭園の作庭までも、依頼されたというのだから、当時の彼の名声は、絶大だったのでしょう。

小川治兵衛が作庭したものの中には、[枯山水](禅宗寺院に多くあるような)ではないものが、多数あります。庭の中には、仮想の流れ(枯山水の庭にあるような)ではなく、実際に水が流れている、という庭が多数あります。

実際に水を流すとなると、水源をどうやって確保するか、ということが重大な問題となってきます。

庭園の為の水源の確保という事について、おもしろい話が、[徒然草]の中にあります。(徒然草 第51段)

京都の嵐山の大堰川(桂川)の側に、亀山殿という御殿を造ることになった。そこで、庭と池を作ろうということになった。その水源を確保するために、大堰川から水を取水しようということになった。そこで、その周辺地域の住民たちに、水車を作らせようとした、というのです。

この「水車」は、穀物を脱穀したりするための水車ではなく、[揚水水車]の類のものだったのでしょう。自動的に、川や水路から水をくみ上げて田に水を流し入れることができるような水車です。

([兵庫県 神河町 新野 揚水水車]等でネット検索していただくと、その具体的イメージが分かるような情報を得ることができるかもしれません。)

ところが、周辺住民たちは、水車をなかなか作ることができない。なので、宇治の人々を嵐山へ来させて作らせたら、難なく作ってしまった、というのです。

おそらく、亀山殿が建設された当時、宇治の地では、揚水水車を用いて、灌漑を行っていたと思われます。

南禅寺付近の庭園づくりにおいて、水源確保の問題を一挙に解決したのが、琵琶湖疏水でした。塚本与三次と小川治兵衛は、疏水の水利権を得て、庭園を造っていきました。

[塚本与三次 小川治兵衛 琵琶湖疏水 水利権]でネット検索して、関連する情報を得ることができました。

旧古河庭園においては、造られた当初は、井戸を水源としていたようです。

[旧古河庭園 小川治兵衛 水源]でネット検索して、関連する情報を得ることができました。

-----

この庭園を、東京都が所有しているのだと思っていましたが、実は、国有財産であり、東京都が国から借りているものなのだそうです。

古河家のものであったのだが(「旧古河」の名称は、それに由来)、第二次大戦中、陸軍に接収され、戦後は、GHQ(連合国軍最高司令官総司令部)に接収され、その後、国のものになって、現在に至るのだそうです。

ネットで調べて分かったのですが、この、[旧古河庭園]の中にある、洋風庭園、日本庭園、洋館、これらは全て、[古河虎之助]という人が所有していたのだそうです。

(渡されたパンフレットには、「開園面積 30,780.86平方メートル」とあります。)

この地には、陸奥宗光の別宅があったのだが、宗光の次男・潤吉が古河市兵衛(古河家・第1代目当主)の養子になって古河家・第2代目当主となり、それに伴って、この土地が、古河家が所有するところとなったのだそうです。

陸奥宗光がこの地を手にいれる前には、ここはどのような場所であったのか? ネットで調べてみたが、分かりませんでした。

ネットで調べて、以下のような事が分かりました。

陸奥宗光は、坂本龍馬が組織した海援隊(亀山社中)のメンバーであった。

陸奥宗光は、伊藤博文の内閣において外務大臣に就任し、
  幕末以来の不平等条約である治外法権の撤廃に成功
  日清戦争においては、下関条約の調印において外務大臣としての役割を果たしたが、その後、ロシア、ドイツ、フランスによる三国干渉に直面することとなった

-----

以下、古河家について、ネットで調べて知ったことをもとに、記述します。

[古河虎之助]は、古河家・第3代目当主で、[古河市兵衛]の子。

[古河市兵衛]は、京都市内の岡崎の生まれ。幼少の頃から貧乏暮らしで苦労を重ねた。ビジネスの才に恵まれ、生糸貿易で大儲け。その後、鉱山経営へ転じて、足尾銅山を経営。

江戸時代から銅の採掘が行われていた足尾銅山は、当時、生産性が極めて低い状態であったが、大鉱脈が発見されて銅の生産高が急上昇、市兵衛は大成功を収めることとなった。

([古河市兵衛 足尾銅山]でネット検索して、関連する情報を得ることができました。)

しかし、足尾銅山は、大きな問題(公害)を引き起こした。([足尾銅山鉱毒事件])

この公害の主要な原因は、下記の2つと思われる:(他にも、原因があるのかもしれない)

(1)鉱毒ガスの放出

銅の精錬に伴って発生する鉱毒ガス(主成分は二酸化硫黄)を、大気中に放出してしまったことにより、周辺の植物にダメージを与えてしまった。その結果、周辺の山々の樹木が枯れてしまい、山々の保水力の低下、斜面の地盤崩壊等の問題を引き起こしてしまった。

銅を得るための原材料は、地中から掘り出された各種の銅の鉱石である。イオウ元素を含む種類の鉱石が多いので、それらの鉱石から銅を得る過程において、イオウ元素を除去する何らかの工程が必須となるが、その結果、イオウ(鉱石から除去された)の化合物が排出されることになる。イオウの化合物が、亜硫酸ガス(二酸化硫黄)の形で排出されると、大問題となる。二酸化硫黄は、人間にとっても有害な物質だが、植物に対しても有害である。

([銅 鉱石 黄銅鉱 亜硫酸ガス]、[温泉 要注意 火山性ガス中毒 二酸化硫黄]、
[二酸化硫黄 禿山]、[四阪島 亜硫酸ガス]でネット検索して、関連する情報を得ることができました。)

(2)金属イオンの流出

鉱石の採掘、銅の精錬等の作業において、銅イオンなどの金属イオンを、周辺の河川中に流出させてしまった。それらの金属イオンは、渡良瀬川に流れ込み、その流域の農業に被害を与えた。

([銅イオン 渡良瀬川 農業 被害]でネット検索して、関連する情報を得ることができました。)

足尾銅山が引き起こしたこれらの問題は、21世紀の現在も未だに、完全な解決に至っていないようです。

([田中正造 足尾銅山鉱毒事件]、[日本 初 公害 足尾銅山]でネット検索して、関連する情報を得ることができました。)

2017年11月 7日 (火)

コンピューターグラフィックスによる動画制作をやってみました ( Python と OpenCV を使って )

2018.6.24 追記

後述のように、

[Python] と [OpenCV] を使っての動画処理のプログラムの制作結果が、どうも思わしくなかったので(特に、処理スピードの点で)、

制作の方向を変えて、

[Java] と [OpenCV] を使っての動画処理のプログラムの制作を行ってみました。

その結果、

 [Python] と [OpenCV] を組み合わせてプログラムを制作するよりも、
 [Java] と [OpenCV] を組み合わせてプログラムを制作する方が、より良い結果を得られるのではないか、との感触を得ました。

その、[Java] と [OpenCV] を組み合わせてのプログラム制作について、下記に記述しています。よろしければ、そちらの方もご参照ください。(制作したJavaプログラムのソースリストも、記述しています)

開発費用ゼロ コンピューターグラフィックスによる動画制作 Java OpenCV3 Eclipse を使って

開発費用ゼロ コンピューターグラフィックスによる動画制作 (2) Java OpenCV3 Eclipse を使って

----------

コンピューターグラフィックスによる動画制作をやってみました。

映像を、自作のコンピュータープログラムにより、制作しました。

バックグラウンド音楽には、自作曲 [だがっきだだがっきだ, Op.21]を、使用しました。
  (短い動画なので、この曲の序奏部だけ用いています。)

制作した動画を、下記でご覧になることができます。

この動画の格納先URLは、下記です。

https://youtu.be/sMQKNwl8LZA

----------

下記のような、動画制作の作業を行いたいと、思ったのです。

 動画は、静止画が集まったものである。
 よって、[動画・ビフォー]から、静止画を1枚ずつ、順に取り出しながら、
  その静止画に、何らかの加工を行った後
  その静止画を集めて、新たに、[動画・アフター]を作る
 このようにすることにより、[動画・ビフォー]に対して、何らかの加工を施した、[動画・アフター]を制作することができるであろう。

上記の自作の動画を例にとれば、

[動画・ビフォー]:背景にある、流れる川の様子を撮影した動画
 (この動画を、京都市内を流れる鴨川の川原に行って、撮影してきました)
[動画・アフター]:流れる川を撮影した動画と、左から右方向へ移動する物体を合成した動画
 (これらの物体の写真を、京都市内を流れる鴨川の川原に行って、撮影してきました) 

上記のような作業([動画・ビフォー]から、静止画を1枚ずつ、順に取り出しながら・・・)を、手作業でやっていたのでは、時間がいくらあっても足りませんので、コンピューターにやってもらおうと思いました。

そのようなコンピューター処理に関して、ネットでいろいろ調べて、[Python] と [OpenCV] を使って、そのような事をコンピューターにやらせることができそうだ、ということを知りました。(双方ともに、コンピューター・プログラミング言語)

なので、その方向でやってみました。

で、やってみた感想としては、

 このような動画の制作処理には、Python は、あまり向いてないのかもなぁ

という感じです。

下記に、それに関する詳細を述べますが、短期間での調査・制作だったので、私は、Pythonをまだうまく使いこなせていないのかもしれない、だから、下記のような結果になったのだ、という可能性があることを、ご理解した上で、何かの参考にしていただけたら、と思います。

-----

1. Python、使いにくいなぁ、と思ったところ

Java言語(かつて私が使用した)と比較してみると、以下のような点が、使いにくいなぁと感じました。

1.1 処理速度、もっと速くならないかなぁ

前記に述べたような動画の処理を行う際には、コンピューターに、多数回の、繰り返し処理を行わせることになります。

1個の動画は、大量の静止画からできています。

[フレームレート]という言葉があります。[fps]という表記がよく用いられているようですが、これは、[Frame Per Second]の略。すなわち、この動画を1秒間見続けると、人間の目には、何枚の静止画が飛び込んでくる事になるのか、ということを表す数値です。

例えば、FPS=30 の動画を、10秒間、見続けていると、300 ( = 30 × 10 ) 枚の静止画を見続けることになります。

FPS=30 の動画を、1分( = 60秒 )間、見続けていると、1800枚の静止画を見続けることになります。

すなわち、FPS=30 で 長さ 1分間 の動画は、1800枚 の静止画によって構成されている、ということになります。

この静止画1枚(動画を構成している)の中に、例えば、横120ピクセル、縦100ピクセルのサイズの別の静止画(例えば、木の葉を撮影したものとか)を埋め込むためには、その静止画のピクセルを1個ずつ順に調べていかねばなりません(そのピクセルがどのような色になっているのかを)。それを調べ、それと同じ色の点を、動画を構成している静止画の上の適切な位置に埋め込む、というような処理になります。

そのような処理を、12000 ( = 120 × 100 ) 回、繰り返していくことになります。(調べるピクセルの位置を、順に1ずつ、隣のピクセルへ、ずらしながら)

コンピューターは、このような処理を、動画を構成している全ての静止画に対して、エンエンと繰り返し、行ってくれるのであります。(疲れることなく)。

このような多数回の繰り返し処理をコンピューターに行わせのですから、処理時間が問題になってきます。朝、起動したけど、昼になっても終わらず、翌日の未明にようやく終了、なんてことになってしまうかもしれません。

そこで、重要になってくるのが、使用するコンピューターの選定と、使用するコンピューター・プログラム言語の選定です。

私の場合、今回のこの制作のために、新たに高速のコンピューターを買う、という選択肢はありえない、普段、使用しているパーソナル・コンピューターを使用するしか、ありませんでした。

ブログの制作、動画の制作、写真画像の処理等に、普段用いている、ノートパソコン(それほど高価なものではない)を使用するしか、ないのです。

なので、使用するコンピューター・プログラム言語の選択が、極めて重要であったのですが、

 [Python]、もっと速く動いてほしいなぁ

という感じです。

将来、時間的余裕があれば、今回、Python で記述したコンピュータープログラムを、Java言語を使って書き直してみようかな、というような事も思っています。

[Python 速度]、[Python for文 速度]等でネット検索すると、処理速度に関して様々な情報を得ることができるかと思います。

1.2 プログラムの記述量、少なくはならなかったような感じ

Pythonを使ってコンピュタープログラムを記述すると、他の言語を使ってやるよりも、少量の記述量にすることができる、というような情報が、ネット上にあったのですが、今回のこの処理に関しては、そのような事は、感じられませんでした。

Pythonでは、左や右のカッコ("{"  "}"を書かないでいい、それは事実でした。でもその代わりに、":"を、書かねばならないようです。(if文、while文、for文の中に)

動画からの(加工前の)静止画の読み込みや、加工された後の、最終的な動画の書き出しの処理部分は、少量の記述ですみました。しかし、その部分は、[OpenCV]を使用して記述したので、少量の記述ですんだのです、Pythonを使用したからではありません。

Pythonを使用して記述するので、記述量が増える、というような点もありました。行の継続を示すための記述("\")が、必須であるからです。

プログラムを読みやすくするために、数式を記述する際等に、記述の途中で、わざと、改行を施す、というような事を、私は行います。そのような時、各行の末尾に、"\"を必ず記述しなければなりませんでした。うっかり、付け忘れしちゃう事が、多かったです、Pythonにまだ、慣れ親しんでない状態だったので。

1.3 記述ミスしている箇所を、いっぺんに見つけてくれたらいいのになぁ

Pythonを使用してみて驚いたのが、複数の記述ミス箇所をいっぺんに、検出・表示してくれない、という点でした。

 プログラムを起動すると、記述ミスがある行で、ミスが検出されて、処理が止まり、記述ミスの内容を示すメッセージが表示される。

 で、その箇所の記述ミスを修正して、再度、プログラムを起動すると、今度は、別の記述ミスがある行で、ミスが検出されて、また、処理が止まり・・・

といった感じです。

Java言語だと、コンパイルすると、複数個所の記述ミスの内容を示すメッセージを表示してくれるので、それら全ての箇所を修正し、再度、コンパイル、という手順になります。その点において、Pythonを用いてのプログラム制作は、非効率になってしまう可能性があると感じました。修正しては実行、また修正しては実行、というような感じとなり。

1.4 for文、違う、他の言語とは

変数 x を、0 から 10 まで 1 ずつ、数値を増やしながら、処理Aを行う、というような処理をコンピューターに行わせたい時には、下記のように書いたらいいんだろうと思って、書いてみたのですが、

 for x in range ( 0 , 10 ) :
    処理A

処理結果がどうにも、おかしいのです、1回分処理が足りない、で、Pythonのfor文について調べてみたら、

 for x in range ( 0 , 11 ) :
    処理A

と、記述しなければならなかったのだ、という事が分かりました。

C言語や、Java言語での感覚を忘れて、新たなる気持ちでやらねばならない、という事になりましょうか。(ちょっと、大げさかな?)

1.5 メソッドの引数にself必須、まいるなぁ

メソッドの引数には、必ず、"self" を入れなければならない、これも驚きでした。

ついつい、これを入れ忘れ、処理起動したら、エラーで止まり、ということの頻発で、疲れました。(笑)

1.6 System.out.println みたいなのがあると便利なのになぁ

Java言語では、コンピューター画面に何か表示させたい時、

 System.out.println ( "value of var_X = " + var_X ) ;

といったように、手軽に書いてよかったのだけど、Pythonには、これに相当するような、手軽な書き方が無いようです。

-----

2. Python、使いやすいなぁ、と思ったところ

とりあえず、プログラムをちょこっと変えて、やってみる、というような作業には、とても便利だなと、思いました

Pythonを使用して記述したプログラムは、コンパイルしないで、そく、実行できましたので。

新作動画の発表 [物質が行く](コンピューター・グラフィックスにより制作)

ユーチューブ上に、自らが制作した動画1個をアップロードしました。バックグラウンド音楽に、自作曲を使用しました。

映像を、自作のコンピュータープログラムにより、制作しました。

バックグラウンド音楽には、自作曲 [だがっきだだがっきだ, Op.21]を、使用しました。
  (この動画に含まれているのは、この曲の序奏部だけです)

下記でご覧になることができます。

この動画の格納先URLは、下記です。

https://youtu.be/sMQKNwl8LZA

------------------------------------------------------------
私が制作した他の動画を、私のユーチューブチャンネルからご覧いただけます。私のユーチューブチャンネルにアクセスしたい時は、

ここをクリックしてください。

私が作曲した他の音楽作品を、クレオフーガ・サイト上の私のコーナーでお聴きいただけます。それにアクセスしたい時は、

ここをクリックしてください。

« 2017年10月 | トップページ | 2017年12月 »

フォト
無料ブログはココログ