Kautcraft
Статистика- Последний пост
- 31 янв.
- Последнее чтение
- 12 авг.
- Постов за неделю
- 0
- Всего постов
- 30
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Ссылки Видео с демонстрацией https://www.youtube.com/watch?v=WZJZkFJ37xU Проект MIDI синтезатора на GitHub https://github.com/AlexKaut/PSP_MidiSynth Статья на Хабре https://habr.com/ru/articles/991224/ Проект-пример для работы с UART пихи https://github.com/ste2425/PSP-Serial-Example Подключение геймпадов к PSP по BT https://www.youtube.com/watch?v=9r6rsSNpkjs Видео с подключением MIDI клавиатуры в 2008'ом году, да, я не первый https://www.youtube.com/watch?v=5dN_RP0IBAg Подробная информация про HPRM порт https://mc.pp.se/psp/phones.xhtml
Программировать под PSP весело, я использовал для этого PSPSDK Си, makefile — то что надо. Для работы с UART нашёл замечательный проект — https://github.com/ste2425/PSP-Serial-Example Чтение UART происходит на уровне ядра, чистая PSP ожидает исключительно команды пульта, никакой альтернативной логики не подразумевалось. А этот проект реализует работу с UART на уровне ядра и позволяет взаимодействовать с UART в обычных играх/приложениях! Рекомендую ознакомиться с проектом, ради которого ste2425 делал эту либу — он разработал плату с ESP32 для подключения к PSP популярных геймпадов! Геймпад подключается к ESP32 по BT, и ESP32 передаёт данные о нажатии кнопок на PSP по UART В синте для стабильной работы чтение MIDI и генерация аудио разбиты на два потока. Интерфейс отрисован при помощи pspDebugScreen Запустить приложение на эмуляторе, например, PPSSPP, не выйдет, так как эмуляторы не поддерживают кастомные kernel‑модуль // CONFIG #define SAMPLE_RATE 44100 #define BUF_SAMPLES 512 #define MAX_VOICES 4 #define VOLUME PSP_AUDIO_VOLUME_MAX #define TWO_PI 6.28318530718f #define GAIN_SINE 2.1f #define GAIN_TRIANGLE 2.4f #define GAIN_SAW 1.2f #define GAIN_SQUARE 1.0f В начале main.c есть конфиг, через него можно настроить громкости каждой отдельной формы волны, так как квадрат громче треугольника и синуса Для установки синтезатора на PSP: Скачайте проект https://github.com/AlexKaut/PSP_MidiSynth Скопируйте папку /PSP_MidiSynth и вставьте её на PSP по пути PSP/GAME/
без подписи
без подписи
без подписи
Во время разработки этого проекта я словил гиперфиксацию, не мог ждать доставку наушников, хотелось сделать и протестить здесь и сейчас, поэтому ювелирно вырезал кусочек двухстороннего текстолита под этот порт 💅 Через него успешно отправил данные с ПК через usb-uart на пиху Для MIDI входа нужна оптопара, протестировал два варианта Первый — классическая схема на 6N138. Запитал её по USB type-c, разделил выходной сигнал на 2 резисторным делителем 1к/1к. Минимальное напряжение питания 6N138 4.5 вольт, так что запитаться от PSP затруднительно Второй вариант — TLP2361. Это быстрая оптопара с минимальным напряжением питания 2.7 вольт, 2.5 от пихи хватило для стабильной работы. Но увы не всё так гладко, PSP выдаёт питание на HPRM только если в гнездо для наушников воткнуть джек. Плата получается широкой, поэтому в гнездо влезают только очень тонкие джеки. Красивое решение придумать пока что не удалось. Можно разобрать зызу и кинуть перемычку, чтобы 2.5 выдавались всегда, но мне такой вариант не нравится
MIDI СИНТЕЗАТОР НА PSP! Приложение синта очень простое: 4 голоса, 4 формы волны (квадрат, пила, треугольник, синус), ADSR, фильтр и 5 сохраняемых пресетов MIDI клавиатура подключается в headphone remote (HPRM) порт, тот самый разъём рядом с 3.5мм гнездом для наушников. Изначально туда подключаются фирменные пспшные наушники с пультом для управления музыкальным плеером (пауза, перемотка). Пульт взаимодействует с PSP по UART, а UART как раз и нужен для чтения MIDI Для подключения в HPRM есть два способа: Первый — купить наушники с пультом, обрезать провода и припаяться к ним Второй — развести печатную плату, при стандартной толщине в 1.6мм она будет держаться в гнезде достаточно плотно Важный момент! У PSP 1000 порт 6 пиновый, а напряжения на нём 2.5 вольт. У 2000/3000 порт 12 пин (так как был добавлен вывод видео на кабель) и напряжение 1.9 вольт. При подключении своих штук обязательно согласовывайте напряжения, для этого можно использовать logic level converter либо делитель на резисторах
Тест вактролов На светодиод через резистор 1к подключаю CV 0 по +10 вольт (диапазон работы светодиода отличается, но для проверки достаточно такого) Со стороны фоторезистора припаял 1м постоянный резистор, чтобы получился делитель напряжения. На него подаю +12 вольт, на выход делителя подключаю осциллограф На CV вход подаётся треугольный сигнал частотой от 10гц до 1000гц. У настоящих вактролов есть характерный decay, поэтому на выходе вместо треугольника должен получаться синус. При частотах выше 1000гц сигнал должен уменьшаться, так как вактрол не успевает срабатывать Найти вактролы на алике можно по названию VTL5C1, VTL5C2 и тд. Цифра в конце названия — модель. Купил и тестил номера 1 и 2. С1 50мом быстрый, С2 1мом медленный. Характеристики совпали с даташитами Купить вактролы было проблемно, мало того, что их тяжело найти в наличии, так ещё и встречались подделки, где транзисторные оптопары упаковывали в корпус как у вактрола, подделки работают слишком быстро, поэтому вактрольная фишка пропадает
без подписи
без подписи
без подписи
без подписи
Технические приколы и история разработки: Boring modular и выпуск этих модулей организовал Рома. Он нашёл эти схемы, протестировал на макетке и сообразил доработки Впихнуть логику в 2hp был полноценный челлендж, 8 джеков съедают всё место, 3мм выводные светодиоды туда не влезают. Поэтому индикация сделана на smd светодиодах, а в роли рассеивателя выступает текстолитовая панелька На slope и фильтре сделаны двухсторонние панельки. Давно хотел провернуть такой трюк, но модули, которые делал, были "несимметричные". Наконец-то получилось реализовать идею, с одной стороны классический дизайн, с другой с приколами На свободном месте платы модуля логики разместил рисунок таблицы логических элементов и думающий rageface, такая вот подводка к тг каналу @pcbart На фильтре стоят настоящие заводские вактролы, сейчас их можно купить на алике. Проверял их по гайдам от @shumelki
без подписи
без подписи
Firefly VCF Модуль собран по схеме NLC VCF/LPG на заводских вактролах. В основе модуля лежит фильтр Korg FK-1, аналогичный тем, которые используются в синтезаторах 800DV, 770 и 700. Фильтр содержит последовательно соединённые каскады низких и высоких частот. Главное отличие нашей версии — применение вактролов.
без подписи
Eurorack модуль logic 2hp! Модуль булевой логики, который может выдавать 6 различных логических функций - OR, NOR, AND, NAND, XOR, XNOR. Умеет в аудио частоты
без подписи
Eurorack модуль slope detector 2hp по проекту Кена Стоуна У модуля есть вход CV и 3 GATE выхода: "rising", "falling" и "steady" Когда CV поднимается, активен выход rising, когда CV статичен — steady, и когда сигнал опускается — falling Потенциометр чувствительности позволяет подстроиться под медленные и быстрые сигналы