Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Mengira saiz audio bersampel

Soalan bunyi memberi empat kuantiti sekali gus, dan mudah terlupa satu daripadanya semasa mendarab.

Dalam halaman ini
  1. Bagaimana komputer menyimpan bunyi?
  2. Bagaimana mengira langkah demi langkah?
  3. Contoh berlangkah
  4. Kesilapan yang perlu diawasi
  5. Semak kendiri
  6. Seterusnya

Untuk mencari saiz bunyi bersampel tanpa mampatan, darabkan kadar sampel × kedalaman bit × tempoh dalam saat × saluran, kemudian bahagi dengan 8 untuk bait. Ia muncul apabila soalan memberi panjang rakaman dan tetapan kualiti, lalu bertanya storan yang diperlukan.

Ia mengikut idea yang sama seperti saiz imej: kira bilangan item, darab dengan bit bagi setiap item, kemudian tukar unit.

Bagaimana komputer menyimpan bunyi?

Bunyi ialah gelombang berterusan. Untuk menyimpannya, komputer mengukur ketinggian gelombang berkali-kali setiap saat. Setiap ukuran ialah satu sampel, dan bilangan sampel setiap saat ialah kadar sampel (sample rate) dalam hertz (Hz).

Setiap sampel disimpan sebagai nombor binari. Bilangan bit yang digunakan ialah resolusi sampel atau kedalaman bit. Kadar sampel dan kedalaman bit yang lebih tinggi kedua-duanya menangkap gelombang dengan lebih tepat, dan kedua-duanya menambah saiz fail.

Bagaimana mengira langkah demi langkah?

  1. Tukar masa kepada saat (minit × 60).
  2. Darab bilangan sampel: kadar sampel × saat.
  3. Darab dengan kedalaman bit untuk mendapat bit setiap saluran.
  4. Darab dengan bilangan saluran (mono ialah 1, stereo ialah 2).
  5. Bahagi dengan 8 untuk bait, kemudian tukar unit mengikut konvensyen yang dinyatakan.

Kaedah sebagai pseudokod gaya Cambridge:

INPUT Rate, Depth, Seconds, Channels
Bits ← Rate * Depth * Seconds * Channels
Bytes ← Bits / 8
OUTPUT Bytes

Jejak dengan Rate = 44100, Depth = 16, Seconds = 10, Channels = 1: Bits = 44 100 × 16 × 10 × 1 = 7 056 000, jadi Bytes = 882 000.

Contoh berlangkah

Sebuah nota suara berlangsung 30 saat. Ia dirakam secara mono pada 8 000 Hz dengan resolusi sampel 8 bit. Beri saiz tanpa mampatan dalam bait dan KiB (1 KiB = 1 024 bait).

Langkah 1, sampel: 8 000 × 30 = 240 000 sampel.

Langkah 2, bit: 240 000 × 8 = 1 920 000 bit.

Langkah 3, bait: 1 920 000 ÷ 8 = 240 000 bait.

Langkah 4, KiB: 240 000 ÷ 1 024 = 234.375 KiB.

Semakan: setiap sampel ialah 8 bit, iaitu tepat 1 bait, jadi bait sama dengan sampel: 240 000. Ini sepadan.

Andaian: tiada pemampatan, tiada metadata, satu saluran.

Kesilapan yang perlu diawasi

Kesilapan lazim ialah membiarkan tempoh dalam minit.

Jawapan salah: Klip 2 minit pada 44 100 Hz, 16 bit, mono. Bit = 44 100 × 16 × 2 = 1 411 200.

Pelajar mendarab dengan 2 minit, tetapi kadar sampel mengira sampel setiap saat.

Pembetulan: 2 minit = 120 saat.

Bit = 44 100 × 16 × 120 = 84 672 000 bit = 10 584 000 bait. Jawapan salah itu 60 kali terlalu kecil. Menulis unit di sebelah setiap nombor semasa mengira akan menangkap kesilapan ini.

Semak kendiri

Tunjukkan setiap langkah, kemudian buka setiap jawapan.

1. Rakaman mono 1 minit dibuat pada 22 050 Hz dengan sampel 16 bit. Berapa bait diperlukan?

Tunjukkan jawapan

Saat = 60. Bit = 22 050 × 16 × 60 = 21 168 000. Bait = 21 168 000 ÷ 8 = 2 646 000 bait.

2. Klip stereo 5 saat dirakam pada 48 000 Hz dengan sampel 24 bit. Berapa bait diperlukan?

Tunjukkan jawapan

Bit = 48 000 × 24 × 5 × 2 = 11 520 000. Bait = 11 520 000 ÷ 8 = 1 440 000 bait.

3. Sebuah rakaman berukuran 100 KiB pada kadar sampel 40 000 Hz. Rakaman yang sama dibuat semula pada 20 000 Hz dengan semua yang lain tidak berubah. Apakah saiz baharu?

Tunjukkan jawapan

Saiz berkadar terus dengan kadar sampel, dan kadar dikurangkan separuh, jadi saiz juga separuh: 50 KiB.

Seterusnya

Fail mentah yang besar ialah sebab pemampatan wujud, jadi teruskan dengan mampatan tanpa kehilangan dan dengan kehilangan. Anda juga boleh menyemak aritmetik dengan menulis formula sebagai kod dalam kotak pasir penaakulan Python, kemudian uji semuanya dalam set latihan.

Jika anda tahu formula tetapi masih tertinggal satu faktor semasa tekanan peperiksaan, seorang guru boleh melihat kerja anda dan mengesan kuantiti yang cenderung anda langkau dalam tuisyen Computer Science dalam talian satu dengan satu.

Soalan lazim

Apakah formula untuk saiz bunyi tanpa mampatan?

Saiz dalam bit = kadar sampel × kedalaman bit × tempoh dalam saat × bilangan saluran. Bahagi dengan 8 untuk bait. Kadar sampel dalam hertz, iaitu sampel setiap saat, jadi tempoh mesti dalam saat sebelum anda mendarab.

Apakah maksud kadar sampel?

Ia ialah berapa kali gelombang bunyi diukur setiap saat. Kadar 44 100 Hz bermaksud 44 100 ukuran setiap saat. Setiap ukuran disimpan menggunakan kedalaman bit, jadi kadar lebih tinggi menangkap lebih banyak butiran tetapi memerlukan lebih storan.

Adakah saya darab dua untuk stereo?

Ya, apabila soalan menyebut stereo atau dua saluran, setiap saluran disampel berasingan, jadi saiz menjadi dua kali ganda berbanding mono. Jika tiada dinyatakan, tulis andaian anda, biasanya satu saluran, supaya pemeriksa boleh mengikuti kerja anda.

Dikemas kini:

Langkah seterusnya

Jika soalan saiz audio terus kehilangan satu faktor seperti masa atau saluran, guru satu dengan satu boleh membina rutin semakan supaya setiap kuantiti diambil kira.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa: tanya di sini

  • 9,000+ pelajar telah dibantu melalui perkhidmatan kami
  • 9+ tahun membantu pelajar IGCSE