2017年12月29日

PARTY SOUND GRIDS | 制作後記 (2) | 録音データをWAVファイルとして保存

忘・新年会の余興にピッタリ♪

では、今回は録音したデータの WAV ファイルフォーマットでの保存です!


最初は重要性に気がついてなかったんですけど、これがないと、アプリをリスタートするたびに、音声データがなくなっちゃいますよね!

もう、それは大変です。アプリとして致命的な欠陥になっちゃうんで、データの保存の対応をして行きたいと思います。


これに関しても、基本的には、Unity Editor でも、iOS デバイスでも挙動は同じだったんで、Unity Editor 上で動かす事に重点を置いて行きますね。



で、早速ネットで探してみたんですが....

素晴らしいです! Unity コミュニティ!!


似た様な問題を抱えてる人はたくさんいたみたいで、随分と前から、コードがアップされてたみたいです。

ここ なんですが、SavWav class を作ってくれていました!!


このクラスで、前回 マイクから保存された Audio Clip を、.wav ファイルとしてデバイス上に保存して、いつでも Audio Clip 上に読み出して、再生できる様になりますよー!!


コメントによると、機能的には問題ないけど、ちょっとしたファイル情報のバグはあるみたいなんで、もし気に入らない人は、

var samples = new float[clip.samples];
のところを
var samples = new float[clip.samples*clip.channels];
に変えればオッケーみたいです。

で、アプリ側からのコールはこんな感じです。
WavFileManager となってるのが、上にあるGitHub から取ってきた SavWav class になります。
WavFileSave.png

Line 137 で、まずデータの無音部分を削除してます。これがないと、録音時に指定した長さのデータになってしまうんで、必須です。
2番目の引数で、無音を判別する音の大きさを設定してるんですが、色々試した結果、やっぱり 0 が具合良いみたいでした。

その後、Line 143 でセーブするだけ。
セーブ先のパスは、

GetDataPass.png

こんな感じで、
Application.persistentDataPath 
から取ってきた物を使えば、Editor でも、デバイスでも問題なく動きました。

ロードはコルーチンで、こんな風になってて、
LoadSavWav.png
WWW クラスを使って AudioClip としてロードしてます。
必要なければ、_callback はなくても全然問題ないんですけど、あったほうが UI のアップデートに便利ですよねー。

これで、アプリの再起動後も、録音データの再生は問題なくできる様になりました!!

では、次回は、デバイスでの実行時に出てきた問題の解決方法の巻!
ではまた〜

簡単な、操作説明ビデオですよ


Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾


初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

posted by やまけん at 16:44| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする

2017年12月27日

PARTY SOUND GRIDS | 制作後記 (1) | Unity からマイクで録音

忘・新年会の余興にピッタリ♪

では、今回から実際のプログラムに関して!

以前から、マイクを使ったアプリは何どもみてたんで、無理とか、大変とは思ってなかったんですが、どうせ Unity がなんとかしてくれるでしょ!って感じでしたね。

で、思った通り、Microphone Class ってのがありまして、これで簡単に制御できました。
デバッグに関しても、Mac 上の Unity Editor からも、ほぼ同じ挙動でマイク入力を録音できたんで、コードのトラブルシューティングもホントに簡単でした!

Micriphone.png

基本的には、
    Microphone.Start(DEVICE_NAME,false,nRecordingTime,maxFreq);  
と、
    Microphone.End(DEVICE_NAME);
だけでハンドルできてしまします。

maxFreq は、Line 105 みたいに、
    Microphone.GetDeviceCaps(DEVICE_NAME,outminFreq,outmaxFreq);
と、デバイスから取ってたんですが、これ、iOS デバイスから実行した際には、制限なしの "0" で帰ってくるので、
その場合は、一般的な "96000" を使うようにしてます。

録音データの保存先ですが、これはひとまずオンメモリの Audio Source が受け入れ先になるんで、コンポーネントに追加しておきます。
SoundManager.png

アプリ側の仕様として、最大 20 秒まで録音、としてあるので、nRecordingTime は 20 秒になってます。

さらに、録音中に、残り何秒録音されるか、カウントダウンを表示するために、別途 dRecordingStartTime を保存して、そこから計算する様にしてあります。

あ、それと DEVICE_NAME は、簡単に、
        DEVICE_NAME Microphone.devices[0];
って感じです。ホントはセレクターを入れたかったんですが、UI 作るのが面倒で、もう標準マイク限定になっちゃってますねぇ。
将来的には拡張したいと思ってます。

さて、Unity Editor 上では、これだけでマイクからの入力が、Audio Source コンポーネントに保存されて動作する様になりました!!

ホントに簡単でしたね!ありがとう Unity !!

