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
210
Spotify物理リモコンがほしい v0.2
2022/5/26 Music LT Vol.2 登壇スライド
田中みそ
May 26, 2022
Tweet
Share
More Decks by 田中みそ
See All by 田中みそ
M5ATOMでNintendo Switchを自動化してみた
miso
0
34
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
110
opnizのご紹介
miso
0
590
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
390
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
71
TypeScriptでIoT開発できるらしいDeviceScriptのご紹介
miso
0
390
ngrokを使ったLINE Bot開発を超快適にする「linegrok」のご紹介
miso
0
340
ひとりopniz Meetup vol.1「opnizとは(迫真)」
miso
0
350
M5Unified版opnizがリリースされてほとんどのM5Stackデバイスで使えるようになった🎉
miso
0
450
Other Decks in Technology
See All in Technology
AWSやJAWS-UGとの出会いを振り返る
yoyoyopg
1
200
Taking Flight with Tailwind CSS
opdavies
0
4.3k
NewSQL Landscape
oracle4engineer
PRO
5
3.1k
拓展QA日常工作的邊界
line_developers_tw
PRO
0
190
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts
kakehashi
5
3.2k
技術力の伸ばし方を考える
khirata
0
130
1Q86
kawaguti
PRO
2
110
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
1.6k
個人のAWSアカウントをマルチ運用してみた
miura55
2
290
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
37k
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
1
110
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Designing the Hi-DPI Web
ddemaree
276
33k
Designing for Performance
lara
601
67k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
A Philosophy of Restraint
colly
197
16k
Designing Experiences People Love
moore
136
23k
A designer walks into a library…
pauljervisheath
201
23k
Producing Creativity
orderedlist
PRO
338
39k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
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/ より