Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Свисток для Д3-28
RSS

Свисток для Д3-28

программа для создания WAV-файлов в формате Д3-28

<<Назад  Вперед>> Страницы: 1 2 * 3
Печать
 
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Sinus написал:
[q]
вот сам конечный wav-файл, в который аудиоредактором записан сигнал с магнитофона
[/q]
Спасибо, но это мне нужно какое-то время взять, чтоб посмотреть.


Sinus написал:
[q]
Один канал в "Романтике" (верхний на рисунках, т.е. "канал нулей") работает хуже другого
[/q]
Понятно. Да, наверное, надо искать магнитофон. Либо другой способ загрузки программ в Д3-28.
С магнитофоном, конечно, подкупает, что это встроенная функциональность Д3-28 — нажал кнопку и поехали.
Но... у меня есть одна идея на этот счёт (не оригинальная, но есть!)


Sinus написал:
[q]
Малый размер wav-файла, думаю, не должен быть самоцелью; качество записи важнее.
[/q]
30 минут записи на кассету:
- WAV-файл с сеткой 48 кГц будет весить 165 МБайт
- WAV-файл с сеткой 2 кГц будет весить 6,9 МБайт

Ну, в принципе, 165 МБайт - это не так уж и много, если это не хранить, а создавать как tmp-файл для выгрузки на кассету.
Да, можно не запариваться, и просто работать на сетке 48 кГц. // хотя ... :)

// Но, главное, меня на самом деле больше интересовал чисто академический вопрос, исчезнут ли те "неприемлемые" искажения формы сигнала, если сетку с 1000 заменить на 2000.
// Я так понял, что практика подтвердила теорию в данном случае — т.е. я могу удовлетвориться.


Sinus написал:
[q]
чтобы самодельную запись на кассете хотя бы один раз удалось загрузить в Д3-28; тогда можно будет записать хорошие копии самой машинкой
[/q]
Ну, у меня есть пара-тройка идей на этот счёт, которые НЕ требуют использования кассет и магнитофонов с их непонятными пассиками и транзисторами.

Идея "А" ---- грузить файл данных в машинку не с магнитофона, а с цифрового входа.
Я здесь пока ничего конкретного не скажу. Но апеллирую лишь к тому, что машинка умеет читать прошивку с перфоленты через FS-1500.
А это означает, что вместо перфоленты и FS-1500 может быть какой-то адаптер к USB или даже со своей флешкой.
Да, я понимаю, что там потребуется какой-то начальный загрузчик, и его надо будет как-то вводить в память машины — ну... что ж делать.
Да и разъём там сзади не самый широко-легко-находибельный.
// вот из-за двух замечаний я сам считаю эту идею - "так себе" в техническом плане

Идея "Б" ---- развитие идеи "А".
В общем, ничто не мешает нам открыть корпус машины и отсоединить провода, идущие от магнитной головки ЛПМ к модулю управления ЛПМ (вторая плата сверху в корзине)...
... и к этой плате вместо магнитной головки ЛПМ подключить провода от аудиовыхода компутера — ну и собсна "насвистывать" сигнал непосредственно на вход усилителя воспроизведения в Д3-28.
Что-то мне подсказывает, что схема такого адаптера будет предельно простой. Возможно даже его можно будет сделать исключительно из пассивных элементов (резисторы и фильтры ВЧ).
В принципе можно даже продумать вариант и с обратным направлением сигнала — т.е. принимать в компутер сигнал от Д3-28, который она как бы записывает на ленту.
Единственный минус этой идеи — нужно как-то вывести провода наружу из корпуса, и ЛПМ будет выведен из работы — потеря аутентичности и всё такое.

