引退後のこと
30年後、何歳が定年になってるかわかないけど、引退したあと、やりたいことが僕にはある。
子供たちのために余生を使いたい。自分のだけじゃなく、他所の子も含めて、何か僕が伊達に年取ったわけではないものを押し付けがましいやり方じゃなく、何かできたらなと思ってる。
今、それをやるやらの話ではなく、余生はそんな風に過ごしたいなって話。
引退して我が子も巣立って自分だけのための時間を過ごすなんてまっぴらごめんだ。
冒険家の角幡唯介さんの話
夜中に帰ってきて、テレビを点けるとEテレで探検家の特集をやってた。
GPSは昨今の探検家にとって必須アイテムらしいが、彼は持ち歩いていない。理由は、自然をよく見て情報を得てくのが探検の醍醐味だからだと言う。GPSを持ってると周りを観察しなくなるでしょ、と。そして、ナレーション「我々はいつからか自然から情報を得ることをやめてしまったのかもしれない。」
僕ははっとする思いでその番組を見てた。確かに。風や空を見て天気を予想するより天気予報をネットで調べて当てにする。地図なんかよまないでGoogleマップでちょちょい。本当は現実世界にいーっぱいあるヒントを見逃して、ネットの世界に依存する。ネットだけじゃない。多くの情報が生データではなく、加工されたものであるという当たり前のことに、改めて気づかされたような。
便利なものは利用するのが合理的、効率的だけど、生データをよーく観察する楽しさや大切さも忘れてはいかんなぁと思ったというお話。
あと、極限状態で長年連れ添った相棒(犬)を食べようと本気で思った話が衝撃だった。
おわり。
Google Speech APIを利用して音声認識をしてみたところなかなか優秀
Google Speech API ver.2の使い方 - Qiitaを参考に試用。
つまづいた点だけメモ。
- 日本アカウントによるGoogle Speech APIのキー取得にはChromiumのグループに参加が必須。
https://groups.google.com/a/chromium.org/forum/?fromgroups#!forum/chromium-dev - SoX (Sound eXchange)がインストールされていなかったのでインストール。
(下記ページからダウンロードした実行ファイルを/usr/local/binにコピー。brew install soxでもいけるとの情報があったがエラーになったため断念)
SoX - Sound eXchange | HomePage - 音源がステレオだと認識してもらえないらしく、常に空のレスポンスが。。。モノクロに変換する必要あり。(参考URLのソースコードに下記赤文字を追加)
sox_command_template = "sox %s -r 16000 -c 1 %s.flac"
MacでPythonオーディオ処理
環境
MacBook Air (13-inch, Mid 2011)
Python 2.7.10
以下を参考にPyAudioをインストール
PyAudio: PortAudio v19 Python Bindings
- Homebrewはインストール済みだったが、pipのインストールが未だったので、以下でインストール
sudo easy_install pip
- pyaudioのインストール
brew install portaudio
pip install pyaudio
- サンプルを動かしてみる
"""PyAudio example: Record a few seconds of audio and save to a WAVE file."""
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
「リーダーは自分と(量、質共に)同じ生産性を各メンバーに出させるのが仕事」という先輩の話
先輩曰く、そうすれば一人でやる限界値を超えれると。