Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
libpo32 — Biblioteca C99 para transferencias acústicas y síntesis de batería PO-32. | Kitploit
Herramientas/GitHubGitHub/ericlewis/libpo32
Seguridad de Sistemas EmbebidosIngeniería InversaSeguridad de Hardware
GitHubericlewis/libpo32

libpo32

Biblioteca C99 para transferencias acústicas y síntesis de batería PO-32.

Ver Repositorio
2009hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

libpo32

Tests Codecov FOSSA Status

Una pequeña biblioteca C99 para transferencias de datos acústicos y síntesis de batería del PO-32 de Teenage Engineering.

libpo32 reimplementa la pila de transferencia Tonic del PO-32 y un modelo de voz de batería compatible. No es un firmware completo ni un emulador de interfaz de usuario del PO-32; cubre el formato de paquetes, el módem acústico, el decodificador de tramas y la síntesis de batería local necesaria para construir, enviar, recibir y previsualizar transferencias del PO-32.

Contenido

  • Resumen
  • Uso con un PO-32
  • Primeros pasos
  • Ejemplos
  • API pública
  • Documentación
  • Estructura del proyecto
  • Contribuciones
  • Licencia

Resumen

ÁreaLo que proporciona libpo32
Protocolo de transferenciaConstruir y analizar paquetes de parche, patrón y estado del PO-32

El núcleo es C99 independiente: sin runtime de libc, sin bibliotecas DSP externas, sin APIs de audio de plataforma, sin E/S de archivos. Solo se utilizan las cabeceras independientes <stddef.h> y <stdint.h>. Adecuado para objetivos embebidos y entornos sin sistema operativo.

Uso con un PO-32

El PO-32 no recibe audio de batería terminado cuando transfieres un sonido o un patrón. Recibe datos estructurados:

DatoSignificado
Paquetes de parcheLos dos extremos de parche por instrumento (Left y Right), con la ranura del instrumento de destino codificada en el paquete

El dispositivo utiliza su propio motor de síntesis interno para convertir esos parámetros en sonido.

A alto nivel, el flujo de trabajo con hardware real es:

PasoLo que haces

Primeros pasos

Desde la raíz del repositorio, configura, construye, ejecuta las pruebas y luego la demostración:

root@kitploit:~
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4
ctest --test-dir build --output-on-failure
./build/po32_demo

Opcional, pero recomendado para desarrollo local:

root@kitploit:~
./scripts/install-git-hooks.sh

Eso habilita el hook pre-commit gestionado por el repositorio, que ejecuta clang-format en los archivos .c y .h preparados antes de cada commit y valida los asuntos de los commits según Conventional Commits. El hook pre-push gestionado por el repositorio ejecuta el script de análisis estático antes del push.

La demostración construye una trama de transferencia, la renderiza a audio, la decodifica de vuelta (verificando un recorrido sin pérdidas), sintetiza un golpe de batería y escribe dos archivos WAV: demo_modem.wav y demo_kick.wav.

Ejemplos

ComandoPropósito

API pública

CabeceraResponsabilidad
core/include/po32.hConstructor de transferencias, ayudantes de paquetes, renderizador y decodificador
core/include/po32_synth.hSintetizador de batería

Documentación

Estructura del proyecto

Contribuciones

Consulte CONTRIBUTING.md para la configuración local, comandos de verificación y la política de Conventional Commits utilizada para un historial compatible con SemVer.

Licencia

Copyright (c) 2026 Eric Lewis. Licenciado bajo la Licencia MIT. Consulte LICENSE.

Descargar herramienta
Módem acústico
Renderizar tramas de transferencia a audio DPSK para reproducirlas en el dispositivo
DecodificadorRecuperar tramas y paquetes normalizados a partir del audio de transferencia
Síntesis de bateríaRenderizar la voz de batería de 21 parámetros del PO-32 localmente para previsualización y pruebas
Paquetes de patrónQué instrumentos se activan en qué pasos, con la ranura de patrón de destino codificada como pattern_number
Paquete de estadoTempo, swing, valores predefinidos de morph y la lista de patrones transferidos
1
Construir una transferencia en software a partir de datos de parche, patrón y estado
2Renderizar esa transferencia a un WAV o flujo de audio en vivo
3Poner el PO-32 en su flujo normal de recepción/importación
4Reproducir el audio de transferencia renderizado en el dispositivo
5El PO-32 decodifica los paquetes y los escribe en las ranuras de sonido o patrón nombradas dentro de esos paquetes
./build/po32_example
Recorrido mínimo: codificar, renderizar, decodificar y verificar
./build/po32_demoDemostración completa: construcción/renderizado/decodificación de trama de transferencia más síntesis de batería local
./build/po32_pattern_editorEdición interactiva de patrones PO-32 y exportación a WAV
./build/po32_decode_capture <input.wav> <out-dir>Volcados de paquetes y patrones a partir de un WAV de transferencia
DocumentoPropósito
ArquitecturaCómo funciona el códec
ProtocoloDetalles del formato de transmisión
API CReferencia de funciones C
SintetizadorRuta de señal del sintetizador
Parámetros de parcheLos 21 parámetros
EnlacesCómo escribir un nuevo enlace de lenguaje
EjemplosProgramas de ejemplo compatibles
ContribucionesConfiguración local, verificaciones y convenciones de commits
RutaPropósito
core/srcImplementación C del núcleo
core/includeCabeceras C públicas
core/examplesEjemplos C compatibles
core/testsCobertura de pruebas del núcleo
core/docsNotas de arquitectura, protocolo y API
bindings/goEnlaces Go (cgo, envuelve la API pública completa)