103)脱SoundCloudを目指して
最近は集中的にJavaScriptでプログラミングをしている。Web上の音楽プレイヤーを書いているのだ。これのせいで生活リズムがかなり崩れてしまった。
本サイトでは、音楽の再生にSoundCloudを利用している。なかなか便利なサービスであったが、そろそろ潮時である。なぜなら、SoundCloudが、定期的にサービスの停止を発表したり、実質的な有料化を推進しているからだ。つまり、運営が非常に不安定な状態というわけである。類似のサービスとしてBandcampというのもあるが、外部に依存するという点では同じだろう。
html5では、音楽を再生するための<audio>タグが用意されている。これを使えば、外部サービスに依存することなく運用できるし、またファイルの差し替えも容易である。しかし、<audio>の欠点として、ブラウザによって見た目が大きく異なってしまうことがあげられる。これは将来的には解決されそうな問題であるが、現状は気に食わない。
というわけで、プレイヤーをJavaScriptで作成している、がかなり苦戦している。ファイルが単体であれば再生できるが、ファイルが複数ある場合には上手く再生できないのだ。原因は分かっているし、アイデアもあるので、一つずつ実装するだけだが、なかなか進んでいない。一応、プレイヤーを一つだけ置くページを作成して<iframe>で読み込む、という方法もあるが、これは最終手段だろう(SoundCloudはそうしているはずである)。というかそれなら素の<audio>でもよいか。
もっと豪華なプレイヤー、たとえば波形を表示したり、エフェクトをかえたりするには、Web Audio APIの知識が必要なる。極論を言えば、APIを使わなくても実現できるだろうが、やってられないだろう。Web Audio APIを使えば、Web上でシンセサイザーやシーケンサーを作ることもできるらしい。資料も英語だがオライリーから出ているので、どこかのタイミングで勉強したいものだ。
2020-01-22