次回は、Audio Source に保存したデータを、WAV フォーマットでファイルとして保存!の巻です。
ではまた〜

簡単な、操作説明ビデオですよ


Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾


初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

posted by やまけん at 16:09| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする

2017年12月26日

映画 | Star Was The Last Jedi

忘・新年会の余興にピッタリ♪

さて、最近映画関連のが何もなかったんで、最近見た "Star Wars : The Last Jedi" です。

一応、初日の木曜日の 11:15pm の回に行きました。当日の朝までチケット買ってなくて、どうしようかなぁ〜?って思ってたんですが、金曜日に会社中でスポイラーの嵐になりそうだったんで、やっぱり急遽行くことに!

チケットは楽勝で取れたけど全席自由席。せっかく見るのに最前列は嫌だったんで、結構早め、上映開始の 40 分くらい前に着いたんですが、待ってる客は 10 人ほど。結構肩透かしな感じでした。映画始まっても、客席は40%ほど埋まってるだけでした。
まぁ、ほとんど全て、15スクリーンくらいで上映してましたが...

で、上映開始なんですが、まぁ宣伝のトレーラーが長い長い。
実は飲み物を買いに出た時にちょうどとなりのスクリーンから、冒頭の Star Wars のテーマソングが聞こえてきたんですが、なんと上映開始予定時間から 23分後!
なんで、ある程度予想してたんですが、それでもすごい長さでした。

さて、あんまりスポイラーになる事は書かないんですが、見終わった直後の感想は、まぁまぁ。
素晴らしい訳では無いけど、まぁ、スターウォーズだよね。って感じで、印象に残ったところも、チューバッカがチキンの丸焼き食ってる所と、ルークが肩のホコリを払ってる所の2箇所だけでした。
ま、正直、そんなに高い評価じゃなかったんですよね。エピソード7からの疑問は、ほぼなんにも解決されなかったし。

でも、数日たってから考え直して見ると、まぁそれでもエピソード7の時より内容覚えてる所多いし、あ、やっぱりあれは、あんな感じでいいのかな?結局文句言ってるのは、昔からの変な形に執着してる変なファンばっかりなんだろうな。って思ってます。

そう、エピソード7時から思ってますが、これは、最初のトリロジー世代がメインターゲットでは無いんですよね。たぶん。
今のトリロジーは、16歳くらい以下の Kids に向けた、今後30年ファンでいてくれる人達を育てる為のシリーズなんだと思います。昔の自分たちみたいな感じで。
そこがディズニーからのリクエストだと思うんで、そう考えると、本当によくできてるんじゃ無いかな?って思います。

もう僕たちなんて、何がどうなっても、なんだかんだ文句言いながら、次回作も結局見に来るでしょ?僕たちって。

だから、どこの家に生まれようが、関係なくジェダイになれるぜ!っていう夢を今の Kids に持たせる今作は、とってもいいお話なんじゃ無いかと思います。アナキンも元々 Nobody な訳だったし。
大きな Kids にはちょっと寂しいけどね。

さ、そんな Star Wars : The Last Jedi ま、はずせませんよね。
良くも悪くも、必ず抑えておきましょうね ♪

ではまた〜

Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾


初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

ラベル:Star Wars
posted by やまけん at 01:57| Comment(0) | 映画 | このブログの読者になる | 更新情報をチェックする

2017年12月24日

PARTY SOUND GRIDS | きっかけ



忘・新年会の余興にピッタリ♪

さて、まずはきっかけから行きたいと思います。

うちのオフィスでは、毎年クリスマスパーティーがあるんですが、ギフトを持ち寄って、交換する、ホワイト エレファント ギフト エクスチェンジ っていうのをやってたんですが、その時、貰ったギフトを開けた後、ギフトにちなんだ BGM を、スマホのMusic Library から選んで流したりしてたんですよね。僕じゃ無くて社長が。

で、ま、そんな時にこんなアプリがあったら便利なんじゃなかろうか?臨機応変に、場の雰囲気に合わせた音楽や、BGM を簡単に再生できたらいいんじゃなかろうか?
ってところからスタートしました。

ホントは、音楽ライブラリからの再生対応もしたかったんですが、クリスマス時期に間に合わせる事を優先して、結局マイクからの入力だけにの対応になっちゃいました。今の所。
将来的には、対応したいんですけど。

一つ前にリリースした、 Dodge x Dodge が終わってすぐ初めて、結構毎日、コンスタントに2時間くらいは作ってたかな?
イメージ的には、実質3週間ってとこでしょうかね。

