スマホの音声入力をPCで使って文字入力する(Gboard & Python)

皆さんこんにちは。Rcatです。
この記事もそうですが、最近はスマホの音声入力が便利なので結構使ってます。
しかし、スマホは何かを作るのには非常に向いていないので、記事はパソコンで書いてます。
つまり何をしているかというと、スマホで入力した文字をパソコンに転送して記事を書いているわけですね。
なんかこの説明だけだと面倒なことしてるなぁなと思うかもしれませんが、実はとても簡単です。
今回は小ネタとして、具体的に何を使ってどんな手順でやっているのか紹介しようと思います。
最後にはシステムの配布もありますので、面白いなと思った方はぜひやってみてくださいね。


具体的に何をやっているのか?

結論から言うとスマホの音声入力した文字をパソコンに転送し、転送された文字はクリップボードにコピーされます。
コピーされているということを貼り付けできるということです。
つまり、スマホで音声入力した文字をパソコンでただ貼り付けているだけです。
つまり、音声入力以外でもスマホから文字を入力してパソコンに転送することができます。
しかも音声入力が起動している間は一切スマホに触れる必要がありません。
また、あえてスマホを使っているので、音声入力のオンオフ切り替えなども楽に行えます。だって画面タッチするだけですからね。

正しく変換されない分は後で直さないといけないが…

システムの紹介

さて、ここからは具体的な内容に入っていきます。
もちろん何の準備もなしにこれができるわけではなく、システムの導入が必要です。
そうのシステムに名前をつけるなら、"文字列コピペサーバー"とでも名付けましょうか。

システムの機能

まず、最初にこのシステムがどんな機能を持っているのか紹介します。

  • 文字列コピー機能
    これはもうタイトルから言ってることですね。スマホで入力した文字をパソコンでコピーできます。

  • 自動送信機能
    gboard標準の送信コマンドは使えないので、RCATをオリジナルのコマンド「送信します」と言うと送信されます。標準のコマンドを丁寧に言っただけですね。
    ちなみに無効にしている場合は、画面にあるボタンを押せば送信できます。

  • 自動入力機能
    パソコンに転送された文字列を自動的に貼り付ける機能です。
    これで完全に入力が自動化されます。

  • 入力保持機能
    これを機能というでいいのかは謎ですが、スマホから入力した文字を送信時にリセットせず保持し続けます。

システムの使用手順

  1. Python使用環境を整える
    本システムはPythonというプログラム言語で書かれています。
    Pythonはインタプリタ言語なので事前にインストールが必要です。
    簡単ですし、調べれば出てくるので試してみてください

  2. Pythonライブラリをインストールする
    本システムに使われているWebサーバーライブラリーなどをダウンロードします。
    起動するには以下の4つのライブラリが必要です。
    flask,cryptography,pyperclip,pyautogui

  3. システムを起動する
    環境構築が終了したら、本システムを起動してみましょう。
    きちんと構築できていればすんなり起動するはずです。

  4. ネットワークやセキュリティを確認する
    本システムはWebサーバーを立てることで実行しています。
    特にファイアウォールにブロックをかけるセキュリティソフトが入っている場合、上手く動かない場合があります。
    とはいえ、サーバーといっても意図的に公開しなければ自宅内でしかアクセスできないので、セキュリティ的には問題ありません。

  5. スマホから接続して音声入力を行う
    うまく接続できたら使用準備は万端です。
    スマホから文字を入力してコピーしてみましょう。

具体的なシステムの説明

実態はWEBサーバー

本システムはデータのやり取りにWebサーバーを使用しています。
WebサーバーとはこのnoteのようにブラウザでアクセスするとWebページを介してくるサーバーのことですね。
そしてnoteでは記事が投稿できるように、ただページを読み込むだけではなく、クライアントからデータを送信することもできます。
noteの場合は記事が投稿されると公開されるのですが、本システムの場合は実行しているコンピューターのクリップボードに送信された文字列がコピーされる仕組みです。
WEBサーバーのシステムにPythonを使用しているので、受け取ったデータを様々な方法で利用することができます。

どんな動作をしているの?

本ツールの動作は非常に単純です。

  1. 操作画面を表示する
    まず、最初にアクセスされたら操作を行うためのページを返します。
    この時点でスマートフォンには入力画面が表示される仕組みです。

  2. フォームに文字列を入力する
    次にスマートフォンからフォームに音声入力を行います。
    別に音声入力でなくとも構いませんが、スマホから文字入力を行ってください。

  3. 送信する
    ボタンを押すか、オリジナルコマンドで送信を行うとPOSTを使ってテキストが送信されます。
    送信されたテキストは即時にパソコンのクリップボードにコピーされます。

  4. 貼り付ける
    自動入力設定がオンになっている場合は自動で、そうなっていない場合はCTRL + Vで貼り付けを行います。
    これでパソコンで音声入力を行うことができたことになります。

配布情報

以下から本ツールの配布を行っています。
興味のある方はぜひ使ってみてくださいね。

https://script.google.com/macros/s/AKfycbysRqb7488rvLGPqOOhGlr0w513zIHC67BEPzJtPAKrAc4lKfDCmsB0mVL1Ha5BY5P0/exec?name=コピペサーバー


情報が役に立ったと思えば、僅かでも投げ銭していただけるとありがたいです。