大沼 美幸 / miyuki.onuma

自己紹介

VoicyでAndroidエンジニアしてます! 小2男児母👩‍👦 で yzf-R25 というバイクに乗ってます🏍️

Voicyの好きなところ

正しいものを正しく作るということに真摯に向きあい、立ちはだかる壁を超えてやるという気概があるメンバーが揃っているところ

好きなVoicyパーソナリティ

宮路秀作(代ゼミ地理講師&コラムニスト)「宮路秀作の「やっぱり地理が好き」」/ Voicy - 音声プラットフォーム
【世界を地理で愛でる教養番組】 番組を聴けばちょっとだけ教養が身につく、そんなブレーンパーティー。あなたの知識をアップデートしませんか? お相手はわたくし、代々木ゼミナール地理講師で、コラムニストの宮路秀作です。 「みやじまん」と呼ばれています。 1.2倍速、もしくは1.5倍速でのご拝聴推奨! 【配信内容】 ①レギュラー配信 ・地誌編 ・日本地理編 ・失われし場所を訪ねて編 ・独り大放談 ・ニュース雑感 ②プレミアム配信 ・独り大放談プレミアム 【ファンネーム】 男性は「地理男(ちりめん)」 女性は「地理女(ちりじょ)」 【アンケート】 番組のリスナーアンケートを設置しています。お時間あるときにでもご回答頂けると嬉しいです。 https://forms.gle/EgNVJ13kd68nRm3R7 ▼みやじまんちゃんねる(YouTube) https://www.youtube.com/channel/UCz-jKgkDgxXjPdGejAcaQdw ▼メルマガ https://foomii.com/00223 ▼主著 『経済は地理から学べ!』(ダイヤモンド社) 発行部数64500部、この書籍の地理学の普及・啓発が認められ、2017年度日本地理学会賞(社会貢献部門)を受賞 単著12冊、共著3冊 著作の累計発行部数は19万8500部

カジュアルに話してみる

入社エントリー

登壇実績

登壇レポート

DroidKaigi 2022 参加してみて - voicy tech blog
10/5(水)から2日間東京ドームシティ プリズムホールにて、 3日目は ベルサール 飯田橋ファーストにて開催された DroidKaigi 2022 にオフラインで参加しました。 DroidKaigi 2022にてプロポーザルを出したところ採択いただきました。 「技術をアウトプットするところに技術は集まる」と思っています。 Androidエンジニアが一堂に集まるイベントに登壇できる機会をもらえて、本当にありがたいことです。 プロポーザル また、[Ask the Speaker] という登壇後視聴者さんと会話する時間をもうけていただいてました。 シンプルに音声まわりを実装してみたくなった、ワクワクした、という声をいただけたことが大変嬉しかったです。 OboeやJuceのことを会話していると、実は普段から頼りにしていた ブログ の執筆者とわかり、記念に写真撮るくらい高揚しました。直接お礼が言えてよかったです。 いやぁ、 github のアイコンでしか知ってない人といきなりフィジカルで対面するとあんなにびっくりするんですね。 また、Voicyの CTO百景 に出てくださったあんざいさんにも直接お礼が言えてよかったのとVoicyの生放送の体験についてFBもらえたのも貴重でした。 Design Docやドック フーディングなど スクラム 開発での工夫や、0からのリプレース話など、現場の実践の話大変参考になります。 リリースフローにおいてのCIの真価をあらためて再認識したお話でした。 弊社の各ステージでのアウトプットやワークフロー見直そうと思います。 Edge to edge(UX高まる) スプラッシュスクリーンは長くても1秒(エンジニアの腕の見せ所とのこと...)

ピックアップコンテンツ

【Android】開発ビルドアプリで課金テストするためにやること - voicy tech blog
経緯 開発ビルドアプリで Google play アプリ内課金のテストをする上で躓くことがありポイントをまとめました。 公式ドキュメント 結論 課金形態 Google が提供するアプリ内課金の形態は以下の2種類があります。 「1 回限りのアイテム購入」は、ゲームのガチャなど、都度消費することを目的とする場合の 消費可能アイテムと、広告の非表示やアップグレードなど、一度の購入で無期限に利用する場合の 消費不可アイテム にわかれます。 「定期購入」は、オンライン雑誌や音楽ストリーミング サービスなど、ユーザーがキャンセルするまで自動的に更新され、繰り返し利用できるコンテンツの利用権を提供する場合に用います。 アプリ内課金で購入できるVoicyの特典 Voicyでは以下のコンテンツや特典をアプリ内課金で購入できます。 「プレミアムリスナーへの参加権」向けコンテンツをWebで先駆けて販売していました。 Webが採用しているクレジット決済代行システムの仕様に伴い、モバイルでの販売形態は アイテム購入 としています。 マルチ環境でアプリをビルドする Android アプリで開発環境、本番環境を切り替えるにはProduct Flavorを設定しています。 アプリケーション ID は環境別に一意である必要があり、開発環境のアプリケーションIDには".debug"といったSuffixをつけています。 app/build.gradle productFlavors { development { applicationIdSuffix ".dev" ... } staging { applicationIdSuffix ".stg" ... } production { ...
Oboeライブラリの音楽ゲームサンプルコードを読んでみた - voicy tech blog
今日は、先日登壇した DroidKaigi にて紹介したOboeライブラリを使用したサンプルコードを読んでいきます。 Oboeとは Android NDKの高性能オーディオ APIを使用する C++ ライブラリです。 ちなみに、Oboeはハイパフォーマンスなゲームオーディオとして Android Game SDKに組み込まれています*1 。 Oboe は Android デ バイスの 99 % 以上で最低レイテンシを提供している実績があります。 Voicyの Android アプリでは現状、喫緊でOboeを採用する必要性は正直ないです。 ですが、収録前の音声読み込み時間やSEの再生までの レイテンシー, 端末依存による音質の違いなど、音質やパフォーマンスチューニングの余地はたくさんあり、ナレッジを蓄積していきた考えです。 C++で書く必要がありますが、コード量は少なく大変使いやすいコードベースです。また英語ではありますが、手厚いコミュニティサポートもあります。加えて、昨今のカラオケや 音ゲーなど音を扱うアプリがOboeを採用する動きがあります。*2 ストリームの構築を行います。 AAudioStream で表現される「オーディオ ストリーム」に対して読み書きすることにより、オーディオ データをやり取りします。 bool AudioEngine::start() { AAudioStreamBuilder *streamBuilder; AAudio_createStreamBuilder(&streamBuilder); // 浮動小数点数の音声フォーマット AAudioStreamBuilder_setFormat(streamBuilder, AAUDIO_FORMAT_PCM_FLOAT); // 出力はモノラル AAudioStreamBuilder_setChannelCount(streamBuilder, 1); //

テキストアウトプット