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
300
Spotify物理リモコンがほしい v0.2
2022/5/26 Music LT Vol.2 登壇スライド
田中みそ
May 26, 2022
Tweet
Share
More Decks by 田中みそ
See All by 田中みそ
LINE x IoT 入門ハンズオン
miso
0
150
M5ATOMでNintendo Switchを自動化してみた
miso
0
350
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
350
opnizのご紹介
miso
0
750
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
660
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
130
TypeScriptでIoT開発できるらしいDeviceScriptのご紹介
miso
0
560
ngrokを使ったLINE Bot開発を超快適にする「linegrok」のご紹介
miso
0
430
ひとりopniz Meetup vol.1「opnizとは(迫真)」
miso
0
470
Other Decks in Technology
See All in Technology
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.1k
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
350
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
150
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
360
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
170
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
860
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.1k
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
5
420
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.6k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Invisible Side of Design
smashingmag
299
50k
It's Worth the Effort
3n
184
28k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Done Done
chrislema
182
16k
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/ より