HIKIDOは、コードリーディング会中にメモが追いつかず、後から振り返れないという問題を解決するための
メモを気にせず、コードに集中したい人向けの文字起こしサービスです。
ユーザーは Discord 上で会話を録音でき、それを文字起こししたものを検索できます。
Google Docs のように自分の音声のみを文字起こしするのとは違い、複数人の音声を文字起こしできるのが特徴です。
https://hikido.vercel.app/ にて実際に文字起こしされた文章を確認できます。
HIKIDO_web(next)
- TypeScript: 4.7.4
- React: 18.2.0
- Next: 12.3.1
- Prisma: 4.2.1
- ESlint: 8.21.0
- MySQL: 8.0.30
HIKIDO_bot(discord_bot)
- TypeScript: 4.7.4
- Prisma: 4.2.1
- FFmpeg: 5.0.1
- MySQL: 8.0.30
本番環境では以下のサービスを利用しています。
- Vercel
- Amazon RDS
- Amazon S3
- Amazon Transcribe
- Heroku
- Amazon S3 にて、HIKIDO で利用するようのバケットを作成してください
- 利用する IAM の権限に S3 と Amazon Transcribe が含まれていることを確認してください
- S3 を利用するために AWS CLI の設定をしてください
.env
内の環境変数を設定してください- AWS CLI を設定した際に利用した下記の情報を取得してください
- HIKIDO_AWS_ACCESS_KEY_ID
- HIKIDO_AWS_SECRET_ACCESS_KEY
- AWS S3 から下記の情報を取得してください
- HIKIDO_S3_BUCKET
- AWS CLI を設定した際に利用した下記の情報を取得してください
- Docker 利用します
% docker-compose build
% docker-compose up
- yarn install してください
% docker-compose run --rm next yarn install
- コンテナ上の MySQL にアクセスして
hikido_development
という database を作ってください - マイグレーションを行ってください
% docker-compose run --rm next yarn prisma migrate dev
- Homebrew を利用して、ffmpeg をインストールしてください
- Discord Bot をギルド(Discord Server) に追加してください
.env
ファイルを作成してください
% cd discord_bot
% cp .env{.sample,}
.env
内の環境変数を設定してください- Developer Portal から下記の情報を取得してください
- DISCORD_TOKEN
- CLIENT_ID
- 参加しているギルド(Discord Server) から下記の情報を取得してください
- GUILD_ID
- AWS S3 から下記の情報を取得してください
- S3_BUCKET
- REGION
- Developer Portal から下記の情報を取得してください
yarn install
してください
% yarn install
- HIKIDO Bot を起動してください
% tsc
% yarn start
- Discord 側でやれること
- スラッシュコマンドを登録してください
- 任意のチャット欄で
!deploy
と入力すると登録されます
- 任意のチャット欄で
- 任意のボイスチャンネルに入ってください
/join
で、ボットを参加したチャンネルに参加させてください
/record speaker: ユーザーを指定する
で、音声の対象者を指定して音声の録音をさせてください- なんでも良いので少ししゃべてください
/leave
で、ボットをチャンネルから離脱させてください/upload event-title: イベント名を指定する
で、録音した音声を対象の S3 のバケットにアップロードします
- スラッシュコマンドを登録してください