音楽, GitHub-Actions, リアルタイムOS, ショートカット
その他
MediaPlayerの導入方法を説明します. 説明項目は以下のとおりです.
- ダウンロード
- ファイルの説明
- 音楽再生モジュールの作成
- 再生モジュールとコントローラの接続
- コントローラ側の準備
Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.
このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.
ただし以下の環境が必要です.
メインのArduino
下の音楽再生用のArduinoをコントロールするためのものです.
音楽を再生するためのArduino
MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.
対応しているArduinoについて
- 動作周波数: 8MHz, 16MHz
microSD
音楽ファイルを保存するために必要です
音楽ファイル
- 対応ファイル形式: Wave
- サンプリング周波数: 32KHz, 16KHz, 8KHz
- 量子化精度: 8bit
ここでは, MediaPlayerの基本的な使い方を説明します. 説明項目は以下のとおりです.
- 音楽ファイルを準備する
- ピン接続
- 音楽を再生する
OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.
このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.
話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.
話の流れは次のとおりです.
- RTOSとは
- 目標と使い方
- 準備
- ファイル構成
- スクリプト
- ボードの設定
- 仕組み
対応状況
- Arduino UNO
- Arduino Mega
動作確認済み環境
- Arduino IDE 1.8.10
- Arduino AVR Boards 1.8.1
Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.
このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.
ただし以下の環境が必要です.
メインのArduino
下の音楽再生用のArduinoをコントロールするためのものです.
音楽を再生するためのArduino
MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.
対応しているArduinoについて
- 動作周波数: 8MHz, 16MHz
microSD
音楽ファイルを保存するために必要です
音楽ファイル
- 対応ファイル形式: Wave
- サンプリング周波数: 32KHz, 16KHz, 8KHz
- 量子化精度: 8bit
Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.
このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.
ただし以下の環境が必要です.
メインのArduino
下の音楽再生用のArduinoをコントロールするためのものです.
音楽を再生するためのArduino
MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.
対応しているArduinoについて
- 動作周波数: 8MHz, 16MHz
microSD
音楽ファイルを保存するために必要です
音楽ファイル
- 対応ファイル形式: Wave
- サンプリング周波数: 32KHz, 16KHz, 8KHz
- 量子化精度: 8bit
Cloud Music Boxは、クラウドストレージ(現在はOneDriveのみ)から音楽を再生するPWA音楽プレイヤーです。
以下の特徴を持ちます。
- PWAとして、多くのプラットフォーム(Windows, macOS, iOS, Android)上で同様のユーザ体験を実現します。
- 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要がありません。
- オフラインでも、ダウンロード済みの音楽は再生可能です。
- アプリがバックグラウンドにある場合でも、音楽の連続再生が可能です(iOSのみ動作しないことがある)。
- 音楽に合わせて、動的にアプリのスタイルやアニメーションが変化します。
Cloud Music Boxは、クラウドストレージ(現在はOneDriveのみ)から音楽を再生するPWA音楽プレイヤーです。
以下の特徴を持ちます。
- PWAとして、多くのプラットフォーム(Windows, macOS, iOS, Android)上で同様のユーザ体験を実現します。
- 一元管理されたクラウドストレージからの再生で、プレイヤーごとに音楽を同期する必要がありません。
- オフラインでも、ダウンロード済みの音楽は再生可能です。
- アプリがバックグラウンドにある場合でも、音楽の連続再生が可能です(iOSのみ動作しないことがある)。
- 音楽に合わせて、動的にアプリのスタイルやアニメーションが変化します。
本稿では、外部アクションに頼らずrcloneをもちいた外部サーバとのファイル転送方法を説明します。rcloneとは、FTPだけに限らず外部サーバに対してファイルのアップロードやダウンロード、削除や移動といったファイル操作を行えるCLIツールです。rcloneをGitHub Actionsで使うことにより、特殊な要求にも柔軟に対応できるようになります。
OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.
このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.
話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.
話の流れは次のとおりです.
- RTOSとは
- 目標と使い方
- 準備
- ファイル構成
- スクリプト
- ボードの設定
- 仕組み
対応状況
- Arduino UNO
- Arduino Mega
動作確認済み環境
- Arduino IDE 1.8.10
- Arduino AVR Boards 1.8.1
Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.
ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.
本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.
Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.
ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.
本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.