日本語の「ん」には何種類の発音があるか?

日本語の「ん」にはじつは何種類もの発音があり、無意識に使い分けています。というより、発音しやすいように自然に発音が変化します。

f:id:licheng:20190521213707p:plain:w500

[n] : 歯茎鼻音

  • タ行、ダ行、ナ行、ザ行、ラ行に続く場合
  • 舌の先が上あごの前歯の歯ぐきに触れる
  • 例: 安泰(アンタイ)、安打(アンダ)、案内(アンナイ)、うんざり(ウンザリ)、安楽(アンラク)
  • ただし、イ段(チ、ヂ、ニ、ジ、リ)に続く場合は後述する [ɲ] になる? (個人差あり)
  • ザ行は「ん」の後では [z] ではなく [dz] で発音されることに注意。 (個人差あり)
  • ラ行の発音は特に個人差が大きく、舌の位置に違いがありうる。

[m] : 両唇鼻音

  • パ行、バ行、マ行に続く場合
  • 上下のが閉じる
  • 例: 安パイ(アンパイ)、塩梅(アンバイ)、あんまり(アンマリ)

[ŋ] : 軟口蓋鼻音

  • カ行、ガ行に続く場合
  • 舌の奥が盛り上がって上あごの奥の軟らかい部分に触れる
  • 例: 参加(サンカ)、案外(アンガイ)

[ɲ] : 硬口蓋鼻音

  • チ、ヂ、ニ、ジ、リに続く場合? (個人差あり)
  • 舌の腹が上あごの硬い部分に触れる
  • 例: 安置(アンチ)、暗に(アンニ)、暗示(アンジ)、

[ɴ] : 口蓋垂鼻音

  • 後に何も続かない場合
  • のどちんこが下がって舌のいちばん奥に触れる
  • 例: あかん。(アカ)

[ã ĩ ɯ̃ ẽ õ] : 鼻母音

  • ア行、ヤ行、ワ行、サ行、ハ行に続く場合
  • 前の母音の口の形のまま、のどちんこが少し下がって鼻にも息が抜ける
  • 例: 安易(アンイ)、暗躍(アンヤク)、やんわり(ヤンワリ)、暗殺(アンサツ)、アンハッピー
  • 他の「ん」と異なり、このタイプの「ん」は母音であって子音ではない。
  • 例えば、健一(ケンイチ) と 敬一(ケーイチ) の差は、のどちんこの動きの有無でしかない。
  • 前述の[ɴ]のようにのどちんこが完全にのどをフタすることなく、鼻と口の両方に息が流れる。

まとめ

  • 日本語では息が鼻に抜ける音(鼻音)をすべて「ん」という同じ音と見なす。
  • 実際にどの音で発音されるかは、前後の音のつながり(特に後に続く音)で決まる。
  • 息が鼻と口の両方に流れる鼻母音で発音される場合もある。

Arduinoのしょうもない落とし穴

踏んでしまったのでメモ。

操作ミスまたは一時的なバックアップのつもりでうっかり下図のようなファイルコピーをおこなったとする。

f:id:licheng:20190520143745p:plain

このとき、test.ino を開いてもArduino IDE上に test - コピー.ino は表示されない。空白や日本語を含むファイル名のソースは表示されないようだ。

f:id:licheng:20190520143757p:plain:w500

ところが、ビルドすると test - コピー.inoコンパイルされる。その結果、関数の再定義エラーが発生する。

f:id:licheng:20190520143808p:plain:w600

パーソナルEEGデバイス(脳波計)の選び方?

手軽なヘッドセットで測定した脳波データをスマホに送って、分析したりアプリ開発したりできるやつ欲しい。どれを選んだらいいのか調べていたら↓の動画を見つけた。

以下に要約する。(※内容の妥当性は僕には保証できません。)

