Pocketpc pda linux python

Содержание
  1. О возможности установки Linux на PocketPC (PocketDOS)
  2. Re: О возможности установки Linux на PocketPC (PocketDOS)
  3. Re: О возможности установки Linux на PocketPC (PocketDOS)
  4. Re: О возможности установки Linux на PocketPC (PocketDOS)
  5. Re: О возможности установки Linux на PocketPC (PocketDOS)
  6. Re: О возможности установки Linux на PocketPC (PocketDOS)
  7. Re: О возможности установки Linux на PocketPC (PocketDOS)
  8. Re: О возможности установки Linux на PocketPC (PocketDOS)
  9. Re: О возможности установки Linux на PocketPC (PocketDOS)
  10. Распознавание речи на python с помощью pocketsphinx или как я пытался сделать голосового ассистента
  11. Установка Pocketsphinx
  12. Распознавание речи при помощи pocketsphinx
  13. Русская языковая и акустическая модель
  14. Создаем свой словарь
  15. Использование pocketsphinx через speech_recognition
  16. pocketsphinx 0.1.15
  17. Navigation
  18. Project links
  19. Statistics
  20. Maintainers
  21. Classifiers
  22. Project description
  23. Pocketsphinx Python
  24. Supported platforms
  25. Installation
  26. Usage
  27. LiveSpeech
  28. AudioFile
  29. Pocketsphinx
  30. Default config
  31. Verbose
  32. Compatibility
  33. Install development version
  34. Install requirements
  35. Install with pip
  36. Install with distutils
  37. Projects using pocketsphinx-python
  38. License
  39. Project details
  40. Project links
  41. Statistics
  42. Maintainers
  43. Classifiers
  44. Release history Release notifications | RSS feed
  45. Download files

О возможности установки Linux на PocketPC (PocketDOS)

После того, как у меня на эмуляторе PocketDOS v1.09.0 запустилось чисто 32-разрядное приложение (Free Pascal for DOS), я загорелся идеей установить на эмуляторе и Linux. Естественно, Linux не полный и, наверное, не самый свежий.

Несмотря на свое название (содержится слово DOS), тут эмулируется не только DOS, но и ПК класса IBM PC AT i80486DX-33 8Mb RAM (можно попытаться оживить и 16Мб памяти, но у меня пока не получилось).
По памяти. Дока на эмулятор утверждает, что память имеет тип Expanded. Но я не очень в это верю — для запуска Free Pascal ИМХО требуется честная Extended.

Конкретно эмулируется i80486DX, bios, ИМХО какой-то типовой чипсет, FDD, HDD IDE, comm-порты, LPT. Еще ядро надо скомпилировать с поддержкой ext2 (ext3), swap, Fat16.

Эмулятор поддерживат загрузку с диска A: (в роли которого выступает образ дискетки), с диска C: (флэш-карта) и есть еще встроенная DOS v6.22

Итак, каким наиболее дешевым (по времени и трудозатратам) способом можно проверить, реализуема или нет моя бредовая идея? :-))
Вот мой план.

1. Взять Linux, устанавливаемый с дискет (хотя бы, чтобы установщик стартовал с дискет).
2. Сделать образы установочных дискет.
3. В «BIOS» эмулятора указать, что загружаемся с диска А: и скормить туда образ первой установочной дискеты.

Если установка пойдет, то ИМХО Linux скорее можно установить, чем нельзя, ибо сам установщик — линуксовая 32-разрядная программа.

Ну а вопросы такие.
1. Может уже продвинутый народ ковырялся с эмулятором PocketDOS на предмет установки Linux и я по граблям хожу?
2. Какой дистрибутив Linux рекомендуете для i80486DX-33 8Mb RAM? Естественно для начала попытаюсь запустить консоль. Собственно, мне нужен только образ загрузочной дискеты дистрибутива Linux.
Если загрузка ОС пойдет, то можно продолжать эксперименты.
Было бы неплохо получить прямую ссылку на этот образ дискеты, чтобы самому его не готовить.

