Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spotify物理リモコンがほしい v0.2
Search
田中みそ
May 26, 2022
Technology
0
350
Spotify物理リモコンがほしい v0.2
2022/5/26 Music LT Vol.2 登壇スライド
田中みそ
May 26, 2022
Tweet
Share
More Decks by 田中みそ
See All by 田中みそ
子どもの写真からデフォルメフィギュアを作ってみた
miso
1
45
LINE x IoT 入門ハンズオン
miso
0
200
M5ATOMでNintendo Switchを自動化してみた
miso
0
450
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
430
opnizのご紹介
miso
0
820
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
810
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
170
TypeScriptでIoT開発できるらしいDeviceScriptのご紹介
miso
0
630
ngrokを使ったLINE Bot開発を超快適にする「linegrok」のご紹介
miso
0
470
Other Decks in Technology
See All in Technology
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
Browser
recruitengineers
PRO
3
100
[CV勉強会@関東 CVPR2025 読み会] MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos (Li+, CVPR2025)
abemii
0
180
サイボウズフロントエンドの横断活動から考える AI時代にできること
mugi_uno
4
1.4k
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
1
260
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
310
GCASアップデート(202506-202508)
techniczna
0
240
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
590
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
10k
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
110
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Bash Introduction
62gerente
614
210k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
BBQ
matthewcrist
89
9.8k
Done Done
chrislema
185
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Transcript
Spotify物理リモコンがほしい v0.2 田中みそ 2022/5/26 Music LT Vol. 2
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ Music LT主催 LINE API Expert IoT界隈やスマートスピーカー界隈に よくいます
Spotify物理リモコンがほしい背景 • 普段スマートスピーカーからSpotifyで音楽を流すけど、 曲選択や音量調整といった操作は音声ではやりづらい • なのでWeb Playerを使ってPCから操作してるけど、 PCのあるところに行かないといけなかったり、 ウインドウ切り替えたりと地味にめんどくさい
コンポのリモコンみたいなので操作したい 理想はコンポ(死語?)のリモコン感覚で物理ボタンを ポチポチしてSpotifyをコントロールできたらいいな
(余談)こんなのもあるらしい https://www.itmedia.co.jp/news/articles/2202/23/news041.html より
ソフトウェア実装
Spotify Web API https://developer.spotify.com/documentation/web-api/reference/#/operations/transfer-a-users-playback より
Spotify Web API • シンプルなREST API • Spotify for Developersにログインするとプロジェクト
(APP)を作成でき、Client ID/Secretが発行される • 曲情報やアルバム情報取得APIなんかがあり、 Player APIも一通り揃ってる • ただし無料プランだとPlayer APIは動かない…
(余談)初回3ヶ月無料キャンペーン中! https://www.spotifypremium.jp/ より
Web Consoleがとても便利 https://developer.spotify.com/console/get-user-player/?market=ES&additional_types= より
Web Consoleがとても便利 https://developer.spotify.com/console/get-user-player/?market=ES&additional_types= より
Web Consoleがとても便利 https://developer.spotify.com/documentation/general/guides/authorization/code-flow/ より
Use Caseに合わせたクラスを作成 Use Case • 再生/停止 • 次の曲へ • 前の曲へ
• 音量アップ • 音量ダウン • リピート • シャッフル https://github.com/thelinmichael/spotify-web-api-node より
ハードウェア実装
物理コントローラーどうするか • ひとまずM5Stackでプロトタイプ実装 • 3ボタンあるので組み合わせでUse Caseは網羅できる • 前の曲へ A •
再生/停止 B • 次の曲へ C • 音量ダウン A B • 音量アップ B C • リピート A C • シャッフル A B C
物理コントローラーどうするか
プロトタイプのシステム構成 Web API JavaScriptでマイコンを制御できるIoTフレームワーク。 M5Stackから直接Web API叩けるけど、Cで実装し たくなかったのでopnizを使ってTypeScriptで実装。 ボタン信号
本番構成 マイコン: M5ATOM or M5Stamp ソフトウェア実装:Spotify Web API & opniz
物理ボタン:どうしよう… https://www.switch-science.com/catalog/7360/ より
物理ボタン案その1 • 4x3キーパッド作成キット • 350円 • 小さすぎるかも? https://akizukidenshi.com/catalog/g/gK-12229/ より
物理ボタン案その2 • 100均のUSBテンキーボード • 330円! https://note.com/tomorrow56/n/n9e9a02586d76 より https://lang-ship.com/blog/work/usb-numeric-keypad/ より
物理ボタン案その3 • 謎の赤外線リモコン • 多分昔買った電子パーツ詰め合わ せみたいのについてきたやつ • ボタンいっぱいあるし最適解かも
物理ボタン案その3 https://lang-ship.com/blog/work/m5sitckc-daiso-remote-led/ より https://akizukidenshi.com/catalog/g/gM-07245/ より