Скачиваний:
1
Добавлен:
22.04.2024
Размер:
444.57 Кб
Скачать

Задание 1

«Индивидуальный проект»

Все программы должны соответствовать рекомендациям PEP 8.

Студентом выбирается и согласовывается с преподавателем один из пунктов задания. Выполняется он и соответствующий подпункт.

Пункт 11 выполняют все.

  1. Игра угадай номер.

Программа должна узнать сколько игроков, какое количество попыток можно за игру сделать, хотят ли игроки вести счёт (и если да, то узнать сколько будет партий), а также диапазон чисел для игры.

    1. Генератор случайного пароля.

Нужно чтобы пользователь запросил случайный пароль от 4 до 8 символов, программа должна выдавать случайные цифры, а затем превратить цифры в буквы что и будет паролем.

  1. Шифрование.

Программа шифрует текст, который ввел игрок. Текст может быть, как на русском, так и на английском языке. Шифрование должно быть простое. Количество шифров должно быть 3.

    1. Генератор случайного пароля.

Нужно чтобы пользователь запросил случайный пароль от 4 до 8 символов, программа должна выдавать случайные цифры, а затем превратить цифры в буквы что и будет паролем.

  1. Симулятор броска кубика.

Программа должна имитировать бросок кубика. Количество граней и количество бросков задаёт пользователь. Также система должна предложить пользователю запись результатов бросков.

    1. Определить если есть число Фибоначчи в броске кубиков.

Программа должна имитировать бросок кубика. Количество граней и количество бросков задаёт пользователь, посчитать сумму, и вывести все числа Фибоначчи, которые встречаются в этой сумме и сколько раз они встречаются. Пример: сумма кубиков – 233

Вывод программы:

Сумма кубиков – 233, в этом числе 4 чисел Фибоначчи;

Число “2” встречается 1 раз;

Число “3” встречается 2 раз;

Число “233” встречается 1 раз;

  1. Fibonacci.

Программа, которая разными путями считает числа Fibonacci, а также замеряет скорость выполнения. Программа должна уметь записывать данные и скорость выполнения, в текст или выводить на экран по желанию пользователя. Пользователь может задать произвольное количество попыток вычислить число, и каждая попытка должна быть записана.

    1. Определить если есть число Фибоначчи в броске кубиков.

Программа должна имитировать бросок кубика. Количество граней и количество бросков задаёт пользователь, посчитать сумму, и вывести все числа Фибоначчи, которые встречаются в этой сумме и сколько раз они встречаются. Пример: сумма кубиков – 233

Вывод программы:

Сумма кубиков – 233, в этом числе 4 чисел Фибоначчи;

Число “2” встречается 1 раз;

Число “3” встречается 2 раз;

Число “233” встречается 1 раз;

  1. Игра камень, ножницы, бумага.

Программа должна предложить сыграть в игру. Игрок может играть против другого игрока или против компьютера. Игра должна по желанию игрока вывести счёт

    1. Кто начинает выбирает игра крестики нолики.

Определить кто первый начинает игру камень, ножницы, бумага с помощью игры крестики нолики (Аналогичной заданию 5).

  1. Крестики-нолики.

Программа должна имитировать игру крестики-нолики, программа рисует поле, а также заполняет его после каждого хода. Игрок может играть против компьютера или против другого игрока. После окончание игры, статистика выводиться на экран

    1. Кто начинает выбирает игра камень, ножницы, бумага.

Определить кто первый начинает игру крестики-нолики с помощью игры камень ножницы бумага. (Аналогичной заданию 4).

  1. Timer и будильник.

Программа должна уметь выставить таймер, и показать обратный отсчёт в командной строке, в конце должна проиграться мелодия. Пока таймер работает должна быть опция (кнопка или условная команда, по выбору пользователя), которая ставит таймер на паузу, или останавливает таймер окончательно, или добавляет/отнимает время.

    1. Тренажер.

Программа должна уметь посчитать время, за которое пользователь сможет повторить (написать строку в командную строку) случайно сгенерированную строку с заданной длинной, после ввода, программа должна сказать сколько у него заняло времени на ввод.

  1. Генератор случайных строк.

Программа генерирует строки, количество строк и количество слов в строке задаётся пользователем. Пользователь может задать символы, которые система не будет генерировать или наоборот.

    1. Тренажер.

