GNU/Linux >> Belajar Linux >  >> Linux

Konversi file audio dengan perintah Linux serbaguna ini

Saya bekerja dengan media, dan ketika Anda bekerja dengan media apa pun, Anda belajar dengan cepat bahwa standardisasi adalah alat yang berharga. Sama seperti Anda tidak akan mencoba untuk menambahkan pecahan ke desimal tanpa mengubah satu atau yang lain, saya telah belajar bahwa tidak ideal untuk menggabungkan media format yang berbeda. Sebagian besar aplikasi tingkat penghobi membuat proses konversi tidak terlihat oleh pengguna sebagai kemudahan. Perangkat lunak fleksibel yang ditujukan untuk pengguna yang membutuhkan kontrol atas detail halus aset mereka, namun, sering kali Anda menyerahkannya kepada Anda untuk mengonversi media ke format yang diinginkan terlebih dahulu. Saya memiliki beberapa alat favorit untuk konversi, dan salah satunya adalah apa yang disebut pisau suara tentara Swiss , SoX.

Memasang

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Di Linux atau BSD, Anda dapat menginstal sox perintah (dan beberapa symlink yang berguna) dari repositori perangkat lunak atau pohon port Anda.

Anda juga dapat menginstal SoX dari rumahnya di Sourceforge.net. Itu tidak sering dirilis, tetapi basis kodenya cenderung stabil, jadi jika Anda menginginkan fitur terbaru (seperti dukungan Opus), itu mudah dan aman untuk dibangun.

SoX terutama menyediakan sox perintah, tetapi penginstalan juga membuat beberapa symlink yang berguna:mainkan , rekaman , dan soxi .

Mendapatkan informasi tentang file dengan SoX

SoX membaca dan menulis ulang data audio. Apakah itu menyimpan data audio yang ditulis ulang terserah Anda. Ada kasus penggunaan di mana Anda tidak perlu menyimpan data yang dikonversi, misalnya, saat Anda mengirim output langsung ke speaker Anda untuk pemutaran. Namun, sebelum melakukan konversi apa pun, sebaiknya tentukan terlebih dahulu dengan tepat apa yang Anda hadapi.

Untuk mengumpulkan informasi tentang file audio, gunakan soxi memerintah. Ini adalah symlink ke sox --info .

$ soxi countdown.mp3
Input File     :'/home/tux/countdown.mp3'
Channels       :1
Sample Rate    :44100
Precision      :16-bit
Durasi       :00:00:11.21 =494185 sampel...
Ukuran File      :179k
Laju Bit       :128k
Contoh Encoding:Audio MPEG (layer I, II atau III)

Output ini memberi Anda ide bagus tentang codec apa file audio dikodekan, panjang file, ukuran file, laju sampel, dan jumlah saluran. Beberapa di antaranya mungkin Anda pikirkan Anda sudah tahu, tapi saya tidak pernah percaya asumsi ketika media dibawakan kepada saya oleh klien. Verifikasi atribut media dengan soxi .

Mengonversi file

Dalam contoh ini, audio hitungan mundur acara game telah dikirimkan sebagai file MP3. Meskipun hampir semua aplikasi pengeditan menerima audio terkompresi, tidak ada yang benar-benar mengedit data terkompresi. Konversi sedang terjadi di suatu tempat, baik itu tugas latar belakang rahasia atau permintaan Anda untuk menyimpan salinan. Saya biasanya lebih suka melakukan konversi sendiri, terlebih dahulu. Dengan cara ini, saya dapat mengontrol format apa yang saya gunakan. Saya dapat mengerjakan banyak media dalam semalam daripada membuang waktu produksi yang berharga menunggu aplikasi pengeditan untuk mengaduknya sesuai permintaan.

seks perintah dimaksudkan untuk mengonversi file audio. Ada beberapa tahapan dalam sox saluran:

  • masukan
  • gabungkan
  • efek
  • keluaran

Dalam sintaks perintah, langkah efek, secara membingungkan, ditulis terakhir . Artinya, pipeline disusun dengan cara ini:

input → combine → output → effects 

Pengkodean

Perintah konversi paling sederhana hanya melibatkan file input dan file output. Berikut perintah untuk mengonversi file MP3 menjadi file FLAC lossless:

$ sox countdown.mp3 output.flac
$ soxi output.flac

Input File     :'output.flac'
Channels       :1
Sample Rate    :44100
Presisi      :16-bit
Durasi       :00:00:11.18 =493056 sampel...
Ukuran File      :545k
Laju Bit       :390k
Sampel Encoding:FLAC 16-bit
Komentar        :'Comment=Processed by SoX'

Efek

Rantai efek ditentukan di akhir perintah. Itu dapat mengubah audio sebelum mengirim data ke tujuan akhirnya. Misalnya, terkadang audio yang terlalu keras dapat menyebabkan masalah selama konversi:

