Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
libpo32 — C99-Bibliothek für PO-32 akustische Übertragungen und Schlagzeug-Synthese. | Kitploit
Tools/GitHubGitHub/ericlewis/libpo32
Embedded-System-SicherheitReverse EngineeringHardware-Sicherheit
GitHubericlewis/libpo32

libpo32

C99-Bibliothek für PO-32 akustische Übertragungen und Schlagzeug-Synthese.

Repository anzeigen
2009vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

libpo32

Tests Codecov FOSSA Status

Eine kleine C99-Bibliothek für akustische Datenübertragungen und Drum-Synthese des Teenage Engineering PO-32.

libpo32 implementiert den PO-32-Tonic-Übertragungsstack und ein kompatibles Drum-Voice-Modell neu. Es ist weder eine vollständige PO-32-Firmware noch ein UI-Emulator; es umfasst das Paketformat, das akustische Modem, den Frame-Decoder und die lokale Drum-Synthese, die zum Erstellen, Senden, Empfangen und Vorschauen von PO-32-Übertragungen erforderlich sind.

Inhaltsverzeichnis

  • Übersicht
  • Verwendung mit einem PO-32
  • Erste Schritte
  • Beispiele
  • Öffentliche API
  • Dokumentation
  • Projektstruktur
  • Mitwirken
  • Lizenz

Übersicht

BereichWas libpo32 bereitstellt
ÜbertragungsprotokollPO-32-Patch-, Pattern- und State-Pakete erstellen und parsen

Der Kern ist freistehendes C99: keine libc-Laufzeit, keine externen DSP-Bibliotheken, keine Plattform-Audio-APIs, keine Datei-E/A. Es werden nur die freistehenden Header <stddef.h> und <stdint.h> verwendet. Geeignet für eingebettete Ziele und Bare-Metal-Umgebungen.

Verwendung mit einem PO-32

Der PO-32 empfängt keine fertigen Drum-Audiodaten, wenn Sie einen Sound oder ein Pattern übertragen. Er empfängt strukturierte Daten:

DatenBedeutung
Patch-PaketeDie beiden Patch-Endpunkte pro Instrument (Left und Right), wobei der Ziel-Instrument-Slot im Paket codiert ist

Das Gerät verwendet dann seine eigene interne Synthesizer-Engine, um diese Parameter in Klang umzuwandeln.

Auf hoher Ebene sieht der Arbeitsablauf mit echter Hardware wie folgt aus:

SchrittWas Sie tun

Erste Schritte

Aus dem Repository-Root heraus konfigurieren, bauen, Tests ausführen und dann die Demo:

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

Optional, aber für die lokale Entwicklung empfohlen:

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

Dadurch wird der vom Repository verwaltete Pre-Commit-Hook aktiviert, der vor jedem Commit clang-format auf gestagte .c- und .h-Dateien ausführt und Commit-Betreffe auf Conventional Commits prüft. Der vom Repository verwaltete pre-push-Hook führt vor dem Push das Static-Analysis-Skript aus.

Die Demo erstellt einen Übertragungsframe, rendert ihn in Audio, decodiert ihn zurück (überprüft einen verlustfreien Roundtrip), synthetisiert einen Drum-Hit und schreibt zwei WAV-Dateien: demo_modem.wav und demo_kick.wav.

Beispiele

BefehlZweck
./build/po32_example

Öffentliche API

HeaderVerantwortung
core/include/po32.hÜbertragungs-Builder, Paket-Helper, Renderer und Decoder
core/include/po32_synth.hDrum-Synthesizer

Dokumentation

Projektstruktur

Mitwirken

Siehe CONTRIBUTING.md für die lokale Einrichtung, Verifizierungsbefehle und die Richtlinie zu Conventional Commits, die für eine SemVer-freundliche Versionshistorie verwendet wird.

Lizenz

Copyright (c) 2026 Eric Lewis. Lizenziert unter der MIT-Lizenz. Siehe LICENSE.

Tool herunterladen
Akustisches Modem
Übertragungs-Frames in DPSK-Audio rendern, das auf das Gerät abgespielt werden kann
DecoderNormalisierte Frames und Pakete aus Übertragungsaudio zurückgewinnen
Drum-SyntheseDie 21-Parameter-Drum-Voice des PO-32 lokal zur Vorschau und zum Testen rendern
Pattern-PaketeWelche Instrumente auf welchen Schritten ausgelöst werden, wobei der Ziel-Pattern-Slot als pattern_number codiert ist
State-PaketTempo, Swing, Morph-Standardwerte und die Liste der übertragenen Patterns
1
Erstellen Sie eine Übertragung in Software aus Patch-, Pattern- und State-Daten
2Rendern Sie diese Übertragung in eine WAV- oder Live-Audio-Stream
3Versetzen Sie den PO-32 in den normalen Empfangs-/Importmodus
4Spielen Sie das gerenderte Übertragungsaudio in das Gerät ab
5Der PO-32 decodiert die Pakete und schreibt sie in die Sound- oder Pattern-Slots, die in diesen Paketen benannt sind
Minimaler Roundtrip: codieren, rendern, decodieren und verifizieren
./build/po32_demoEnd-to-End-Demo: Übertragungsframe erstellen/rendern/decodieren plus lokale Drum-Synthese
./build/po32_pattern_editorInteraktive PO-32-Patternbearbeitung und WAV-Export
./build/po32_decode_capture <input.wav> <out-dir>Paket- und Pattern-Dumps aus einer Übertragungs-WAV
DokumentZweck
ArchitekturWie der Codec funktioniert
ProtokollDetails zum Drahtformat
C-APIC-Funktionsreferenz
SynthSignalpfad des Synthesizers
Patch-ParameterDie 21 Parameter
BindungenWie man eine neue Sprachbindung schreibt
BeispieleUnterstützte Beispielprogramme
MitwirkenLokale Einrichtung, Prüfungen und Commit-Konventionen
PfadZweck
core/srcKern-C-Implementierung
core/includeÖffentliche C-Header
core/examplesUnterstützte C-Beispiele
core/testsKern-Testabdeckung
core/docsArchitektur-, Protokoll- und API-Notizen
bindings/goGo-Bindungen (cgo, umschließt vollständige öffentliche API)