Re: О возможности установки Linux на PocketPC (PocketDOS)

С эмулятором не работал. По поводу дистрибутива, могу посоветовать muLinux http://mulinux.sunsite.dk/. Он не новый, но на железе такого класса работает. Соотношение возможности/размер очень высокое. Ну и конечно еще в качестве дистрибутива — Slackware, то же подходит практически для всего совместимого с 486 🙂

Re: О возможности установки Linux на PocketPC (PocketDOS)

PocketPC — x86 платформа или нет ?

Re: О возможности установки Linux на PocketPC (PocketDOS)

> PocketPC — x86 платформа или нет ?

Re: О возможности установки Linux на PocketPC (PocketDOS)

А зачем нужен Linux на покете?

Re: О возможности установки Linux на PocketPC (PocketDOS)

> А зачем нужен Linux на покете?

Я бы не отказался от Линукса на Покете хотя бы ради того, чтобы лучше изучить его команды, язык bash изучать и т.п.

Естественно, все это буду делать «в дороге» (в электричке, метро и т.п.), ибо дома десктоп доступен.

Re: О возможности установки Linux на PocketPC (PocketDOS)

Я все-таки решил начать эксперименты по установке Линукса на эмулятор. Вот, какие я сделал шаги:
1. Скачал с
http://mulinux.sunsite.dk/lepton.html
образ дискетки Linux аж с ядром 2.4.18. Правда, форматируется дискетка под ext2 и размер нестандартный — 1772Кб.
Но все грузится на десктопе нормально. Все великолепно — и экран VGA, и куча Линуксовых утилит есть для тестирования оборудования (именно то, что надо — можно понять, что Линукс «думает» о PocketDOS).
2. Отсюда вязл Линукс поменьше (там есть дискетка как раз для lowmem system):
http://www.delilinux.de/
Дискетка форматируется под minix. При загрузке показывается обнаруженное оборудование и . система вопрошает о следующей дискете 🙂

Читайте также:  Windows что такое переменная частота обновления

Однако, внимание.
Эти дискеты (вернее, их образы) не видит ни монтировщик PocketDOS, ни родная для него утилита WinImage.
А между тем монтировщик PocketDOS видит только образы *.IMA и *.DSK
То есть файловые системы найденных мною систем (ext2, miniх) не имеют ни малейшего шанса для создания образов а-ля WinImage.

Остается последний шанс — пробовать в кардридере на десктопе сделать загрузочный Линукс из карточки SD и пробовать в PocketDOS грузиться с диска C: (карточку эмулятор безусловно считает диском C: без всяких монтирований).

Народ, а флэш-карты можно отформатировать под ext2 (ext3), swap и т.п.?

P.S. Но даже при этой неудаче остается шанс подмонтировать загрузочную дискету чисто 32-разрядной системы. А именно речь идет о первой загрузочной дискете Win NT 4.0 Workstation.
Если установщик дойдет до вопрошания второй дискеты, то шанс на установку в PocketDOS чисто 32-разрядных систем (в т.ч. Linux) ИМХО есть.

Re: О возможности установки Linux на PocketPC (PocketDOS)

Хлопцi, обращаюсь к Вам с просьбой.
Я пытаюсь запустить Linux из под эмулятора PocketDOS при помощи loadlin.exe. Другого пути пока не вижу.
Вот, что я сделал:

1. Попытался стартануть Linux из под следующего софта:
http://mulinux.sunsite.dk/mu/current/DOSTOOLS.zip
Это утилиты старта установки Linux из под DOS.
А вот откуда я брал сам Линукс:
ftp://sunsite.auc.dk/pub/os/linux/mulinux/mu/current/mulinux-14r0.tgz
Однако при попытке установить Линукс ядро пишет, что не может опознать процессор и дальше падает с тревожными симптомами.
Ядро версии 2.0.36.

