HLFX.Ru Forum Страницы (3): [1] 2 3 »
Показать все 31 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Half Life и SAPI (https://hlfx.ru/forum/showthread.php?threadid=1759)


Отправлено fire64 16-03-2009 в 08:05:

Half Life и SAPI

Вот решил я добавить в Half Life поддержку SAPI
что бы сообщения в чате мультиплеера произносились
ну и еще смного для чего, согласитесь вещь интересная и для многих модов нужная

но я столкнулся с одной проблемой

если точнее я не знаю как передать компьютерный голос на клиенты

при условии что на стороне клиента ничего менять нельзя

тоесть реализация передачи голоса, должна быть чисто серверной

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Scrama 16-03-2009 в 08:16:

Пишешь поток на диск, тут же потоком проигрываешь для всех клиентов (в ХЛ потоковое воспроизведение уже реализовано). Я только так вижу.
Совсем, правда, не уверен, что получится. Но ты вообще посмотри как там реализовано проигрывание, если путь к звуку начинается с '*'.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 16-03-2009 в 09:20:

fire64 почему это? как раз таки сервер менять нельзя, а клиент можно. Все элементарно - есть команда "say", ловим её на клиенте - там где вывод текста на экран. И отправляем этот текст в синтезатор.
А есть сейчас достойные бесплатные синтезаторы? ну чтобы не булькало, как у мелкософта, а наоборот читало приятно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 16-03-2009 в 10:56:

Не, нету. Есть получше, но все равно звучит это как сам понимаешь что.

Я, видимо, не так понял. Если речь идет именно о синтезе, то достаточно ограничиться каким-то набором распознаваемых слов и словосочетаний (типа 'camping at RL' или 'need back up'), то проще сделать как говорит Д.Миша - парсить say на клиенте и проигрывать нужные звуки из набора.
Только кому это реально нужно?

Кстати, войсчат, если я не путаю, в стимовской версии есть.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 16-03-2009 в 11:09:

Войсчат есть, начиная с версии 1.1.0.8.
Хочется приятного голоса - запишите кучу стандартных фраз, как в Unreal Tournament'99
К этому делу можно прилепить простенький анализатор текста, который будет выбирать наиболее подходящую фразу, в зависимости от текста.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 16-03-2009 в 14:31:

Войсчат, на стороне движка, с сервера до него не добраться

Scrama, ткни меня носом в то место где используется потоковое воспроизведение



клиент менять нельзя, так как я делаю модифицированный сервер для Half Life

и мне нужно что бы обычные клиенты могли на него заходить

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 16-03-2009 в 16:20:

fire64 голос играется на клиентской стороне В ЛЮБОМ случае.
Если передавать синтезированный по голос по сети, взамен живого, то в чем смысл новшества?

Добавлено 16-03-2009 в 19:20:

Да и потом - ты умеешь сжимать конечный результат, дабы он пролез в стрим-канал? Халфа с микрофона сжимает.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 17-03-2009 в 05:18:

Цитата:
From WorldCraft 2.1 Help: "To play a wav through the streaming code (for very large, one-shot wavs) use * in front of the name. For instance, ambience/*speak2.wav would stream speak2.wav. Streaming sounds are loaded in segments from the disk, played, and flushed from memory."

TWHL, ambient_generic


Вообще, мне кажется, что ты не просто пытаешься изобрести велосипед, но велосипед с треугольными колесами и педалью на руле.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено XaeroX 17-03-2009 в 07:00:

В халфе есть стриминг звуков???
Это случайно не первоапрельская шутка?
Ни в одной кваке, по крайней мере, этого нет (не считая стриминга бг-музыки в ку3)

__________________

xaerox on Vivino


Отправлено fire64 17-03-2009 в 07:29:

Scrama, спасибо


теперь бы хорошо если бы мне напомнили какие парметры должны быть у звука что бы half life его понимала

я имею ввиду частоту и битрейт

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Scrama 17-03-2009 в 07:32:

Цитата:
XaeroX писал:
В халфе есть стриминг звуков???

А вот и нет... Попробовал сделать - ничего не вышло. Выходит, TWHL на пару с гайдом хаммера гонит, а я раньше считал его надежным источником информации по ХЛ. Облажался, да.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено fire64 17-03-2009 в 07:36:

To play a wav through Half-Life's streaming code, you can put an asterisk in front of the wav name (e.g. path/*filename.wav) or select 'stream' from the 'Channel to use' box.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 17-03-2009 в 07:46:

Информация к размышлению.
1) В сорсе эта фича задокументирована в нескольких источниках, включая вальвовскую дев-вики.
2) В сорцах бетки это есть (правда я не смотрел, работает ли)
3) В сорцах хл1 есть дефайн CHAN_STREAM:

C++ Source Code:
#define CHAN_STREAM	5 // allocate stream channel from the static or dynamic area

И больше ничего. Т.е. это нигде не юзается. Может быть, недоделка?

__________________

xaerox on Vivino


Отправлено Scrama 17-03-2009 в 08:20:

С астериском точно не работает - ругается на ненайденный файл.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено fire64 17-03-2009 в 08:25:

CHAN_STREAM активно юзается в amx плагинах

и еще вот

//Sound Channels
CHAN_STREAM 5 - not exactly sure, check hlsdk for more
CHAN_STATIC 6 - not exactly sure, check hlsdk for more
CHAN_NETWORKVOICE_BASE 7 - no-touchy
CHAN_NETWORKVOICE_END 500 - no-touchy

но опять же как это заюзать

дело в том что pfnEmitSound без предварительного кеширования звуковых файлов работать не будет

а если их кешировать то опять же они зальются на клиент и толку от этого не будет

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Временная зона GMT. Текущее время 14:53. Страницы (3): [1] 2 3 »
Показать все 31 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024