Идея "В" ---- ... а что если программу вводить всё-таки с клавиатуры?
Известно, что модуль клавиатуры в Д3-28 — это ничто иное, как генератор байт-кодов.
Суть, что мешает эту клавиатуру немножко автоматизировать? вернее, подключить к ней параллельно вторую "как-бы клавиатуру".
В общем, внутрь корпуса Д3-28 можно спрятать ещё один миниатюрный модуль, включать его в разрыв кабеля, идущего к клавиатуре, и собсна сделать так, чтоб этот модуль имитировал быстрый-быстрый ручной набор программы.
... кстати, а насколько вообще "быстро" машинка умеет воспринимать программу, вводимую с клавиатуры неким "бесконечно-быстрым оператором"??
Минус этой идеи — программу можно будет только вводить.
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
xoiss написал:
[q]
// Но, главное, меня на самом деле больше интересовал чисто академический вопрос, исчезнут ли те "неприемлемые" искажения формы сигнала, если сетку с 1000 заменить на 2000.
// Я так понял, что практика подтвердила теорию в данном случае — т.е. я могу удовлетвориться.
[/q]
Да. По крайней мере, если на вход магнитофона с выхода компьютерного плеера идёт тот сигнал, который видит на выходе этого плеера программа-рекордер, то "неприемлемых" искажений формы у этого сигнала нет. А что получается на ленте (по крайней мере в одном конкретном "Романтике" :)), для нас остаётся тайной; мы можем видеть только результат оцифровки того сигнала, в который превращается тайна с ленты опять-таки этим своевольным "Романтиком".


xoiss написал:
[q]
Да, можно не запариваться, и просто работать на сетке 48 кГц. // хотя ... :)
[/q]
Не обязательно бросаться в крайности. Большие файлы я тоже не люблю; да хрен со мной-то, их и Маткад не любит. (Например, с оцифровками больше 20-30 МБайт (при sample rate 44100) мой раскодировщик в Маткаде дико тормозит, так что обычно я перед раскодировкой сразу понижаю ресемплингом sample rate в оцифровках до 16000 и меньше.)

Начав с сетки 2 кГц, думаю, вполне стоит поискать оптимум (для качества записи на конкретном магнитофоне) на сетках 4, 6, 8 кГц, - как Вы и говорили; при этом размер файла не так уж страшно увеличится. А такая крайность как 48 кГц, конечно, не нужна (да и может появиться риск угодить в опасную близость с частотой ВЧ-подмагничивания в магнитофоне: вдруг полезут "артефакты" на разностной частоте; или ещё что-нибудь плохое: вспышки ВЧ-возбуда и т.п.).


xoiss написал:
[q]
Идея "А" ---- грузить файл данных в машинку не с магнитофона, а с цифрового входа.
[/q]
Наверное, вполне осуществима. Народ похожие идеи реализовывал ещё в те самые 1980-е, как только машинка вошла в практику; в сети есть статья с примером (это не готовое решение для Вас, а просто пример того, как люди делали ввод данных через шину "Ввод" с небольшим загрузчиком):
https://yadi.sk/i/6Qzb1vtT3WCAu9
(PTE4198394-97_vvod_v_D3-28.pdf)

Но Вы уже упомянули "но" против идей типа "А", "Б", "В", если в них не идёт речь об аппаратной эмуляции полностью НМЛ: "потеря аутентичности и всё такое", "программу можно будет только вводить". Полагаю, это будет серьёзная потеря, потому что в большинстве высокоуровневых программ для комплексов с Д3-28 того времени (т.е., можно сказать, в легендарных программах :)) работа с НМЛ составляла очень важную часть всей деятельности.

UPD: удалил свои эмоции. Добавил графики для фрагментов сигналов из оцифровки магнитофонных test-3-записей, упоминавшихся выше ( test-3_18-05-2018.wav ), в той форме, как их видит аудиоредактор, в котором оцифровывался выход магнитофона:

https://yadi.sk/i/EFZZe-LM3WEZEQ
(test-3__1.jpg)

https://yadi.sk/i/XeyB6rRh3WEZLa
(test-3__2.jpg)
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Sinus написал:
[q]
О результатах на моём компе:1. Без магнитофона, вроде, всё нормальноно выглядит (если не обращать внимания на обсуждавшиеся выше "осцилляции Гиббса"). Картинки для разных примеров похожи, привожу только две, для: 1-2-3--sample_rate=2000--soft_ends=True.wav1-2-3--sample_rate=48000--soft_ends=True.wavhttps://yadi.sk/i/_6TfPuJ33W9YFb(test-3_no_mag__18-05-2018.jpg)
[/q]
... так, похоже, затея с введением начального уровня не имеет никакого выхлопа
уровень на выходе всё равно зависает в середине диапазона, и первый фронт имеет только половинную амплитуду

таким образом к проблеме потери постоянной составляющей сигнала в усилителе записи магнитофона добавляется ещё и такая же проблема на звуковом выходе компутера



