Поврежденный файл PyGST GStreamer с API Google Speech

на Raspberry Pi я пытаюсь записать звук с помощью gstreamer в виде файла .flac или .wav.

Я хочу, чтобы аудиофайл был отправлен на неофициальный сервер API речи Google

Но мой вывод конвейера gstreamer как wav

 gst-launch-0.10 -e  alsasrc device=hw:1 ! audioconvert ! audioresample ! audio/x-raw-int, depth=16, rate=16000, channels=1 ! wavenc ! filesink location= o.wav

или как flac

 gst-launch-0.10 -e  alsasrc device=hw:1 ! audioconvert ! audioresample ! audio/x-raw-int, depth=16, rate=16000, channels=1 ! flacenc ! filesink location= o.flac

быть всегда отвергнутым.

Ошибка: (неправильный формат файла или неправильная частота дискретизации)

{"status":5,"id":"11e0fa5e371b2f0a1a87def81f8383bc-1","hypotheses":[]}

Нормальная запись с помощью sox и кодирование с помощью ffmpeg или flac работает, поэтому я предполагаю, что выходной файл из gstreamer каким-то образом поврежден или что мне что-то не хватает

РЕДАКТИРОВАТЬ: конвейер, работающий с -v http://hastebin.com/vovefeyewe.vbs добавил очередь после alsasrc, но все та же проблема

РЕШЕНО

Дополнительные параметры решили проблему

 gst-launch-0.10 -e -v alsasrc device=hw:1 ! audioconvert ! audioresample ! "audio/x-raw-int, rate=(int)16000, channels=(int)1, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true, channles=(int)1" ! wavenc ! filesink location=g.wav

и если нет голоса или есть только случайный шум, Google отклонит файл с (ошибкой неправильного формата)


person Jeff ck    schedule 19.10.2013    source источник


Ответы (1)


Можете ли вы добавить опцию -v в свой конвейер и отправить результат?

person martien9    schedule 20.10.2013
comment
попробуйте этот конвейер, но я не уверен, что он сработает. gst-launch-0.10 -e -v alsasrc device = hw: 1! аудиоконвертировать! аудиосэмпл! audio / x-raw-int, rate = (int) 16000, каналы = (int) 1, endianness = (int) 1234, width = (int) 16, depth = (int) 16, signed = (boolean) true, каналы = (int) 1! wavenc! расположение файловой ссылки = g.wav - person martien9; 21.10.2013
comment
Это действительно странно. Я не знаю, почему конвейер не работает. Похоже аппаратная проблема. opencast.3480289. n2.nabble.com/ Понятия не имею, извините - person martien9; 21.10.2013
comment
Ура, это сработало. API речи Google сообщит о статусе: 5, если нет голоса или слишком много шума. Спасибо! - person Jeff ck; 21.10.2013