Skip to content

Python

Cython入門

CythonによるPythonの高速化!!をやってみた。

書かれているようにエラーが出たので、Microsoft C++ Build Tools - Visual StudioでBuild Toolsのダウンロードをしてインストール。

C++によるデスクトップ開発を選択してインストール。1.7GBもダウンロードするのか。。

で、インストールが終わってコンパイルして実行

$ time python test.py
100000000

real    0m5.251s
user    0m0.000s
sys     0m0.000s

cdefを加える

$ time python test.py
100000000

real    0m0.214s
user    0m0.000s
sys     0m0.015s

すごい。

Read more

Pythonで非同期処理

今の作りだと、翻訳や英語再生の間、待たされる気がするので、翻訳APIから先は非同期で実行できないか調べてみた。

asyncioをimportして、関数定義にasyncつけて、メイン処理はasyncio.runで呼び出し、非同期処理をawaitで呼び出せばいけるっぽい。

Read more

pyttsx3

日本語音声→日本語文字列→英語文字列 ができたので、英語文字列→英語音声 も追加してみたくなって、やってみた。

Pythonでオフラインでできるものをググって見つかったのが、nateshmbhat/pyttsx3: Offline Text To Speech synthesis for python

これもREADMEに書いてあるように書くだけで実装できた。

あとは翻訳の部分をオフラインでできれば、完全オフライン化ができるのでは。と思い検索したら、先駆者がいた。

Read more

Vosk使ってみる2

node.jsで使うのあきらめて、Pythonで試してみた。

あっさり使えた。

ついでに、3 分で作る無料の翻訳 API with Google Apps Script - Qiitaを参考に、日本語→英語翻訳APIを立てて連携してみた。

Pythonの文字列操作するのにちょっと手間取ったけど、意外とすんなりリアルタイム音声認識&翻訳が出来上がってびっくりした。

Read more

Pythonの文法を覚えた人がもっと理解を深めるための本

Prime Readingに入っていたので、読みつつ例文を写経して動かしてみた。

PythonはLambdaで通知をSlackに飛ばすためにちょっと触ってみた程度。

Pythonの文法を覚えた人がもっと理解を深めるための本 Kindle版

しばらくRubyをやっていたせいか、割とすんなり理解することができたように思う。

そう考えると、Rubyがオブジェクト指向を身につけるには良いというのも納得。

Read more