Я создал рабочий поток, и вам нужно будет установить узел, который может воспроизводить звук. Узел преобразования текста в речь на самом деле не воспроизводит звук. Он создает аудиофайл.
Перейдите к гамбургеру в правом верхнем углу редактора красного узла. Найдите Диспетчер палитр. найдите node-red-contrib-play-audio
и установите его. Я предполагаю, что у вас уже есть node-red-bluemix-nodes
.
вам понадобится узел для получения ввода, я использовал узел ввода для теста.
подключите его к вашему узлу разговора. Дважды щелкните по нему и введите идентификатор рабочей области. (она находится в рабочей области под тремя точками в правом верхнем углу каждой из них. Скопируйте эту длинную строку в свой узел. Я использовал учебник по автомобилям по умолчанию.
- подключите это к функциональному узлу. Затем мне нужно переместить ответ из беседы из msg.payload.output.text[0] в msg.payload следующим образом:
msg.payload = msg.payload.output.text[0];
return msg;
соедините это с узлом текста в речь. Введите любые учетные данные, выберите голос и щелкните вывод в msg.payload. Если вы забудете это сделать, аудиоузел будет фактически читать текст, а не использовать текст для речи узла. Голос аудиоузла невелик.
подключите узел воспроизведения аудио.
Вот и все. У вас должен быть рабочий голос.
Хороший способ увидеть, что происходит, — использовать узел отладки. Это позволяет вам видеть, куда перетекает контент, и добавлять функции для перенаправления вывода соответствующим образом для каждого узла.
Скопируйте приведенный ниже код, перейдите в гамбургер и выполните импорт из буфера обмена в новый поток. Вам нужно будет ввести соответствующие пароли и идентификаторы рабочей области, но это показывает, как это работает.
[{
"id": "b7b6d9fc.1997f8",
"type": "tab",
"label": "Flow 2"
}, {
"id": "d0ed4492.045c18",
"type": "inject",
"z": "b7b6d9fc.1997f8",
"name": "",
"topic": "",
"payload": "play the radio",
"payloadType": "str",
"repeat": "",
"crontab": "",
"once": false,
"x": 159.5,
"y": 122,
"wires": [
["dc33249.3227bd8"]
]
}, {
"id": "dc33249.3227bd8",
"type": "watson-conversation-v1",
"z": "b7b6d9fc.1997f8",
"name": "",
"workspaceid": "",
"multiuser": false,
"context": true,
"default-endpoint": true,
"service-endpoint": "https://gateway.watsonplatform.net/conversation/api",
"x": 383.5,
"y": 121,
"wires": [
["d3c07b87.22f9c8"]
]
}, {
"id": "711b8067.a1c7",
"type": "debug",
"z": "b7b6d9fc.1997f8",
"name": "",
"active": true,
"console": "false",
"complete": "true",
"x": 751.5,
"y": 200,
"wires": []
}, {
"id": "9826b891.eb02b8",
"type": "watson-text-to-speech",
"z": "b7b6d9fc.1997f8",
"name": "",
"lang": "en-US",
"langhidden": "en-US",
"langcustom": "NoCustomisationSetting",
"langcustomhidden": "",
"voice": "en-US_MichaelVoice",
"voicehidden": "",
"format": "audio/wav",
"password": "",
"payload-response": true,
"default-endpoint": true,
"service-endpoint": "https://stream.watsonplatform.net/text-to-speech/api",
"x": 757.5,
"y": 64,
"wires": [
["ccf6f5a7.700508"]
]
}, {
"id": "d3c07b87.22f9c8",
"type": "function",
"z": "b7b6d9fc.1997f8",
"name": "",
"func": "msg.payload = msg.payload.output.text[0];\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 561.5,
"y": 120,
"wires": [
["9826b891.eb02b8", "711b8067.a1c7"]
]
}, {
"id": "ccf6f5a7.700508",
"type": "play audio",
"z": "b7b6d9fc.1997f8",
"name": "",
"voice": "0",
"x": 963.5,
"y": 64,
"wires": []
}]
person
chaiboy
schedule
11.07.2017