チャーハンノート

チャーハンの作り方に関する覚書

スペクトログラムに文字列を表示する

f:id:friedrice_mushroom:20220108163155p:plain:w600
iphoneのスペクトログラム用アプリで”青椒肉絲”を表示した様子。

目次

  • 目次
  • スペクトログラムとは
  • 作りたいもの
  • Pythonista 3を使う
  • Pythonistaで日本語フォントを扱う準備
    • フォントのダウンロード
    • フォントファイルをPythonistaのディレクトリに移動する
  • 作成したプログラム
  • プログラムの中身
    • 関数の構成
    • 補足1 : 文字数をカウントする方法
    • 補足2 : 周波数ステップの区切り方
  • 反転モードも用意した
  • 終わりに

スペクトログラムとは

スペクトログラムは、音声などの信号情報を可視化する手法。
縦軸を周波数、横軸を時間とする座標上に、信号成分の強さを色で表現する。

高額な機材は必要なく、スマホ用アプリなんかもある。iPhone用だとSpectrogram Proというアプリ(有料)を日常で多用している。

Spectrogram Pro (with super-smooth 60Hz update)

Spectrogram Pro (with super-smooth 60Hz update)

  • Dominik Seibold
  • ミュージック
  • ¥370
apps.apple.com

口笛で小刻みに半音ずつ上げたり下げたりを繰り返すと、iPhoneにはキレイなジグザク模様が描かれる。 そんな様を眺めては悦に入っている。

f:id:friedrice_mushroom:20220108163448p:plain

スペクトログラムを使った例で好きなのは、電車のインバータ音(磁励音)を表示したもの。

youtu.be

この動画では一般的に「ノイズ」と言われがちな電車の磁励音を、特殊なアンプを使用することで高音質に、スペクトログラムとともに提供されている。
さらにはインバータ音の再現版も作成されており、本物の磁励音と再現音とを視覚的に比較できる。
鉄道に興味がなかった自分でも「こんな法則で音がでているのか」と驚くとともに、聴いているとなんだか癒やされてきて、次第に鉄道(というかモーター)にも興味が湧くようになった。

話を戻すと、
音声を画像で表現できるということは、画像を音声に変換することも可能ということになる。
同じことを考える人は多数おり、ググれば無数に情報が上がっている。
今回は自分がほしいと思う用途に特化して、Pythonで試作することにした。

続きを読む

AlexaにKindle本を朗読させてオーディオブックにする

AmazonブラックフライデーでEcho Show 5という製品を購入した。
Kindleの読み上げ機能があり、思いの外読み上げの品質が良かったので、録音してオーディオブックにしてみた。
その過程と手順についての記録。

目次

  • 目次
  • Alexaというものを知った
  • AlexaがKindle本を朗読する
  • オーディオブックの代わりになるか
  • AlexaのKindle読み上げ機能が苦手なところ
    • レジュームができない
    • Echo Show5にはライン出力端子がない
  • Alexaのアプリがあった
  • 読み上げと録音はAndroid端末で
  • 各種設定と収録手順
    • AZスクリーンレコーダーの設定
    • Android端末の設定
    • Alexaアプリの設定
    • 収録を始める
  • 収録動画から音声ファイルを抽出する
    • Android端末の動画ファイルをMac本体にコピー
    • 音声ファイルへ変換
    • 無音区間のトリミング
  • 自作オーディオブックの再生環境
  • 数時間聴いた感想
  • 最後に
続きを読む

PythonでQRコードを生成する

夏目漱石の「坊っちゃん」をQRコードに限界まで埋め込もうとした図。勘太郎どうなった。 f:id:friedrice_mushroom:20210328143510p:plain

ふと、PCで作った簡単なテキストをQRコード経由でスマホに取り込みたいと思った。
Python(Jupyter Notebook)でのQRコードの使い方について調べた記録。

  • QRコードとは
  • 環境
  • お試しコード
    • ライブラリ「qrcode」のテスト
    • ライブラリ「pyperclip」のテスト
    • 「qrcoode」「pyperclip」を組み合わせる
  • QRコードの制限
  • 応用編
  • まとめ
続きを読む

auからUQモバイルへ乗り換えた話

f:id:friedrice_mushroom:20201129111730p:plain

初めて携帯電話を契約したときからお世話になっていたauから、UQモバイルに乗り換えたことの記録。

乗り換えを考えたきっかけから乗り換えに至るまでの経緯だったり、その時々の自分自身の意思だったり、その上で調べたことや考えたことを余すことなく、言い換えればダラダラと書き連ねたもの。

もし同じような乗り換えを考えていた人がいて、この記事で参考になるところが少しでもあれば幸いです。ただ、あれこれ書き連ねている大半のことがノイズと思わる可能性もあります。予めご注意ください。

  • きっかけ
  • 端末費と通信費の確認
  • まずプラン変更を検討した
  • 大手キャリアへの警戒心
  • 格安SIM業者の候補
  • 格安SIMのデメリット
    • 通信が不安定
    • キャリアメールが使えなくなる
    • 災害時の通信保証
  • MNPの決行
    • アップグレードプログラムの行方
    • 電話でMNP予約番号を取得しようとする
    • auショップに行った
    • アップグレードプログラムの解除
    • MNP予約番号の取得
    • UQモバイルのショップに行く
  • UQモバイルに乗り換えてからの感想
    • 節約モードを試す
    • 安定の高速モード
    • UQポータルの使い勝手
    • 1週間つかってみた状況
    • 1週間使ってみた状況その2
  • 最後に
  • 追記 〜その数カ月後の大変動〜
続きを読む

データロガーの作成 その2(測定編)

前回、Arduinoのパチモンを使ったデータロガー機能付きUSBチェッカーを作成しました。 これを使ってモバイルバッテリーの充放電時の容量を測定しようとしたのですが、ある問題に直面してしまったためプログラムの見直しをしたついでにロガー本体も作り直しました。

f:id:friedrice_mushroom:20200906182416p:plain

  • 評価内容
  • 対策について
  • 測定対象(モバイルバッテリー)について
  • 測定対象の充電方法について
  • データロガー3号機の作成
  • 測定結果
  • まとめ
続きを読む

データロガーの作成 その2

f:id:friedrice_mushroom:20200502173130p:plain:w600
※自作のデータロガーでモバイルバッテリーの性能評価するの図

Arduino互換マイコンでまたデータロガーを作りました。USBチェッカーのロガー付き版という位置づけです。
過去に作ったものは測定対象の電圧を1秒毎に読み取って、SDカードに記録していくものでした。これでゲームボーイの動作時間を測ったりしました。
今回は測定対象をモバイルバッテリーに特化し、新たに電流モニタとRTC(Real Time Clock)を追加して詳細なデータを有用に活用できるようにしました。

続きを読む

連続ウェーブレット変換

Pythonで連続ウェーブレット変換を試みたことのまとめ。 f:id:friedrice_mushroom:20190831113716p:plain

  • 背景 フーリエ変換について
  • ウェーブレットについて
  • ウェーブレット変換(単一の周波数解析)
  • ウェーブレット変換(スペクトログラム表示)
  • フーリエ変換とウェーブレット変換の比較
  • 結論
続きを読む