Friday, May 17, 2013

Music, Art, Languages, Emotions, Software and other Distractions


Yeah, I confess - I was bad, I've been distracted lately... By stuff, work, bad emotions, housekeeping and cleaning :-D, too much walks out, sports - both practicing and watching, taking some beatiful pictures, social events, performances, concerts and general drama of everyday life. The weather in Plovdiv, and a few other ...aspects, are too good to keep yourself inside in the office... :) It rather calls you to stay outside all through it... ;-D

Not that I've not done any technical work or progress, but I confess - quite a little...

Musical Career and Twenkid Studio

I've been working on my "musical career" a bit, e.g. making tracks, spending some time with the guitar, the keyboard and a custom percussion software of mine, which received some attention, too.

I want to have a duo at least, hopefully or a band. Finally! I found someone for this, but it stalled again, I hope it would be temporarily this time. So far it always ends up somewhere in the middle - there are obstacles, for example distance, and somebody either gives up or doesn't push it enough, or both... It's a shame.

Stealth or Paused Software, Polyglotism/Languages and Video and Acting

I've done some work on some software projects which are not yet disclosed to the public, too.

The TTS "Toshko 2" was being "paused" lately - I have to prepare the advertisings first in order to make any sales, but it was postponed too.

Well, I should do it soon, even if it's not with the visual effects I wished to develop first. The crucial part of the ads will be my acting, not the visuals anyway.

Thursday, April 25, 2013

Plovdiv VM - Twenkid VM - New Virtual Machine was Born! | Announcement | Twenkid's Virtual Machine | Пловдив ВМ - българска виртуална машина

Let me introduce PLOVDIV VM/Twenkid VM - a new species that was born in my software infrastructure. :P

It's an incarnation of my life's long wish to create and design CPUs, computers, emulators etc. It will assist and interoperate with the upcoming thinking machine prototypes, of course.

Still in an early stage and incomplete to be used in production, but it's already a runnable virtual computer, and has all crucial instructions, RAM, stack, and can call native functions. I hope to start using it for real stuff  in the upcoming weeks or a month.

Why it's called so? PLOVDIV VM?

In the name of the city of   Plovdiv, Bulgaria

It's a working title, and I like aliases. :)

Main Features


Plovdiv VM  is a Hybrid VM for now - its virtual CPU is both Register and Stack based. That decision was partially because it's yet a sort of a playground for me, it may fork. Actually I suspect that it may grow into a universal reconfigurable emulator or/and partial simulator of any CPU, computer or... anything - that seems to be the ultimate direction.

Initial design scope is to be easy and quick for development (in C/C++) up to the desired useful level, and to allow for quick application and seamless and easy integration and interoperability with existing software from my infrastructure and access to low-level and high-performance features.

Memory Management? Garbage Collector?

Memory management is not done yet, a part of it will be done these days perhaps. Initially it won't have a  garbage collector, it will be more like C and C++ memory management with stack variables, a heap, pointers, references; in addition to some other types, for interoperability with the host machine, such as external pointers to native functions, libraries and  native memory.

If you are familiar with the buffers in OpenCL or CUDA, with which the host computer exchanges data with the GPU - there will be also that kind of pointers/inter-process communication facilities.

Interpreter or JIT Compiler or ?...

A hybrid... An emulator... Perhaps all of the above and more....

It's aiming eventually to allow... very intersting functions, I'll tell later.

For now it's... I don't know... What's actually running as for yesterday is a virtual computer with a CPU executing machine code/assembler, which is also able to call native functions.

I already have a small compiler developed years ago, which understood Pascal and generated CLR/.NET bytecode,  I revised it recently a little and started adding some C syntax. It may turn into a partial C compiler, or again a hybrid - Pascal and C compiler/ JIT-compiler/interpreter.

The compiler will probably be tuned to generate also bytecode for PLOVDIV VM, and vice-verse -- I'll probably make a small converter that turns CLR code into my bytecode. (BTW, I know about LLVM, but haven't digged into the details etc.)

Java of course is considered. We'll see, whatever.

License?

It's far from public release yet, as well as or even further away from public interest... :-D

I'll decide for the license when the VM is good enough so that anybody cares about it.

For now it's a proprietary baby endeavor, for in-house usage.

...

Обявяване на виртуалната машина "Пловдив ВМ"

Българска виртуална машина, компилатори, операционни системи, Java, JVM, CLR, .NET, байткод, машинен език,

