# ==================== README.md ====================
"""
# 🎙️ vogo
**Librería Python para interfaces multimodales accesibles**
Procesa y analiza texto, voz, gestos e imágenes con reconocimiento de patrones gramaticales.
Ideal para crear aplicaciones accesibles e inclusivas.
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[]()
---
## ✨ Características
- 🎤 **Reconocimiento de voz** - Transcribe audio a texto con Google Speech Recognition
- 👁️ **OCR de imágenes** - Extrae texto de imágenes usando Tesseract
- ✋ **Procesamiento de gestos** - Analiza secuencias de gestos como listas
- 📝 **Análisis de texto** - Tokenización y matching con NLTK
- 🔍 **Gramáticas personalizables** - Soporta regex y gramáticas libres de contexto (CFG)
- 🌐 **Multimodal** - Procesa diferentes tipos de entrada con una API única
---
## 📦 Instalación
### Requisitos Previos
#### 1. Python 3.8 o superior
```bash
python --version # Debe ser >= 3.8
```
#### 2. Tesseract OCR (para procesamiento de imágenes)
**Windows:**
1. Descargar el instalador desde [GitHub](https://github.com/UB-Mannheim/tesseract/wiki)
2. Instalar y agregar al PATH
**Ubuntu/Debian:**
```bash
sudo apt-get update
sudo apt-get install tesseract-ocr
```
**macOS:**
```bash
brew install tesseract
```
**Verificar instalación:**
```bash
tesseract --version
```
### Instalación de vogo
#### Opción 1: Modo desarrollo (recomendado para contribuir)
```bash
# Clonar el repositorio
git clone https://github.com/Carlos3451/vogo.git
cd vogo
# Crear entorno virtual
python -m venv env
source env/bin/activate # Linux/Mac
env\\Scripts\\activate # Windows
# Instalar en modo editable
pip install -e .
```
#### Opción 2: Desde PyPI (cuando esté publicado)
```bash
pip install vogo
```
#### Opción 3: Instalación con extras
```bash
# Con herramientas de desarrollo
pip install -e ".[dev]"
# Con documentación
pip install -e ".[docs]"
# Con todo
pip install -e ".[all]"
```
### Verificar Instalación
```bash
# Descarga el script de verificación
python -c "from vogo import Grammar, Processor; print('✅ vogo instalado correctamente')"
```
---
## 🚀 Uso Rápido
### Ejemplo Básico - Procesamiento de Texto
```python
from vogo import Grammar, Processor
# Define reglas gramaticales con regex
grammar = Grammar({
'email': r'\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b',
'phone': r'\\b\\d{3}[-.]?\\d{3}[-.]?\\d{4}\\b',
'saludo': r'\\b(hola|hello|hi)\\b'
})
# Crea el procesador
processor = Processor(grammar)
# Procesa texto
texto = "Hola, mi email es contacto@ejemplo.com y mi teléfono es 555-123-4567"
resultado = processor.process_input(texto, type='text')
# Resultados
print(f"Texto: {resultado['text']}")
print(f"Tokens: {resultado['tokens']}")
print(f"Coincidencias: {resultado['matches']}")
# Output:
# Coincidencias: [
# {'type': 'saludo', 'matches': ['Hola']},
# {'type': 'email', 'matches': ['contacto@ejemplo.com']},
# {'type': 'phone', 'matches': ['555-123-4567']}
# ]
```
### Procesamiento de Voz
```python
from vogo import Grammar, Processor
grammar = Grammar({'comando': r'\\b(abrir|cerrar|iniciar)\\b'})
processor = Processor(grammar)
# Lee archivo de audio
with open('audio.wav', 'rb') as f:
audio_bytes = f.read()
# Procesa audio
resultado = processor.process_input(audio_bytes, type='voice')
print(f"Transcripción: {resultado['text']}")
print(f"Comandos detectados: {resultado['matches']}")
```
### Procesamiento de Imágenes (OCR)
```python
from vogo import Grammar, Processor
grammar = Grammar({'fecha': r'\\d{2}/\\d{2}/\\d{4}'})
processor = Processor(grammar)
# Lee imagen
with open('documento.jpg', 'rb') as f:
imagen_bytes = f.read()
# Extrae y analiza texto
resultado = processor.process_input(imagen_bytes, type='image')
print(f"Texto extraído: {resultado['text']}")
print(f"Fechas encontradas: {resultado['matches']}")
```
### Procesamiento de Gestos
```python
from vogo import Grammar, Processor
grammar = Grammar({'direccion': r'\\b(arriba|abajo|izquierda|derecha)\\b'})
processor = Processor(grammar)
# Lista de gestos capturados
gestos = ['arriba', 'arriba', 'derecha', 'abajo']
resultado = processor.process_input(gestos, type='gestures')
print(f"Secuencia: {resultado['tokens']}")
print(f"Direcciones: {resultado['matches']}")
```
---
## 📚 Documentación Completa
### Clase `Grammar`
Define las reglas gramaticales para el análisis.
```python
from vogo import Grammar
# Gramática con regex
grammar_regex = Grammar(
rules={
'numero': r'\\d+',
'palabra': r'\\w+'
},
type='regex' # Por defecto
)
# Gramática libre de contexto (CFG)
grammar_cfg = Grammar(
rules={
'expr': 'NUMBER "+" NUMBER',
'NUMBER': '/\\d+/'
},
type='cfg'
)
```
**Parámetros:**
- `rules` (Dict[str, str]): Diccionario con nombre_regla → patrón
- `type` (str): 'regex' o 'cfg'
### Clase `Processor`
Procesador principal para todas las modalidades.
```python
from vogo import Processor
processor = Processor(grammar)
# Procesa diferentes tipos de entrada
resultado = processor.process_input(
input=data, # str, List[str], o bytes
type='text' # 'text', 'voice', 'gestures', 'image', 'video'
)
```
**Tipos soportados:**
- `text`: Texto plano (str)
- `voice`: Audio en bytes (requiere formato compatible con SpeechRecognition)
- `gestures`: Lista de strings
- `image`: Imagen en bytes (JPG, PNG, etc.)
- `video`: Video en bytes (extrae frames y aplica OCR)
**Resultado:**
```python
{
'text': str, # Texto procesado
'tokens': List[str], # Lista de tokens/palabras
'matches': List[Dict], # Coincidencias gramaticales
'stats': {
'token_count': int, # Total de tokens
'match_count': int, # Total de coincidencias
'unique_tokens': int # Tokens únicos
}
}
```
---
## 🎯 Casos de Uso
### 1. Asistente de Voz Accesible
```python
# Comandos para personas con movilidad reducida
grammar = Grammar({
'accion': r'\\b(encender|apagar|abrir|cerrar)\\b',
'dispositivo': r'\\b(luz|puerta|ventana|televisor)\\b'
})
processor = Processor(grammar)
# Usuario dice: "encender luz"
audio = grabar_audio()
resultado = processor.process_input(audio, type='voice')
if resultado['matches']:
ejecutar_comando(resultado['matches'])
```
### 2. Lector de Documentos para Ciegos
```python
# Extrae información de documentos impresos
grammar = Grammar({
'monto': r'\\$\\d+\\.\\d{2}',
'fecha': r'\\d{2}/\\d{2}/\\d{4}'
})
processor = Processor(grammar)
# Foto de una factura
with open('factura.jpg', 'rb') as f:
resultado = processor.process_input(f.read(), type='image')
# Convierte a voz con text-to-speech
hablar(f"Total: {resultado['matches'][0]['matches'][0]}")
```
### 3. Control por Gestos
```python
# Navegación para personas con discapacidad auditiva
grammar = Grammar({'navegacion': r'\\b(menu|atras|siguiente|inicio)\\b'})
processor = Processor(grammar)
gestos_detectados = capturar_gestos_camara()
resultado = processor.process_input(gestos_detectados, type='gestures')
navegar(resultado['matches'])
```
---
## 🧪 Testing
```bash
# Instalar dependencias de desarrollo
pip install -e ".[dev]"
# Ejecutar tests
pytest tests/
# Con cobertura
pytest --cov=vogo tests/
# Tests específicos
pytest tests/test_grammar.py
```
---
## 🛠️ Desarrollo
### Estructura del Proyecto
```
vogo/
├── src/
│ └── vogo/
│ ├── __init__.py
│ ├── grammar.py
│ ├── processor.py
│ ├── base_processor.py
│ ├── text_processor.py
│ ├── voice_processor.py
│ ├── image_processor.py
│ └── utils.py
├── tests/
│ ├── test_vogo_completo.py
├── docs/
├── probar_vogo_rapido.py
├── setup.py
├── README.md
└── LICENSE
```
## 📋 Dependencias
### Obligatorias
- `nltk>=3.8.1` - Tokenización y procesamiento de lenguaje natural
- `lark>=1.1.7` - Parsing de gramáticas CFG
- `Pillow>=10.0.0` - Procesamiento de imágenes
- `pytesseract>=0.3.10` - OCR (extracción de texto de imágenes)
- `SpeechRecognition>=3.10.0` - Reconocimiento de voz
### Sistema
- `Tesseract OCR` - Motor de OCR (instalación externa requerida)
---
## 🤝 Accesibilidad
vogo está diseñado pensando en la inclusión:
- ♿ **Interfaces multimodales** - Múltiples formas de interacción
- 🎤 **Comandos por voz** - Para personas con movilidad reducida
- 👁️ **OCR** - Lee texto impreso para personas con discapacidad visual
- ✋ **Gestos** - Alternativa para personas con discapacidad auditiva
- 📖 **Documentación clara** - Ejemplos paso a paso
---
## 📄 Licencia
Este proyecto está bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para más detalles.
---
## 👤 Autor
**Carlos3451**
- Email: qarlos123@outlook.com
- GitHub: [@Carlos3451](https://github.com/Carlos3451)
---
## ⭐ ¿Te gusta vogo?
Si este proyecto te resulta útil, considera darle una estrella ⭐ en GitHub.
¡Gracias por usar vogo! 🎉
"""
Raw data
{
"_id": null,
"home_page": "https://github.com/Carlos3451/vogo",
"name": "vogo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "accessibility, voice recognition, gesture recognition, multimodal, nlp, ocr, speech recognition, text processing, grammar parsing, assistive technology, accesibilidad, reconocimiento de voz, comandos por voz",
"author": "Carlos3451",
"author_email": "qarlos123@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/33/06/821b4a285f6303e33cfff80181a17896982410a1903c7fc4c4ec9edf5d64/vogo-0.1.0.tar.gz",
"platform": "any",
"description": "# ==================== README.md ====================\r\n\"\"\"\r\n# \ud83c\udf99\ufe0f vogo\r\n\r\n**Librer\u00eda Python para interfaces multimodales accesibles**\r\n\r\nProcesa y analiza texto, voz, gestos e im\u00e1genes con reconocimiento de patrones gramaticales. \r\nIdeal para crear aplicaciones accesibles e inclusivas.\r\n\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n[]()\r\n\r\n---\r\n\r\n## \u2728 Caracter\u00edsticas\r\n\r\n- \ud83c\udfa4 **Reconocimiento de voz** - Transcribe audio a texto con Google Speech Recognition\r\n- \ud83d\udc41\ufe0f **OCR de im\u00e1genes** - Extrae texto de im\u00e1genes usando Tesseract\r\n- \u270b **Procesamiento de gestos** - Analiza secuencias de gestos como listas\r\n- \ud83d\udcdd **An\u00e1lisis de texto** - Tokenizaci\u00f3n y matching con NLTK\r\n- \ud83d\udd0d **Gram\u00e1ticas personalizables** - Soporta regex y gram\u00e1ticas libres de contexto (CFG)\r\n- \ud83c\udf10 **Multimodal** - Procesa diferentes tipos de entrada con una API \u00fanica\r\n\r\n---\r\n\r\n## \ud83d\udce6 Instalaci\u00f3n\r\n\r\n### Requisitos Previos\r\n\r\n#### 1. Python 3.8 o superior\r\n\r\n```bash\r\npython --version # Debe ser >= 3.8\r\n```\r\n\r\n#### 2. Tesseract OCR (para procesamiento de im\u00e1genes)\r\n\r\n**Windows:**\r\n1. Descargar el instalador desde [GitHub](https://github.com/UB-Mannheim/tesseract/wiki)\r\n2. Instalar y agregar al PATH\r\n\r\n**Ubuntu/Debian:**\r\n```bash\r\nsudo apt-get update\r\nsudo apt-get install tesseract-ocr\r\n```\r\n\r\n**macOS:**\r\n```bash\r\nbrew install tesseract\r\n```\r\n\r\n**Verificar instalaci\u00f3n:**\r\n```bash\r\ntesseract --version\r\n```\r\n\r\n### Instalaci\u00f3n de vogo\r\n\r\n#### Opci\u00f3n 1: Modo desarrollo (recomendado para contribuir)\r\n\r\n```bash\r\n# Clonar el repositorio\r\ngit clone https://github.com/Carlos3451/vogo.git\r\ncd vogo\r\n\r\n# Crear entorno virtual\r\npython -m venv env\r\nsource env/bin/activate # Linux/Mac\r\nenv\\\\Scripts\\\\activate # Windows\r\n\r\n# Instalar en modo editable\r\npip install -e .\r\n```\r\n\r\n#### Opci\u00f3n 2: Desde PyPI (cuando est\u00e9 publicado)\r\n\r\n```bash\r\npip install vogo\r\n```\r\n\r\n#### Opci\u00f3n 3: Instalaci\u00f3n con extras\r\n\r\n```bash\r\n# Con herramientas de desarrollo\r\npip install -e \".[dev]\"\r\n\r\n# Con documentaci\u00f3n\r\npip install -e \".[docs]\"\r\n\r\n# Con todo\r\npip install -e \".[all]\"\r\n```\r\n\r\n### Verificar Instalaci\u00f3n\r\n\r\n```bash\r\n# Descarga el script de verificaci\u00f3n\r\npython -c \"from vogo import Grammar, Processor; print('\u2705 vogo instalado correctamente')\"\r\n```\r\n\r\n---\r\n\r\n## \ud83d\ude80 Uso R\u00e1pido\r\n\r\n### Ejemplo B\u00e1sico - Procesamiento de Texto\r\n\r\n```python\r\nfrom vogo import Grammar, Processor\r\n\r\n# Define reglas gramaticales con regex\r\ngrammar = Grammar({\r\n 'email': r'\\\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Z|a-z]{2,}\\\\b',\r\n 'phone': r'\\\\b\\\\d{3}[-.]?\\\\d{3}[-.]?\\\\d{4}\\\\b',\r\n 'saludo': r'\\\\b(hola|hello|hi)\\\\b'\r\n})\r\n\r\n# Crea el procesador\r\nprocessor = Processor(grammar)\r\n\r\n# Procesa texto\r\ntexto = \"Hola, mi email es contacto@ejemplo.com y mi tel\u00e9fono es 555-123-4567\"\r\nresultado = processor.process_input(texto, type='text')\r\n\r\n# Resultados\r\nprint(f\"Texto: {resultado['text']}\")\r\nprint(f\"Tokens: {resultado['tokens']}\")\r\nprint(f\"Coincidencias: {resultado['matches']}\")\r\n# Output:\r\n# Coincidencias: [\r\n# {'type': 'saludo', 'matches': ['Hola']},\r\n# {'type': 'email', 'matches': ['contacto@ejemplo.com']},\r\n# {'type': 'phone', 'matches': ['555-123-4567']}\r\n# ]\r\n```\r\n\r\n### Procesamiento de Voz\r\n\r\n```python\r\nfrom vogo import Grammar, Processor\r\n\r\ngrammar = Grammar({'comando': r'\\\\b(abrir|cerrar|iniciar)\\\\b'})\r\nprocessor = Processor(grammar)\r\n\r\n# Lee archivo de audio\r\nwith open('audio.wav', 'rb') as f:\r\n audio_bytes = f.read()\r\n\r\n# Procesa audio\r\nresultado = processor.process_input(audio_bytes, type='voice')\r\nprint(f\"Transcripci\u00f3n: {resultado['text']}\")\r\nprint(f\"Comandos detectados: {resultado['matches']}\")\r\n```\r\n\r\n### Procesamiento de Im\u00e1genes (OCR)\r\n\r\n```python\r\nfrom vogo import Grammar, Processor\r\n\r\ngrammar = Grammar({'fecha': r'\\\\d{2}/\\\\d{2}/\\\\d{4}'})\r\nprocessor = Processor(grammar)\r\n\r\n# Lee imagen\r\nwith open('documento.jpg', 'rb') as f:\r\n imagen_bytes = f.read()\r\n\r\n# Extrae y analiza texto\r\nresultado = processor.process_input(imagen_bytes, type='image')\r\nprint(f\"Texto extra\u00eddo: {resultado['text']}\")\r\nprint(f\"Fechas encontradas: {resultado['matches']}\")\r\n```\r\n\r\n### Procesamiento de Gestos\r\n\r\n```python\r\nfrom vogo import Grammar, Processor\r\n\r\ngrammar = Grammar({'direccion': r'\\\\b(arriba|abajo|izquierda|derecha)\\\\b'})\r\nprocessor = Processor(grammar)\r\n\r\n# Lista de gestos capturados\r\ngestos = ['arriba', 'arriba', 'derecha', 'abajo']\r\n\r\nresultado = processor.process_input(gestos, type='gestures')\r\nprint(f\"Secuencia: {resultado['tokens']}\")\r\nprint(f\"Direcciones: {resultado['matches']}\")\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcda Documentaci\u00f3n Completa\r\n\r\n### Clase `Grammar`\r\n\r\nDefine las reglas gramaticales para el an\u00e1lisis.\r\n\r\n```python\r\nfrom vogo import Grammar\r\n\r\n# Gram\u00e1tica con regex\r\ngrammar_regex = Grammar(\r\n rules={\r\n 'numero': r'\\\\d+',\r\n 'palabra': r'\\\\w+'\r\n },\r\n type='regex' # Por defecto\r\n)\r\n\r\n# Gram\u00e1tica libre de contexto (CFG)\r\ngrammar_cfg = Grammar(\r\n rules={\r\n 'expr': 'NUMBER \"+\" NUMBER',\r\n 'NUMBER': '/\\\\d+/'\r\n },\r\n type='cfg'\r\n)\r\n```\r\n\r\n**Par\u00e1metros:**\r\n- `rules` (Dict[str, str]): Diccionario con nombre_regla \u2192 patr\u00f3n\r\n- `type` (str): 'regex' o 'cfg'\r\n\r\n### Clase `Processor`\r\n\r\nProcesador principal para todas las modalidades.\r\n\r\n```python\r\nfrom vogo import Processor\r\n\r\nprocessor = Processor(grammar)\r\n\r\n# Procesa diferentes tipos de entrada\r\nresultado = processor.process_input(\r\n input=data, # str, List[str], o bytes\r\n type='text' # 'text', 'voice', 'gestures', 'image', 'video'\r\n)\r\n```\r\n\r\n**Tipos soportados:**\r\n- `text`: Texto plano (str)\r\n- `voice`: Audio en bytes (requiere formato compatible con SpeechRecognition)\r\n- `gestures`: Lista de strings\r\n- `image`: Imagen en bytes (JPG, PNG, etc.)\r\n- `video`: Video en bytes (extrae frames y aplica OCR)\r\n\r\n**Resultado:**\r\n```python\r\n{\r\n 'text': str, # Texto procesado\r\n 'tokens': List[str], # Lista de tokens/palabras\r\n 'matches': List[Dict], # Coincidencias gramaticales\r\n 'stats': {\r\n 'token_count': int, # Total de tokens\r\n 'match_count': int, # Total de coincidencias\r\n 'unique_tokens': int # Tokens \u00fanicos\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## \ud83c\udfaf Casos de Uso\r\n\r\n### 1. Asistente de Voz Accesible\r\n\r\n```python\r\n# Comandos para personas con movilidad reducida\r\ngrammar = Grammar({\r\n 'accion': r'\\\\b(encender|apagar|abrir|cerrar)\\\\b',\r\n 'dispositivo': r'\\\\b(luz|puerta|ventana|televisor)\\\\b'\r\n})\r\n\r\nprocessor = Processor(grammar)\r\n\r\n# Usuario dice: \"encender luz\"\r\naudio = grabar_audio()\r\nresultado = processor.process_input(audio, type='voice')\r\n\r\nif resultado['matches']:\r\n ejecutar_comando(resultado['matches'])\r\n```\r\n\r\n### 2. Lector de Documentos para Ciegos\r\n\r\n```python\r\n# Extrae informaci\u00f3n de documentos impresos\r\ngrammar = Grammar({\r\n 'monto': r'\\\\$\\\\d+\\\\.\\\\d{2}',\r\n 'fecha': r'\\\\d{2}/\\\\d{2}/\\\\d{4}'\r\n})\r\n\r\nprocessor = Processor(grammar)\r\n\r\n# Foto de una factura\r\nwith open('factura.jpg', 'rb') as f:\r\n resultado = processor.process_input(f.read(), type='image')\r\n\r\n# Convierte a voz con text-to-speech\r\nhablar(f\"Total: {resultado['matches'][0]['matches'][0]}\")\r\n```\r\n\r\n### 3. Control por Gestos\r\n\r\n```python\r\n# Navegaci\u00f3n para personas con discapacidad auditiva\r\ngrammar = Grammar({'navegacion': r'\\\\b(menu|atras|siguiente|inicio)\\\\b'})\r\nprocessor = Processor(grammar)\r\n\r\ngestos_detectados = capturar_gestos_camara()\r\nresultado = processor.process_input(gestos_detectados, type='gestures')\r\n\r\nnavegar(resultado['matches'])\r\n```\r\n\r\n---\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```bash\r\n# Instalar dependencias de desarrollo\r\npip install -e \".[dev]\"\r\n\r\n# Ejecutar tests\r\npytest tests/\r\n\r\n# Con cobertura\r\npytest --cov=vogo tests/\r\n\r\n# Tests espec\u00edficos\r\npytest tests/test_grammar.py\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udee0\ufe0f Desarrollo\r\n\r\n### Estructura del Proyecto\r\n\r\n```\r\nvogo/\r\n\u251c\u2500\u2500 src/\r\n\u2502 \u2514\u2500\u2500 vogo/\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u251c\u2500\u2500 grammar.py\r\n\u2502 \u251c\u2500\u2500 processor.py\r\n\u2502 \u251c\u2500\u2500 base_processor.py\r\n\u2502 \u251c\u2500\u2500 text_processor.py\r\n\u2502 \u251c\u2500\u2500 voice_processor.py\r\n\u2502 \u251c\u2500\u2500 image_processor.py\r\n\u2502 \u2514\u2500\u2500 utils.py\r\n\u251c\u2500\u2500 tests/\r\n\u2502 \u251c\u2500\u2500 test_vogo_completo.py\r\n\u251c\u2500\u2500 docs/\r\n\u251c\u2500\u2500 probar_vogo_rapido.py\r\n\u251c\u2500\u2500 setup.py\r\n\u251c\u2500\u2500 README.md\r\n\u2514\u2500\u2500 LICENSE\r\n```\r\n\r\n## \ud83d\udccb Dependencias\r\n\r\n### Obligatorias\r\n- `nltk>=3.8.1` - Tokenizaci\u00f3n y procesamiento de lenguaje natural\r\n- `lark>=1.1.7` - Parsing de gram\u00e1ticas CFG\r\n- `Pillow>=10.0.0` - Procesamiento de im\u00e1genes\r\n- `pytesseract>=0.3.10` - OCR (extracci\u00f3n de texto de im\u00e1genes)\r\n- `SpeechRecognition>=3.10.0` - Reconocimiento de voz\r\n\r\n### Sistema\r\n- `Tesseract OCR` - Motor de OCR (instalaci\u00f3n externa requerida)\r\n\r\n---\r\n\r\n## \ud83e\udd1d Accesibilidad\r\n\r\nvogo est\u00e1 dise\u00f1ado pensando en la inclusi\u00f3n:\r\n\r\n- \u267f **Interfaces multimodales** - M\u00faltiples formas de interacci\u00f3n\r\n- \ud83c\udfa4 **Comandos por voz** - Para personas con movilidad reducida\r\n- \ud83d\udc41\ufe0f **OCR** - Lee texto impreso para personas con discapacidad visual\r\n- \u270b **Gestos** - Alternativa para personas con discapacidad auditiva\r\n- \ud83d\udcd6 **Documentaci\u00f3n clara** - Ejemplos paso a paso\r\n\r\n---\r\n\r\n## \ud83d\udcc4 Licencia\r\n\r\nEste proyecto est\u00e1 bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para m\u00e1s detalles.\r\n\r\n---\r\n\r\n## \ud83d\udc64 Autor\r\n\r\n**Carlos3451**\r\n- Email: qarlos123@outlook.com\r\n- GitHub: [@Carlos3451](https://github.com/Carlos3451)\r\n\r\n---\r\n\r\n## \u2b50 \u00bfTe gusta vogo?\r\n\r\nSi este proyecto te resulta \u00fatil, considera darle una estrella \u2b50 en GitHub.\r\n\r\n\u00a1Gracias por usar vogo! \ud83c\udf89\r\n\"\"\"\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Librer\u00eda Python para interfaces multimodales accesibles - Reconocimiento de voz, gestos y comandos",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://github.com/Carlos3451/vogo#readme",
"Homepage": "https://github.com/Carlos3451/vogo",
"Source": "https://github.com/Carlos3451/vogo"
},
"split_keywords": [
"accessibility",
" voice recognition",
" gesture recognition",
" multimodal",
" nlp",
" ocr",
" speech recognition",
" text processing",
" grammar parsing",
" assistive technology",
" accesibilidad",
" reconocimiento de voz",
" comandos por voz"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "47501c0320a67b9d3363d15ab32f2e28c654196654e1f535ca677bcb5c3dfda8",
"md5": "69aa262eba49989826da57f5a4be10ef",
"sha256": "866e073dd2834d99a714686ee8ec9016d92a80041f7ff6e368e074ec6b22b30c"
},
"downloads": -1,
"filename": "vogo-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "69aa262eba49989826da57f5a4be10ef",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 17488,
"upload_time": "2025-10-31T03:25:38",
"upload_time_iso_8601": "2025-10-31T03:25:38.097907Z",
"url": "https://files.pythonhosted.org/packages/47/50/1c0320a67b9d3363d15ab32f2e28c654196654e1f535ca677bcb5c3dfda8/vogo-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3306821b4a285f6303e33cfff80181a17896982410a1903c7fc4c4ec9edf5d64",
"md5": "09db9384c75cdca0aec34ad8c0c1f0c1",
"sha256": "75d445f99cf73e0cee2489bf3a19d08641e0434b5b17fbd5a5b679a7b1009dd8"
},
"downloads": -1,
"filename": "vogo-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "09db9384c75cdca0aec34ad8c0c1f0c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 20017,
"upload_time": "2025-10-31T03:25:39",
"upload_time_iso_8601": "2025-10-31T03:25:39.576622Z",
"url": "https://files.pythonhosted.org/packages/33/06/821b4a285f6303e33cfff80181a17896982410a1903c7fc4c4ec9edf5d64/vogo-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-31 03:25:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Carlos3451",
"github_project": "vogo",
"github_not_found": true,
"lcname": "vogo"
}