converte saída de registro para flac

3

Eu estou tentando converter saída wav do arecord para flac e funciona em parte:

pi@raspberrypi /tmp $ arecord -d4 -f dat -t wav -r 48000 -c 2 |flac -f -o message.flac - --channels=1 --sample-rate=16000

ele irá criar um arquivo que é reconhecido e jogado como um arquivo flac válido pelo mplayer:

pi@raspberrypi /tmp $ mplayer message.flac
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 48000 Hz, 2 ch, s16le, 125.8 kbit/8.19% (ratio: 15723->192000)
Selected audio codec: [ffflac] afm: ffmpeg (FFmpeg FLAC audio)
==========================================================================

no entanto, não sei como dizer corretamente ao flac. Eu quero uma pista de 1 canal de 16kHz como resultado. Quando eu uso -d em vez de simples '-' não será aceito.

Você pode perguntar por que eu não estou definindo canal / taxa de registro para as configurações de destino - a resposta é que se eu fizer isso, a qualidade do som capturado é horrível, conversão para flac via sox / flac com menor configurações funciona muito melhor.

Eu inicialmente queria usar o sox para gravar flac sem ter que recodificar wav para flac, mas isso está me dando uma falha de segmentação e eu não consegui encontrar uma maneira de superar isso ainda.

    
por abolotnov 29.01.2013 / 21:44

1 resposta

3

O codificador flac definitivamente não fará conversão de taxa de amostragem / profundidade de bits. No entanto, sox pode fazer isso para você na mosca. Tente isso:

arecord -d4 -f dat -t wav -r 48000 -c 2 | sox - -b16 -r16k -c1 -t wav - | flac - -o message.flac

Argumentos para sox são:

  1. - use stdin
  2. -b16 profundidade de bits de saída
  3. -r16k taxa de amostragem de saída de 16kHz
  4. -c1 output um canal
  5. -t wav especifica o formato de saída do wav
  6. - enviar resultado para stdout

Como a entrada para flac já é de 16kHz, não há necessidade de especificar a taxa de amostragem de entrada.

Espero que isso ajude!

    
por 23.06.2013 / 14:50