Skip to main content

Android Developer - audioRecord.read()の基本を理解する

 現在、卒業研究に関するテーマでAndroid Studioを使って、研究しています。それでaudioRecord.read()の使い方をいろいろ調べましたが、あまり結果が出なかったか曖昧な部分が多かったです。そのため、自分が理解できることをここで簡単にまとめます。 
 Androidで音声処理をするためにAudioRecordクラスを利用しました。録音するため、audioRecord.read()を使うことになります。それの基本の使い方を紹介したいと思います。


 
 まず、録音を開始するため、audioRecorder.startRecording()から始まります。
その次、read(short[] audioData, int offsetInShorts, int sizeInShorts)により録音した音声がbuf配列に入ります。
 このメソッドを呼び出したときに"buf"に格納されている値は何かというと、サンプルの配列です。各サンプルはチャンネルの配列です。各チャンネルは、求めたものに応じて、8ビットまたは16ビットの値を持ちます。データはスキップされず、常に固定サイズのフォーマットになります。
 したがって、1チャンネルと8ビットを選択した場合、各バイトは1つのサウンドが聞こえます。16ビットを選択した場合、核サウンドは2バイト長です。2つのチャンネルを使用する場合は、サンプルごとにチャンネル1、チャンネル2の順に並べます。
 私は使っている16ビットなので何もしゃべらないとき、buf配列に入った値は
[96、0、101、-1、101、2、110、-1、-41、2、-80、0、-117、1、119、-1、………]
になります。
 個々の値は、要求された周波数でサンプリングされたときのサウンドデータの振幅です。実験した結果から、0、-1、2、…(奇数番)の値は入力した音声の振幅です。もう一つの数字は何か現時点でまだ理解できません。その数字は勝手に変動します。
 あくまで基本です。 パフォーマンス等のより高度な見識が得られればまた記します。間違ったところを指摘お願いします。

Comments

Popular Posts

Hướng dẫn chơi Liên Minh Huyền Thoại tất cả server SEA, TAIWAN, NA (Bắc Mĩ)

Cách 1 : Tải trực tiếp server NA (Bắc Mỹ) Cách 2 : Nếu không được các bạn có thể tham khảo cách dưới đây : 1- Tìm file lol.properties trong thư mục: \GameData\Apps\lolVN\Air 2- Mở file lol.properties bằng notepad trong thư mục kia ra, xóa tất cả đi copy toàn bộ dòng dưới vào rồi lưu lại là xong ! Server VN: Code: host=prodvn.lol.garenanow.com xmpp_server_url=chatvn.lol.garenanow.com xmpp_accept_self_signed_cert=true startChat=true storeEnabled=true enableTutorialGame=true lobbyLandingURL=http://lol.garena.com/landing.php ladderURL=http://lienminh.garena.vn/ helpURL=http://lienminh.garena.vn/support lq_uri=https://lqvn.lol.garenanow.com storyPageURL=http://lienminh.garena.vn/ Server SEA: Code: host=prod.lol.garenanow.com xmpp_server_url=chat.lol.garenanow.com xmpp_accept_self_signed_cert=true startChat=true storeEnabled=true enableTutorialGame=true lobbyLandingURL=http://lol.garena.com/landing.php ladderURL=http://lol.garena.com/ladders helpURL=http://lol.garena...

Phần mềm tắt UPnP - Sửa lỗi Unable to join game Đế Chế

Sửa lỗi unable to join game đế chế, không thể thấy room đế chế. Một số máy tính không thể join game hoặc thấy mạng của bạn mình thì hãy làm theo cách của mình. Tải phần mềm UnPnp.exe Bật lên bạn sẽ thấy chữ ở vị trí 2 màu đỏ. Click vào 1 thì vị trí số 2 sẽ sang màu xanh như hình. Lưu ý : Nếu vị trí số 1 không phải là Enable UPnP hoặc Disable UPnP thì mọi người hãy mở file UnPnP.exe bằng cách click phải vào file, chọn Run as Administrator ----> OK. Chúc các bạn thành công và chơi game vui vẻ !

Hướng dẫn chơi Liên Minh Huyền Thoại server Nhật Bản Closed Beta - Tặng tài khoản chơi thử

Trước hết, các bạn cần bản Liên Minh Huyền Thoại bản gốc của Riot (Server Bắc Mỹ (NA), châu Âu, Turkey, ...) Link tải Liên Minh Huyền Thoại bản gốc của Riot: https://signup.leagueoflegends.com/en/signup/redownload Sau đó, vào góc màn hình bấm chọn dấu mũi tên đi xuống cạnh North America (cái này thì tùy vì mình chơi server NA) Chọn  North America Một bảng hiện ra chọn Japan Chọn Save Đợi Liên Minh Huyền Thoại update bản tiếng Nhật về. Closed Beta bắt đầu từ ngày 4 tháng 2 năm 2016 mà hôm mình viết bài này mới chỉ 3/2/2016 nên phải đợi qua ngày mới cho test nhé. Dưới đây là 1 số account mình được tặng để test nhé : Video hướng dẫn :