На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
  
> Ускоренная запись в файл , Ускоренная запись в файл синтезированного текста
    Подскажите в чем может быть дело?

    Изменение значения атрибута RealTimeSet интерфейса ITTSAttributes не приводит ни к каким результатам, текст выводится в файл с той же скоростью, с которой и воспроизводится. Испробовано на движках Digalo Russian и L&H Russian.
      Попробуй так:
      ExpandedWrap disabled
        #include <stdlib.h>
        #include <string.h>
         
        void SetNewSpeed(ITTSCentral * pITTSCentral, unsigned int newspeed)
        {
         char SpdTag[30] = "";
         
         strcat(SpdTag, "\\Spd=");
         itoa(newspeed, SpdTag + 5, 10);
         strcat(SpdTag, "\\"    );
         try
         {
          OleCheck(pITTSCentral->Inject(SpdTag));
         }
         catch(...)
         {
          // Ой !!!
         }
        }
      Сообщение отредактировано: C300G -
        Попробовал - прежний результат, даже не представляю, в чем может быть дело...
          А, кстати, зачем ты RealTimeSet мучал? Она устанавливает ориентировочную квоту процессорного времени на синтез речи.
          Побробуй, тогда уж, ITTSAttributes::SpeedSet (проверь чего она возвращает, если не сработает).
          Значения скорости какие использовал? Может движок счел их запредельными и проигнорировал? Диапазон изменения значений этого параметра можно узнать через IAttributes::DWORDGet с параметрами TTSATTR_SPEEDMAX и TTSATTR_SPEEDMIN.
          Послушать синтезированную речь минуя запись в файл попробуй (на всякий случай).
            Насколько я понимаю, RealTimeSet устанавливает масштаб времени при выводе в файл или поток, а атрибут SpeedSet изменяет скорость воспроизведения текста. Мне важно именно максимально сократить время вывода синтезированного текста в файл. Например, если в реальном масштабе времени, через аудио-карту, текст с определенной скоростью читается 10сек., то в файл он бы выводился за 2 сек., при той-же скорости чтения. На сайте автора Tom Reader отмечена возможность ускоренной записи в файл движка Digalo, я написал ему письмо, но ответа пока не получил.
              Извини, это я тебя не так понял с самого начала: почему-то подумал, что у тебя возникли проблемы именно с ускорением воспроизведения речи.
              А RealTimeSet чего возвращает? Может в демо версии она и не поддерживается вовсе или заглушка на ней стоит?
              Кстати, а в настройках IAudioFile не копался?
              Сообщение отредактировано: C300G -
                Ты имеешь ввиду демо-версию дигало? Но у меня вроде боевая - устанавливал с серийником. Кроме того, с L&H таже ситуация...
                  Сей движок был доступен для скачивания в 2000-ом для "обкатки". После чего самой же Digalo был "изъят из оборота" (по возможности).
                    Да, совершенно верно, все дело оказалось в "волшебных пузырьках" :-), т.е. в движке Digalo... Он практически ни фига не поддерживает, единственное его преимущество - это более-менее приемлемое качество звучания. Как я уже писал в где-то в предыдущем посте, автор одной из говорилок Tom Reader утверждает, что Дигало поддерживает ускореную запись в файл. Вот цитата с его страницы:

                    >>Ниже приведена небольшая сравнительная таблица этих модулей:
                    >>
                    >>Производитель Digalo
                    >>Качество (натуральность) голоса Высокое
                    >>Изменение скорости речи Есть
                    >>Изменение высоты голоса Есть
                    >>Качество звука Mono, 16bit, 16 KHz
                    >>Запись в wav на повышенной скорости Есть! (Причем с воскл. знаком и выделено красным цветом)

                    Кто хочет, может сам посмотреть: http://tomreader.chat.ru/tts.htm

                    Почему он так утверждает, я не знаю, т.к. ответ на свое письмо я так и не получил.

                    А насчет движков L&H я ошибся. Именно там как раз все и работает...

                    Скачал с сайта Elan их дальнейшую разработку Elan Tempo Telecom в которой присутствует "дигаловский" движок Nicolai - вот он также поддерживает различные настройки, и, что для меня важно, можно выбрать формат звука 8KHz - для телефонии. Собственно, Tempo Telecom в основном для телефонии и предназначен. К сожалению, не знаю его стоимости, слышал, что не маленькая.
                      Вообще, значения для RealTimeSet такие:
                      обычная скорость 100h, далее пропорционально:
                      2х кратное ускорение -200h
                      4х кратное - 400h и так далее.


                      LH радостно пишет в файл на 100 кратном увеличении (реальное увеличение зависит от производительности системы) - но чтобы слушать LH надо либо родится мутантом, либо выпить 2-3 литра водки :0)

                      Поэтому юзаем только Дигало )

                      Но на Дигало это не влияет, так как он не поддерживает ускоренную запись.
                      Точнее ускоренная запись с помошью Дигало возможна, но через задницу (подозреваю, что этот движок разрабатывали русские программисты :).

                      Как это работает:

                      Честно скажу - не знаю почему, но работает.
                      идея такая - запись ведется короткими фразами и после каждой юзается .flush и .set для нового файла. файлы походу элементарно слеиваются. увеличение скорости зависит от производительности системы в целом. У меня достигало 2-3х кратного. Эта фича реализована в ToM Reader но там досадная (во всех версиях) бага - под XP вообще вылетает запись mp3. (Элементарная описка в исходнике, к сожалению уже растиражированная).

                      P.S. мой ящик grandpaw@mail.ru я уже забросил в силу его полной запомоенности спамерами, так что если что пишите на txtsoft@mail.ru или ICQ 616366
                        Цитата PeTRoViCH, 6.11.04, 21:40
                        чтобы слушать LH надо либо родится мутантом, либо выпить 2-3 литра водки :0

                        :lol: :yes:
                          Хм, наверное я мутант :)
                          В 2001 году я работал с обоими движками и мне больше нравился LH.
                          Я говорю о ненастроенных движках, без использования словарей.
                            Кстати только сейчас рассмотрел сообщение C300G, - хочу отметить, что
                            Digalo не поддерживает метод Inject.
                            Вообще, по исполнению, Дигало типичная горбуха, которая никак не тянет на
                            спецификацию SAPI Compilant. Но качество синтеза у Дигало все же на высоте. И поэтому большинство пользуется именно им.
                            Ну и к слову - мне год или два тому назад знакомый прислал американский движок от AT&T на 2х дисках. Вот где качество синтеза практически безупречное. Весит после установки 2Гб. Жрет ресурсов - немеренно. У меня тогда был Athlon XP2000, 256Mb RAM он слегка притормаживал, сейчас Athlon XP2800, 512Mb RAM вроде не заикается. Вот он именно разговаривает - местами можно спутать с реальным голосом.
                              Хм... есть возможность поделится?
                                Цитата PeTRoViCH, 8.11.04, 15:08
                                мериканский движок от AT&T на 2х дисках. Вот где качество синтеза практически безупречное.
                                Синтез русскоязычной речи поддерживает? (В edk на него ссылки вроде видал).
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0570 ]   [ 15 queries used ]   [ Generated: 17.05.24, 18:20 GMT ]