2016-04-24 2 views
2

Суть проблемы заключается в том, что IBM Watson Speech to Text позволяет загружать и использовать только форматы файлов FLAC, WAV и OGG с API.Речь IBM Watson о преобразовании текста в текст на веб-приложении Node.js

Мое решение состоит в том, что если пользователь загрузит mp3, ПЕРЕД отправкой файла в Уотсон произойдет преобразование данных. По сути, пользователь загружает mp3, а затем используя ffmpeg или sox, звук будет преобразован в OGG, после чего звук будет загружен в Watson.

О чем я не уверен: что именно мне нужно изменить в коде Node.js Watson, чтобы разрешить преобразование звука? Ниже приведен репозиторий Watson, с которым я работаю. Я уверен, что файл, который должен быть изменен, - fileupload.js, с которым я связался, но где изменения идут, о чем я не уверен?

Я просмотрел как SO, так и developerWorks, IBM SO для ответов на эту проблему, но я не видел никаких причин, почему я размещаю здесь. Я был бы рад прояснить мой вопрос, если это необходимо.

Watson Speech to Text Repo

ответ

2

Приложение Speech to Text образец вы пытаетесь использовать не конвертировать MP3 файлы в OGG. Папка src (с ней fileupload.js) - это просто javascript, который будет использоваться на стороне клиента (благодаря Browserify).

Приложение в основном передает браузер с API с помощью CORS, поэтому звук переходит из браузера в API Watson.


Если вы хотите конвертировать аудио с помощью ffmpeg или sox вам нужно будет установить зависимости с помощью пользовательского buildpack, поскольку эти модули имеют бинарные зависимости (C++ код в них) Джеймс Томас имеет buildpack с Сокс это: https://github.com/jthomas/nodejs-buildpack. Вам необходимо обновить manifest.yml быть что-то вроде:

memory: 256M 
buildpack: https://github.com/jthomas/nodejs-buildpack.git 
command: npm start 

Node:

var sox = require('sox'); 

var job = sox.transcode('audio.mp3', 'audio.ogg', { 
    sampleRate: 16000, 
    format: 'ogg', 
    channelCount: 2, 
    bitRate: 192 * 1024, 
    compressionQuality: -1 
}); 
+0

Последующие вопросы к этому, я в настоящее время с помощью FFmpeg для преобразования файлов. Но эта библиотека преобразования аудио загружает весь аудиофайл в память, а не делает это в кусках. Что было бы хорошим решением для этой проблемы? – YAL

Смежные вопросы