Вдохновленный страстным любителем музыки, который хочет объединить свою коллекцию любимых песен и отрывков в один бесшовный микс. Этот полезный скрипт автоматически соединит случайные фрагменты ваших любимых треков, создавая уникальную и захватывающую музыкальную смесь. Идеально подходит для диджеев, меломанов и всех, кто хочет насладиться своей музыкой по-новому. Изучите возможности этого удивительного инструмента и создайте бесконечное количество ремиксов из своей коллекции.
import os
import random
from pydub import AudioSegment
from datetime import timedelta
def mix_tracks(music_dir, num_tracks):
mp3_files = [f for f in os.listdir(music_dir) if f.endswith('.mp3')]
# Выбираем случайные треки
selected_tracks = random.sample(mp3_files, num_tracks)
print("Список выбранных треков:", selected_tracks)
# Первый трек, который будет основой для микса
final_mix = AudioSegment.from_file(os.path.join(music_dir, selected_tracks[0]))
print("Соединение выполняется")
# Соединяем остальные треки с первым
for i, track in enumerate(selected_tracks):
if i == 0:
continue # Пропускаем первый трек, так как он уже добавлен в final_mix
track_path = os.path.join(music_dir, track)
current_track = AudioSegment.from_file(track_path)
final_mix += current_track
start_time = len(final_mix) - len(current_track)
start_time_seconds = start_time // 1000 # конвертируем миллисекунды в секунды
start_time_minutes = start_time_seconds // 60 # конвертируем секунды в минуты
start_time_hours = start_time_minutes // 60 # конвертируем минуты в часы
# Создаем объект timedelta для форматирования времени в часы, минуты и секунды
start_time_formatted = timedelta(seconds=start_time_seconds)
print(f"Трек {i+1} - {track}: {start_time_formatted}")
# Экспортируем микс в файл
final_mix.export("luxe_bot_mix.mp3", format="mp3", bitrate="320k")
print("Микс сохранен в файл luxe_bot_mix.mp3")
# Пример использования функции
music_dir = 'oMRandom2017/моБилка'
num_tracks = 100
mix_tracks(music_dir, num_tracks)