GNU/Linux >> Tutoriales Linux >  >> Linux

Convierta archivos de audio con este versátil comando de Linux

Trabajo con medios, y cuando trabajas con cualquier tipo de medio, aprendes bastante rápido que la estandarización es una herramienta valiosa. Así como no intentaría agregar una fracción a un decimal sin convertir uno u otro, aprendí que no es ideal combinar medios de diferentes formatos. La mayoría de las aplicaciones de nivel de aficionado hacen que el proceso de conversión sea invisible para el usuario por conveniencia. Sin embargo, el software flexible dirigido a usuarios que necesitan control sobre los detalles finos de sus activos, a menudo deja que usted convierta sus medios al formato deseado por adelantado. Tengo algunas herramientas favoritas para la conversión, y una de ellas es la llamada navaja suiza del sonido , SoX.

Instalando

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

En Linux o BSD, puede instalar sox comando (y algunos enlaces simbólicos útiles) de su repositorio de software o árbol de puertos.

También puede instalar SoX desde su hogar en Sourceforge.net. No se lanza con frecuencia, pero su base de código tiende a ser estable, por lo que si desea las funciones más recientes (como la compatibilidad con Opus), es fácil y seguro de construir.

SoX proporciona principalmente los sox comando, pero la instalación también crea algunos enlaces simbólicos útiles:reproducir , rec y soxi .

Obtener información sobre archivos con SoX

SoX lee y reescribe datos de audio. Usted decide si almacena los datos de audio reescritos. Hay casos de uso en los que no necesita almacenar los datos convertidos, por ejemplo, cuando envía la salida directamente a sus altavoces para su reproducción. Sin embargo, antes de realizar cualquier conversión, suele ser una buena idea determinar exactamente a qué se enfrenta en primer lugar.

Para recopilar información sobre un archivo de audio, utilice el soxi dominio. Este es un enlace simbólico a sox --info .

$ soxi countdown.mp3
Input File     : '/home/tux/countdown.mp3'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:11.21 = 494185 samples...
File Size      : 179k
Bit Rate       : 128k
Sample Encoding: MPEG audio (layer I, II or III)

Esta salida le da una buena idea de en qué códec está codificado el archivo de audio, la longitud del archivo, el tamaño del archivo, la frecuencia de muestreo y la cantidad de canales. Algunos de estos podrías pensar ya lo sabes, pero nunca confío en las suposiciones cuando un cliente me trae los medios. Verifique los atributos de los medios con soxi .

Conversión de archivos

En este ejemplo, el audio de la cuenta regresiva de un programa de juegos se entregó como un archivo MP3. Si bien casi todas las aplicaciones de edición aceptan audio comprimido, ninguna de ellas edita realmente los datos comprimidos. La conversión está ocurriendo en alguna parte, ya sea una tarea en segundo plano secreta o un aviso para que guarde una copia. Generalmente prefiero hacer la conversión yo mismo, por adelantado. De esta manera, puedo controlar qué formato estoy usando. Puedo hacer muchos medios en lotes durante la noche en lugar de perder un valioso tiempo de producción esperando que una aplicación de edición los reproduzca a pedido.

Los medias El comando está destinado a convertir archivos de audio. Hay algunas etapas en los medias canalización:

  • entrada
  • combinar
  • efectos
  • salida

En la sintaxis de comandos, el paso de efectos se escribe, de manera confusa, último . Eso significa que la canalización se compone de esta manera:

input → combine → output → effects

Codificación

El comando de conversión más simple implica solo un archivo de entrada y un archivo de salida. Este es el comando para convertir un archivo MP3 en un archivo FLAC sin pérdidas:

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

Input File     : 'output.flac'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:11.18 = 493056 samples...
File Size      : 545k
Bit Rate       : 390k
Sample Encoding: 16-bit FLAC
Comment        : 'Comment=Processed by SoX'

Efectos

La cadena de efectos se especifica al final de un comando. Puede alterar el audio antes de enviar los datos a su destino final. Por ejemplo, a veces el audio demasiado alto puede causar problemas durante la conversión:

$ sox bad.wav bad.ogg
sox WARN sox: `bad.ogg' output clipped 126 samples; decrease volume?

Aplicar una ganancia El efecto a menudo puede resolver este problema:

$ sox bad.wav bad.ogg gain -1

Desvanecimiento

Otro efecto útil es fade . Este efecto le permite definir la forma de un fundido de entrada o de salida, junto con cuántos segundos desea que abarque el fundido.

Aquí hay un ejemplo de un fundido de entrada de seis segundos usando una parábola invertida:

$ sox intro.ogg intro.flac fade p 6

Esto aplica un fundido de entrada de tres segundos al principio del audio y un fundido de salida que comienza en la marca de ocho segundos (la música de introducción dura solo 11 segundos, por lo que el fundido de salida también es de tres segundos en este caso) :

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

Los diferentes tipos de fundidos (seno, lineal, parábola invertida, etc.), así como las opciones fundido ofertas (aparición gradual, desaparición gradual), se enumeran en las medias página man.

Sintaxis de efectos

Cada complemento de efectos tiene su propia sintaxis, así que consulte la página del manual para obtener detalles sobre cómo invocar cada uno.

Los efectos se pueden conectar en cadena en un solo comando, al menos en la medida en que desee combinarlos. En otras palabras, no hay sintaxis para aplicar un flanger efecto sólo durante un desvanecimiento de seis segundos. Para algo tan preciso, necesita un editor gráfico de ondas de sonido o una estación de trabajo de audio digital como LMMS o Rosegarden. Sin embargo, si solo tiene efectos que desea aplicar una vez, puede enumerarlos juntos en el mismo comando.

Este comando aplica una ganancia de -1 efecto, un tempo estiramiento de 1,35 y un desvanecimiento :

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

Input File     : 'output.flac'
Channels       : 1
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:15.10 = 665808 samples...
File Size      : 712k
Bit Rate       : 377k
Sample Encoding: 16-bit FLAC
Comment        : 'Comment=Processed by SoX'

Combinar audio

SoX también puede combinar archivos de audio, ya sea concatenándolos o mezclándolos.

Para unir (o concatenar ) archivos en uno, proporcione más de un archivo de entrada en su comando:

$ sox countdown.mp3 intro.ogg output.flac

En este ejemplo, salida.flac ahora contiene cuenta regresiva audio, seguido inmediatamente por introducción música.

Sin embargo, si desea que las dos pistas se reproduzcan una encima de la otra al mismo tiempo, puede usar --combine mix opción:

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

Imagine, sin embargo, que los dos archivos de entrada difieren en algo más que sus códecs. No es raro que las pistas de voz se graben en mono (un canal), pero que la música se grabe al menos en estéreo (dos canales). SoX no tendrá una solución predeterminada, por lo que primero debe estandarizar el formato de los dos archivos.

Alteración de archivos de audio

Opciones relacionadas con el nombre de archivo que aparece después eso. Por ejemplo, los --canales La opción en este comando se aplica solo a entrada.wav y NO a example.ogg o salida.flac :

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

Esto significa que la posición de una opción es muy significativa en SoX. Si especifica una opción al comienzo de su comando, esencialmente solo está anulando lo que SoX obtiene de los archivos de entrada por sí solo. Opciones colocadas inmediatamente antes de la salida Sin embargo, el archivo determina cómo SoX escribe los datos de audio.

Para resolver el problema anterior de canales incompatibles, primero puede estandarizar sus entradas y luego mezclar:

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

Input File     : 'countdown-stereo.flac'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:00:11.18 = 493056 samples...
File Size      : 545k
Bit Rate       : 390k
Sample Encoding: 16-bit FLAC
Comment        : 'Comment=Processed by SoX'

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

SoX requiere absolutamente varios comandos para acciones complejas, por lo que es normal crear varios archivos temporales e intermedios según sea necesario.

Audio multicanal

Por supuesto, no todo el audio está limitado a uno o dos canales. Si desea combinar varios canales de audio en un solo archivo, puede hacerlo con SoX y --combine merge opción:

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

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

Fácil manipulación de audio

Puede parecer extraño trabajar con audio sin una interfaz visual y, para algunas tareas, SoX definitivamente no es la mejor herramienta. Sin embargo, para muchas tareas, SoX proporciona un conjunto de herramientas fácil y liviano. SoX es un comando simple con un gran potencial. Con él, puede convertir audio, manipular canales y formas de onda, e incluso generar sus propios sonidos. Este artículo solo proporciona una breve descripción general de sus capacidades, así que lea su página de manual o la documentación en línea y luego vea lo que puede crear.


Linux
  1. Convierta audio en lotes en Linux con SoundConverter

  2. 10 increíbles consejos y trucos para trabajar con Linux

  3. Busque rápidamente archivos en Linux con el comando de localización

  4. Cómo encontrar archivos con el comando fd en Linux

  5. Comando rsync de Linux con ejemplos prácticos

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux

Convierta pestañas en espacios en la terminal de Linux con el comando Expandir

Tutorial de comando de búsqueda de Linux (con ejemplos)

Comando lsof en Linux con ejemplos

Comando Linux comm con ejemplos