Pythoner
Фотография
✈️Python — это один из самых популярных языков программирования, который известен своей простотой и гибкостью. Он идеально подходит для экспериментов с музыкой, так как:
— Имеет множество специализированных библиотек для работы со звуком.
— Позволяет легко создавать алгоритмы для генерации мелодий.
— Может работать с MIDI-устройствами, аудиофайлами и даже нейросетями для создания уникальной музыки.
➡️Основные библиотеки для работы с музыкой в Python:
1. MIDIUtil
MIDI (Musical Instrument Digital Interface) — это стандартный формат для записи музыкальных данных. Библиотека MIDIUtil позволяет создавать MIDI-файлы прямо из Python-кода.
Пример использования:
from midiutil import MIDIFile
# Создание объекта MIDI
degrees = [60, 62, 64, 65, 67, 69, 71, 72] # Ноты C-major scale
track = 0
channel = 0
time = 0
duration = 1 # Длительность ноты
volume = 100 # Громкость
midi_file = MIDIFile(1)
midi_file.addTrackName(track, time, "Sample Track")
midi_file.addTempo(track, time, 120)
# Добавление нот
for i, pitch in enumerate(degrees):
midi_file.addNote(track, channel, pitch, time + i, duration, volume)
# Сохранение файла
with open("output.mid", "wb") as output_file:
midi_file.writeFile(output_file)
⬆️Результат: Этот код создаст файл output.mid, содержащий простую мелодию в масштабе C-major.
2. PyDub
PyDub — это библиотека для работы с аудиофайлами. Она позволяет редактировать, склеивать и преобразовывать звуковые файлы. Хотя она больше предназначена для обработки готовых аудиозаписей, её можно использовать для создания собственных композиций.
Пример использования:
from pydub import AudioSegment
from pydub.generators import Sine
# Создание звука синусоидальной волны
tone1 = Sine(440).to_audio_segment(duration=1000) # А4 (440 Гц)
tone2 = Sine(523).to_audio_segment(duration=1000) # С5 (523 Гц)
# Объединение тонов
composition = tone1 + tone2
# Экспорт в WAV-файл
composition.export("composition.wav", format="wav")
3. Music21
Music21 — это мощная библиотека для анализа, создания и понимания музыки. Она позволяет работать с нотами, аккордами, ритмами и даже анализировать существующие произведения.
Пример использования:
from music21 import *
# Создание простой мелодии
notes = "C4 D4 E4 F4 G4 A4 B4 C5"
melody = converter.parse(notes)
# Добавление текста к нотам
for note in melody.flat.notes:
note.addLyric(str(note.pitch))
# Прослушивание мелодии
melody.show('midi')
💡Заключение
Генерация музыки с помощью Python — это увлекательное направление, которое сочетает в себе технологии и искусство.
🐍 Pythoner
28 · 2.1K ·