Sinus написал:
[q]
(test-3_18-05-2018.wav; примерно 2.5 мегабайта)Там 18=6·3 записей - на "Романтик" были записаны Ваши 6 сигналов (каждый сигнал по 3 раза подряд) в следующей последовательности:
[/q]
...перевёл файл в формат, более удобный для обработки "чем угодно" (да хоть бейсиком)
https://yadi.sk/d/RHEZNZj43WFohx
каждая строка — это один аудио-кадр — состоит из двух чисел: мгновенная амплитуда канала "0" и мгновенная амплитуда канала "1"

// для перевода использовал утилиту od — кстати, рекомендую
например:
[q]
od -j4096 -N2560184 -w4 -An -td2 -v test-3_18-05-2018.wav > test-3_18-05-2018.wav.txt
[/q]
-j4096 — пропустить первые 4096 байт — там идут WAV-заголовки и паддинг
-N2560184 — обработать следующие 2560184 байт — это байты данных — после них идёт финальный паддинг, который нам не нужен
-w4 — четыре байта на строку — т.е. один аудио-фрейм будет записан в одну строку выходного текстового файла
-An — не выводить колонку "адрес"
-td2 — поток байт разбить по 2 байта и каждую пару рассматривать как 16-битное little endian число со знаком, и вывести его в десятичной системе
-v — не вставлять "*" там, где встречаются повторяющиеся строки
обычнай дамп можно получить и посмотреть так:
[q]
od -Ax -tx1z -v myfile.wav | less
[/q]
обзорная картинка ---- https://yadi.sk/i/1OKj_bkT3WFp5n
пара картинок для файла "1-2-3" ---- https://yadi.sk/i/aHln1bCF3WFp5x
пара картинок для файла "tablo-XY-test" ---- https://yadi.sk/i/x2joNHO63WFp64
пара картинок для файла "long-stalls" ---- https://yadi.sk/i/s0-JOS7V3WFp6M

по этим трём парам я бы сказал, что вариант "sample_rate=2000" выглядит лучше... почему-то
я имею в виду, что в варианте "48000" явно виден cross-talk между каналами
... причём в обе стороны — т.е. дефект нельзя списать на смещение оси ленты относительно магнитной головки
... причём файлы "=2000" и "=48000" перемежались на записи — т.е. дефект нельзя списать на "прогрев" усилителя записи в магнитофоне и т.п.

с учётом того, что у нас сигнал импульсный (в отличие, например от Спектрумовских записей), думаю, следует насильственно ограничить спектр на уровне не выше 10 кГц
// проще всего это ограничить выбором сетки 10 кГц... но можно и формой импульса, хотя это будет намного сложнее

на второй и третьей парах картинок хорошо видно, что "какая-то авторегулировка" (АРУ это или ловилка нуля - не знаю) сильно "перехлёстывает" за ноль — максимум приходится примерно на 7..9-ый бит — т.е. если в этом месте в "уснувшем" канале проходит бит, то его амплитуда сокращается где-то так до 20..30% от максимально возможной (т.е. в 3..5 раз)

вот тут под увеличением хорошо видно — в "синем" канале на отсчётах 4525 и 5337
https://yadi.sk/i/wx8ymZG83WFp6Z

боюсь, без переделки схемы усилителя записи этот дефект устранить не получится — а это есть сильное вмешательство в магнитофон, которое (1) очспецифично от схемы конкретного имеющегося на руках у "страждущего" магнитофона, и (2) от возможности/желания/умения "страждущего" выполнить такую переделку — короче, это не вариант вообще

если же этот дефект терпеть, то ... ну как бы понятно — результатом может быть д3-28-нечитабельная запись

итого == имхо, с обычным магнитофоном - тупик

слишком много проблем:
- начиная от отсутствия магнитофона/кассет у широких масс — такого, чтоб хоть как-то в рабочем состоянии
- необходимость подкручивать/регулировать головку
- кросс-толк между каналами — который, кстати, у разных моделей может проявляться по-разному
- эффекты авторегулировки нуля и ещё Ктулху-знает-чего — тоже специфично от модели имеющегося магнитофона

вывод == надо подумать, что с этим делать