2. Ну а вот отсюда я взял образ дискеты (1722Кб) с Линуском kernel 2.4.18:
http://mulinux.sunsite.dk/mu/lepton/lepton-0r3.raw
а вот так я сделал дискету:
http://mulinux.sunsite.dk/lepton.html
Получилась замечетаельная дискета — там лежит законченный Линукс kernel 2.4.18. Рабочий экран содержит bash-оболочки, файловый менеджер и кучу утилит диагностики оборудования — именно то, что надо для тестирования эмулятора.

Вся беда состоит в том, что образы дискет на файловых системах Linux (ext3, ext2, minix) не могут быть подмонтированы эмулятором (он понимает только FAT).
Я подмонтировал дискету в Fedora Core 2 и посмотрел — на ней всего 2 каталога: boot и dev
Загрузчик — lilo, хотя lilo.conf я на дискете не обнаружил.
Вот, что содержится в каталоге boot:

boot-bmp.b
boot.b
boot.msg
linux
logo.bmp
map
root.gz

Понятно, что здесь что значит. Очевидно, что linux — это ядро, а root.gz — сжатый образ файловой системы root-a.
В каталоге dev дискеты находится понятно что — драйвера дискет, HDD и т.п.

Файлы директории boot мне без особых проблем удалось перебросить на PocketPC (туда, где лежит loadlin.exe), но вот файлы директории dev отказываются жить на файловых системах, отличных от ext2 (ext3).

Конечно, попытка загрузить Linux командой:
loadlin.exe linux initrd=root.gz
Заканчивается неудачей. После распаковки файловой системы root-a ядро пишет: kernel panic, не могу создать FS root-a. Это ИМХО хорошо — фатальных ошибок нет.
Очевидно, что надо все-таки поиметь драйвера (директорию dev) и указать, что файловая система root-а должна создаваться в RamDrive (/dev/ram).

Вот и вознгикает вопрос: как это сделать, имея загрузочную дискету Linux?
Я хочу получить такую же загрузку, что и с этой дискеты, но стартом с FAT16 при помощи утилиты loadlin.exe. Как это сделать?
Какие параметры при этом надо передавать ядру?

И, наконец, может народ посоветует еще какой-нибудь Linux, полностью стартующий с ДОС-патиции ДОС-командой (типа loadlin.exe) и монтирующий свои файловые системы в RamDrive (в RAM)?
Надо учесть, что мне пока удалось поиметь 10240Кб Ram.

Re: О возможности установки Linux на PocketPC (PocketDOS)

>Файлы директории boot мне без особых проблем удалось перебросить на PocketPC (туда, где лежит loadlin.exe), но вот файлы директории dev отказываются жить на файловых системах, отличных от ext2 (ext3).

Читайте также:  Gps glonass для windows

Вообще есть еще файловая система UMSDOS и /dev на нем прекрасно будет жить.

Источник

Распознавание речи на python с помощью pocketsphinx или как я пытался сделать голосового ассистента

Это туториал по использованию библиотеки pocketsphinx на Python. Надеюсь он поможет вам
побыстрее разобраться с этой библиотекой и не наступать на мои грабли.

Началось все с того, что захотел я сделать себе голосового ассистента на python. Изначально для распознавания решено было использовать библиотеку speech_recognition. Как оказалось, я не один такой. Для распознавания я использовал Google Speech Recognition, так как он единственный не требовал никаких ключей, паролей и т.д. Для синтеза речи был взят gTTS. В общем получился почти клон этого ассистента, из-за чего я не мог успокоиться.

Правда, успокоиться я не мог не только из-за этого: ответа приходилось ждать долго (запись заканчивалась не сразу, отправка речи на сервер для распознавания и текста для синтеза занимала немало времени), речь не всегда распознавалась правильно, дальше полуметра от микрофона приходилось кричать, говорить нужно было четко, синтезированная гуглом речь звучала ужасно, не было активационной фразы, то есть звуки постоянно записывались и передавались на сервер.

