Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Мотивация: Как не бросить Python на второй неделе
Секрет прост: делай то, что можно потрогать руками.
Вместо того чтобы зубрить теорию списков, напиши бота, который скидывает тебе курс валют или мемы.
Когда ты видишь результат своего кода — просыпается азарт.
Сначала делай рабочий прототип, а потом оптимизируй.
Маленькие шаги каждый день дают больше, чем штурм раз в месяц.
Секрет прост: делай то, что можно потрогать руками.
Вместо того чтобы зубрить теорию списков, напиши бота, который скидывает тебе курс валют или мемы.
Когда ты видишь результат своего кода — просыпается азарт.
Сначала делай рабочий прототип, а потом оптимизируй.
Маленькие шаги каждый день дают больше, чем штурм раз в месяц.
💯4 3🤓1 1
Локальная нейро-говорилка. Что вообще происходит 👀
Что умеет этот проект:
✅ берёт обычный текст
✅ использует пример голоса (wav/mp3)
✅ генерирует реалистичную речь
✅ работает полностью локально (если модель скачана)
Структура проекта будет максимально простой:
Начнём с конфига — это мозг всей настройки.
Вот базовый config.py:
Я давно хотел показать пример нейросети, которая работает с голосом локально, без API, без облаков и без подписок.
Сегодня начнём простой кейс:
нейро-говорилка на основе XTTS, которую потом можно легко адаптировать под ChatterBox.
Что умеет этот проект:
Структура проекта будет максимально простой:
project/
├─ config.py
├─ voice.py
├─ text.txt
└─ voice_example.mp3
Начнём с конфига — это мозг всей настройки.
Вот базовый config.py:
CONFIG = {
"model": "tts_models/multilingual/multi-dataset/xtts_v2",
"language": "ru",
"speaker_wav": "voice_example.mp3",
"output_file": "result.wav",
"temperature": 0.5,
"length_penalty": 1.0,
"repetition_penalty": 5.0,
"top_k": 50,
"top_p": 0.85,
"speed": 1.0,
"enable_text_splitting": True,
}
Что важно понять сразу:🤔 ❗️ модель не скачивается кодом, она подтягивается локально через TTS❗️ при первом запуске XTTS может долго грузиться❗️ нужен пример голоса (любой короткий wav/mp3 на 1-2 минуты)
В следующем посте — напишем сам скрипт генерации голоса👨💻
Будет уже слышимый результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
Генерируем голос из текста (XTTS) 👩💻
Сначала базовые импорты и загрузка текста:
Теперь инициализация модели:
🗣 И вот самый главный кусок — генерация аудио:
Продолжаем.
Теперь напишем сам скрипт, который читает текст и превращает его в голос.
Создаём файл voice.py.
Сначала базовые импорты и загрузка текста:
from TTS.api import TTS
import torch
from config import *
text = open('text.txt', 'r', encoding='utf-8').read()
Теперь инициализация модели:
print("🔄 Загрузка модели...")
tts = TTS(
CONFIG["model"],
progress_bar=True,
gpu=torch.cuda.is_available()
)
print("🎤 Генерация аудио...")
tts.tts_to_file(
text=text,
file_path=CONFIG["output_file"],
speaker_wav=CONFIG["speaker_wav"],
language=CONFIG["language"],
temperature=CONFIG["temperature"],
length_penalty=CONFIG["length_penalty"],
repetition_penalty=CONFIG["repetition_penalty"],
top_k=CONFIG["top_k"],
top_p=CONFIG["top_p"],
speed=CONFIG["speed"],
enable_text_splitting=CONFIG["enable_text_splitting"]
)
Если всё ок — после запуска появится файл result.wav.
Что важно:❗️ speaker_wav сильно влияет на результат❗️ короткий, чистый голос работает лучше❗️ параметры можно крутить бесконечно (и это кайф)
В следующем посте:💎 как запускать это стабильно💎 как адаптировать под ChatterBox💎 и где чаще всего всё ломается🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Лайфхак: Используй f-строки как профи
Забудь про склеивание строк через плюс. Это неудобно и часто ведет к ошибкам.
В Python есть f-строки, которые позволяют вставлять переменные и даже код прямо в текст.
Это делает код чище, а структуру понятнее — особенно когда данные сложные.
Забудь про склеивание строк через плюс. Это неудобно и часто ведет к ошибкам.
В Python есть f-строки, которые позволяют вставлять переменные и даже код прямо в текст.
name = "Артемий"
income = 50000
print(f"Фрилансер {name} заработал {income / 80:.2f} $ за вечер")
Это делает код чище, а структуру понятнее — особенно когда данные сложные.
Запуск, ошибки и адаптация под ChatterBox
Собираем всё в рабочий кейс💼
Как запустить
☀️ Установить зависимости (TTS, torch)
☀️ Скачать модель XTTS (она подтянется автоматически при первом запуске)
☀️ Положить text.txt с текстом + voice_example.mp3 с примером голоса
☀️ Запустить:
Если модель скачана — всё работает офлайн.😳
Частые ошибки⛔️
➡️ не найден speaker_wav
➡️ слишком длинный текст без enable_text_splitting
➡️ нет GPU — медленно, но работает
➡️ плохой пример голоса — "робот"
Адаптация под ChatterBox
Собираем всё в рабочий кейс
Как запустить
python voice.py
Если модель скачана — всё работает офлайн.
Частые ошибки
Адаптация под ChatterBox
Сама идея не меняется.
Меняется только импорт библиотеки, способ вызова генерации, формат передачи параметров
Готовый проект можно получить бесплатно➡️ ЗДЕСЬ
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет фрилансеру: Комментируй код для будущего себя
Когда пишешь проект на заказ, кажется, что логика очевидна.
Но через месяц заказчик попросит правку, и ты потратишь часы только на то, чтобы вспомнить свой же алгоритм.
Пиши комментарии перед сложными частями.
Это не признак новичка, а признак профессионала, который ценит свое время.
Когда пишешь проект на заказ, кажется, что логика очевидна.
Но через месяц заказчик попросит правку, и ты потратишь часы только на то, чтобы вспомнить свой же алгоритм.
Пиши комментарии перед сложными частями.
Это не признак новичка, а признак профессионала, который ценит свое время.
Полезно для студентов и фрилансеров, у которых в "Загрузках" вечный хаос.
import os
import shutil
for file in os.listdir("."):
if file.endswith(".pdf"):
os.makedirs("PDFs",
exist_ok=True)
shutil.move(file, "PDFs")
Пять строк кода — и идеальный порядок в отчетах или учебных материалах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉6👏4 3🗿1 1
Как быстро летит время
Вроде неделю назад говорил себе, что займёшься спортом на следующей. 3 дня назад сказал, что сделаешь выходной, ещё вчера думал, как бы больше проводить время с близкими. И вот, сегодня сидишь и понимаешь, как быстро летит повозка времени, в то время как ты небрежно поспеваешь за ней сзади, весь в пыли и разочаровании в том, что не успел выполнить свои мечты…
Очень хотел затронуть эту тему в канале, так как считаю, что проблема быстроты времени есть у многих людей. Порой кажется, что ты достигаешь своих целей: снимать квартиру, обновить ПК, начать зарабатывать, иметь возможность работать удалённо или на худой конец сдать эту сраную сессию. Но проблема в том, что это будто бы всё «спецэффекты», что это как бы цель, но не совсем та, которая сделает тебя по-настоящему счастливым.
Время действительно неумолимо летит, но каждый сам в своей жизни определяет ей темп.
А какие ты ставишь перед собой цели?😔
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3 3 2
Не проси нейросеть "написать программу целиком" — она может ошибиться в логике.
Лучше используй её для рутины:
– Оптимизировать готовый цикл
– Добавить обработку ошибок в функцию
– Написать документацию или тесты
Это твой бесплатный ассистент, который учит тебя писать чище.
Please open Telegram to view this post
VIEW IN TELEGRAM
Никогда не ставь библиотеки глобально в систему.
Рано или поздно версии разных проектов конфликтуют, и всё ломается.
# Создать окружение
python -m venv venv
# Активировать (Windows)
venv\Scripts\activate
Приучай себя к этому с первого дня. Это экономит кучу времени при поддержке кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Мини-скрипт: Проверка скорости интернета на Python
Если работаешь на удаленке или фрилансе, важно знать, не подводит ли провайдер.
Быстрый способ проверить канал без лишних вкладок в браузере.
Если работаешь на удаленке или фрилансе, важно знать, не подводит ли провайдер.
# pip install speedtest-cli
import speedtest
st = speedtest.Speedtest()
print(f"Загрузка: {st.download() / 10**6:.2f} Mbit/s")
Быстрый способ проверить канал без лишних вкладок в браузере.
Стек: Python + aiogram для тг бота
Придумать систему генерации квиза
Сделать возможность для админа делать рассылку
Настроить текст рассылки
import asyncio
from aiogram import Bot, Dispatcher, types, F
from aiogram.filters import CommandStart
from aiogram.fsm.context import FSMContext
from aiogram.fsm.state import State, StatesGroup
# Настройка состояний квиза
class QuizStates(StatesGroup):
question1 = State()
question2 = State()
phone = State()
bot = Bot(token="YOUR_TELEGRAM_TOKEN")
dp = Dispatcher()
@dp.message(CommandStart())
async def start_cmd(message: types.Message, state: FSMContext):
await message.answer("Привет! Ответь на 2 вопроса, и мы подберем решение. Какой у вас бюджет?")
await state.set_state(QuizStates.question1)
@dp.message(QuizStates.question1)
async def process_q1(message: types.Message, state: FSMContext):
await state.update_data(budget=message.text)
await message.answer("Какая сфера вашего бизнеса?")
await state.set_state(QuizStates.question2)
@dp.message(QuizStates.question2)
async def process_q2(message: types.Message, state: FSMContext):
await state.update_data(sphere=message.text)
await message.answer("Оставьте ваш номер телефона для связи:")
await state.set_state(QuizStates.phone)
@dp.message(QuizStates.phone)
async def process_phone(message: types.Message, state: FSMContext):
user_data = await state.get_data()
phone = message.text
# Имитация интеграции с CRM (Bitrix24/AmoCRM)
print(f"Отправка в CRM: Бюджет: {user_data['budget']}, Сфера: {user_data['sphere']}, Тел: {phone}")
await message.answer("Спасибо! Менеджер свяжется с вами в течение 15 минут.")
await state.clear()
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
Если брать то ТЗ, которое написал заказчик, работы на 1-3 часа. И 20к уже в кармане
Из нюансов: заказчик нанимал 0% исполнителей и уже 30+ откликов
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Мотивация: Почему фриланс на Python — это реально?
На рынке море задач: спарсить сайт, переложить данные из Excel в базу, сделать телеграм-бота.
Для профи это 20 минут работы. Для тебя — отличная практика и первые деньги.
Тебе не нужно знать всё.
Тебе нужно уметь гуглить, разбираться и адаптировать чужой опыт под задачу.
На рынке море задач: спарсить сайт, переложить данные из Excel в базу, сделать телеграм-бота.
Для профи это 20 минут работы. Для тебя — отличная практика и первые деньги.
Тебе не нужно знать всё.
Тебе нужно уметь гуглить, разбираться и адаптировать чужой опыт под задачу.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from INNOPROG — здесь об IT
Анонс мини-курса «Конвертер учебных файлов» от Артемия - преподавателя INNOPROG📚
🔗В этом мини-курсе мы создадим удобный и функциональный конвертер различных файлов, который позволит адаптировать учебные материалы в удобный и подходящий формат.
📌Даты выхода уроков:
Блок 1 – 9 февраля
Блок 2 – 12 февраля
Ставьте напоминание в календаре, чтобы не пропустить 🦾
🔗В этом мини-курсе мы создадим удобный и функциональный конвертер различных файлов, который позволит адаптировать учебные материалы в удобный и подходящий формат.
📌Даты выхода уроков:
Блок 1 – 9 февраля
Блок 2 – 12 февраля
Ставьте напоминание в календаре, чтобы не пропустить 🦾
🎉3 3 3
⚙️ Лайфхак: Быстрый замер времени выполнения кода
Хочешь узнать, какой метод работает быстрее? Используй
Оптимизация начинается с точных цифр, а не с догадок.
Хочешь узнать, какой метод работает быстрее? Используй
time.import time
start = time.time()
# Твой код здесь
print(f"Время выполнения: {time.time() - start} сек")
Оптимизация начинается с точных цифр, а не с догадок.
🤩3 2 1
Forwarded from INNOPROG — здесь об IT
📌Первый урок мини-курса по созданию конвертера учебных файлов доступен к изучению
📚Переходите в наш бот и забирайте урок
📚Переходите в наш бот и забирайте урок
👏4 3 3
This media is not supported in your browser
VIEW IN TELEGRAM
😭 Разработчики 98 ещё те прикалисты
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from INNOPROG — здесь об IT
🔗Это второй урок мини курса «Конвертер учебных файлов»
Скорее переходите в наш бот и забирайте урок для изучения 🤓
Скорее переходите в наш бот и забирайте урок для изучения 🤓