Cum configurati un server privat de chat vocal Mumble pe Windows 11?

Mumble este un instrument software popular, gratuit și open-source, conceput pentru chat vocal, care oferă o comunicare de înaltă calitate și cu latență redusă între utilizatori. Prin găzduirea propriului server Mumble, puteți personaliza configurația serverului, gestiona permisiunile utilizatorilor și evita dependența de serviciile de comunicare bazate pe cloud. Cu toate acestea, acceptarea conexiunilor externe la serverul dvs. auto-găzduit necesită redirecționarea porturilor, ceea ce poate reduce considerabil securitatea rețelei dvs. de acasă.

Meshnet oferă tehnologie pentru conectarea dispozitivelor la distanță la o singură rețea virtuală. Această configurare permite altor dispozitive din Meshnet să se conecteze de la distanță la serverul Mumble fără a deschide porturi în firewall.

[mai mult...]

How to install Discord on Ubuntu 24.04

Discord este o platformă de comunicare pentru crearea de comunități cu chat vocal, video și text. Fie că coordonați echipe de jocuri, gestionați comunități de dezvoltatori sau organizați grupuri de studiu, Discord oferă canale vocale în timp real, partajare de ecran și canale text persistente.

[mai mult...]

ESP32 Offline Text-to-Speech

An offline Text-to-Speech (TTS) system allows an ESP32-based device to convert text into spoken audio without relying on cloud services. Offline TTS is essential for privacy-sensitive applications, deterministic latency, industrial systems, and deployments without internet connectivity.

Unlike voice recognition, TTS is a speech synthesis problem and is computationally intensive. This guide explains what is realistically achievable on ESP32 hardware and how to design a robust offline TTS system.

1. ESP32 Hardware Constraints

  • Dual-core Xtensa LX6 CPU up to 240 MHz
  • ~520 KB shared SRAM
  • 4–16 MB external flash (typical)
  • Optional PSRAM on WROVER modules
  • No dedicated DSP or GPU

These constraints make modern neural TTS models infeasible. ESP32 systems must rely on rule-based or concatenative synthesis approaches.

2. Offline TTS Approaches on ESP32

Phrase-Based (Pre-Recorded Audio)

  • Store WAV/PCM files in flash or SPIFFS
  • Playback using DAC or I2S

This approach provides excellent audio quality with minimal CPU usage but limited flexibility.

Phoneme-Based Concatenative TTS

  • Text to phoneme conversion
  • Phoneme sequencing
  • Audio concatenation and playback

This method allows dynamic speech generation at the cost of voice naturalness and complexity.

Formant / Rule-Based Synthesis

Speech is generated mathematically using vocal tract models. This requires very little memory but produces highly robotic speech.

3. Recommended System Architecture

The most practical ESP32 TTS systems use a hybrid architecture combining phrase playback for common prompts and phoneme synthesis for dynamic data such as numbers.

4. Audio Output Options

ESP32 Internal DAC

  • 8-bit resolution
  • Low audio quality
  • External amplifier required

I2S Audio Output (Recommended)

  • External DAC or MAX98357A amplifier
  • 16-bit PCM audio
  • Sample rates: 16 kHz or 22.05 kHz

5. Text Processing Pipeline

Text Normalization

Text normalization converts raw text into speakable words. This includes expanding numbers, abbreviations, and symbols.

Tokenization

Text is split into words or phrases that can be mapped to audio assets or phonemes.

Phoneme Conversion

Words are mapped to phonemes using lookup tables or simplified grapheme-to-phoneme rules.

6. Audio Asset Design

  • 16-bit PCM, mono
  • Consistent pitch and speed
  • Normalized volume

Asset Type Typical Size
Single phoneme 1–4 KB
40 phonemes 80–120 KB
Phrase set 100 KB–2 MB

7. Timing and Prosody Control

Basic prosody improvements include inserting silence, adjusting phoneme duration, and optional pitch shifting.

8. Firmware Architecture

  • Text processing task
  • Audio synthesis task
  • Audio playback task

Use DMA buffering for I2S and avoid dynamic memory allocation during playback.

9. Existing ESP32 Offline TTS Libraries

  • SAM-based ESP32 TTS (very small footprint)
  • Flite (requires large flash and PSRAM)
  • Custom phrase engines

10. Power Optimization

  • Disable Wi-Fi and Bluetooth during playback
  • Lower CPU frequency when streaming audio
  • Precompute phoneme sequences

11. Debugging and Testing

  • Serial logging of phoneme sequences
  • Check for audio buffer underflows
  • Verify DAC/I2S gain levels

12. Security and Privacy

Offline TTS ensures that no text or audio data leaves the device, making it suitable for privacy-critical applications.

[mai mult...]

ESP32 Offline Voice Recognition

Offline voice recognition on the ESP32 enables devices to understand spoken commands without an internet connection. This is critical for low-latency response, privacy-sensitive applications, and battery-powered or remote systems.

Typical use cases include smart switches, robotics, industrial controls, toys, and assistive devices. This guide focuses on keyword spotting (KWS) and command recognition, which are the only practical forms of offline voice recognition on ESP32-class microcontrollers.

1. Understanding ESP32 Constraints

Hardware Limitations

  • Dual-core Xtensa LX6 CPU up to 240 MHz
  • ~520 KB shared SRAM
  • 4–16 MB external flash (typical)
  • No hardware floating-point unit

These constraints mean full speech-to-text is not feasible. ESP32-based systems are limited to small vocabularies (usually 5–50 commands) using highly optimized models.

2. Voice Recognition Approaches

Keyword Spotting (KWS)

Keyword spotting detects predefined words or phrases such as “Hey Device” or “Turn on light”.

  • Low memory usage
  • Fast and reliable
  • Always-on capable

Command Classification

Command classification selects one command from a known set (e.g., start, stop, left, right). It is often triggered after a wake word.

3. Audio Capture Fundamentals

Microphone Selection

I2S MEMS microphones are strongly recommended for ESP32 voice projects.

  • INMP441
  • SPH0645
  • ICS-43434

Analog microphones are discouraged unless paired with high-quality external ADC and filtering.

Audio Configuration

  • Sample rate: 16 kHz
  • Bit depth: 16-bit PCM
  • Channels: Mono

4. Audio Preprocessing Pipeline

Accurate voice recognition depends heavily on audio preprocessing.

  • Audio framing (20–30 ms)
  • Windowing (Hamming)
  • FFT
  • Feature extraction

MFCC Features

  • Frame length: 25 ms
  • Frame stride: 10 ms
  • FFT size: 512
  • MFCC count: 10–20

ESP32 implementations typically use fixed-point MFCCs for performance.

5. Machine Learning Models

Model Accuracy Speed Memory
DNN Medium Fast Low
CNN High Medium Medium
DS-CNN Very High Fast Low

Depthwise Separable CNNs (DS-CNN) are the industry standard for embedded keyword spotting.

6. ESP32 Voice Recognition Frameworks

ESP-SR (Espressif)

  • Wake word detection
  • Command recognition
  • Fully offline
  • Pre-trained models

Memory usage typically ranges from 300–600 KB RAM and 1–2 MB flash.

TensorFlow Lite for Microcontrollers

  • Custom-trained models
  • INT8 quantization
  • Higher flexibility

7. Training a Custom Model

  • 100–300 samples per keyword
  • Multiple speakers
  • Noise and silence samples

Target model size should remain under 250 KB, with inference RAM usage below 100 KB.

8. Firmware Architecture

  • Audio capture task
  • Feature extraction task
  • Inference task
  • Application logic task

Pin inference to a single core and avoid dynamic memory allocation for real-time stability.

9. Wake Word + Command Flow

  • Always-on wake word detection
  • Switch to command recognition
  • Timeout and return to wake mode

10. Power Optimization

  • Disable Wi-Fi and Bluetooth
  • Lower CPU frequency
  • Use light sleep
  • Optimize audio frame rate

11. Debugging and Testing

  • Log confidence scores
  • Monitor audio energy levels
  • Test with background noise

12. Security and Privacy

Offline voice recognition ensures no audio data is transmitted or stored externally, improving privacy and predictability.

[mai mult...]

AutoArhivare Outlook pe MAC OS

AutoArhivarea:

  • mută automat emailurile vechi într-un fișier .PST

  • păstrează inboxul „curat”

  • NU șterge emailurile (decât dacă alegi asta)

  • funcționează automat, la intervale stabilite

METODA 1 – ARHIVARE MANUALĂ (cea mai simplă)

Pasul 1: Deschide Outlook pe Mac

  • Pornește Outlook

  • Selectează contul de email

Pasul 2: Selectează emailurile vechi

Poți:

  • click pe un email → Shift → click pe ultimul

  • sau Cmd + A (selectează toate)

Pasul 3: Arhivează

Ai 3 variante:

  • Click pe butonul Archive

  • Sau din meniu: Message → Archive

  • Sau drag & drop în folderul Archive

Outlook mută mesajele în folderul Archive

Unde sunt emailurile?

  • În stânga → Archive

  • Structura rămâne intactă

Aceasta NU este automată

METODA 2 – „AUTOARHIVARE” CU REGULI (RECOMANDATĂ)

Simulează autoarhivarea automată

Pasul 1: Creează folder de arhivă

  1. Click dreapta pe cont

  2. New Folder

  3. Denumește:
    Arhiva 2024 (sau după an)

Pasul 2: Mergi la Rules

  1. Sus în meniu → Outlook

  2. Settings

  3. Rules

 Pasul 3: Creează o regulă nouă

  1. Click + (Add Rule)

  2. Setează astfel:

Condiții:

  • Date Receivedis before → alege o dată
    (ex: 01.01.2024)

Acțiune:

  • Move messageArhiva 2024

Pasul 4: Salvează regula

  • Click OK / Save

  • Rulează regula manual prima dată

 De acum, emailurile mai vechi vor fi mutate automat

METODA 3 – ARHIVARE COMPLETĂ (EXPORT)

 Cea mai sigură metodă (backup + arhivă)

 Pasul 1: Export emailuri

  1. Meniu sus → File

  2. Export

  3. Selectează:

    • Mail

    • Calendar (opțional)

  4. Continue

Pasul 2: Alege locația

  • Salvează fișierul .olm

  • Recomandat:

    Documents / Outlook Arhiva

 Acest fișier conține TOATE emailurile

Pasul 3: Șterge din Outlook

După export:

  • poți șterge emailurile vechi

  • Outlook va fi mai rapid

 Cum deschizi arhiva ulterior

  1. File → Import

  2. Selectezi fișierul .olm

  3. Emailurile apar în Outlook.

[mai mult...]