今はMuseとEmotivが双璧

  • NeuroSky MindWave Moble, Muse, Emotiv EPOC / Insight, BrainLink Pro / Liteと
    いろいろあるがどれを買えばいいのか?
  • NeuroSky MindWave Mobleは今となってはちと古いのでおすすめしない (2011年発売)。
    最初にパーソナルEEGバイス市場に進出した画期的なデバイスだった。
    (※ MindWave Moble2というのが出てるようだがマイナーチェンジ?)
  • 後発のMuseやEmotivのほうがセンサ技術が改良されている。
  • BrainLink Pro / Liteとかいうのも近日発売になる。(※ すでに発売されてます)
  • 現時点(2018年)ではMuseとEmotivがいちばんよく見かけるしコミュニティー/エコシステムが大きい。
  • どちらを選ぶべきかはあなたが何をしたいかによる。

用途の3つのカテゴリー

  1. 瞑想/セラピー/ヘルスケア (ヨガとか)
  2. ブレイン・マシン・インタフェース (脳波でパソコンを操作したり、ロボットを操縦したり)
  3. 神経科学の研究 (認知機能と脳波の研究、ニューラル・マーケティングなど)

瞑想/セラピー/ヘルスケア用途ではMuse

ブレイン・マシン・インタフェース用途ではEmotiv

  • EmotivはGitHubなどで開発者コミュニティーが大きい
  • センサは多いほうが良いが、価格とのトレードオフ
  • Emotiv EPOC Flex, Emotiv EPOC, Emotiv Insightの順にセンサが多く高価

研究用途

  • ガチの研究にはセンサがたくさんあるやつが必要
  • 脳波の生データの利用
    • Emotivは有償版ソフトのEmotiv PROでないと脳波の生データは扱えない
    • Museは無償のソフトで脳波の生データが扱える
    • EEG LAB:脳波信号のデータ処理用のMATLABツールボックス
    • Muse Direct:脳波信号のグラフ表示&記録ができるアプリ

Arduino系マイコンで超いいかげんなprintf

Arduino系のマイコンでprintfをシリアルに出力するためのいいかげんなマクロ

static char print_buff[256]; // ←メモリが許すなら十分大きくとる
#define printf(...)  sprintf(print_buff, __VA_ARGS__), Serial.print(print_buff)

sprintf()とSerial.print()の区切りがなぜ ; でなく , かというと、下記のようなif文の書き方があった場合にエラーになるため。

if(hoge)
    printf("hoge");
else
    printf("piyo");

printf()の戻り値を受け取るような場合にはエラーになるが、そんなことは滅多にしないだろう。

また、見ての通りリエントラントではないので割り込みやマルチタスクで使う場合は要注意。あくまでもテキトーにコピペしたコードを動かすための、間に合わせの超いいかげんなマクロである。

ハッコーのイベント限定品レビュー

Maker Faire Kyotoで限定販売されたハッコーのキャップセットと折りたたみこて台をゲットしました。プロトタイプ段階のもので今のところ一般販売は未定のようです。

f:id:licheng:20190511211440j:plain:w500

キャップセット

ハッコーの温調はんだごてFX-600にキャップを取り付けるためのアダプタとキャップのセットです。キャップはPRESTOに付属するものと同等品です。アダプタにはキャップをしめるためのネジが切ってあり、付属のビス3本で簡単にこてに取り付けることができます。FX-600を携帯するときに便利です。今まではこてカバー605Mを使ってましたが、キャップのほうがスッキリしますね。

f:id:licheng:20190511211803j:plain:w500

…ていうか、FX-600は最初からキャップを取り付けられるようにしてほしかったです。

折りたたみこて台

折りたためるこて台です。こて台を携帯するときに便利です。同社のこて台633-02に折りたたみ機構がついたようなかんじですね。関節部分が良く出来ていると思います。昔愛用していたgootのこて台ST-77は関節を蝶ネジでしめる機構ですが、蝶ネジがゆるむとぐらつくのが難点でした。本製品は関節がロックするのでネジは軽くしめるだけでOKです。また、底面の滑り止めのゴムが大きくて、軽くてもしっかり机にグリップする感じがします。

f:id:licheng:20190511212807j:plain:w500

携帯用のこて台にはこてを寝かせて置くものが従来からありコンパクトではありますが安定が悪く、ケーブルを引っ張るとこてがころがり落ちる危険がありました。本製品は安定感があって出先でもガッツリはんだづけ作業ができると思います。

