Skip to content

This is the control code for my Ruben's tubes. Uses an SMC Mixer via midi to control up to 8 tones.

License

Notifications You must be signed in to change notification settings

danner/heatwave

Repository files navigation

HeatWave

HeatWave

Description

HeatWave is a MIDI controller application that allows you to generate and control 8 audio frequencies and volumes using MIDI messages. You can record settings and then travel through past saved settings via the channel log.

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd <repository-directory>
  2. Create a virtual environment:

    python3 -m venv myenv
    source myenv/bin/activate  # On Windows use `myenv\Scripts\activate`
  3. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Ensure your MIDI device is connected and recognized by the system.

  2. Run the main application:

    python3 main.py
  3. The application will start and continuously read MIDI input. Use your MIDI controller to send messages and control the audio.

  4. Access the web interface for additional controls and visualization:

    • Open a web browser and navigate to http://localhost:6134 (or the configured port)
    • The web interface provides real-time visualization of audio frequencies
    • Use the web controls to adjust settings and monitor the system remotely
    • Frequency and volume changes will be reflected in both the MIDI controller lights and web visualization
  5. Press Ctrl+C to stop the application.

  6. The state of the channels will be logged in channel_log.jsonl.

Contributing

This is unlikely to apply to anyone, but hey, if you've got ideas for adding a compressor or making a different control system, I'm totally interested. My goal is to be able to control fire as pixels via fourier transforms.

About

This is the control code for my Ruben's tubes. Uses an SMC Mixer via midi to control up to 8 tones.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published