PPTファイルに音声を自動で埋め込む その6 配布用実行ファイル

プログラミング

pptファイルにオーディオデータを埋め込むアプリケーションソフトに機能を追加し,実行ファイルを作成しました。追加した機能は,その4で「今後の予定」として挙げていた4つの機能のうちの,自動アニメーションへのオーディオデータの付加,スクリプト作成補助の機能pptのノート機能の利用,の3つです。

作成したアプリの動作中のGUI画面

これらの機能を追加するのは後回しでもよいと思っていたのですが,結局全部を付け加えてしまいました。考えてみたら,使う上では必要だったからです。

とりあえず一応の機能がそろったので,本来やりたかった「講義資料の整理」の作業に使うための実行ファイルも作成しました。こうしておくと,Pythonをインストールしていない環境でも使うことができます。個人的な事情になりますが,VSCodeを立ち上げていると,ついコードをいじりたくなって時間がつぶれてしまうのですが,それを防ぐこともできます。

実行ファイル

Windows用の実行ファイルと動作検証用のpptxファイルなどをまとめたzipフォルダは,以下のリンクからダウンロードできます。

フォルダの内容

解凍したフォルダはAddAudio2PPTX_testという名前です。下の図のように2つのフォルダ,AddAudio2PPTX,testが入っています。

AddAudio2PPTX_testの内容

AddAudio2PPTXフォルダの中には2つのファイル,AddAudio2PPTX.exeとconfig.iniがあります。

testフォルダには動作確認用のデータが入っています。

    AddAudio2PPTXフォルダの内容               testフォルダの内容

ナレーションフォルダtestの内容

詳しく説明します。

  • AddAudio2PPTXフォルダ
    実行ファイルと設定ファイルが格納されている。
    • AddAudio2PPTX.exe
      実行ファイル
    • config.ini
      設定ファイル。実行ファイルと同じディレクトリに配置する。
  • testフォルダ
    動作確認用のデータとして,以下のファイルとフォルダが格納されている。
    • test.pptx
      動作確認用pptxファイル。アニメーションは設定済み。ノートのテキストは空白になっている。
    • test.txt
      スクリプトファイル。
    • test(音声ファイルのフォルダ)
      音声ファイルと対応するテキストファイルが格納されている。テキストファイルは「かんたん!AITalk 5」が合成の際に自動的に生成したもので,現時点では利用していない。

動作確認をする場合は以下の点に注意してください。

  • 実行ファイルはWindows 11(64bit)環境で作成
  • 音声合成ソフトは「かんたん!AITalk 5」を使用
    「かんたん!AITalk 5」を持っていない場合は,音声合成ソフトの制御機能は使えない。
  • GUI制御をする場合の注意
    「かんたん!AITalk 5」を制御するときは,他のソフトでの作業はしないこと。他のソフトのウインドウにマウスクリックやホットキーの信号が送られ,編集中のファイルなどに予期しない影響を与える恐れがある。
  • 自作のpptxファイルで動作確認する場合はバックアップを取っておく
    ファイル名の設定によっては,大事なデータが上書きされてしまうかもしれない。(コード上は,その可能性はないと考えているが,見落としがあるかもしれない。)
  • 予期せぬ挙動に注意
    「アプリ」としての完成度は低い。例えば,存在しないファイルやディレクトリを対象として設定した場合の挙動など,起こり得るすべての状況を想定した確認はしていない。

動作確認の手順

テスト用のデータに対する処理を例に,使い方を説明します。

  • ⅰ)実行ファイルと設定ファイルの配置
    • AddAudio2PPTXフォルダに入っているAddAudio2PPTX.exeとconfig.iniを,ローカルディスクの適当な場所に配置する。2つのファイルが同じディレクトリ階層にあればよい。
      ただし,C:\Program Filesフォルダの中に入れるのは避けた方がよいだろう。ここに配置して動作させたところGUI画面からアプリを終了できなくなった。
  • ⅱ)動作確認用データの配置
    • testフォルダごと,適当な場所に配置する
  • ⅲ)起動 
    • 起動:AddAudio2PPTX.exeのアイコンをダブルクリックして起動する。

起動画面

