UygulamalarDonanım ve Çıkarım 🇷🇺 14.08.2026 14:04

Tymbal: Tek Çip Üzerinde Nöral Sentezleyici

Tymbal, tek bir STM32N657 mikrodenetleyici (Cortex-M55 + Neural-ART NPU) üzerinde çalışan gerçek zamanlı çok sesli bir sentezleyicidir. Belirli bir harmonik iskelete doğrusal olmayan karakter eklemek için artık bir iyileştirici olarak bir TCN sinir ağı kullanır ve tüm bunları katı döngü bütçeleri ve sıfır kesinti ile yapar. Proje, grafik dönüşümlerden bellek yönetimine kadar kapsamlı optimizasyonu detaylandırıyor ve son gerçek zamanlı performansı cihazda elde ediyor.
Tymbal, tek bir NUCLEO-N657X0-Q kartı (STM32N657: 800 MHz'de Cortex-M55 + Neural-ART NPU) üzerinde çalışan, MIDI klavye ile kontrol edilen ve I2S-DAC çıkışına sahip polifonik gerçek zamanlı bir sentezleyicidir. Ses, 4 ms'lik bloklar halinde hesaplanır; 800 MHz'de bu, tüm sesler, harmonik sentez, sinir ağı, filtre bankası, detune ve limiter için blok başına 3,2 milyon döngü demektir ve sıfır underrun oluşur. Mimari, maliyeti düşürmek ve ağa kompakt bir girdi sağlamak için PQMF dört alt bant alanını (her biri 12 kHz) kullanır. Harmonik iskelet, karmaşık filtre yanıtları kullanılarak doğrudan alt bantlara işlenir ve bir anti-chiptune katmanı (otomatik unison, spektral bloom, mikro kayma) içerir. NPU üzerinde artık iyileştirici olarak çalışan, 12 katmanlı, genişlemeleri 1..32, C=88 kanallı nedensel bir TCN, PTQ ile int8'e nicelenir. Anahtar içgörü, artık tahmin üzerinde saf eğitilmiş bir ağın 520 katsayılı doğrusal bir FIR'a kaybettiğiydi; çözüm, doğrusal kısmı 'sıfır katman' olarak dondurmaktı (tahmin = FIR(x) + ağ(x)), böylece ağ yalnızca doğrusal olmayan artığı öğrenir. Son değerlendirme: Yalnızca FIR +11,25 dB bastırma sağlar, FIR+ağ fp32 +17,16, int8 +16,89 verir ve ağ +5,64 dB katkıda bulunur. Kapsamlı başlatma bulguları arasında sıfırlamadan sonra rastgele içerikli ECC, devre dışı AXISRAM bankları, NOR-flash yolu sorunları, yanlış NPU saat bölücü (800 MHz yerine 400) ve hatalı bir assert yer alır. Bütçe optimizasyonu 4,18M döngü/blok ile başladı ve sonunda 2,47M en kötü durum akoru, 0 underrun elde edildi. Teknikler arasında bir ölçüm döngüsü (QEMU vs kart döngüleri), NPU epoch profilleme, pompalama (oluşturmayla serpiştirilmiş engellemesiz NPU çağrıları), sıcak tabloları DTCM'ye taşıma ve durum halkası için MVE tabanlı bellek kopyalama yer aldı.
Kaynak: Habr — хаб ML — orijinal
Bu konudaki önceki yazılarımız ↓
Güncel haberler