Первым усовершенствованием был синтез речи при помощи yandex speechkit cloud:

Затем настала очередь распознавания. Меня сразу заинтересовала надпись «CMU Sphinx (works offline)» на странице библиотеки. Я не буду рассказывать об основных понятиях pocketsphinx, т.к. до меня это сделал chubakur(за что ему большое спасибо) в этом посте.

Установка Pocketsphinx

Сразу скажу, так просто pocketsphinx установить не получится(по крайней мере у меня не получилось), поэтому pip install pocketsphinx не сработает, упадет с ошибкой, будет ругаться на wheel. Установка через pip будет работать только если у вас стоит swig. В противном случае чтобы установить pocketsphinx нужно перейти вот сюда и скачать установщик(msi). Обратите внимание: установщик есть только для версии 3.5!

Распознавание речи при помощи pocketsphinx

Pocketsphinx может распознавать речь как с микрофона, так и из файла. Также он может искать горячие фразы(у меня не очень получилось, почему-то код, который должен выполняться когда находится горячее слово выполняется несколько раз, хотя произносил его я только один). От облачных решений pocketsphinx отличается тем, что работает оффлайн и может работать по ограниченному словарю, вследствие чего повышается точность. Если интересно, на странице библиотеки есть примеры. Обратите внимание на пункт «Default config».

Русская языковая и акустическая модель

Изначально pocketsphinx идет с английской языковой и акустической моделями и словарем. Скачать русские можно по этой ссылке. Архив нужно распаковать. Затем надо папку /zero_ru_cont_8k_v3/zero_ru.cd_cont_4000 переместить в папку C:/Users/tutam/AppData/Local/Programs/Python/Python35-32/Lib/site-packages/pocketsphinx/model , где это папка в которую вы распаковали архив. Перемещенная папка — это акустическая модель. Такую же процедуру надо проделать с файлами ru.lm и ru.dic из папки /zero_ru_cont_8k_v3/ . Файл ru.lm это языковая модель, а ru.dic это словарь. Если вы все сделали правильно, то следующий код должен работать.

Предварительно проверьте чтобы микрофон был подключен и работал. Если долго не появляется надпись Say something! — это нормально. Большую часть этого времени занимает создание экземпляра LiveSpeech , который создается так долго потому, что русская языковая модель весит более 500(!) мб. У меня экземпляр LiveSpeech создается около 2 минут.

Этот код должен распознавать почти любые произнесенные вами фразы. Согласитесь, точность отвратительная. Но это можно исправить. И увеличить скорость создания LiveSpeech тоже можно.

Вместо языковой модели можно заставить pocketsphinx работать по упрощенной грамматике. Для этого используется jsgf файл. Его использование ускоряет создание экземпляра LiveSpeech . О том как создавать файлы граматики написано здесь. Если языковая модель есть, то jsgf файл будет игнорироваться, поэтому если вы хотите использовать собственный файл грамматики, то нужно писать так:

Естественно файл с грамматикой надо создать в папке C:/Users/tutam/AppData/Local/Programs/Python/Python35-32/Lib/site-packages/pocketsphinx/model . И еще: при использовании jsgf придется четче говорить и разделять слова.

Создаем свой словарь

Словарь — это набор слов и их транскрипций, чем он меньше, тем выше точность распознавания. Для создания словаря с русскими словами нужно воспользоваться проектом ru4sphinx. Качаем, распаковываем. Затем открываем блокнот и пишем слова, которые должны быть в словаре, каждое с новой строки, затем сохраняем файл как my_dictionary.txt в папке text2dict , в кодировке UTF-8. Затем открываем консоль и пишем: C:\Users\tutam\Downloads\ru4sphinx-master\ru4sphinx-master\text2dict> perl dict2transcript.pl my_dictionary.txt my_dictionary_out.txt . Открываем my_dictionary_out.txt , копируем содержимое. Открываем блокнот, вставляем скопированный текст и сохраняем файл как my_dict.dic (вместо «текстовый файл» выберите «все файлы»), в кодировке UTF-8.

