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

7554 bất ngờ mở miễn phí tặng game thủ nhân dịp kỷ niệm 65 năm chiến thắng Điện Biên Phủ

  "Tiến tới kỷ niệm 65 năm chiến thắng Điện Biên Phủ(7/5/1954 - 7/5/2019) . Và cũng nhân dịp kỷ niệm 10 năm làm game của Hiker Games. Như đã hứa, xin được gửi tặng cộng đồng game thủ Việt Nam phiên bản 7554 hoàn toàn miễn phí. Các bạn có thể truy cập vào website http://www.7554.vn để download. Để đảm bảo không có hiểu nhầm nào, xin lưu ý, đây không phải là phiên bản làm lại của 7554.  Đây chỉ là phiên bản đã loại bỏ phần kiểm tra bản quyền để bất cứ ai cũng có thể tải về và trải nghiệm game. Chúc các bạn chơi game vui vẻ!"  Via 7554 Dưới đây là video hướng dẫn tải game:  Chúc các bạn chơi game vui vẻ !

The Mightiest Empire KvK | Age of Empires Mobile

The Mightiest Empire event in Age of Empires Mobile is a thrilling and competitive challenge that pits two empires against each other. Players must prove their prowess in resource management, strategic planning, and military dominance to conquer the Imperial City—the ultimate symbol of power. Here’s a breakdown of the event, its stages, and tips for success. Event Rules The event unfolds in two primary phases, starting with a preparation stage and culminating in an epic battle for the Imperial City. Preparation Stage : Empires work together to accumulate points by completing quests and activities. This phase lays the foundation for the war stage. War Stage : The two empires clash in a fierce battle to secure victory. The empire with the most points and the best tactical execution will dominate the Imperial City. Recovery Stage : During this stage, players can recover units lost in battles against players from the evemy empire during war stage. Glory Exchange Fight for the empire to c...

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...