моё предложение (ну, т.к. я уже "подумал") == отключать магнитную головку ЛПМ в Д3-28 от модуля управления НМЛ (от усилителя воспроизведения) и вместо головки подключать к этому модулю кабель от аудиовыхода компутера — это хоть как-то позволит грузить программы в Д3-28 — ну хотя бы первый раз сделать загрузку, а потом уже скинуть "файл" на кассету средствами самой Д3-28 (благо коммутация четырёх проводков магнитной головки НМЛ не требует отключения питания Д3-28... ну или в конце концов можно туда простейшую релюшку засунуть)... ну или вот вариант вводить программу, имитируя нажатия клавиш на клавиатуре (см. варианты Б и В, описанные мною выше)
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Sinus написал:
[q]
https://yadi.sk/i/EFZZe-LM3WEZEQ(test-3__1.jpg)https://yadi.sk/i/XeyB6rRh3WEZLa(test-3__2.jpg)
[/q]
да, посмотрел — ну, в общем и я примерно про эти же дефекты написал
только к Вашим комментариям на картинках добавлю, что на 48000 явно виден кросс-толк между каналами в обе стороны — надо спектр сигнала от компутера во время записи ограничивать


Sinus написал:
[q]
Но Вы уже упомянули "но" против идей типа "А", "Б", "В", если в них не идёт речь об аппаратной эмуляции полностью НМЛ: "потеря аутентичности и всё такое", "программу можно будет только вводить". Полагаю, это будет серьёзная потеря, потому что в большинстве высокоуровневых программ для комплексов с Д3-28 того времени (т.е., можно сказать, в легендарных программах ) работа с НМЛ составляла очень важную часть всей деятельности.
[/q]
Ну, тут надо подумать. Потенциально есть две задачи:
1. Скачать с сайта "дистрибутив", загрузить его как-то в свою Д3-28 хотя бы один раз,... а далее - либо так каждый раз и делать, либо записать на кассету и следующие разы грузить его с кассеты
2. Вообще в принципе обеспечить работу НМЛ Д3-28 — либо с настоящей кассетой, либо как-то ещё

Я думаю, что для задачи "популяризации" Д3-28 первая задача является ну как бы безусловной. То есть, научиться именно загружать Д3-28 с компьютера.

Вторая же задача с горем пополам ещё может быть решена, если есть парочка МК-60 кассет в наличии и НМЛ в своей Д3-28 исправен — тут в общем компьютер не помешал бы, но он не является суть безусловно необходимым.
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
На всякий случай отформатировал по описанному выше стандарту "myfile.dat" 5 реальных файликов для записи их в wav (может быть, если приготовить для народа такие wav-записи, это поспособствует владельцам Д3-28 в экспериментах с магнитофоном).

https://yadi.sk/i/m2W49FOk3WNaEm
028-test_KP-73370_N-8921__dat.txt. Это тест ОЗУ и системы команд, более новый, чем упоминавшийся раньше в ветке про Д3-28; он умеет определять и выводить на табло машинки объём её ОЗУ (16, 32 или 128 килобайт); его описание дано в "Инструкции по эксплуатации 3.857.100 ИЭ". Оцифровку с кассеты из своей замечательной коллекции ПО выполнил и любезно предоставил Виталий К. aka 15a18. Для этой программки терминал не нужен. Загружается с МЛ обычным образом - кнопками на пульте машины С, СЛ. Запуск: С, "треугольник", S.

Подразумевается, что каждая из программ, о которых здесь идёт речь, загружается в "свежевключённую" машинку; загрузка: С, СЛ; для проверки контрольной суммы программы надо нажать после загрузки, но до запуска, кнопку КП. Для работы остальных 4 программ к Д3-28 должен быть подключен терминал 15ИЭ-00-013:

https://yadi.sk/i/cbl7sZb23WNaLF
game_23spichki_KP-22571_N-1944__dat.txt - текстовая "игра 23 спички", скомпилированная в "Выстре" в имитаторе машинки. Запуск: С, S.

https://yadi.sk/i/aRYq7HRd3WNaQb
game_1war_KP-47573_N-4307__dat.txt - "подвижная" игра, скомпилированная в "Fortran-5M" в имитаторе. Такая же (почти, ещё и с "гудком") программка работала на реальной машинке. Запуск: С, S, после вывода на экран "R" нажать на клавиатуре терминала русскую С. Управление - с цифровой клавиатуры терминала: 9, 6 - вверх, вниз; 7,8 - влево, вправо; 2,3,1 - смена скорости; 0 - выход из игры.

https://yadi.sk/i/hD-wewqK3WNaVS
Basic_D3-28_v3A__KP-157107__N-11343__dat.txt - "Бэйсик вариант 3А для Д3-28". Запуск: С, S. На предложения в начальном диалоге надо отвечать нажатием ПС на клавиатуре терминала. Затем... см. описание этого Бэйсика; хорошая программа для начальных опытов с комплексом "машинка+ терминал".