Sunday, April 21, 2013

Using Fingers and Cameras to Digitize Printed Data and Augment Reality - That was my invention back in 2007... :) Now done by Fujitsu





Damn it - Fujitsu Laboratories have implemented this tool before me... :-/ 

I was planning to do a tool like this for a MS thesis back in late 2007...  :D
The first application would have been for marking material from books and papers without tedious retyping or physically marking the paper, and then quick citation.

However I was to work without the projector - I couldn't have one to play.

It was for another bigger project I've mentioned here since long years - the Research Accelerator, and it is possible that I make it to its first users release this, or at worst - next year, after completing a few other milestone projects. (Google's and Kurzweil's project are related competitive projects, some other NLP-ML projects which are already commercial - too...)

Obviously Solvable Engineering Problem

I was suggested by my supervisor, that it's too "engineering" a problem, it should have been more "scientific".
I agreed - I'd call it an "obviously solvable" problem, it just has to be implemented.

At the time I've been quite busy with the ASIC engineering work, and for the MS thesis I designed an improved version of my freshman Bulgarian TTS "Glas 2004" and proposed a number of improvements for consecutive generations of synthesis. I thought that it would be easier to go on that path.

It wasn't implemented at the time though, only very few new experiments, I didn't have time. And actually now I don't know whether the gesture selection wouldn't have been easier. :)

Anyway, as you know, if you read my blog, that extended text-to-speech synthesizer is almost released now - in fact yet it's a subset of the proposed functions.

I have some work going on related to this tool, too, as I'm building a general infrastructure for both the Research Accelerator and for the Ultimate Goal - the thinking machine.
Stay tuned, I will unveil probably when I have a complete application that can be offered to end users. :)




Wednesday, April 10, 2013

Toshko 2.04 Alpha - Pre-orders has Started - Приемат се предварителни заявки за комерсиалната версия! | Тошко 2.04 Алфа - Новини




Ново в 2.04.алфа.10.04.2013

  • Модернизиран графичен вид на плъзгачите и бутоните
  • Балончета с подсказки (tooltips) на лентата с инструменти
  • Отваряне на папката с mp3-записи на синтезиран говор
  • Още рамки



    Сравнение на плъзгачите във версии 2.04 и 2.03




     Може би ще пусна два варианта, на някои може да им харесва повече по-"ретро" вида (стил ~Windows 98).

      Тулбарът в новия стил например е плосък в основно състояние, в 2.03 е по-релефен и по-приятен - поне с тези икони, които нарисувах засега; те са плоски и имат нужда от рамки и ръбове, за да изпъкнат по-ясно...

     Идеята на плоския дизайн на тези контроли в Windows XP без тези ръбове явно е да подхожда на по-изпипани пълноцветни икони с преливания и светлосенки. Ами да, по-красиво ще е, може и да порисувам в по-професионален стил, но това не е критично и ще почака.



    Предварителни заявки за стандартната комерсиална версия
     

    Горе-долу вече съм доволен от вида на интерфейса. Имам още работа по говорещата и анализиращата част, още диалози за правене, но вече приканвам тези, които очакват излизането на продукта да направят предварителни заявки за комерсиалната версия.

    Засега ще е неформално, не ви ангажира с покупка, но ще се възползвате от промоционална цена, и ще покажете подкрепата си за проекта.

    Вече има една предварителна заявка от И.Г. Благодаря ти! :)


Цена?
Стандартна модификация при предварителна заявка:  25 лв 
[За сравнение, конкурентен продукт се предлага за около 80 лв в най-евтината си версия, а има и версии за двойно и тройно по-висока цена. Друг конкурентен продукт се продаваше за 20 лв през 2004 г., при средна заплата близо 3 пъти по-ниска от сега и след солидно външно субсидиране и финансиране. ]
Засега ми пишете на: twenkid - at - gmail - dot - com, ще се свържа с вас по-късно.

Стандартната модификация ще има най-важните потребителски функции, с изключение на някои по-авангардни настройки и др., които ще са в "Про- версия". 

Ще е възможно да се прави надграждане към по-горен клас модификация.

Тези които са закупили приложението с предварителна заявки ще ползват намаления след това.

Имайте предвид също, че след като закупите лиценз, ще получавате и всички обновления за съответното поколение продукт - ако закупите още сега версия 2.04 Алфа, ще имате лиценз за всички версии до 2.499 или 2.99* - и ще ми помогнете да създам тези по-горни версии.

