Quantum Music Generation using Qiskit
Transform quantum mechanics into musical compositions! Q-Beat uses quantum computing principles to generate unique, professional-quality music with multiple instruments, scales, and song structures.
- Multi-instrument composition: Independent drum, bass, and melody tracks
- Multiple musical scales: Major, minor, pentatonic, blues, and more
- Chord progressions: Pop, jazz, blues, and epic progressions
- Bass patterns: Root, walking bass, synth bass, and harmonic patterns
- Professional song structure: Intro, verses, chorus, bridge, and outro with dynamic transitions
- Quantum circuits for rhythmic and melodic patterns
- Superposition & entanglement for creating complex musical variations
- Quantum probability mapped to audio amplitude
- Phase information used for harmonic richness
- 44.1kHz 16-bit WAV audio export
- Variable BPM (60-180)
- MIDI note system with frequency conversion
- ADSR envelope shaping for realistic instruments
- Multi-track mixing with independent volume control
- Reverb and audio effects
Q-Beat/
├── Q-Advance_Song_Generator.ipynb # Advanced multi-instrument composer
├── Q-Beat_Music_Generation_Demo.ipynb # Basic quantum music demo
├── Advance-song/ # Generated song files
│ ├── quantum_jazz.wav
│ ├── quantum_blues.wav
│ ├── quantum_epic.wav
│ ├── quantum_modal.wav
│ └── quantum_song_60s.wav
└── demo_music file/ # Demo music samples
├── quantum_drum_sequence.wav
└── quantum_polyrhythm.wav
pip install qiskit qiskit-aer numpy scipy matplotlib pylatexenc ipython- Clone the repository:
git clone https://github.com/N-Garai/Q-Beat.git
cd Q-Beat- Open the notebooks in Jupyter:
jupyter notebook- Run
Q-Beat_Music_Generation_Demo.ipynbto generate your first quantum song!
from quantum_music import QuantumSongComposer, AdvancedAudioSynthesizer
# Initialize synthesizer
synth = AdvancedAudioSynthesizer(sample_rate=44100)
# Create composer
composer = QuantumSongComposer(
synth,
bpm=120,
scale='A_minor',
progression='jazz'
)
# Compose and save
song = composer.compose_complete_song(total_duration=60)
synth.save_wav(song, 'my_quantum_song.wav')Scales:
- C_major, A_minor, G_major, E_minor, D_major, B_minor
- F_major, Cm_pentatonic, Blues
Progressions:
pop: I-vi-IV-Iblues: I-I-IV-Ijazz: I-ii-IV-Vepic: I-IV-V-I
Bass Patterns:
root: Simple root notesroot_fifth: Root + fifth harmonicwalking: Complex walking basssynth: Modern synth bass
- Quantum Circuit Creation: Builds quantum circuits with superposition, entanglement, and rotation gates
- Quantum Measurement: Executes circuits and extracts probability distributions and phase information
- Audio Synthesis: Maps quantum data to musical parameters (pitch, amplitude, phase)
- Multi-track Composition: Generates separate drum, bass, and melody tracks
- Song Structure: Arranges sections (intro, verse, chorus, bridge, outro) with dynamic variations
- Audio Export: Mixes tracks and exports to high-quality WAV files
The Advance-song/ folder contains examples of different musical styles:
- quantum_jazz.wav - A minor, jazz progression, 100 BPM
- quantum_blues.wav - E minor, blues progression, 90 BPM
- quantum_epic.wav - G major, epic progression, 140 BPM
- quantum_modal.wav - C minor pentatonic, pop progression, 110 BPM
- Quantum Framework: IBM Qiskit
- Audio Processing: NumPy, SciPy
- Visualization: Matplotlib
- Music Theory: MIDI note system, standard chord progressions
- Synthesis: Additive synthesis with ADSR envelopes
Contributions are welcome! Feel free to:
- Add new musical scales or progressions
- Implement new quantum circuit patterns
- Enhance audio effects and synthesis methods
- Improve song structure algorithms
This project is open source and available under the Apache 2.0 License.
Nayananshu Garai
- GitHub: @N-Garai
- IBM Qiskit team for the quantum computing framework
- Music theory principles from classical composition
- Quantum computing community for inspiration
For questions or suggestions, please open an issue on GitHub.
Made with ⚛️ quantum mechanics and 🎵 music theory