はじめに
このブログでは今後、webブラウザのAPIを用いて画像・音声・映像を扱う方法について学べるような連載をしようと考えています。
タイトルの付け方に迷ったのですが、それは自分が書こうとしている内容と他の似たようなタイトルのページに書かれている内容で多少の違いがあるからだと思います。
メディアプログラミング
僕は学生時代に「コンテンツメディアプログラミング」という講義を受けていましたが、それはwebページをDOMで解析したり、Formによるアンケート調査やスクレイピングによって取得したテキストデータをDBに収集、解析するものでした。
また、2022年現在「メディアプログラミング」と検索して出てくる記事は、大半がPythonやC++(OpenFrameWorks)、Processingを使ったローカルなメディア処理に関するものです。
これらは高度な処理を行うことができるため本格的な音声・映像処理の学習には向いていると思います。しかし、初学者にとっては学習環境を用意するのに苦労しますし、実装したものをどのように公開するかというタイミングで新たな壁にぶつかると思います(Processingはp5.jsというブラウザ上で動作する便利な実行環境がありますが)。
ブラウザを用いたメディアプログラミング
現代においてほとんどのシステムはwebをインターフェースとして動作しており、プログラミングを学ぶにはhtml/cssやJavaScriptがかかせません。
簡単な1枚のwebページ、動的なページ、WebAPI(ここではREST API的なものを指します)などと連携した高度なWebサービスというようにステップアップしていくことと思います。
JavaScriptはブラウザのネイティブなAPIにアクセスすることができ、近年ではメディア処理に関するAPIも充実してきました。
そこで本連載では、ブラウザを使ってメディアプログラミングを行う技術についてインプットできればと考えています。
具体的には、Canvas APIやWeb Audio APIといったブラウザのAPIの簡単な使い方を紹介してく予定です。
終わりに
僕の勉強も兼ねているので、間違いやアドバイスがあればコメントにて指摘いただければと思います。