21 November 2024, 22:08:26
⁣ ⁣
For the past 24 hours: 100 objects added, 105 objects edited, 17 objects removed.

Author Topic: Загрузка Speedcam с категориями и озвучкой  (Read 77584 times)

yuryleb

  • Ветеран
  • *****
  • Posts: 1112
  • Карма: 346
  • Garmin DriveAssist 50 - nüvi 2497
    • View Profile
    • Русские TTS-голоса для навигаторов Garmin
0
У меня в nuvi 1310 оригинальный текст предупреждения в всплывающем окошке вообще не показывается, всегда "Впереди оповещен. о скорости" (перевод Speed Alert Ahead :)) для любых точек.

Задавать дистацию вообще нулевой сам еще не пробовал. Для начала у себя сделал это для мобильных засад и POI Loader их всех исключил из общего количества обработанных точек в на своей странице отчета. Хотя внутри GPI они вроде есть, судя по неизменившемуся размеру. Посмотрим, будут ли они отрабатывать у меня при превышении скорости.

Расширил GpxFilter.xslt новым параметром ReplaceDistance. Если он будет задан 0 или больше 10, то это значение и будет записано в Proximity. Если 2 (по умолчанию), то будет сохранено оригинальное значение Proximity из базы. А если 1, то Proximity будет вычисляться в зависимости от типа точки и заданной скорости. Исходя из своего опыта, предложил пока такой алгоритм:
Code: [Select]
<!-- Recalculate distance depending on type and speed limit -->
<xsl:variable name="speed" select="number(substring-after(../../../gpx:name, '@'))"/>
<xsl:choose>
    <xsl:when test="$WarningTypeId=1"><xsl:value-of select="$speed * 7"/></xsl:when>    <!-- Fixed radar -->
    <xsl:when test="$WarningTypeId=2"><xsl:value-of select="$speed * 2"/></xsl:when>    <!-- Radar (traffic light) -->
    <xsl:when test="$WarningTypeId=3">50</xsl:when>                                     <!-- Radar (redlight) -->
    <xsl:when test="$WarningTypeId=4"><xsl:value-of select="$speed * 6"/></xsl:when>    <!-- Radar (specs) -->
    <xsl:when test="$WarningTypeId=5"><xsl:value-of select="$speed * 6"/></xsl:when>    <!-- Mobile radar -->
    <xsl:when test="$WarningTypeId=11">200</xsl:when>                                   <!-- Radar (bus lane) -->
    <xsl:when test="$WarningTypeId=20">300</xsl:when>                                   <!-- Stationary post -->
    <xsl:when test="$WarningTypeId=21">100</xsl:when>                                   <!-- Railroad crossing -->
    <xsl:when test="$WarningTypeId=22">200</xsl:when>                                   <!-- School -->
    <xsl:when test="$WarningTypeId=100">100</xsl:when>                                  <!-- Built-up area -->
    <xsl:when test="$WarningTypeId=101"><xsl:value-of select="$speed * 4"/></xsl:when>  <!-- Speed limit -->
    <xsl:when test="$WarningTypeId=102">100</xsl:when>                                  <!-- Speed bump -->
    <xsl:when test="$WarningTypeId=103"><xsl:value-of select="$speed * 4"/></xsl:when>  <!-- Dangerous road -->
    <xsl:when test="$WarningTypeId=104"><xsl:value-of select="$speed * 5"/></xsl:when>  <!-- Dangerous turn -->
    <xsl:when test="$WarningTypeId=105"><xsl:value-of select="$speed * 4"/></xsl:when>  <!-- Dangerous crossroad -->
    <xsl:when test="$WarningTypeId=106"><xsl:value-of select="$speed * 3"/></xsl:when>  <!-- Risk zone -->
    <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
Хотелось бы сравнить с вашими значениями, охотно воспользуюсь чужим опытом :)

Для задания своей фиксированной дистанции надо дописать в GpxFilter.bat параметр ReplaceDistance=XX для каждой/нужной категории похожим образом:
Code: [Select]
if not errorlevel 1 msxsl.exe "%SourceGpxFile%" GpxFilter.xslt -t -o "%TargetGpxName%\%TargetGpxCategory%\Стационарные камеры.gpx" WarningTypeId=1 AddSpeedToWarningAudioFileName=%UseSpeedAudioForAlert1% AudioFileType=%AudioFileType% ReplaceDistance=0