$ sox bad.wav bad.ogg
sox WARN sox:keluaran `bad.ogg' terpotong 126 sampel; kurangi volume?

Menerapkan keuntungan efek sering dapat memecahkan masalah ini:

$ sox bad.wav bad.ogg gain -1 

Pudar

Efek lain yang berguna adalah fade . Efek ini memungkinkan Anda menentukan bentuk fade-in atau fade-out, bersama dengan berapa detik yang Anda inginkan untuk merentangkan fade.

Berikut ini contoh fade-in enam detik menggunakan parabola terbalik:

$ sox intro.ogg intro.flac fade p 6 

Ini menerapkan fade-in tiga detik ke kepala audio dan fade-out mulai dari tanda delapan detik (musik intro hanya 11 detik, jadi fade-out juga tiga detik dalam kasus ini) :

$ sox intro.ogg intro.flac fade p 3 8 

Berbagai jenis fade (sinus, linier, parabola terbalik, dan sebagainya), serta opsi fade penawaran (fade-in, fade-out), tercantum dalam sox halaman manual.

Sintaks efek

Setiap plugin efek memiliki sintaksnya sendiri, jadi lihat halaman manual untuk detail tentang cara memanggil masing-masing plugin.

Efek dapat dirangkai dalam satu perintah, setidaknya jika Anda ingin menggabungkannya. Dengan kata lain, tidak ada sintaks untuk menerapkan flanger efek hanya selama fade-out enam detik. Untuk sesuatu yang presisi, Anda memerlukan editor gelombang suara grafis atau stasiun kerja audio digital seperti LMMS atau Rosegarden. Namun, jika Anda hanya memiliki efek yang ingin Anda terapkan sekali, Anda dapat membuat daftarnya bersama-sama dalam perintah yang sama.

Perintah ini menerapkan -1 gain efek, tempo meregangkan dari 1,35, dan fade-out :

$ sox intro.ogg output.flac gain -1 stretch 1.35 fade p 0 6
$ soxi output.flac

File Input     :'output.flac'
Channels :1
Kecepatan Sampel    :44100
Presisi      :16-bit
Durasi       :00:00:15.10 =665808 sampel...
Ukuran File      :712k
Kecepatan Bit :377k
Contoh Encoding:FLAC 16-bit
Comment        :'Comment=Processed by SoX'

Menggabungkan audio

SoX juga dapat menggabungkan file audio, baik dengan menggabungkannya atau dengan mencampurnya.

Untuk bergabung (atau menggabungkan ) file menjadi satu, berikan lebih dari satu file input dalam perintah Anda:

$ sox countdown.mp3 intro.ogg output.flac 

Dalam contoh ini, output.flac sekarang berisi hitung mundur audio, segera diikuti dengan intro musik.

Namun, jika Anda ingin kedua trek diputar satu sama lain secara bersamaan, Anda dapat menggunakan --menggabungkan campuran pilihan:

$ sox --combine mix countdown.mp3 intro.ogg output.flac 

Bayangkan, bagaimanapun, bahwa dua file input berbeda lebih dari sekedar codec mereka. Tidak jarang trek vokal direkam dalam mono (satu saluran), tetapi musik direkam setidaknya dalam stereo (dua saluran). SoX tidak akan menjadi solusi default, jadi Anda harus membakukan format kedua file itu sendiri terlebih dahulu.

Mengubah file audio

Opsi yang terkait dengan nama file yang terdaftar setelah dia. Misalnya, --saluran opsi dalam perintah ini berlaku hanya ke input.wav dan BUKAN ke example.ogg atau output.flac :

$ sox --channels 2 input.wav example.ogg output.flac 

Artinya, posisi sebuah opsi sangat signifikan di SoX. Jika Anda menentukan opsi di awal perintah Anda, pada dasarnya Anda hanya mengesampingkan apa yang diperoleh SoX dari file input sendiri. Opsi ditempatkan tepat sebelum keluaran Namun, tentukan bagaimana SoX menulis data audio.

Untuk mengatasi masalah saluran yang tidak kompatibel sebelumnya, Anda dapat menstandardisasi input terlebih dahulu, lalu menggabungkan:

$ sox countdown.mp3 --channels 2 countdown-stereo.flac gain -1
$ soxi countdown-stereo.flac

File Masukan     :'countdown-stereo.flac'
Saluran       :2
Rasio Sampel    :44100
Presisi      :16-bit
Durasi       :00:00:11.18 =493056 sampel...
Ukuran File      :545k
Kecepatan Bit       :390k
Contoh Encoding:FLAC 16-bit
Comment        :'Comment=Processed by SoX'

$ sox --combine mix \
countdown -stereo.flac \
intro.ogg \
output.flac

SoX benar-benar membutuhkan banyak perintah untuk tindakan yang kompleks, jadi wajar untuk membuat beberapa file sementara dan perantara sesuai kebutuhan.

Audio multisaluran

Tidak semua audio dibatasi pada satu atau dua saluran, tentu saja. Jika Anda ingin menggabungkan beberapa saluran audio menjadi satu file, Anda dapat melakukannya dengan SoX dan --combine merge pilihan:

$ sox --combine merge countdown.mp3 intro.ogg output.flac
$ soxi output.flac

Input File     :'output.flac'
Channels       :3
[...]

Manipulasi audio yang mudah

Mungkin tampak aneh bekerja dengan audio tanpa antarmuka visual, dan untuk beberapa tugas, SoX jelas bukan alat terbaik. Namun, untuk banyak tugas, SoX menyediakan toolkit yang mudah dan ringan. SoX adalah perintah sederhana dengan potensi yang kuat. Dengannya, Anda dapat mengonversi audio, memanipulasi saluran dan bentuk gelombang, dan bahkan menghasilkan suara Anda sendiri. Artikel ini hanya memberikan ikhtisar singkat tentang kemampuannya, jadi baca halaman manual atau dokumentasi online-nya lalu lihat apa yang dapat Anda buat.


Linux
  1. Cari File dengan Cepat di Linux Dengan Perintah Cari

  2. Cara Menemukan File dengan Perintah fd di Linux

  3. Perintah rsync Linux dengan contoh praktis

  1. Konversi audio dalam batch di Linux dengan SoundConverter

  2. Perintah wc Linux dengan Contoh

  3. 10 Tip &Trik Menakjubkan untuk Bekerja dengan Linux

  1. Cara Menemukan File di Linux Dengan Perintah Temukan

  2. Perintah ip Linux dengan Contoh

  3. Perintah Rm di Linux