скрипт - как соединить случайно все отрывки песен в один микс (как автоматически сделать микс)

Вдохновленный страстным любителем музыки, который хочет объединить свою коллекцию любимых песен и отрывков в один бесшовный микс. Этот полезный скрипт автоматически соединит случайные фрагменты ваших любимых треков, создавая уникальную и захватывающую музыкальную смесь. Идеально подходит для диджеев, меломанов и всех, кто хочет насладиться своей музыкой по-новому. Изучите возможности этого удивительного инструмента и создайте бесконечное количество ремиксов из своей коллекции.

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)
На главную YouTube Telegram Предыдущая страница Следующая страница