メニューバー > ツール > AITalk 5の実行ファイルのパス を起動

  •  「かんたん!AITalk 5」の実行ファイルのパスを指定(初回のみ)
    • 「かんたん!AITalk 5」を使って音声合成をする場合は,初めての起動の際にAITalkの実行ファイルのパスを指定する。通常のインストールでは,パスは
      C:/Program Files/AI/KantanAITalk/KantanAITalkEditor/KantanAITalk.exe
      となっている。
      操作ウインドウの上部のメニューバー > ツール (図の⓪)から“AITalk 5の実行ファイルのパス”を起動することにより,ファイル指定のダイアログボックスが開くので,KantanAITalk.exeを探して選択し,「開く」ボタンをクリックする。
  • ⅳ)ファイルとフォルダのパスをセット
    • オーディオデータを埋め込む対象となるpptxファイル(①)オーディオデータのファイルを格納したナレーションフォルダ(②)プレゼンテーションの台本を記述したスクリプトファイル(③),の3つのパスを,それぞれの“Set”ボタンをクリックして設定する。個別にセットする場合は,Autoチェックボタン④のチェックを外しておく。
      ①,②,③の3つが同じフォルダの同じ階層に格納されていて,しかも拡張子を除いた名称が同じになっている場合は,④にチェックを入れておき,①のpptxファイルのパスだけを設定すれば,②と③は自動でセットされる。(testフォルダをそのまま使う場合は,この条件を満たしている。)
  • ⅴ)オーディオデータの付加
    • “Add audio”ボタン(⑤)をクリックすると,ナレーションフォルダ内のwav形式ファイルがスクリプトに記述された指示に従ってpptxファイルに埋め込まれる。埋め込まれたファイルは,対象としたpptxファイルの名前に“_A”をつけた新しいファイルとしてフォルダ内に生成される。元のpptxファイルは変更されない。
  • ⅵ)オーディオデータの新規作成(「かんたん!AITalk 5」をインストールしている場合のみ)
    • “Make new audio”ボタン(⑥)をクリックすると,オーディオデータの新規作成が開始される。作成されたデータは,ナレーションフォルダの内容を全て削除してから書き込まれる。
  • ⅶ)作成されたファイル/フォルダの確認
    • zip形式で配布した動作確認用ファイルをそのまま使用した場合,フォルダの中には新たに以下のファイルとフォルダが作成される。
      • test_A.pptx:オーディオデータを埋め込んだpptxファイル
      • test_zip:test_A.pptxに圧縮する前のフォルダ
        この中身を調べると,pptxファイルの内部構造がわかる。学習用に,削除せず残すようなコードにしてある。

オーディオ付加の処理後のtestフォルダの内容

補助用の機能

アプリには基本的な機能に加え,作業の補助用に以下の機能を追加しています。

スクリプトの作成・編集の補助

  • pptxファイルからスクリプトのスケルトンを作成
    • アニメーションを設定したpptxファイルからアニメーションの情報を読み取り,スクリプトのスケルトン(骨組み)を作成する。スケルトンにナレーションのテキストを追加することで,スクリプトを生成できる。
    • メニュー > ファイル > pptxファイルからスクリプトのスケルトンを作成
      により実行される。ファイル名を指定可能。
  • スクリプトをpptxのノートにコピー
    • スクリプトをpptxファイル内のノートのテキストブロックに書き込む。一度,書込んでおくと,次からはpptアプリのみでスクリプトの編集が可能になる。
    • メニュー > ファイル > スクリプトをノートに上書き
      により実行される。元のpptxファイルのノートのテキストブロックにスクリプトが書き込まれる。
  • pptxのノートからスクリプトファイルを作成
    • pptxファイル内のノートのテキストブロックに書かれたスクリプトからスクリプトファイルを作成する。
    • メニュー > ファイル > ノートからスクリプトを作る
      により実行される。作られるスクリプトのファイル名を指定できる。

  スクリプトのスケルトン         ナレーションを付け加えたスクリプト

スクリプトを自動で書き込んだ後のpptxノート

これらの補助機能を使えば,pptxファイルのノートに書いたスクリプトからオーディオデータの自動埋め込みが可能になります。pptxのノートを利用することで,メモ帳などのテキスト編集ソフトが不要になり,スライドの順番の変更も容易になります。(詳しいことはコードの解説のところで触れますが,スクリプトはスライド番号を指定しなくても動作するようにできます。)

その他

動作状態を表示するため以下のようにしています。

  • データ処理中の表示
    “Add audio”と“Make new audio”のボタンはクリックして処理を開始すると,処理が終了するまでボタンの色が赤く変わるようにしている。
  • 処理時間の表示
    ステータス等の表示用にテキストウインドウを追加した。現在,オーディオデータ付加と新規オーディオ作成の処理の終了時に,消費時間を表示するようになっている。

コードについて

アプリのPythonコードの解説については,現在,投稿の準備中です。読んだ人が同じ機能のシステムを再現できるだけでなく,読んだ人の頭の中で「機能する知識」を再現できることを目指したいのですが,心もとない状況です。(そもそも読む人がいるのか,という問題もありますが・・・。)

コメント