Adakah kerugian untuk mengekspor file audio dengan kecepatan ganda kemudian memutar mesin game dengan kecepatan setengah?

17

Saya ingin mengurangi ukuran file permainan saya dan musik dan SFX mengambil bagian yang baik.

Jika saya membuat lagu atau efek suara pada 120bpm dan kemudian menerapkan penggandaan tempo dan pitch menggunakan program DAW atau mandiri, kemudian merekam file audio kecepatan ganda baru, itu akhirnya menjadi setengah dari ukuran file asli (karena panjang lagu sekarang dibelah dua). Lalu saya menggunakan mesin permainan saya (Unity) untuk memutar file audio 240bpm dengan kecepatan setengah, jadi sekarang kedengarannya normal. Tidak ada artefak atau distorsi.

Jadi inilah pertanyaannya: apakah saya mengorbankan sesuatu seperti kekuatan pemrosesan untuk memainkannya dengan kecepatan setengah? Saya memuat dalam file yang ukurannya setengah jadi harus ada semacam trade-off di suatu tempat kan? Saya punya perasaan bahwa tidak ada orang waras yang akan melakukan ini tetapi mengapa tidak?

William
sumber
1
Format audio apa yang Anda gunakan?
Philipp
25
Anda akan menemukan kembali skema kompresi audio lossy yang tidak efisien. alih-alih, coba gunakan Opus codec secara normal. itu sangat kuat pada bitrate rendah, bahkan cocok untuk musik pada 64kbps dan bahkan lebih kecil untuk suara yang lebih sederhana.
Nama Tampilan
8
Coba lakukan ini dengan kecepatan 100x untuk mencapai kompresi 99%. Itu harus membuat hilangnya kualitas tampak jelas.
usr

Jawaban:

45

Dengan membuat klip audio dengan BPM tinggi, kemudian memutar ulang dengan kecepatan setengah, Anda secara efektif membagi dua laju sampel .

Anda dapat mencapai pengurangan serupa dalam ukuran aset tanpa mengubah alur kerja Anda atau file audio yang ada dengan mengurangi laju sampel di inspektur AudioClip . Juga periksa berbagai opsi kompresi pada halaman tersebut karena semuanya memiliki trade-off penyimpanan / kualitas / CPU yang berbeda.

Seringkali yang terbaik adalah mengimpor file aset ke dalam proyek kesatuan Anda sebagaimana adanya. Unity kemudian memungkinkan konfigurasi pengaturan kualitas independen untuk setiap target build.


"Apakah saya mengorbankan sesuatu ... untuk memainkannya dengan kecepatan setengah?":

Iya. Anda menyebutkan penulisan pada nada tinggi sehingga akan terdengar normal saat diputar. Dengan mengurangi rentang frekuensi yang berguna selama pembuatan, Anda pada dasarnya mengompresi audio Anda menjadi kisaran nilai artifisial yang sempit, ini dapat mengganggu kualitas suara pada pemutaran. Efek ini tidak akan selalu terlihat oleh pendengar.

Kelly Thomas
sumber
3
Mengurangi laju sampel hanya mengurangi jumlah frekuensi lebih tinggi yang tersedia karena en.wikipedia.org/wiki/Nyquist%E2%808093Shannon_sampling_theorem . Tidak ada hubungannya dengan kedalaman bit, yang mengontrol lantai kebisingan. Lihat juga: xiph.org/video/vid1.shtml
小 太郎
7
Ini benar-benar akan menghapus frekuensi yang lebih tinggi. Misalnya, laju sampel 44,1 kHz hanya akan memiliki frekuensi hingga 22,05 kHz, tetapi jika laju sampel Anda adalah 22 kHz, Anda hanya akan memiliki frekuensi hingga 11 kHz.
小 太郎
2
Selain itu, ini dapat menambah biaya pemrosesan suara yang tidak dibutuhkan selama runtime. Mungkin terlihat atau tidak tergantung pada ukuran file dan panjang audio.
user1306322
2
Saya ingin menambahkan ini bahwa jika Anda masih ingin mengorbankan kualitas untuk mendapatkan ukuran file, akan lebih baik untuk menggunakan beberapa algoritme kompresi lossy seperti mp3 kemudian menyesuaikan rasio kompresi yang sesuai, algoritma semacam ini juga akan membuang beberapa frekuensi , tetapi secara teori itu akan memilih dari mereka yang kurang terlihat oleh manusia
yms
4
Anda tidak hanya akan kehilangan frekuensi di atas 11khz, jika Anda tidak dengan sengaja menyaring frekuensi yang lebih tinggi, Anda akan dikenakan alias dimana frekuensi yang lebih tinggi ditafsirkan sebagai frekuensi yang lebih rendah. Ini akan mengakibatkan frekuensi yang tidak diinginkan dan tidak diinginkan didengar. en.wikipedia.org/wiki/Aliasing
razethestray