f:id:licheng:20190511213219j:plain:w500

欲を言えば、エンジニアのSS-05みたいなフタ付きのクリーナーが欲しいです。クリーナーをチャック袋に入れて携帯するのはスッキリしないので。とりあえず、SS-05とセットで運用しようかなと思います。

その他

Maker Faire Kyotoでは他にUSBはんだごても限定販売されてました。いずれもイベント限定販売で終わっては惜しいアイテムだと思います。(あ、私はべつにハッコーの回し者ではありません。FX-888Dのボタンの操作性はほんとクソ。ほんとクソ。)

ちかごろのマンガ20選

マンガをKindleで読むようになった2012年以降に読んだマンガ(続刊含む)から20作品を選ぶ。
(カテゴリー分けは便宜的・主観的なものである。)

評価基準

f:id:licheng:20190501211440p:plain:w400

カテゴリー1

人間以外の事物を主題とし、かつ人間の内面に深く立ち入らないもの
ただしその事物は現代に実在するか、それに準じたものであること

いそあそび(1) (アフタヌーンコミックス)

いそあそび(1) (アフタヌーンコミックス)

私と彼女のお泊まり映画 1 (BUNCH COMICS)

私と彼女のお泊まり映画 1 (BUNCH COMICS)

カテゴリー2

人間の事象を主題とするが過度に深入りせず、かつ人間以外の事物に材を取るもの
ただしその事物は現代に実在するか、それに準じたものであること

イエスタデイをうたって 1 (ヤングジャンプコミックス)

イエスタデイをうたって 1 (ヤングジャンプコミックス)

げんしけん(1) (アフタヌーンコミックス)

げんしけん(1) (アフタヌーンコミックス)

カテゴリー3

歴史的人物・事象を題材とし、かつ人間の内面に深く立ち入らないもの
ただしその人物・事象は通俗的題材として一般的でないこと

へうげもの(1) (モーニングコミックス)

へうげもの(1) (モーニングコミックス)

カテゴリー4

空想科学的または幻想的な概念・事象を題材とし、人間の内面に深く立ち入らないもの
ただしその概念・事象は通俗的題材として一般的でないこと

ククルカン 1巻

ククルカン 1巻

ラズパイのセットアップメモ (ヘッドレス運用)

ヘッドレスでのセットアップと運用

ラズパイをヘッドレス(ディスプレイ、キーボード、マウスを接続しない)で使うためのセットアップ手順を以下にメモする。

  • 母艦: Windows 10 の PC
  • ラズパイ: Raspberry Pi 3B
  • OS: Raspbian Stretch Lite
  • SDカード: 16GB

OSイメージのダウンロードとSDカードへの書き込み

シリアルコンソール接続

ラズパイへのログイン方法は

  1. ディスプレイとキーボードを接続
  2. シリアルコンソール接続
  3. 有線LAN接続
  4. WiFI接続

があり、この順に確実性が高い。まずは確実な方法でログインして設定していく。ただし、ディスプレイとキーボードはできれば無しですませたい。シリアルコンソール接続する方法は以下の通り。

  • Windows上でSDカードのbootパーティションのフォルダを開く。(ラズパイ上での /boot/ )
  • /boot/config.txt に下記の1行を追記する。
dtoverlay=pi3-miniuart-bt
  • SDカードをラズパイに挿入する。
  • USBシリアル変換アダプタ(これとか)を用いて下図のようにラズパイとPCを接続する。IO電圧が3.3Vであることに注意。

f:id:licheng:20190426161014p:plain:w600

  • Tera Termなどのターミナルソフトを用い、USBシリアルポートを開く。
    (ボーレートは115200)
  • ラズパイの電源を入れる。するとターミナルにコンソール出力が表示される。
  • ログインする。(ユーザー名=pi / 初期パスワード=raspberry)
  • ラズパイのユーザ名/パスワードは変更することが望ましい。手順はこちら

有線LAN接続

SSH接続の有効化

/boot/sshという空ファイルを作成して再起動するとSSH接続が有効になる。

sudo touch /boot/ssh
sudo reboot

