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
710
AV Foundation × Core MotionでiPhoneを“楽器”にしよう
afroscript
June 26, 2019
Tweet
Share
More Decks by afroscript
See All by afroscript
3分でふり返る 2025年のOutreach Meetup
afroscript
0
35
研究紹介ショート動画「メルカリR4Dラボ チャンネル」を2年弱やってみた成果と学び
afroscript
1
310
企業の研究開発チームにおける アウトリーチの役割 を整理してみた
afroscript
0
260
メンバー目線から紐解く、 メルカリにおけるカルチャーが浸透し続ける6つの仕組み
afroscript
4
1.7k
技術広報の役割を定義してみた ~2023年夏~
afroscript
0
1.3k
技術広報の役割を定義してみた 2022年春
afroscript
4
7.7k
急拡大したエンジニア組織の「成長痛」に メルカリはどう立ち向かっているか?
afroscript
2
2.5k
Engineer Onboarding "打ち手"大全 ~Engineer Onboarding Meetupで出てきた手法まとめ~
afroscript
0
710
~研修の効果測定ってみなさんどうしてます?~ メルカリ新卒研修の 効果測定にもがいている話
afroscript
1
2.6k
Other Decks in Technology
See All in Technology
Agile Leadership Summit Keynote 2026
m_seki
1
650
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
140
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
470
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
510
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
1
100
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
910
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Rails Girls Zürich Keynote
gr2m
96
14k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
78
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Code Review Best Practice
trishagee
74
20k
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
KATA
mclloyd
PRO
34
15k
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 持ってダンスとか?動きに合わせて音がなる的な。
ご静聴ありがとうございました 合宿来てね!:)
理想像 (本当はここまでやりたい) ※ビデオ入れる?