Программа должна уметь посчитать время, за которое пользователь сможет повторить (написать строку в командную строку) случайно сгенерированную строку с заданной длинной, после ввода, программа должна сказать сколько у него заняло времени на ввод.

  1. Calculator (обработка текста с помощь.

Простой калькулятор, который умеет умножать, делить, складывать, вычитать, возводить в степень и работать с дробями. Программа должна заранее узнать у пользователя необходимую точность вычислений.

    1. Обработка текста.

С помощью калькулятора (задание 9) нужно будет обработать данные из задания 10. (Сумма двух колонок, сумму всей колонки и т.д.)

  1. Текст - CSV документ.

Данная программа должна уметь преобразовать простой текстовый файл с данными (данные будут виде таблицы) в CSV файл. Программа должна быть как можно более обобщённая, также программа должна правильно интерпретировать тип данных.

    1. Обработка текста.

С помощью калькулятора (задание 9) нужно будет обработать данные из задания 10. (Сумма двух колонок, сумму всей колонки и т.д.)

  1. Общее реализовать своё задание через эхо сервер.

Простой эхо сервер, который получает данные от клиента и отправляет их обратно. Пользователь сервера имеет право настроить задержку в отправлении данных. Сервер должен уметь записывать все события в лог.

Задание 2.

Реализация нейронной сети для замены голоса в MP-4 файле. С известным решением.

Часть 1

Используя VoiceConvertionWebUI отделить в MP-4 файле голос от прочих звуков. Не использовать файлы больше 3 минут, желательно использовать песни.

Этапы выполнения:

  1. Скачать программу VoiceConvertionWebUI по прямой ссылке самостоятельно, через сервис https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/releases/tag/updated0814v2

    1. Выбрать RVC0813Nvidia.7z если у вас видеокарта Nvidia;

    2. Выбрать RVC0813AMD_Intel.7z если у вас AMD, Intel видеокарта.

  2. После распаковки (в пути к файлам не должно быть кириллицы И ПРОБЕЛОВ) запустить ./go-web.bat (./go-web-dml.bat для AMD, Intel).

  3. Подключится к вебсерверу через браузер по ip предложенному в командной строке или по http://localhost:7897

  4. Перейдите во вкладку Vocals/Accompaniment Separation & Reverberation Removal, и настройте следующим образом:

  1. Нажать “Convert” и получить 2 файла Vocal, Instrument.

Часть 2

Обучение модели нейросети на собственном голосе

  1. Подготовить MP-4 файл с вашим голосом на 2-5 минут (в зависимость от мощности видеокарты). Прогнать его через часть 1, чтобы избавиться от шумов и нормировать. Помните качество результата во многом зависит от качества записи dataset-а, сразу используйте файл с качественно записанным голосом.

  2. В VoiceConvertionWebUI перейти во вкладку “Train” и задать следующие параметры:

    1. Step 1-2b: как на картинке (пример создан на версии CPU на Nvidia он будет отличаться).

    2. Step 3:

      1. Save frequency – 5;

      2. Total training epochs:

        1. 50 при работе на CPU, слабой видеокарте (ниже 10ХХ);

        2. 200 при видеокарте старше 10ХХ.

      3. Batch size per GPU – в теории оптимальное значение будет стоять по умолчанию по факту:

        1. Для CPU – 1;

        2. Для видеокарт 2-8 Гб – от 4 до 14;

        3. Для видеокарт 12 Гб – 20;

        4. Для видеокарт 24 Гб – 40.

      4. Save only latest ‘.ckpt’ рекомендовано – Yes. No будет требовать много пространства на диске.

    3. Нажать One-click training.

Часть 3

Применить собственную модель к файлу из части 2. Необходимые настройки представлены на рисунке.

  1. Inferencing voice – выберите полученный .pth файл из части 2 с наибольшим количеством эпох.

  2. Transpose – число от -12 до 12, если преобразовываете низкий голос в высокий ставим 12, если высокий в низкий -12.

  3. Enter the path to the audio… – путь к аудиофайлу (без пробелов, кириллицы)

  4. Select the pitch extraction algorithm…:

    1. harvest – при CPU, слабой видеокарте;

    2. rmvpe – при видеокарте 10XX и старше.

  1. Объединить полученный файл голоса и «прочих звуков» из части 1 в любом аудиоредакторе (например, audacity).

Задание 3

Представить отчет с выполненным заданием 1, листингом программы, скриншотами при необходимости. Проиллюстрировать работу эхо сервера.

Выполненным заданием 2 с:

Скриншотами аудиодорожек MP-4 файла, отдельно голоса, отдельно «прочих звуков».

Скриншотами аудиодорожек вашего голоса.

Скриншотами аудиодорожек вашего голоса после обработки нейросетью, и его же с музыкой.

Предоставить получившийся файл и все промежуточные преподавателю на занятии.

Соседние файлы в предмете Информационные технологии и разработки информационных систем