Читайте также:  Где посмотреть оценку производительности компьютера windows 10

Некоторые транскрипции может быть нужно подправить.

Использование pocketsphinx через speech_recognition

Использовать pocketsphinx через speech_recognition имеет смысл только если вы распознаете английскую речь. В speech_recognition нельзя указать пустую языковую модель и использовать jsgf, а следовательно для распознавания каждого фрагмента придется ждать 2 минуты. Проверенно.

Угробив несколько вечеров я понял, что потратил время впустую. В словаре из двух слов(да и нет) сфинкс умудряется ошибаться, причем часто. Отъедает 30-40% celeron’а, а с языковой моделью еще и жирный кусок памяти. А Яндекс почти любую речь распознает безошибочно, при том не ест память и процессор. Так что думайте сами, стоит ли за это браться вообще.

Источник

pocketsphinx 0.1.15

pip install pocketsphinx Copy PIP instructions

Released: Jun 3, 2018

Python interface to CMU Sphinxbase and Pocketsphinx libraries

Statistics

View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery

License: BSD License (BSD)

Tags sphinxbase, pocketsphinx

Maintainers

Classifiers

  • Development Status
    • 2 — Pre-Alpha
  • Intended Audience
    • Developers
  • License
    • OSI Approved :: BSD License
  • Operating System
    • MacOS
    • Microsoft :: Windows
    • POSIX :: Linux
  • Programming Language
    • C
    • Python :: 2
    • Python :: 2.7
    • Python :: 3
    • Python :: 3.5
    • Python :: 3.6
  • Topic
    • Multimedia :: Sound/Audio :: Speech
    • Software Development :: Libraries :: Python Modules

Project description

Pocketsphinx Python

Pocketsphinx is a part of the CMU Sphinx Open Source Toolkit For Speech Recognition.

This package provides a python interface to CMU Sphinxbase and Pocketsphinx libraries created with SWIG and Setuptools.

Supported platforms

Installation

More binary distributions for manual installation are available here.

Usage

LiveSpeech

It’s an iterator class for continuous recognition or keyword search from a microphone.

An example of a keyword search:

With your model and dictionary:

AudioFile

It’s an iterator class for continuous recognition or keyword search from a file.

An example of a keyword search:

With your model and dictionary:

Convert frame into time coordinates:

Pocketsphinx

It’s a simple and flexible proxy class to pocketsphinx.Decode .

A more comprehensive example:

Default config

If you don’t pass any argument while creating an instance of the Pocketsphinx, AudioFile or LiveSpeech class, it will use next default values:

Any other option must be passed into the config as is, without using symbol — .

If you want to disable default language model or dictionary, you can change the value of the corresponding options to False:

Verbose

Send output to stdout:

Send output to file:

Compatibility

Parent classes are still available:

Install development version

Install requirements

Mac OS X requirements:

Install with pip

Install with distutils

Projects using pocketsphinx-python

  • SpeechRecognition — Library for performing speech recognition, with support for several engines and APIs, online and offline.

License

Project details

Statistics

View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery

License: BSD License (BSD)

Tags sphinxbase, pocketsphinx

Maintainers

Classifiers

  • Development Status
    • 2 — Pre-Alpha
  • Intended Audience
    • Developers
  • License
    • OSI Approved :: BSD License
  • Operating System
    • MacOS
    • Microsoft :: Windows
    • POSIX :: Linux
  • Programming Language
    • C
    • Python :: 2
    • Python :: 2.7
    • Python :: 3
    • Python :: 3.5
    • Python :: 3.6
  • Topic
    • Multimedia :: Sound/Audio :: Speech
    • Software Development :: Libraries :: Python Modules

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you’re not sure which to choose, learn more about installing packages.

Источник

Оцените статью