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
590
AV Foundation × Core MotionでiPhoneを“楽器”にしよう
afroscript
June 26, 2019
Tweet
Share
More Decks by afroscript
See All by afroscript
企業の研究開発チームにおける アウトリーチの役割 を整理してみた
afroscript
0
56
メンバー目線から紐解く、 メルカリにおけるカルチャーが浸透し続ける6つの仕組み
afroscript
4
1.2k
技術広報の役割を定義してみた ~2023年夏~
afroscript
0
730
技術広報の役割を定義してみた 2022年春
afroscript
4
6.6k
急拡大したエンジニア組織の「成長痛」に メルカリはどう立ち向かっているか?
afroscript
1
2.2k
Engineer Onboarding "打ち手"大全 ~Engineer Onboarding Meetupで出てきた手法まとめ~
afroscript
0
590
~研修の効果測定ってみなさんどうしてます?~ メルカリ新卒研修の 効果測定にもがいている話
afroscript
1
2.3k
頑張らないコミュニティ運営 ~苦なく楽しく継続させるための、適切な手抜き術~@PRLT
afroscript
4
1.4k
AV Foundation × Core MotionでiPhoneを“楽器”にしよう(改)@Swift愛好会
afroscript
0
960
Other Decks in Technology
See All in Technology
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
1
160
エンジニア向け会社紹介資料
caddi_eng
15
250k
エンジニア採用ノウハウ0から継続的な採用に至るまで / Try recruiting engineers
ohageeq
0
130
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
41k
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
2
560
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
150
目標設定と習慣化で今よりも一歩生産性を上げる
sansantech
PRO
7
2.3k
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
390
EitherT_with_Future
aoiroaoino
0
380
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
1.3k
Estrategias de escalabilidade para projetos web
jessilyneh
1
150
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
How to Think Like a Performance Engineer
csswizardry
15
910
How to name files
jennybc
75
97k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
How GitHub (no longer) Works
holman
309
140k
The Language of Interfaces
destraynor
153
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
GraphQLとの向き合い方2022年版
quramy
43
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
27
8.9k
KATA
mclloyd
27
13k
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 持ってダンスとか?動きに合わせて音がなる的な。
ご静聴ありがとうございました 合宿来てね!:)
理想像 (本当はここまでやりたい) ※ビデオ入れる?