iprouter

  • Пользователь
  • **
  • Posts: 18
  • Карма: 4
    • View Profile
0
У меня оригинальные сообщения есть - Камера ОТ, леж.пол. и т.д.  В какой момент вылезает предупреждение я никак заметить не могу. На навигаторе редко езжу. В основном только на работу и с работы.
Что-то я не пойму пока, что у меня происходит. Такое ощущение, что точек меньше стало. По дороге на работу их немного, поэтому пока точно не могу сказать.
Файлик Ваш вечером погляжу, если время будет. Спасибо.

iprouter

  • Пользователь
  • **
  • Posts: 18
  • Карма: 4
    • View Profile
0
Наверное я что-то не понял  ???
В батнике не нашел место, где при вызове XSLT передается значение параметра ReplaceDistance?
Непосредственно в скрипте оно задается двойкой и все. А есть возможность в батнике писать, чтобы скрипт не трогать больше?
И еще опечатка небольшая
 <!-- Replace warning/alert distance (proximity) if value is 0 greater than 2;
нужно наверное
 <!-- Replace warning/alert distance (proximity) if value is 0 or greater than 2;

yuryleb

  • Ветеран
  • *****
  • Posts: 1112
  • Карма: 346
  • Garmin DriveAssist 50 - nüvi 2497
    • View Profile
    • Русские TTS-голоса для навигаторов Garmin
1
Не отрабатывают точки с нулевой дистанцией ни при приближении, ни при превышении :( Так что обновил скрипт опять, теперь ReplaceDistance=0 оставляет оригинальную дистанцию (так скрипт делает по умолчанию), ReplaceDistance=1 вычисляет дистанцию заново (еще раз обновил алгоритм), остальные значения используются как новая дистанция.

Полный список замен дистанции при ReplaceDistance=1 в зависимости от типа предупреждения и заданного ограничения скорости:
  • Стационарная камера - при наличии слова Стрелка в описании ставится 1000 м, иначе скорость * 7 (т.е. для камеры на 60 км/ч дистанция будет 420 м, для 110 км/ч - 770 м)
  • Камера в светофоре - скорость * 2
  • Камера на красный - 50 м
  • Парная камера - скорость * 6
  • Мобильная камера/засада - при обнаружении в описании ключевых слов мобильной камеры (тренога, радар и проч.) ставится скорость * 6, иначе скорость * 4
  • Камера полосы ОТ - 200 м
  • Железнодорожный переезд - 200 м
  • Школьная зона/пешеходный переход - 200 м
  • Граница населенного пункта - 100 м
  • Знак ограничения скорости - скорость * 4
  • Лежачий полицейский - 100 м
  • Плохая дорога - 40 / скорость * 100 (т.е. для точки с ограничением 40 км/ч дистанция будет 100 м, для 10 км/ч - 400 м)
  • Опасный поворот - 200 м
  • Опасный перекресток - 200 м
  • Другая опасность - 200 м

Скрипты запуска я не трогал, их надо дополнить параметром самим. Пример строки запуска в предыдущем сообщении просто слишком длинный, надо было прокрутить влево. Вот тот же фрагмент GpxFilter.bat, но с вырезанной серединой:
Code: [Select]
if not errorlevel 1 msxsl.exe "%SourceGpxFile%" GpxFilter.xslt ... ReplaceDistance=600
« Last Edit: 19 January 2013, 22:57:03 by yuryleb »

danildubrovskii

  • Пользователь
  • **
  • Posts: 3
  • Карма: 2
    • View Profile
Нужна помощь!

написал GPX файл пытаюсь озвучить не получается, пользуюсь POI Loader файл с раpширением .wav загрущик не может отформатировать в нужный формат(добавление SOX.EXE результата не изменил), mp3 загружается (видно по объему исходящего GPI файла , но навигатор упорно его не видит при приближении слышен двойной сигнал вместо звукового файла.

тестирую на нави 2555,
может файл .mp3 должен иметь определеный объем,бит рейд?????

буду признателен за любую информацию ,может есть где архивы содержащие GPX и mp3 дайте ссылку или пришлите на danildubrovskii@gmail.com, буду разбирать по строкам

yuryleb

  • Ветеран
  • *****
  • Posts: 1112
  • Карма: 346
  • Garmin DriveAssist 50 - nüvi 2497
    • View Profile
    • Русские TTS-голоса для навигаторов Garmin
Ваша модель не имеет поддержки mp3, так что можете не пытаться.

POI Loader очень щепетилен к качеству WAV-файлов, и если вызов sox дает хоть какие-нибудь даже просто предупреждения при нормализации/подготовке, звук будет проигнорирован. Попробуйте еще раз пройтись по записанным файлам тем же sox или чем-либо помощнее для того, что бы будущий вызов конверсии из POI Loader'а никаких предупреждений не выдавал.

chigos

  • Пользователь
  • **
  • Posts: 8
  • Карма: 4
    • View Profile
Такая проблема была, и ошибки выскакивали всякие (тут на форуме обсуждалось). Потратив в сумме 2 дня дня я всё таки победил  свой нуви 2595 *YES_*, POI работают как надо. yuryleb -  *BRAVO* спасибо за терпение и труды. А у кого не получается советую не спеша, ВНИМАТЕЛЬНО!!! прочитать начало форума там всё правильно написано! 

danildubrovskii

  • Пользователь
  • **
  • Posts: 3
  • Карма: 2
    • View Profile
спасибо, получилось, скачал и переустановил sox. по новому и наконец то заработало

valya60

  • Постоялец
  • ***
  • Posts: 91
  • Карма: 6
    • View Profile
Гармин 3590 сообщает безупречно. Однако голос искажён, не чёткое произношение и довольно таки тихо говорит. Ставил Милену  :-*

Luk

  • Ветеран
  • *****
  • Posts: 359
  • Карма: 190
    • View Profile
Проблема с голосом присутствует и здесь, и моих сборках. А всё потому, что все голосовые сообщения сделаны с помощью бесплатных голосовых движков, найденных на просторах интернета. Вот если бы кто-то смог изготовить сэмплы с помощью профессиональных движков или, еще лучше, "живога царя" :), т.е. диктора с хорошим произношением в соответствующих студийных условиях, да еще и в разных вариантах, то цены бы такой озвучке не было.
Garmin Nüvi 250W, Garmin-Asus A10

valya60

  • Постоялец
  • ***
  • Posts: 91
  • Карма: 6
    • View Profile
а вот ваших сборках как раз таки говорит чётко и ясно. Вы же где то нашли пусть не все но все же  :)