色々思ってた仕様を削った割には、時間かかっちゃいました。もう2週間くらい早くリリースしたかったんですけどねぇ〜。
マイクの使用や、WAV ファイルの保存とか、ややこしそうな所もあったんですが、Unityコミュニティのこれまでの努力の結晶により、結構時間かけずにに実装できたんですが、UI 周りですね。やっぱり時間を取られたのは。

次回からは、実際のマイク周りの実装に関して書いて行きたいと思いますね。
ではまた〜

簡単な、操作説明ビデオですよ


Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾


初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

posted by やまけん at 15:34| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする

2017年12月23日

PARTY SOUND GRIDS リリース!!

そんなわけで、PARTY SOUND GRIDS リリースです!!

忘・新年会の余興にピッタリ♪

今回は、ゲームじゃないんですけど、パーティーシーズンに合わせて、パーティーの盛り上げを助ける様なアプリを作ってみました。

忘・新年会、カンパニーパーティー、ホームパーティ、結婚式、二次会、三次会、四次会、なんでもいいんですけど、タイミングよく、気の利いた音楽や効果音、合いの手なんかを入れたい時ないですかね?
そんな時には、この PARTY SOUND GRIDS !!

なんでも録音して、簡単再生♪
場の盛り上がり120%間違いなし!!

そんな PARTY SOUND GRIDS
ぜひ、試してみてくださいね〜

簡単な、操作説明ビデオですよ

今回は、先にリリースする事に集中してたんですが、次回からまたのんびりと、 PARTY SOUND GRIDS の制作を振り返ってみたいと思いますね。

ではまた〜
Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾


初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

posted by やまけん at 03:00| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする

2017年12月21日

くらべてみた | App Preview ビデオを作る ソフトウェアは?

Version 1.0.1 絶賛公開中!!
弾幕系よけ x よけゲーム

Version 1.2.0 絶賛公開中!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

Version 1.1.0 絶賛公開中!!
すくすく教育シリーズ第一弾

さて、随分時間が空いてしまったんですが、今回 Dodge x Dodge をリリースする時に、App Preview ビデオを作ってみました。
App Store で見る事ができる30秒以内のムービーなんですが、今は3つまでアップロードできるみたいですね。

以前は、iOS からの動画キャプチャーが大変そうだったんで避けてきてたんですが、最近の OS アップデートで、デバイスからの動画保存が結構簡単にできるようになったんですよねー。なんで、対応して見る事に。

なんですが、キャプチャした動画をつなぎ合わせるだけじゃ、アップロードできない事が発覚しました!(ま、甘すぎますよね)

そのムービーのスペックはここにあるんですが、Apple App Store で求められるサイズって、iPhone 5.5 Inch と iPad 12.9 Inch !
これって、どちらも自分の持ってないデバイスのサイズなんです。(iPhone6s で 4.7 Inch 1334 x 750)

そこで、特に凝った編集をするつもりもないんですが、出力するムービーのサイズを変更するためだけに、何かソフトウェアを使用しないといけない事になりました。
ちなみに Mac 向けです。別に、Apple 信者でもないんですが、家に Windows マシンないんですよね、今。カミナリにデスクトップがやられて以来。


Quick Time Player (無料)
デバイスからのキャプチャでお世話になってます。
ムービーのトリムや、複数のムービーの結合は結構簡単に出来るんですが、出力サイズの変更とかh、サポートしてないみたい。


Adobe premiere elements (有料)
Final Cut Pro と比較して、値段が安かったので、面倒なプロセスを経てトライアル版を試してみたんですが、出力動画サイズのカスタム設定は出来ないみたいです。何種類かサイズが選択できるようになってますが、iOS デバイスの変な解像度の対応は無く、これも使えない様ですね。
映像屋さんではないんですが、昔使った事あるのが Adobe 社製だったので、使い方には馴染みがあるんですが、残念だなぁ〜。
サイズのカスタム設定は、さらに上のグレードの製品じゃないとダメみたい。


Final Cut Pro X (有料)
お値段が $299 ですが、機能無制限の30日間無料トライアル可能です。
で、このソフトで、ようやく指定解像度でのムービー出力が可能になりました。
使い方の馴染みが全く無く、全然凝った事できませんし、そっちの学習に使う時間も無いので、もうほんと、切り貼りだけになりましたが、今回の目的は、一応達成できました。しかも無料で。
なので、緊急事態の場合、30日だけですが、Final Cut Pro X の無料トライアルをお勧めします。
ま、将来的には購入するとは思いますが。


で、出来上がったのが、こちらです....


最低限のスペックを満たしてるだけですね。
ホントにゴメンナサイ。

初めてみました。よかったらクリックお願いしますね ♪
        にほんブログ村 ゲームブログ×PlayNCBlogへ 

posted by やまけん at 09:42| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。