This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:marius.tudosie [2026/05/20 17:25] marius.tudosie [Concluzii] |
pm:prj2026:atoader:marius.tudosie [2026/05/21 16:31] (current) marius.tudosie [Componenta Software] |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| **Laboratoare folosite**: SPI, I2C, Intreruperi, GPIO. | **Laboratoare folosite**: SPI, I2C, Intreruperi, GPIO. | ||
| - | **Bonus**: pentru audio -> I2S, carcasă printată 3D | + | **Bonus**: pentru audio -> I2S, carcasă printată 3D, RTOS |
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| Line 104: | Line 104: | ||
| O optimizare critică a fost necesară pentru gestionarea memoriei în timpul înregistrării. Deoarece asistentul înregistrează continuu timp de 4 secunde, o rată nativă de 16 kHz cu eșantioane pe 16 biți ar fi necesitat un buffer masiv de **128 KB** de RAM, resursă de care ESP32 Dev Kit nu dispune liber. Soluția aplicată a fost realizarea unui **downsampling**: deși hardware-ul citește la 16 kHz, software-ul extrage doar primul eșantion din două (efectiv 8 kHz), reducând la jumătate memoria utilizată. Pentru faza de playback, fluxul suferă un **upsampling**, fiecare eșantion fiind duplicat pentru a reconstrui semnalul necesar amplificatorului. | O optimizare critică a fost necesară pentru gestionarea memoriei în timpul înregistrării. Deoarece asistentul înregistrează continuu timp de 4 secunde, o rată nativă de 16 kHz cu eșantioane pe 16 biți ar fi necesitat un buffer masiv de **128 KB** de RAM, resursă de care ESP32 Dev Kit nu dispune liber. Soluția aplicată a fost realizarea unui **downsampling**: deși hardware-ul citește la 16 kHz, software-ul extrage doar primul eșantion din două (efectiv 8 kHz), reducând la jumătate memoria utilizată. Pentru faza de playback, fluxul suferă un **upsampling**, fiecare eșantion fiind duplicat pentru a reconstrui semnalul necesar amplificatorului. | ||
| + | |||
| + | Cod: https://github.com/Mars-Zero/AI-Home-Assistant | ||
| Line 115: | Line 117: | ||
| {{:pm:prj2026:atoader:marius.tudosier2sus.jpeg?300|}} | {{:pm:prj2026:atoader:marius.tudosier2sus.jpeg?300|}} | ||
| + | Demo: | ||
| [[https://youtube.com/shorts/jC4Zk_jOYps?feature=share]] | [[https://youtube.com/shorts/jC4Zk_jOYps?feature=share]] | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||