見出し画像

【Discord.py】一番実装が難しかった機能

どうもこんにちは。BuaaaBot DevのBuachiです。

やっとアカウント名の「BuaaaBot」らしい投稿でございます。

前回の記事が長かったので、短い記事にまとめようと思います。

BuaaaBotとは?

私とその他数人で作っているDiscordというチャットサービス上で使用できるアプリケーションです。
詳しくはこちらをご覧ください。

実装が難しかった機能

今はサーバーOSの制約により廃止している機能ですが、
「音声ファイルをBuaaaBotに送信すると、音MADになって帰ってくる」というものです。

特にREAPERとPythonの橋渡しをどうするか迷いました。
一応、REAPERには最低限CUIで操作できる機能はあるのですが、一番肝心な「既存のプロジェクトファイル内の音声ファイルを置き換える」という機能がありませんでした。

さらに、同時に処理することもできません。
同時にコマンドが送信された際には変なことになります。

他にも以下の問題点がありました。

  • 単純に処理に時間がかかる

  • コードが複雑になる

解決

まず、一番最初の音声ファイル置き換えの件は、事前に仮ファイルを設置しておいて、送信されて受け取ったファイルをそのファイルに上書きすることで対応しました。

続いて同時処理は、先客がいた場合にはエラーを返すようにしました(キューシステムは技術不足でできませんでした)。

処理時間短縮のため、REAPERのプロジェクトファイルでミックスできる部分はミックスし、読み込むファイル数をなるべく少なくしました。短くなっているかは謎ですが、体感上はちょっと早くなったと思います。

コードが複雑化するのは、REAPERの処理だけ別のバッチファイルで実行するようにしたことで、(根本的解決にはなっていませんが)なるべく整理されている状態になりました。

といった感じです。

他にも様々な機能がありますので、実際に使ってみて、試してみてください!

最後までご覧いただきありがとうございました!

いいなと思ったら応援しよう!