https://yadi.sk/i/YZUnYhJ53WNaaC
Fortran-5m_KP-138177_N-10414__dat.txt - "Fortran-5M для Д3-28". Запуск: С, "треугольник" и ещё раз "треугольник". После вывода на экран "R" нажать русскую Т для работы с транслятором (либо нажать русскую З для изменения заданных по умолчанию параметров). Затем... см. описание для "Fortran-5M"; программа оч. хорошая, система программирования, позволяющая формировать библиотеки записей пользовательских фортран-программок на МЛ.
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Хорошо, я сделаю WAVы при разных сетках — здесь опубликую.

Только у меня есть ещё одно предложение: я хотел бы до конца разобраться с вопросом, нужно ли вообще делать "введение нулевого уровня" перед началом модуляции.
Здесь "нулевой уровень" означает "логический нуль", т.е. потенциал у него (-Um) на самом деле, а не (0).

На Ваших графиках я заметил (если я не ошибаюсь), что, вроде как, де-факто сигнал на аудио-выходе компьютера перед самым первым импульсом по-любому имеет уровень (0), но никак не (-Um).
То есть, хоть я и ввожу уровень "логического нуля", но на самом деле потенциал к уровню (-Um) не доходит.
// я так понимаю, это объясняется тем, что аудио-выход компьютера имеет где-то в себе фильтр ВЧ, который срезает постоянную составляющую

В общем, надо мне как-то свою Д3-28 завести. Дальше без машинки двигаться некуда, а остальные энтузиасты тут, похоже, все в режиме "read only"... :)
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
xoiss написал:
[q]
// я так понимаю, это объясняется тем, что аудио-выход компьютера имеет где-то в себе фильтр ВЧ, который срезает постоянную составляющую
[/q]
Наверное да. Это подтверждается тестом без магнитофона: сделал несколько wav-файлов с синусоидами разной частоты с одинаковой амплитудой, с длительностью две секунды, и вот как выглядит их амплитуда на записи с выхода программного проигрывателя в компе (в записи 1 только половина периода синусоиды умещается в двух секундах):

https://yadi.sk/i/yUw-4T8U3WRZih
(test-4_no_mag.jpg)


xoiss написал:
[q]
я хотел бы до конца разобраться с вопросом, нужно ли вообще делать "введение нулевого уровня" перед началом модуляции.
[/q]
Возможно не повредит коротенькое введение, чтобы избежать "щелчка" перед началом сигнала. В противном случае, вдруг машина будет как-то плохо реагировать на щелчок (сразу впадать в состояние "ошибка чтения с магнитофона")? Но вообще-то не знаю, страшен ли щелчок. В оцифровках реальных записей часто видны щелчки перед началом файлов, и вроде ничего - машина ведь как-то читала эти записи.


xoiss написал:
[q]
В общем, надо мне как-то свою Д3-28 завести.
[/q]
Это было бы здорово. Тогда можно было бы её работу хорошенько поисследовать :)
Eats
Newbie


Откуда: Saint-Petersburg
Всего сообщений: 47
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 апр. 2009
Sinus написал:
[q]
xoiss написал:
[q]
// я так понимаю, это объясняется тем, что аудио-выход компьютера имеет где-то в себе фильтр ВЧ, который срезает постоянную составляющую
[/q]
Наверное да. Это подтверждается тестом без магнитофона:
[/q]
Блин, ребята, вы тут, похоже, изобретаете велосипед... Да ведь уже лет 100 (или поболее того) известно, что звук не содержит постоянной составляющей. И хотя записать её на ленту возможно, однако невозможно воспроизвести, поэтому никто и не делает лишней работы: ни один магнитофон не пишет постоянную составляющую на ленту. Также и звуковые карты принудительно отсекают её как в АЦП, так и в ЦАПе. Я бы мог ещё много чего понарассказывать про это дело, но топтать клаву, не зная, поймёте ли вы всё из сказанного мною или не всё, мне несколько лень, а вот живьём я бы мог это рассказать и тут же ответить на всякие возникающие по ходу дела вопросы. Надо просто организовать какую-нибудь невиртуальную тусовку!
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
... а может, нам нравится велосипеды изобретать
<<Назад  Вперед>> Страницы: 1 2 * 3
Печать
Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Свисток для Д3-28
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS