Задать вопрос
  • Как заставить терминал или командную строку издавать звуки, как в фильмах?

    @yollu
    ### Готовое решение для звуков "бип" и "хррр-хрр" в терминале Windows 11

    Для добавления звуковых эффектов в командную строку или PowerShell можно использовать встроенные возможности системы или простые скрипты. Вот два варианта:

    ---

    #### **1. Простой "бип" через PowerShell**
    Используйте встроенную функцию `[Console]::Beep()`, чтобы генерировать звуки разных частот и длительностей:
    ```powershell
    # Одиночный "бип" (частота 800 Гц, длительность 200 мс)
    [Console]::Beep(800, 200)

    # Серия звуков "хррр-хрр" (имитация работы)
    500, 300, 700 | ForEach-Object { [Console]::Beep($_, 150) }
    ```
    **Как использовать:**
    - Откройте PowerShell.
    - Вставьте код и запустите.

    ---

    #### **2. Скрипт с аудиофайлами для сложных звуков**
    Если нужны нестандартные звуки (например, шум двигателя):
    1. **Подготовьте аудиофайлы** в формате WAV (найдите на [Freesound.org](https://freesound.org) или создайте через онлайн-генераторы).
    2. **Создайте скрипт `sound.ps1`**:
    ```powershell
    $BeepSound = "C:\Sounds\beep.wav"
    $EngineSound = "C:\Sounds\engine.wav"

    # Запуск команды с звуками
    & {
    Write-Host "Компиляция началась..."
    (New-Object Media.SoundPlayer $BeepSound).PlaySync()

    # Имитация обработки с "хррр"
    1..3 | ForEach-Object {
    Write-Host "Шаг $_"
    (New-Object Media.SoundPlayer $EngineSound).PlaySync()
    Start-Sleep -Milliseconds 300
    }
    }
    ```
    3. **Запустите скрипт** через PowerShell.

    ---

    #### **Дополнительные варианты:**
    - **Генерация звуков через FFmpeg** (если установлен):
    ```powershell
    ffmpeg -f lavfi -i "sine=frequency=1000:duration=0.1" -autoexit beep.wav
    ```
    - **Использование Python** (требуется установленный Python):
    ```python
    import winsound
    winsound.Beep(1000, 200) # "бип"
    ```

    ---

    ### Советы:
    - Для "хррр" используйте **низкие частоты** (200-500 Гц) и **короткие интервалы** между звуками.
    - Чтобы звуки воспроизводились при выполнении конкретных команд, интегрируйте `Beep()` или `SoundPlayer` в скрипты автоматизации.

    Если нужно больше кастомизации, можно создать BAT-файл с вызовом PowerShell-скриптов или использовать Task Scheduler для фоновых задач.
    Написано