Предвид, че това е основополагащ комерсиален продукт, първите, които са го закупили и са ме подкрепили, вероятно ще получат намаления и за други продукти.

За информация, ако съм жив и здрав и работата върви, до края на годината може да издам и десетина най-различни продукти. Зависи и как ги комплектовам, защото някои са пакети.

...

* Според начина на номериране - възможно е 2.5 - 2.6 да са някакви междинни версии към следващо поколение продукт.



Мобилна версия на "Тошко 2"


Както бях споменал още в началните анонси, планирам да създам и мобилна версия, но кога точно ще стане зависи от подкрепата на потребителите. Първата платформа вероятно ще бъде Android, защото вече внедрих технологията за разработка и придобих основните умения експерсно, само трябва да се захвана. Ако има достатъчно приходи, ще помисля и за iOS.

Закупилите настолната версия ще се възползват или от намаление, или от безплатен лиценз и за мобилната (или някоя от мобилните версии) - може да е нещо като "ваучер за намаление" и да си избират. Може да е ваучер за някое друго приложение.

Детайлите ще се изяснят, когато пренеса системата и на мобилни устройства и реализирам и тези други приложения - и мобилни, и настолни.




Дарения?

Заповядайте - само да кажете. :)

Приемат се всякакви суми. Засега се свържете с мен: twenkid -- at -- gmail -- dot -- com, ще оставя и други координати по-нататък, и по-лесен начин, вероятно страничка за цъкане към epay.

Благодетелите ще получат уважение и споменаване в кредитите на приложението и ще бъдат цитирани както те посочат (ако желаят, могат да останат и анонимни).  :)

Виж повече "Въпроси и отговори" на: http://twenkid.com/software/toshko2/



Думи: Тошко 2, 2.04, предварителни заявки, продажби, pre-orders, preorder, orders,Тошко 2.01, 2.02, 2.03 синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech, alpha, алфа, alfa, рилийз, издание, продукт, софтуер, мекица, ап, app, българско, иновации, иновативно, новаторско, изобретение

Monday, April 8, 2013

Toshko 2.03 Alpha | Тошко 2.03 Алфа | Новини



  • Гръмкост
  • Пресети (запомнени настройки на гласа)
  • Широка лента с инструменти (тулбар)
  • Бутони с разноцветни икони 
  • Гръмкост (Volume) 
  • Пресети 
  • Рамки в интерфейса
Все още не са реализирани всички от функциите и диалозите, изнесени на тулбара.
Пресетите са почти готови - позволяват съхраняване и възстановяване на настройки на гласа.

Виж: http://twenkid.com/software/toshko2/


Думи: Тошко 2, Тошко 2.01, 2.02, 2.03 синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech, alpha, алфа, alfa, рилийз, издание, продукт, софтуер, мекица, ап, app, българско, иновации, иновативно, новаторско, изобретение

Tuesday, April 2, 2013

Toshko 2.02 Alpha | Тошко 2.02 Алфа и малко инфо от тестовете | Новини

Новини за Toshko 2.02 Alpha | Тошко 2.02 Алфа


  •  Пауза/продължи
  •  Mоментално спиране* на говора
  •  Toolbar
  •  Малко повече интонационни варианти**
Програмата със сигурност работи и на Windows XP (тествана е на Windows 7 и на XP). Вероятно ще работи и на 2000, но не е тествана. По принцип би могла да се компилира и за Win 98 (но ще трябва специално да го направя с друг компилатор).
Напоследък се занимавам повече с други неща и изследване и проектиране на технологии, които ще ускорят впоследствие разработката.

Предполагам, че този месец ще събера време да доведа Т.2 до състояние в което да съм склонен да пусна и бета версия (с повече потребители).

*Досега спирането беше с до няколко секунди закъснение, докато си свърши изказа)
** Още не съм внедрил гъвкавата система, с която ще разгърна напълно интонациите


Думи: Тошко 2, Тошко 2.01, 2.02, синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech, alpha, алфа, alfa, рилийз, издание, продукт, софтуер, мекица, ап, app, българско, иновации, иновативно, новаторско, изобретение

Thursday, March 21, 2013

Toshko 2.01 Alpha was Released today! | Излезе Тошко 2.01 Алфа (само за тесен кръг потребители)



