SovelluksetLaitteisto ja päättely 🇷🇺 14.08.2026 14:04

Tymbal: Neuraalinen syntetisaattori yhdellä sirulla

Tymbal on reaaliaikainen polyfoninen syntetisaattori, joka toimii yhdellä STM32N657-mikro-ohjaimella (Cortex-M55 + Neural-ART NPU). Se käyttää TCN-neuroverkkoa jäännösjalostimena lisäämään epälineaarista luonnetta deterministiseen harmoniseen runkoon, kaikki tiukkojen syklibudjettien sisällä ja ilman alivuotoja. Projekti kuvaa laajan optimoinnin graafimuunnoksista muistinhallintaan, saavuttaen lopullisen reaaliaikaisen suorituskyvyn laitteessa.
Tymbal on polyfoninen reaaliaikainen syntetisaattori, joka toimii yhdellä NUCLEO-N657X0Q-kortilla (STM32N657: Cortex-M55 800 MHz + Neural-ART NPU), jota ohjataan MIDI-näppäimistöllä ja jossa on I2S-DAC-lähtö. Ääni lasketaan 4 ms:n lohkoina; 800 MHz:n taajuudella se on 3,2 miljoonaa sykliä per lohko kaikelle: äänille, harmoniselle synteesille, neuroverkolle, suodatinpankille, detunelle, limiterille, ilman yhtään alivuotoa. Arkkitehtuuri käyttää PQMF-neljän alikaistan aluetta (12 kHz kukin) vähentääkseen kustannuksia ja antaakseen verkolle kompaktin syötteen. Harmoninen runko renderöidään suoraan alikaistoihin käyttäen kompleksisia suodinvasteita, ja siinä on anti-chiptune-kerros (auto-unison, spektrinen bloom, mikro-drift). Kausaalinen TCN, jossa on 12 kerrosta, dilataatiot 1..32, C=88 kanavaa, suoritetaan NPU:ssa residuaaliparantajana, kvantisoituna int8:aan PTQ:n avulla. Keskeinen oivallus oli, että naiivisti residuaaliennusteeseen koulutettu verkko häviää lineaariselle FIR-suodattimelle, jossa on 520 kerrointa; korjaus oli jäädyttää lineaarinen osa 'nollakerrokseksi' (pred = FIR(x) + net(x)), jolloin verkko oppii vain epälineaarisen residuaalin. Lopullinen arviointi: FIR yksinään antaa +11,25 dB vaimentamisen, FIR+net fp32 +17,16, int8 +16,89, ja verkko tuottaa +5,64 dB. Laajat käyttöönottotulokset sisältävät ECC-satunnaissisällön nollauksen jälkeen, poistetut AXISRAM-pankit, NOR-flash-polun ongelmat, NPU:n kellonjakajan virheellisyyden (400 800 MHz:n sijaan) ja väärän assertin. Budjettisoptimointi alkoi 4,18M syklistä per lohko, ja lopulta saavutettiin 2,47M pahimmassa tapauksessa soinnussa, 0 alivuotoa. Tekniikoihin kuuluivat mittaussilmukka (QEMU vs. kortin syklit), NPU-epoch-profilointi, pumppaus (ei-tukkivat NPU-kutsut rinnakkain renderöinnin kanssa), kuumien taulukoiden siirtäminen DTCM:ään ja MVE-pohjainen muistin kopiointi tilarengasta varten.
Lähde: Habr — хаб ML — Alkuperäinen
Aiemmat aiheeseen liittyvät kirjoituksemme ↓
Tuoreet uutiset