es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo convertir SD2 a WAV? ¿Funcionarían convertidores de archivos de audio sd2 basados en Python, FFmpeg o shell?

Tengo más de 3TB de archivos sd2 (Sound Designer II) que necesito convertir a archivos wave. Tenía la esperanza de escribir un script sencillo para recorrer todas las carpetas de forma recursiva (esto no me causa problemas, es la conversión).

No estoy seguro si se puede importar un códec en FFmpeg. Parece que había un códec de core-audio para versiones antiguas de FFmpeg que funcionaba con sd2. No veo nada actualmente, y todas mis computadoras y versiones del sistema operativo son demasiado recientes.

Código añadido. Tengo una lista codecs con todos los códecs. Luego ejecuto lo siguiente. Funciona con archivos mp3.

in_file = "/Volumes/SOUNDS/Style.sd2"
out_file = "/Volumes/SOUNDS/Style.wav"

for i in codecs:
    subprocess.call(['ffmpeg', '-i ' + i, in_file ,out_file ])
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir archivos SD2 a archivos WAV, se puede utilizar FFmpeg con la biblioteca libsoundio para importar el códec Sound Designer II. Sin embargo, es posible que la última versión de FFmpeg no tenga este códec. Una opción es utilizar una versión más antigua de FFmpeg que incluya este códec, o compilar FFmpeg con la biblioteca libsoundio para habilitar el códec.

    Alternativamente, se puede utilizar pydub, una biblioteca de audio de Python, para convertir por lotes archivos SD2 a archivos WAV utilizando el siguiente código:

    from pydub import AudioSegment
    import os
    
    # Cambia esto al directorio que contiene los archivos SD2
    sd2_dir = '/ruta/hacia/los/archivos/sd2'
    
    # Cambia esto al directorio donde se guardarán los archivos WAV
    wav_dir = '/ruta/hacia/los/archivos/wav'
    
    for root, dirs, files in os.walk(sd2_dir):
        for file in files:
            if file.endswith('.sd2'):
                sd2_path = os.path.join(root, file)
                wav_path = os.path.join(wav_dir, file[:-4]+'.wav')
                audio = AudioSegment.from_file(sd2_path, format='sd2')
                audio.export(wav_path, format='wav')
    

    Este script recorrerá de forma recursiva todas las carpetas en sd2_dir y convertirá todos los archivos SD2 a archivos WAV utilizando pydub. Los archivos WAV convertidos se guardarán en wav_dir.

Comments are closed.