Засега е достъпно само за едноцифрен брой потребители и не съм доволен от това, че най-съществените функции още не са готови както ги искам, но началото се забави достатъчно и исках вече да го поставя.

В предният пост споменавам за тактическите отклонения, предстои реализацията на практика на едно от тях, което да ускори довеждането на продукта до комерсиално издание и по-лесно довършване на тези функции, евентуално и до създаването на един друг продукт. (За съжаление не мога да споделя подробности.)

Благодарности на първите потребители!

English: It's premature and available only to a handful of users yet. I'm about to embark an interesting... software-architectural "digression" (as I mentioned) in order to boost the development of this and other products, but that's a story for a later time and hopefully a product on its own. Stay tuned. :)

Many thanks to the first volunteer users!

Сайт на програмата



Думи: HTTP, уеб приложения, мобилни приложения, Тошко 2, Тошко 2.01, синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech, alpha, алфа, alfa, рилийз, издание, продукт, софтуер, мекица, ап, app, българско, иновации, иновативно, новаторско, изобретение

Wednesday, March 13, 2013

High Performance Computing & Other "Digression" - Practical GPGPU & SSE | Отклонение към внедряване на високопроизводителни векторни изчисления и др.

SIMD, SSE, GPGPU, OpenCL ...

(For English: see below) За хората, които чакат да излезе "Тошко 2" - тактическите краткосрочни задачи леко се изместиха към бързо внедряване и проучване на възможностите на технологии, които са били отлагани, а ми трябват за да мога по-бързо да доразработя и променям "Тошко 2" и следващите, а също и в помощ на други по-универсални приложения, напр. филмовия софтуер, който ще ми трябва за рекламата... :) Успехът в дългосрочната стратегия понякога изисква гъвкава краткосрочна тактика и привидно отстъпление, за да последва по-мощно нападение! :)

Каква е връзката на Тошко 2 с това?

Конкретно за синтеза на звук в "Тошко 2" тази новоотключена мощ не е наложителна пряко, при един от тестовете той синтезира близо 30 минути говор и паралелно го записваше на твърдия диск за около 2 секунди (70-тина МБ звук), като работи в една нишка. В крайната версия ще прави малко повече сметки, но те са незначителни на фона на тази чудовищна бързина. Някои от тези технологии обаче ще ускорят оставащите детайли от разработката на едни функции, които изискват по-специални технологии за въвеждане на данни.


Не мога да разкрия конкретни детайли за приложенията на технологиите, но напр. най-накрая експресно внедрих употребата на мощни векторни инструкции SSE - до версия SSSE3*, SSE-то вече започна да ми служи добре като ускори няколко пъти операция, която е основа в една друга нишка от изследвания.

Внедрявам и употребата на модерно** GPGPU (впрягане на видеокартата за произволни сметки), което ще е още по-чутовно ускорение дори и на най-скромните видеокарти, които поддържат технологията. Това ми трябва за видео софтуера и за други по-авангардни неща.

И др. по-абстрактни и неочевидни ускоряващи неща в други насоки, които обаче са тайна засега.

*Яд ме е, че досега не съм го бил направил на практика, при положение че съм програмирал на машинен език и сам съм си смятал адреси на ръка и помнил кодове на инструкции от рода на A9 20 8D 40 40 още от невръстна възраст. Проучих и по-новите разширения на инструкциите, които мога да доведат ускорение още няколко пъти със SSE4 (с неорязано Core 2 Duo), и после още два пъти с AVX (Core i Sandy Bridge и следващите), но имам нужда от нова работна станция, за да мога да ги използвам.

** Защото имам опит с ранното GPGPU с пикселшейдъри под Direct3D9, когато данните се пращаха и четяха само през текстури или като геометрия. Това беше още ps2.0, но тогава ограниченията бяха много досадни.

"Булдозерите" на AMD също имат интересни инструкции в SSE4a за бреоене на битове и водещи нули - малко тъпо е, че Интел ги нямат.

...
High Performance Computing 

I've become a SSE developer already, I need it to boost the performance and it started serving already! :)

GPGPU acceleration is also being hacked, to push my technology to the next performance level, and for my  movie making software. I'm also developing other technologies waiting in a queue from a long time, now getting served...

"Toshko 2" completion and release is postponed a bit due to the digression.


...
Думи: Analysis, News, Software, Text to speech Synthesis, Twenkid Research, Новини, програмиране, Софтуерно инженерство, Тошко 2, GPU, GPGPU, ГПГПУ, ГПУ, векторен процесор, ССЕ, ССЕ2, ССЕ3, СССЕ3, ССЕ4 ... SIMD, СИМД, ...