yuryleb

  • Ветеран
  • *****
  • Posts: 1112
  • Карма: 346
  • Garmin DriveAssist 50 - nüvi 2497
    • View Profile
    • Русские TTS-голоса для навигаторов Garmin
У Luk в сборках та же Милена, насколько я знаю, только обработана более тщательно. Можете попробовать сделать свой вариант.

И Катерина с Миленой отнюдь не бесплатные движки, просто далеко не самые новые и передовые, и их качество превосходит бесплатную Елену от Майкрософта или свободную Елену от энтузиастов также, как Елена от Навикома превосходит их :) Тоже ведь голосовой движок, а от диктора не отличишь ;) Хотя я сам уже в этом не уверен, все вроде как убеждены в обратном, но слишком уж нейтральная интонация у нее, живой диктор так вряд ли сможет.

valya60

  • Постоялец
  • ***
  • Posts: 91
  • Карма: 6
    • View Profile
У меня вопрос как теперь удалить голос? На карте в папке poi удалил в приборе тоже. Все равно говорит. Подскажите пожалуйста, перезагрузка не помогает

yuryleb

  • Ветеран
  • *****
  • Posts: 1112
  • Карма: 346
  • Garmin DriveAssist 50 - nüvi 2497
    • View Profile
    • Русские TTS-голоса для навигаторов Garmin
Из GPI-сборок голосовые предупреждения удалить нельзя, можно только пересобрать без них. У Люка есть вариант с "бипами" вместо слов, если что.

Голоса из навигатора лучше не удалять, а отключать :) Они с голосом из GPI никак не связаны. Можно отключить весь звук в навигаторе целиком, или заменить один голос на другой (на пустой нельзя  :-[) - у меня в nuvi 1310 это Инструмент/Настройки/Язык/Язык голоса

valya60

  • Постоялец
  • ***
  • Posts: 91
  • Карма: 6
    • View Profile
Так я удалил эту сборку, оставил только от luk. Теперь говорят два разных женских голоса.
Хрипло рвано - в переди стационарный пост. Через секунду другой женский голос говорит тоже самое только четко и ясно. Так же не понятно показывает знаки где то ДПС а где то ГАИ.
Запутался  ???