この操作はWindows上でおこなってもよいが拡張子の無いファイルなので要注意。エクスプローラ上では「ssh.」というファイルを新規作成するとsshというファイル名になる。

あるいは、raspi-configの「Interfacing Options」>「SSH」でも設定できる。

sudo raspi-config
固定IPアドレスの設定

有線LANに固定IPアドレスを設定するには /etc/dhcpcd.conf を下記のように編集する。ラズパイのIPアドレスを192.168.11.2、ゲートウェイIPアドレスを192.168.11.1とする例である。母艦のWindows PCをゲートウェイとして、母艦のインターネット接続を共有することもできる。
(→参考ページ)

interface eth0
static ip_address=192.168.11.2/24
static routers=192.168.11.1
static domain_name_servers=8.8.8.8
SSHでログイン
  • Tera Termなどのターミナルソフトを用い、SSHでラズパイにログインする。
  • 固定IPアドレスであればそのIPアドレスでホストを指定する。
  • DHCPであれば、DOS窓arp -a コマンドを実行するなどしてIPアドレスを調べる。
    (ラズパイのMACアドレスB8:27:EBから始まる。) 
  • または、最新のWindows 10であればmDNSに対応しているので、ホスト名での指定が可能である。その場合は raspberrypi.local と指定する。
  • ログインできない場合、ラズパイで以下のコマンドを実行してみる。
sudo rm -r /etc/ssh/ssh*key
sudo dpkg-reconfigure openssh-server
Windowsのインターネット共有

ラズパイを有線LANでWindowsのPCに接続し、PCのインターネット接続を共有することができる。Windows上でインターネット接続に使用しているネットワークデバイスのプロパティでインターネット接続の共有を有効にする。

f:id:licheng:20190816120747p:plain

WiFi接続

  • /etc/wpa_supplicant/wpa_supplicant.confを下記のように編集する。
  • Windows上で /boot/wpa_supplicant.conf を作成してもよい。
    (ラズパイ起動時に/etc/wpa_supplicant/wpa_supplicant.confにコピーされる。)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
   ssid="WiFiのSSID"
   psk="WiFiのパスワード"
}
  • 再起動するとWiFiに接続されるはずなので ifconfig コマンド等で確認する。
  • 有線LANと同じように、SSHでログインする。
  • アクセスポイントの一覧は下記コマンドで見ることができる。
sudo iwlist wlan0 scan | grep ESSID

raspi-config

下記コマンドでraspi-configを起動して種々の設定をおこなう。

sudo raspi-config

特に「Localisation Options」で、ロケールタイムゾーン、キーボードの設定をおこなう。

  • ロケールは あえて日本語にせず
  • タイムゾーンは Asia -> Tokyo
  • キーボードは接続した場合のみ。SSH接続の場合は設定不要。
    • 日本語キーボードなら、Generic 105-key (Intl) PC -> Other -> Japanese -> Japanese を選択。

aptの更新

sudo apt-get update
sudo apt-get -y upgrade

共有フォルダの設定 (samba)

sambaをインストールする。

sudo apt-get install samba
sudo vi /etc/samba/smb.conf

smb.confのホームディレクトリ共有設定の記述を下記のように修正。

[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   valid users = %S

sambaユーザを設定し、sambaのサービスを再起動。

sudo smbpasswd -a pi
sudo systemctl restart smbd nmbd

たとえばIPアドレスが192.168.11.2であったら、Windowsエクスプローラで \\192.168.11.2と入力すれば共有フォルダにアクセスできる。mDNSが利用できるなら \\raspberrypi.local でもアクセスできる。

ただし、ユーザー名がpiだとWindowsのユーザー名と異なるのでうまく共有フォルダにアクセスできない。そこでWindowsDOS窓で下記コマンドを実行する。

net use \\raspberrypi.local\ipc$ /delete ←すでにアクセスして失敗した場合はまずこれを実行
net use \\raspberrypi.local\ipc$ /user:pi raspberry ←ラズパイのユーザー名とパスワード

このような面倒をさけるには前述のようにラズパイのユーザ名とパスワードを変更してWindowsと合わせた方が良い。