Wednesday, March 6, 2013

Първа версия на сайта за Тошко 2 с Отговори на Често срещани въпроси - | Premiere of the Toshko 2 web site and FAQ | Early Pre-Release Web Site

Заповядайте на откриването на официалната страница на "Тошко 2": http://twenkid.com/software/toshko2/

Това е началото, продуктът все още е на етап: pre-alpha, но скоро ще минем на "алфа".



Фрагменти от "FAQ"-а

  • Сигурен съм, че въвеждам правилна парола (...)
  • Има ли някъде качено аудио или видео демо?
  • Като копирам за изговаряне от някои сайтове/пуснал съм да слуша клипборда, понякога ми излизат маймуни? (????? ????? - ??????? ????)
  • Колко ще струва комерсиалната версия на "Тошко 2" и какви модификации ще има?
  • Ориентировъчни цени на конкуренти
  • (...)
Благодаря за подкрепата от първите харесали страницата - 16 души за момента... :) - и на очакващите да получат програмата за да я пробват.

...
Думи: HTTP, уеб приложения, уеб, сайт, Тошко 2, Тошко 2.01, алфа, синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech


Wednesday, February 27, 2013

Първото издание на "Тошко 2.01 алфа" за избрани тестери наистина наближава... :) | Toshko 2.01 Alfa - Testers' Release Soon








Някои от скорошно реализираните служебни функции:

  • Вход/изход от системата с автентифициране през уеб сървър
  • Запис на казаното в MP3 - много висока производителност

    Разни други помощни подсистеми, които са нужни за по-удобно логване, дебъгване, помощ.

    Живи и здрави, надявам се до седмица или още тия дни избрани тестери да могат да почнат да си играят с първата алфа на приложението.

    http://research.twenkid.com

    ...
    ......
    Думи: HTTP, уеб приложения, мобилни приложения, Тошко 2, Тошко 2.01, синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, text-to-speech

  • Wednesday, February 20, 2013

    Тошко 2.01 алфа - Комуникационната инфраструктура и основа на облак/клъстер | Новини | Update on Toshko 2.01 alpha | Updates About the Development of Toshko 2 TTS Text-to-Speech Synthesizer and Other Projects



    Миналата седмица изостанах от график заради внедряването на разработка под Андроид, което ще ми трябва и за мобилната версия на синтезатора.

    Тази седмица фокусът по "Тошко 2" е довършване на някои от основните нови говорни функции, и един крайъгълен камък, засягащ цялата екосистема - поставям основите на инфраструктурата на моя "облак" и клъстер.

    Комуникационна инфраструктура ще свързва различните приложения в разнородна среда, част от това е и изграждане на основна архитектура за лесно разширение на функциите на всяко от приложенията:

    • чрез извикване на други програми
    • чрез плъгини и допълнителни библиотеки, които могат да бъдат създавани и от други разработчици, след като оформя и публикувам интерфейс за връзка,

    Тук може да се събере някакво неформална група заинтересувани, с които да заченем стандарти. Честно казано съмнявам се да намеря хора за тази група на този етап, сигурно докато успея, вече ще съм сглобил първите версии на стандартите и ще съм ги приложил, но ако някой има желание - да се обажда.

    Към съобщителната инфраструктура влиза и първична система за логване и регистрация, преди да пусна алфата за ползване от първите тестери.

    Приложенията от екосистемата ми за PC засега ще са написани и отворени към директно взаимодействие чрез C/C++, Java, вероятно и C# под Windows и Linux*, с преход и към мобилни ОС (за начало Андроид). Интерфейсът ще има и платформено-независим протокол през уеб/сокети и др.

    Ще има и уеб-сървърна част за някои нужди, към момента PHP и може би Java, и въпросните настолни и мобилни приложения ще общуват и с нея - например за логването.

    Идеята е всички приложения от цялото множество да могат свободно да взаимодействат, независимо на каква платформа работят.

    * В началото преобладаващо Windows

    ......
    Думи: хетерогенна, разнородна, Ineter-Process Communication, IPC, Cloud computing, HTTP, уеб приложения, мобилни приложения, Тошко 2, Тошко 2.01, синтезатор на реч, говореща програма, говоряща програма, говор, разпознаване на реч, TTS, STT, Speеch to text