![見出し画像](https://assets.st-note.com/production/uploads/images/132038723/rectangle_large_type_2_d83e89a47d0e69e13b2c21fa1c9d018e.jpeg?width=1200)
【プログラミング】字幕生成アプリ:振り返り:1日でアプリ完成!
皆さんこんばんは。タカダイです。
本日は、「字幕生成アプリ」を開発しました。
ヘブライ語で話されている動画から、英語字幕を生成するアプリです。
作成したきっけかは、Youtuberの知り合いからの依頼があったことです。
ヘブライ語でインタビューする動画をコンテンツとして扱っていて、翻訳や字幕付けを自分でしているとのことだったので、自動化できるようなアプリが役に立つのではと思い開発しました。
開発に充てたのは、丸1日で8時間です。
開発に掛かる時間が短縮できてきていることから、ソフトウェア開発者として、成長していることを実感しています。
ユーザーは、動画ファイルを所定フォルダに置くのみで、Pythonスクリプトを実行すれば、文字起こししたファイルが出力されます。
「字幕生成アプリ」の主な機能は、以下の3つです。
1.動画ファイルの雑音を除く
2.音声ファイルの出力
3.文字起こしして、テキストファイルを出力(ヘブライ語、英語)
出力したテキストファイルには、会話で使われている言語(ヘブライ語)と、翻訳語の言語(英語)を出力させることで、翻訳された文章を修正しやすいようにしました。
![](https://assets.st-note.com/img/1708856744188-Nb89Pb9xZQ.png?width=1200)
このアプリでは、以下の3つのPythonライブラリを使いました。
1.moviepy:動画の編集
2.speech_recognition:話し言葉の認識、文字起こし
3.googletrans:Google翻訳を使い文字起こしした文章を翻訳
その他にも、Pythonモジュールの「os」を使い、フォルダやOSを使った処理をできるようにしました。
また、このアプリ開発では、初めて「仮想環境」の存在を知りました。
「仮想環境」を作ると、プロジェクトごとに必要なPythonライブラリとそのバージョンを独立して管理することができます。これにより、プロジェクト間の依存関係の競合を防ぐことができます。
私の場合、複数のプロジェクトを扱っているので、孤立化させてライブラリを実行することは必須ですので、「仮想環境」の存在を知れたのは大きな前進です。
Githubにも載せました。
以下のサイトから確認することができますので、是非ともご覧ください!
それでは、本日の振り返りです。
![](https://assets.st-note.com/img/1708849471767-0JoOVQYDXf.png?width=1200)
本日の行動は、8時間をアプリ開発に充てました。
結果として、
1)プロジェクトの骨子を作成
2)工程の洗い出しとタスク一覧の作成
3)必要なPythonライブラリを特定
4)実装:動画ファイルからノイズ処理をした音声ファイルを作成する
5)実装:Google社のSTTを使い、翻訳されたテキストを保存
6)実装:コンソールのメッセージを調整し、ユーザ交流を向上
7)Pythonコードの最終化
8)Githubレポジトリの作成、関連フォルダの整理・最終化
9)READMEファイル、SetupGuide.md、UserInstruction.md の作成、
10)ローカルファイルからGithubレポジトリへプッシュ
を達成することができました。
異なる種類のアプリ開発をすることで、アプリ開発に対する不安が減ってきています。
良い兆候なので、アプリ開発を続けたいと思います。
それでは皆さん、本日も良い一日をお過ごしください!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?