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
AV Foundation × Core MotionでiPhoneを“楽器”にしよう
Search
afroscript
June 26, 2019
Technology
0
610
AV Foundation × Core MotionでiPhoneを“楽器”にしよう
afroscript
June 26, 2019
Tweet
Share
More Decks by afroscript
See All by afroscript
企業の研究開発チームにおける アウトリーチの役割 を整理してみた
afroscript
0
73
メンバー目線から紐解く、 メルカリにおけるカルチャーが浸透し続ける6つの仕組み
afroscript
4
1.2k
技術広報の役割を定義してみた ~2023年夏~
afroscript
0
780
技術広報の役割を定義してみた 2022年春
afroscript
4
6.8k
急拡大したエンジニア組織の「成長痛」に メルカリはどう立ち向かっているか?
afroscript
1
2.3k
Engineer Onboarding "打ち手"大全 ~Engineer Onboarding Meetupで出てきた手法まとめ~
afroscript
0
600
~研修の効果測定ってみなさんどうしてます?~ メルカリ新卒研修の 効果測定にもがいている話
afroscript
1
2.3k
頑張らないコミュニティ運営 ~苦なく楽しく継続させるための、適切な手抜き術~@PRLT
afroscript
4
1.4k
AV Foundation × Core MotionでiPhoneを“楽器”にしよう(改)@Swift愛好会
afroscript
0
980
Other Decks in Technology
See All in Technology
最速最小からはじめるデータプロダクト / Data Product MVP
amaotone
1
370
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
0
110
Hotwire光の道とStimulus
nay3
5
2.2k
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
220
Why and Why not of enabling swap in Kubernetes
hwchiu
0
470
EKS初心者が早めに知っておきたかったこと
cuorain
0
140
[PyCon Korea 2024] Lightning Talk: PyPI패키지를 의심하세요
studioego
PRO
0
130
Databricksワークショップ - 生成AIとDWH
taka_aki
2
4.5k
日経ビジュアルデータにおける スクロールテリングと地図/nikkei-tech-talk-26
nikkei_engineer_recruiting
0
160
Java x Spring Boot Warm up
kazu_kichi_67
2
420
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
0
180
AI Builder について
miyakemito
1
130
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Building Adaptive Systems
keathley
38
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Bash Introduction
62gerente
608
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
AV Foundation × Core Motion で iPhoneの楽器アプリを作ろう iPhoneを“楽器”にしよう 非エンジニアでもできるっ! 初心者枠
▪Name : 木下 雄策(30歳・福岡出身) @afroscript10 ▪Career : 九州大学大学院 宇宙の研究 2013年 ~ Leverages(Levtech→teratail)
2019年 ~ Mecari ▪Work : 日本発のグローバルテックカンパニーをつくる! → Mercari Engineering Gateway ▪Others : ・Gs'ACADEMY2期生/WebGLスクール3期生 ・Engineering Onboarding Meetup / Swift愛好会 / Kotlin愛好会の運営 ・Like:スノボ、バスケ、宇宙、 Three.js 自己紹介
Background なぜつくったか? ~僕とSwift~
Background ・ Swift 愛好会の運営: 立ち上げからもう 3 年半くらいやってるな〜
Background ・ Swift 愛好会の運営: 立ち上げからもう 3 年半くらいやってるな〜 ・ try! Swift
2019 : Organizer に加え、司会までやらせてもらったな〜
Background ・ Swift 愛好会の運営: 立ち上げからもう 3 年半くらいやってるな〜 ・ try! Swift
2019 : Organizer に加え、司会までやらせてもらったな〜 ・でも僕、実は Swift ほぼ書けないんだけどな〜
「いや、それまずくないか?」
と、ようやく思い始めてきた
というか、Swift書けたら、 もっとtry! Swiftも楽しいだろうな〜 というのが正直なところ。
あと、エンジニアでない僕が談義することで、 Swift愛好会の談義は、 どんなレベルの発表でもいいんですよ!っていうのを 改めて発信していきたい気持ちもある エンジニアじゃなくても発 表していいんだよ!
Ideation さて、何つくろう?
Ideation ・でも何つくろうかな〜、作りたいものないんだよな〜
Ideation ・でも何つくろうかな〜、作りたいものないんだよな〜 ・ Three.js とか WebAudio で 3D や音を扱ったものをつくるのが好きだけどな〜 →楽器アプリとか?
Ideation ・でも何つくろうかな〜、作りたいものないんだよな〜 ・ Three.js とか WebAudio で 3D や音を扱ったものをつくるのが好きだけどな〜 →楽器アプリとか?
・でもすでにいっぱいあるしな〜
そうだ! 「楽器アプリ」じゃなくて、 iPhoneを「楽器」そのものにしよう!
ということで作ってみた。
Demo
(当然&普通だけど) ボタンを押すと音が出る 左右に傾くとビュー ンって 音が出る 上下に降ると スクラッチ音
How to develop ※初心者目線での解説になります
How to develop 再入門する
How to develop: 再入門する ・ GW を使って、まずは 1 冊読んだ ・
655 ページ。。。。心折れる。。。
How to develop: 再入門する ・ GW を使って、まずは 1 冊読んだ ・
655 ページ。。。。心折れる。。。 ・ iPhone って機能めちゃくちゃ多い!! なので、全部読む必要ないじゃん
How to develop: 再入門する ・ GW を使って、まずは 1 冊読んだ ・
655 ページ。。。。心折れる。。。 ・ iPhone って機能めちゃくちゃ多い!! なので、全部読む必要ないじゃん → Swift の文法だけちゃんと読んで、 あとはこんな機能を使えるんだ〜 くらいで流し読みすることにした
How to develop: 再入門する ・ GW を使って、まずは 1 冊読んだ ・
655 ページ。。。。心折れる。。。 ・ iPhone って機能めちゃくちゃ多い!! なので、全部読む必要ないじゃん → Swift の文法だけちゃんと読んで、 あとはこんな機能を使えるんだ〜 くらいで流し読みすることにした
How to develop 音を鳴らす
How to develop: 音を鳴らす ・ Xcode に音源を取り込む(ドラッグ & ドロップで OK
) ・音を扱うフレームワーク「 AV Foundation 」を import ・ AVAudioPlayer のインスタンスを用意 ・音源ファイル再生の下準備 ・音源再生 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・ Xcode に音源を取り込む(ドラッグ & ドロップで OK
) ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・音を扱うフレームワーク「 AV Foundation 」を import ※参考記事:
https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・ AVAudioPlayer のインスタンスを用意 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・音源ファイル再生の下準備はこんな感じ ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・音声ファイルのパスを生成 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・さっき用意した audioPlayer のインスタンスを生成 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・音源をいつでも再生できるように準備 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・音源を再生する ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・再生開始位置を 0 秒にして、 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・再生 ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop: 音を鳴らす ・あとは、 Button 押したときなどで関数呼べば OK ※参考記事: https://picolica.com/2017/02/25/swift3-play-sound/
How to develop モーションセンサーを使う
How to develop: モーションセンサーを使う ・フレームワーク「 Core Motion 」を import ・モーションマネージャーを作成
・モーションセンサーをスタート
How to develop: モーションセンサーを使う ・フレームワーク「 Core Motion 」を import ※書籍の通りに書いただけ
How to develop: モーションセンサーを使う ・モーションマネージャーを作成 ※書籍の通りに書いただけ
How to develop: モーションセンサーを使う ・モーションセンサーをスタート(ここよく分かんない笑。) ※書籍の通りに書いただけ
How to develop: モーションセンサーを使う ・ motionAnimation 関数内で、 音源再生関数を実行する ・回転角速度や加速度が一定数時を 越えたときに音源再生するようにする
・そのラインは何度も調整 ※書籍の通りに書いただけ
How to develop: その他のTips ・ボタン素材とかどうすんねん → これ便利だった https://www.draw.io/ ・楽器音は? → ここからお借りしました
https://maoudamashii.jokersounds.com/core.cgi?page=1&field= 効果音素材 <> 楽器 ・効果音は? → ここからお借りしました https://soundeffect-lab.info/sound/anime/
コードはこちら↓ http://afroscript.hatenablog.jp/entry/2019/06/26/201453
Next Step ・モーション増やしたい ・モーションの on/off できるようにしたい ・ボタンとモーションでそれぞれ好きに音を設定できるようにしたい ・録音して、音重ねられるようにしたい ・パフォーマンスの 1
つの分野になるとおもしろそうだなー → iPhone 持ってダンスとか?動きに合わせて音がなる的な。
ご静聴ありがとうございました 合宿来てね!:)
理想像 (本当はここまでやりたい) ※ビデオ入れる?