mattintosh note

どこかのエンジニアモドキの備忘録

Mac向けAIきりたんラッパーの説明

Wine および Docker を使用して macOS で AIきりたん/NEUTRINO にパラメータを渡す簡易 GUI アプリケーションです。Automator で作った簡易的なものですのでダイアログの数が多くなっていますが、既存のスクリプトを編集せずにパラメータを変えることが出来るようになっています。

下記はデバッグ中の画面になりますが、GUI でマウスまたはキーボードで操作するだけです。

Wine 版の使い方

EasyWine64.app をシステムのどこかに置いておきます。置いておく場所は /Applications でなくともかまいません。ただし、ネットワークドライブ上に存在する場合は検出出来ないかもしれません。

AIきりたん/NEUTRINO は Windows 版を使用します。ZIP ファイルをダウンロードしたら解凍しておきます。Windows で作成された ZIP なので macOS のバージョンによっては解凍時にエラーや文字化けが発生しますが無視してかまいません。

NEUTRINO フォルダの指定

「AIきりたんラッパー.app」を実行します。

最初に NEUTRINO.zip を解凍した NEUTRINO フォルダを指定します(ファイル選択ウィンドウが Finder ウィンドウの裏に隠れてしまうことがありますのでご注意ください)。このフォルダのパスをベースに相対パスで処理を行いますのでフォルダの指定を間違わないように気をつけてください。

f:id:mattintosh4:20200226202755p:plain

パラメータの設定

各種パラメータを設定してきます。各パラメータの初期値は Run.bat と同じ内容です。「とりあえず試してみたい」という場合はパラメータを変更せずに進めてください。

f:id:mattintosh4:20200226202844p:plain

実行チェック

処理に時間がかかるため確認ダイアログが表示されます。処理を開始する場合は[OK]をクリックします。処理時間はお使いのマシンのスペックや指定したスレッド数、データの複雑さによりますが数十分に及ぶ可能性があります。

f:id:mattintosh4:20200226203214p:plain

実行

処理中は macOS メニューバー右上に Automator の歯車アイコンが表示されます。

処理が完了すると通知センターがお知らせしてくれます。

生成物は NEUTRINO フォルダ内の output フォルダに出力されます

f:id:mattintosh4:20200226203606p:plain

Docker 版の使い方

Docker Hub から Docker Desktop for Mac をインストールしておいてください。Docker の詳しいインストール方法については他サイトをご参照ください。

Docker 版では Linux 版 AIきりたん/NEUTRINOモデルデータが必要です。ここではダウンロードフォルダに NEUTRINO-MAIN-Linux として解凍したとします(そのまま解凍すると Windows 版とフォルダ名が被るため)。

なお、Docker 版はファイル名にスペースが含まれていても問題なく処理することが出来ます。

~/Downloads
└── NEUTRINO-MAIN-Linux
    ├── bin
    ├── model
    │   ├── KIRITAN <-- フル版からコピーしてくる
    │   └── YOKO    <-- 必要に応じてフル版からコピーしてくる
    ├── output
    ├── score
    │   ├── label
    │   │   ├── full
    │   │   ├── mono
    │   │   └── timing
    │   └── musicxml
    └── settings
        └── dic

各種実行ファイルに実行権限を付与しておきます。Run.sh は使用しないので除外してかまいません。実行権限が付与されていないと Permission denied となりますので注意してください。

Terminal

chmod +x ~/Downloads/NEUTRINO-MAIN-Linux/bin/*

コンテナイメージの作成

予め neutrino というタグでコンテナイメージを作成してください。アプリケーション内部からこのタグを元にコンテナイメージを呼び出します。Dockerfile については私が NEUTRINO Dockerfile · GitHub にアップしたものをお使いいただけます。

Terminal

docker build -t neutrino https://gist.github.com/mattintosh4/fa40ed13ed5cfada1e2c514581c667ba.git

docker images コマンドで neutrino コンテナが作成されていることを確認します。

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
neutrino            latest              563ccaa4ee50        21 seconds ago      93.3MB
ubuntu              18.04               72300a873c2c        11 days ago         64.2MB

実行

『Aiきりたんラッパー (Docker).app』を実行して Linux 版 AIきりたん/NEUTRINO のフォルダを指定します。以降の操作は Wine 版と同じですので記事上部の Wine 版の項をご参照ください。

CPU をできる限り使いたい場合

Wine とは異なり Docker では使用する CPU が制限されています。コンテナが使用する CPU 数を変更したい場合は Docker Desktop の設定画面で変更してください。

f:id:mattintosh4:20200304230628p:plain

Mac 版の使い方

モデルデータが含まれていない場合はフル版からコピーしておきます。ここではダウンロードフォルダに NEUTRINO-MAIN-macOS として解凍したとします(そのまま解凍すると Windows 版とフォルダ名が被るため)。

なお、Mac 版はファイル名にスペースが含まれていても問題なく処理することが出来ます。

~/Downloads
└── NEUTRINO-MAIN-macOS
    ├── bin
    ├── model
    │   ├── KIRITAN <-- フル版からコピーしてくる
    │   └── YOKO    <-- 必要に応じてフル版からコピーしてくる
    ├── output
    ├── score
    │   ├── label
    │   │   ├── full
    │   │   ├── mono
    │   │   └── timing
    │   └── musicxml
    └── settings
        └── dic

『Aiきりたんラッパー (Mac版).app』を実行して AIきりたん/NEUTRINO のフォルダを指定します。以降の操作は Wine 版と同じですので記事上部の Wine 版の項をご参照ください。

ワークフローのカスタマイズ

アプリケーションを Automator で開くことでワークフローのカスタマイズが出来ます。シェルスクリプト部分のソースコードGitHub に置いてあります。改変等ご自由にどうぞ。

AIきりたんラッパーのダウンロード

Wine 版

BOOTH と pixivFANBOX で配布しています。BOOTH をご利用の方は EasyWine のご購入履歴からご自由にダウンロードいただけます。 BOOTH での配布は終了しました。 pixivFANBOX では支援中の方はご自由にダウンロードいただけます。

BOOTH

hirubokari.booth.pm

pixivFANBOX

www.pixiv.net

Docker 版

pixivFANBOX からご自由にダウンロードいただけます。

pixivFANBOX

www.pixiv.net

Mac

pixivFANBOX からご自由にダウンロードいただけます。

pixivFANBOX

www.pixiv.net

コマンドラインで操作する場合

下記のページで Wine を直接実行する方法や Run.bat をシェルスクリプトに置き換えたものを公開しています。

mattintosh.hatenablog.com