2020年2月2日日曜日

今更だけどLinux系OSでScratch 1.4の音(mp3)を再生する機能を検証する

Macの新しいOS(macOS Catalina 10.15.x)で32bitソフトであるScratch 1.4が動かなくなり、Scratchでの教材開発を1.4で続けていくためにはLinuxに頼らざるを得ない状況になっています。(自宅でWindowsは使いません)1.4を使い続けているのは、学校の特殊な事情により、1.4の出番がまだまだあるからです。そんな折、Scratch 1.4で音を再生しようと考えて、ネットにあったフリーの音源(mp3)を読み込ませようと思ったところ、「Unrecognized audio file format」というエラーが出て読み込むことができませんでした。どういうことかわからなかったのでネットで訪ねたところ、いつもお世話になっている@abee2さんより、いくつかヒントをいただきました。mp3のサンプリングbitの問題がありそうだというところに絞って検証をはじめました。

まずは、Scratch 1.4に入っている音で検証してみようと考え、いくつかのファイルを読み込んでみましたが、読み込めないものがあることが判明。これは詳しい検証が必要だと考えて、自宅にあるLinux系OSで動いているいくつかのマシーンで検証することにしました。

  1. Linux Mint 19.3 Tricia(MATE 64bit)
    • フリーのmp3ファイル … ×
    • ScratchのAnimalフォルダ内の「Cat」「Sealion」 … ×
    • その他のAnimalフォルダ内のファイル … ○
    ※/usr/share/scratch/Media/Animal/を見ると、「Cat」と「Sealion」だけmp3ファイルになっていて、残りはwavファイルになっている。ファイルを直接開くと、Linux上で再生される。
  2. Linux Mint 19.3 Tricia(Xfce 32bit)
    • フリーのmp3ファイル … ×
    • ScratchのAnimalフォルダ内の「Cat」「Sealion」 … ×
    • その他のAnimalフォルダ内のファイル … ○
    ※MATE 64bitと全く同じ状況。
  3. Raspbian 9.8(「$ cat /etc/debian_version」にて確認)
    • フリーのmp3ファイル … ×
    • ScratchのAnimalフォルダ内のすべてのファイル … ○
    ※/usr/share/scratch/Media/Animal/の音声ファイルは前2つと同様だが、mp3でもwavでも関係なく読み込むことができた。
  4. Puppy Linux 5.1.1 Wary日本語版にScratchなどを入れたものを使用)
    • フリーのmp3ファイル … ○
    • ScratchのAnimalフォルダ内のすべてのファイル … ○
    ※ダメ元でやってみたのにできてしまって自分がびっくり

フリーのmp3ファイルは、サンプリングbitが32bitらしいことがわかりました。だからLinux MintでもRaspbianでも使えないのは納得できたのですが、なぜPuppy Linuxで使えてしまったのかは謎です。Puppy Linuxでフリーのmp3ファイルを読み込んでプログラムを完成させて、そのプログラムをLinux Mintに持ち込んでも問題なく音が出るようになりました。こんな奇跡的なことがあって良いのだろうか。1つ問題が解決したので良いのですが、普段遣いのLinux Mintで使えないのは困るので、Audacityを使うことにしました。(サンプリングbitを変更するため)否、先述のPuppy Linuxは、私がいろいろいじってCD-Rに焼いたものがあるので、CDブートで使うという手もあります。…う~む、悩ましい。

0 件のコメント: