2012-02-26 47 views
5

Estoy intentando fusionar 2 archivos de onda en un archivo. Los 2 archivos deberían comenzar a reproducirse al comienzo del nuevo archivo. Independientemente de la duración del sonido. Ejecutar el siguiente comando no me da este resultado.Combinar 2 archivos de audio en sox

sox -M new_input.wav myrecording.wav output_test.aiff 

¿Hay otras formas de lograr esto a través de Sox u otras bibliotecas de línea de comandos?

Respuesta

0

Heythere. Lo siento por la respuesta tardía =) Comando debería tener este aspecto

sox file1 file2 file3 

Por encima se fusionarán primeros dos archivos y ponerle el nombre de tercera.

También puede ser que desee comprobar los documentos http://sox.sourceforge.net/sox.html

+3

esto concatenar dos archivos, no fusionarlos (si por fusión hablamos de jugar dos o más archivos al mismo tiempo) – trainoasis

+1

simplemente sucede que necesitaba concatenación y esto me ayudó. gracias. – Yohannes

4

acaba de cambiar -M con -m -M = fusionar -m = mezclar

+1

¿Conoces alguna opción para que se detenga al final del archivo más corto? – Calmarius

2

Para casos como Calmarius está pidiendo:

sox -m in1.wav in2.wav out.wav trim 0 `soxi -D in1.wav` 

esto se detiene en la longitud de in1.wav, para los casos que conoce el más corto. De lo contrario, solo agregue un comparador.

+0

¿cuál es la función de '' soxi -D in1.wav''? –

+0

'soxi -D in1.wav' muestra la longitud en segundos de in1.wav. Sin embargo, para ejecutar este comando dentro del comando de mezcla, deberá usar: 'sox -m in1.wav in2.wav out.wav trim 0" $ (soxi -D in1.wav) "' – WebSpanner

+0

¿Hay alguna forma de hacerlo _repetir_ el archivo más corto para la duración de la más larga? – bcattle

0

'soxi in1.wav -D' tiene la longitud del archivo (in1.wav)

Cuestiones relacionadas