BeagleBone Blackでvolumioを試す(その2)

Beagle Bone Black

前回BBBでvolimuoを試し、AKI.DAC-U2704と自作PCM5122 I2S I/F DACの二種類のDACで楽曲ファイルを鳴らす事ができた。
今回はもうすこしちゃんとvolumioの起動micro SDカードを構築してみることとする。
使用するmicro SDカードはSan DisKの16GBのものMobile Ultra。
16GBの容量をFAT32のパーティション1を11.5GiB、ext4のパーティション2を3.5GiBに分割する。
残りの容量は未使用領域として残す。
volumioの起動イメージのパーティション1はboot用であるが、ここに楽曲用のフォルダを作成し兼用させる。
volumioの起動イメージのパーティション2はrootfs用でデフォルトでは1.5GBの容量となっているが、狭いので拡張を行う。

作業は以下のステップで行う。

1) fdiskによりMBRを編集
2) パーティション1をFAT32にフォーマット
3) volumioディスクイメージのパーティション1の内容をcpコマンドによりコピー
4) volumioディスクイメージのパーティション2イメージをddコマンドによりコピー
5) パーティション2をresizefsによりMBRの内容に調整
6) パーティション1に楽曲サンプルをコピー

先ずは作成するmicro SDカードのMBRの編集を行う。
この作業は母艦(ゲストOS)で実施する。
当然のことながら母艦(ゲストOS)でmicro SDカードを認識できる必要がある。
以下は/dev/sdbとしてmicro SDが認識された前提とする。
また、必ずしも必要ではないがシリンダ境界を意識することとする。

temp-host@temp-host:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdb1
temp-host@temp-host:~$ sudo fdisk /dev/sdb
[sudo] password for temp-host: 

コマンド (m でヘルプ): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
ヘッド 255, セクタ 63, シリンダ 1936, 合計 31116288 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            8192    31116287    15554048    c  W95 FAT32 (LBA)

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   パーティションを削除する
   l   既知のパーティションタイプをリスト表示する
   m   このメニューを表示する
   n   新たにパーティションを作成する
   o   新たに空の DOS パーティションテーブルを作成する
   p   パーティションテーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   パーティションのシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   パーティションテーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): d
選択したパーティション 1

コマンド (m でヘルプ): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
ヘッド 255, セクタ 63, シリンダ 1936, 合計 31116288 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): c
DOS Compatibility flag is set (DEPRECATED!)

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, 初期値 1): 1
最初 セクタ (63-31116287, 初期値 63): 8192
Last セクタ, +セクタ数 or +size{K,M,G} (8192-31116287, 初期値 31116287): 22467279

コマンド (m でヘルプ): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
ヘッド 255, セクタ 63, シリンダ 1936, 合計 31116288 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            8192    22467279    11229544   83  Linux

コマンド (m でヘルプ): l

 0  空              24  NEC DOS         81  Minix / 古い Li bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux スワップ  c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隠し C: ド c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 拡張領域  c7  Syrinx         
 5  拡張領域        41  PPC PReP Boot   86  NTFS ボリューム da  非 FS データ   
 6  FAT16           42  SFS             87  NTFS ボリューム db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux プレーン  de  Dell ユーティリ
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX ブート可能  4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 ブートマネ 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad ハ eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 拡張領域 (L 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隠し FAT12      56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 診断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隠し FAT16 <32M 61  SpeedStor       ab  Darwin ブート   f2  DOS セカンダリ 
16  隠し FAT16      63  GNU HURD または af  HFS / HFS+      fb  VMware VMFS    
17  隠し HPFS/NTFS  64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワップ   fd  Linux raid 自動
1b  隠し W95 FAT32  70  DiskSecure Mult bb  隠し Boot Wizar fe  LANstep        
1c  隠し W95 FAT32  75  PC/IX           be  Solaris ブート  ff  BBT            
1e  隠し W95 FAT16  80  古い Minix     

コマンド (m でヘルプ): t
選択したパーティション 1
16進数コード (L コマンドでコードリスト表示): c
パーティションのシステムタイプを 1 から c (W95 FAT32 (LBA)) に変更しました

コマンド (m でヘルプ): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, 初期値 2): 2
最初 セクタ (63-31116287, 初期値 63): 22467280
Last セクタ, +セクタ数 or +size{K,M,G} (22467280-31116287, 初期値 31116287): 29301360

コマンド (m でヘルプ): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
ヘッド 255, セクタ 63, シリンダ 1936, 合計 31116288 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            8192    22467279    11229544    c  W95 FAT32 (LBA)
/dev/sdb2        22467280    29301360     3417040+  83  Linux

コマンド (m でヘルプ): a
パーティション番号 (1-4): 1

コマンド (m でヘルプ): p

Disk /dev/sdb: 15.9 GB, 15931539456 bytes
ヘッド 255, セクタ 63, シリンダ 1936, 合計 31116288 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *        8192    22467279    11229544    c  W95 FAT32 (LBA)
/dev/sdb2        22467280    29301360     3417040+  83  Linux

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう

警告: DOS 6.x パーティションを作成、または変更してしまった場合は、
fdisk マニュアルの追加情報ページを参照してください。
ディスクを同期しています。
temp-host@temp-host:~$ 

母艦(ゲストOS)をリブートする。

temp-host@temp-host:~$ sudo sync
temp-host@temp-host:~$ sudo sync
temp-host@temp-host:~$ sudo sync
temp-host@temp-host:~$ sudo reboot

母艦(ゲストOS)はubuntsuであるが、SDカードは自動マウントされる。
以下/dev/sdb2にmicro SDの物理デバイスが認識された前提。
先ず、パーティション1をボリューム名vomukioとしてFAT32でフォーマットを行う。
-cオプションは付けていないが、時間があるのならば不良ブロックの検出は行った方が良い。
ただし、11.5GiBともなるとかなりの時間がかかるので今回は省略。

temp-host@temp-host:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdb1  /dev/sdb2
temp-host@temp-host:~$ sudo umount /dev/sdb1
temp-host@temp-host:~$ sudo mkfs.vfat -v -n volumio -F 32 /dev/sdb1
mkfs.fat 3.0.26 (2014-03-07)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
/dev/sdb1 has 64 heads and 32 sectors per track,
hidden sectors 0x2000;
logical sector size is 512,
using 0xf8 media descriptor, with 22459088 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 16 sectors per cluster.
FAT size is 10956 sectors, and provides 1402321 clusters.
There are 32 reserved sectors.
Volume ID is 170c3c3f, volume label volumio    .
temp-host@temp-host:~$ 

フォーマット後、母艦(ゲストOS)で自動マウントされる。

temp-host@temp-host:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
nfsd on /proc/fs/nfsd type nfsd (rw)
vmware-vmblock on /run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=temp-host)
/dev/sdb1 on /media/temp-host/volumio type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
temp-host@temp-host:~$ ls -la /media/temp-host/volumio/
合計 12
drwx------  2 temp-host temp-host 8192  1月  1  1970 .
drwxr-x---+ 4 root      root      4096  2月 23 00:12 ..
temp-host@temp-host:~$ 

マウントポイントは/media/temp-host/volumio/となっている。
Volumio1.5BBB.imgのパーティション1の内容を作成するmicroSDカードのパーティション1にcpコマンドによりコピーを行う。
Volumio1.5BBB.imgのパーティション1はループデバイスとして母艦(ゲストOS)にマウントする。

temp-host@temp-host:~$ fdisk -l Volumio1.5BBB.img

ディスク Volumio1.5BBB.img: 1468 MB, 1468006400 バイト
ヘッド 255, セクタ 63, シリンダ 178, 合計 2867200 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x000768ee

      デバイス ブート      始点        終点     ブロック   Id  システム
Volumio1.5BBB.img1   *        2048        4095        1024    1  FAT12
Volumio1.5BBB.img2            4096     2666789     1331347   83  Linux
temp-host@temp-host:~$ sudo mount Volumio1.5BBB.img /mnt/loop1/ -o loop,offset=$((512*2048))
temp-host@temp-host:~$ sudo cp -r /mnt/loop1/* /media/temp-host/
MLO                        uEnv.txt
System Volume Information/ volumio/
u-boot.img                 
temp-host@temp-host:~$ sudo cp -r /mnt/loop1/* /media/temp-host/volumio/
temp-host@temp-host:~$ 

続いてVolumio1.5BBB.imgのパーティション2の内容を作成するmicroSDカードのパーティション2にddコマンドによりコピーを行う。

temp-host@temp-host:~$ sudo dd if=./Volumio1.5BBB.img skip=4096 count=$((2666789-4096)) of=/dev/sdb2
2662693+0 レコード入力
2662693+0 レコード出力
1363298816 バイト (1.4 GB) コピーされました、 207.957 秒、 6.6 MB/秒
temp-host@temp-host:~$ 

ubuntsuではddコマンド実行後、パーティション2は自動マウントされる。
この状態ではパーティション2の状態はMBRとi-nodeテーブルの内容が一致していないのでresize2fsを用いてMBRの内容に合わせてリサイズする。

temp-host@temp-host:~$ sudo resize2fs /dev/sdb2
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/sdb2 to 854260 (4k) blocks.
The filesystem on /dev/sdb2 is now 854260 blocks long.

temp-host@temp-host:~$ 

パーティション1にミュージックファイル用のディレクトリを作っておく。

temp-host@temp-host:~$ sudo mkdir /media/temp-host/volumio/music
temp-host@temp-host:~$  

母艦(ゲストOS)で楽曲ファイルをmicro SDの/media/temp-host/volumio/music/に保存する。
今回は以下のサイトからダウンロードした。
http://www.lessloss.com/high-resolution-audiophile-recordings-c-68.html

ダウンロードを行う為には算数の問題を解く必要がある。
コピー後、micro SDカードを母艦(ゲストOS)から取り外しBBBに挿入して電源投入を行う。

初回起動はシリアルケーブルとethernet接続を行う。
今回自作PCM5122 I2S I/F DACを接続したまま初回起動を行ったのだが、起動後に起動後のチャイムが鳴動したのに驚いた。
どうやらデフォルトでI2S DACが選択された状態となるようだ。

ethernet経由でDHCPに割り振られたIPアドレスにssh接続を行う。
userはroot、passwdはvolumioでログインできる。

Linux volumio 3.8.13-bone20 #1 SMP Wed May 29 03:11:01 UTC 2013 armv7l
                       ___
                      /\_ \                        __
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/

             Free Audiophile Linux Music Player - Version 1.5

                 C 2013 Michelangelo Guarise - Volumio.org


Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Feb 22 16:09:31 2015 from 192.168.1.20
root@volumio:~# df
Filesystem          1K-blocks      Used Available Use% Mounted on
rootfs                3331296    555620   2604836  18% /
/dev/root             3331296    555620   2604836  18% /
devtmpfs               253720         0    253720   0% /dev
tmpfs                   50776       364     50412   1% /run
tmpfs                    5120         0      5120   0% /run/lock
tmpfs                  524288         0    524288   0% /run/shm
Ramdisk                524288         0    524288   0% /run/shm
/dev/mmcblk1p1          98094     73336     24758  75% /mnt/USB
//192.168.1.14/dlna 968628480 376249492 592378988  39% /mnt/NAS/dlna
root@volumio:~# 

意図したように/rootfsが拡張されている事を確認できた。

デフォルトではパーティション1がマウントされていないので、/etc/fstabを修正し、起動時に自動マウントされるようにする。

root@volumio:~# fdisk -l

Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
255 heads, 63 sectors/track, 1936 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        8192    22467279    11229544    c  W95 FAT32 (LBA)
/dev/mmcblk0p2        22467280    29301360     3417040+  83  Linux

Disk /dev/mmcblk1: 3867 MB, 3867148288 bytes
4 heads, 16 sectors/track, 118016 cylinders, total 7553024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk1p1   *        2048      198655       98304    e  W95 FAT16 (LBA)
/dev/mmcblk1p2          198656     7553023     3677184   83  Linux

Disk /dev/mmcblk1boot1: 2 MB, 2097152 bytes
4 heads, 16 sectors/track, 64 cylinders, total 4096 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mmcblk1boot1 doesn't contain a valid partition table

Disk /dev/mmcblk1boot0: 2 MB, 2097152 bytes
4 heads, 16 sectors/track, 64 cylinders, total 4096 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mmcblk1boot0 doesn't contain a valid partition table
root@volumio:~# cat /etc/fstab
Ramdisk   /run/shm        tmpfs   defaults,size=512M,noexec,nodev,nosuid        0       0
/dev/mmcblk0p1 /mnt/USB vfat utf8 0 0
root@volumio:~#

ついでにWiFiの設定も行っておく。

root@volumio:~# nano /etc/network/interfaces  
root@volumio:~# cat /etc/network/interfaces  
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
  wpa-ap-scan 1
  wpa-scan-ssid 1
  wpa-bssid 10:6F:3F:4B:20:55
  wpa-key-mgmt WPA-PSK
  wpa-proto RSN
  wpa-pariwise COMP TKIP
  wpa-group CCMP TKIP
  wpa-ssid MY-AP-001
  wpa-psk hogehoge
root@volumio:~# 

再起動を行う。

root@volumio:~# sync
root@volumio:~# sync
root@volumio:~# sync
root@volumio:~# reboot

これで再度立ち上げると、WiFi経由でDHCPから割り当てられたIPアドレスにWEBブラウザでアクセスするとWEB UIを開く事ができる。

I2S driver関連の設定はMENUの”System”の”System Updates”で”CHECKUPDATES”を選択し終了後再起動したら選択できるようになった。

ただ、出現条件は絞れていない。

設定は先ずMENUの”Playback”の”Volume control mixer”を”Software”とする。
これを行わなければ音量を絞る事ができないからだ。

希望としてはDACからは加工していない元データそのままをI2S DACに出力したいが、今の構成では実現できていない。

NASの設定とLibraryの更新はMENUの”Library”で行う。

micro SDのパーティション1の/musicフォルダはMENUの”Library”で”UPDATE LIBRARY”を実行すると認識されるようになる。

とりあえずこれでmicro SDカードの作成はできた。
一応自作PCM5122 I2S I/F DACから楽曲ファイルの再生もできるようだ。
ただ、しばらく再生していると時々無音期間が発生したり、キーというノイズが発生したりするようだ。

PCM5122 I2S I/F DACでの場合、音量を100%にした場合の激しいポップノイズは24bit/96KHzサンプルのwavファイルでは少なくとも起動直後では出ないようだ。
16bit/44.1KHzサンプルのwavファイルでは出だしから激しくポップノイズが出るのでリサンプリングに問題があるように見える。
どちらにしても再生を続けていると/proc/budyinfoを見る限りどんどん4MByteの連続ページが減ってゆき、残り28位から無音期間やキー音が出だす。
最初のファイルは良い音で鳴動するので、再生終了・リブートを繰り返せば曲は聴くことはできる。

ちなみにAKI.DAC-U2704 USB DACの場合は16bit/44.1KHzのwavファイルの場合音量100%でもポップノイズは出ない。
反対に24bit/96KHzサンプルのwavファイルを音量100%で再生すると激しいポップノイズが出るので、やはりリサンプリングに問題がある疑いが強まる。
また、AKI.DAC-U2704 USB DACで16bit/44.1KHzのwavファイルの場合は4MByteの連続ページの減りは緩やかであるので、この組み合わせならば長時間での連続再生に耐えられるようだ。

I2sドライバとUSB DACドライバは以下のように認識されている。

root@volumio:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: DAC [USB Audio DAC], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@volumio:~#

I2SドライバはTIの純正ドライバなのだろうか?

volumioをBeagleBone Blackで試して見たが、現時点ではI2S I/Fでは多少不安定であるようだ。
プロジェクトとしては非常に面白く有用であるので、この先を是非見てみたい。
また、電子工作としては楽曲を鳴らす事ができているので非常に楽しいものだ。
しばらくこの環境で遊んでみることとする。

タイトルとURLをコピーしました