LoginSignup
1
0

【生成AIアプリ100チャレンジ】(4)文字起こしアプリ

Last updated at Posted at 2024-03-28

公開中サイト

開発環境

Server lightSail
Language Python3.11
Framework Django
DB sqlite3

ローカル環境ではPythonのvenvを使用。エディタはvs codeです。

目的

 WEB画面上でChatGPTと会話ができるアプリを作りたいと思っています。TTS(テキストを自然な音声にするAPI)とwhispar(音声をテキストにするAPI)を使えば、会話ができるはず。その第一弾として、whisparで音声を文字起こしするアプリを作りました。

うまくいけば、ブラウザ画面上で自然言語を話しながら人工知能と会話できるはずです。chatGPTと音声で会話したい。その目的のための文字起こしアプリです。

コード

qiita.rb
def index(request):
    OPENAI_API_KEY = os.environ['OPENAI_API_IMAGE_KEY']
    chat_results = ""
    if request.method == "POST":
        form = TranscribeForm(request.POST)
        if form.is_valid():
            client = OpenAI(
                api_key = OPENAI_API_KEY,
            )
            audio_file_path = settings.BASE_DIR / "uploads/uploads/recording.wav"
            audio_file= open(audio_file_path , "rb")
            transcription = client.audio.transcriptions.create(
                model="whisper-1",
                file=audio_file
            )
            chat_results = transcription.text
    else:
        form = TranscribeForm()
    domain = request.build_absolute_uri('/')
    template = loader.get_template('whispar/index.html')
    context = {
        'domain': domain,
        'chat_results': chat_results
    }
    return HttpResponse(template.render(context, request))

アプリ画面

スクリーンショット 2024-03-29 2.14.24.png

感想

文字起こし処理で力尽きてしまいました。デザインレイアウトは後で修正します。もちろん、音声データを保存し。そのデータを元に文字起こしまでは完成しました。人工知能とリアムタイム会話まであと一歩。テキストを音声化させれば、会話できます。音声を早見沙織にしたいです。「軽く死ねますね!」

苦労したのは、音声保存まではJSでわりとスムーズにいけましたが、その音声をどう処理するかが、ネットで検索してもわからなかったので、chatGPT先生(転スラでいうところのシエル先生)に相談して解決しました。ネットには虚言癖しかいないのか、と悲しくなります。やはり、コードの説明なんてしないで、公式のマニュアルに任せるべきなのでしょう。

ローカルではなにもかもうまく行きましたが、サーバでは苦労しました。音声をアップするディレクトリに権限がない状態でgit pull をしたものだから。サーバのmain branch が remote から離れてdetch状態に。音声以外のディレクトリはpullしてきているので、見たこともない変更処理が増えており、焦りました。gitでミスしても周りに迷惑をかけないのが個人開発のメリットでもあるので、普段では仕事で使ったことないような復旧方法を使ってなんとか復帰。権限がない状態でgit pull すると、こんなエラーになるのか、と初体験。もしかして、これが1番の収穫かもしれない。仕事の本番環境で同じことが起こったら、焦ってしまうこと間違いなし。

いやー、chatGPTとの会話まで一歩すすめました。
ちなみにトップページのアプリアイコンはすべて画像生成したものです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0