Assembler
Demoscene
Sound
Abnormal programming
Old hardware
Comments 63
UFO landed and left these words here
+1
Начиная с 64-битных систем. Там изначально не писали драйвер для работы с микросхемой спикера, потому что это были сперва серверные системы, а потом забили, так как почти любой комп сейчас идет со звуковухой.

Поэтому для 64-битных Windows систем, драйвера сейчас кастомные.
0
Хммм, у меня (10, 64 бита) есть драйвер «Встроенный динамик» с диапазоном портов 61 (вроде то, что нужно). Это тупо болванка тогда?
0
Лицензионка или дистрибутив с торрента с предустановленными «фичами»?
0
Лицензия.
Прямо ща на работе (тоже лицензия)

Ну и сам себе отвечу: да, походу болванка.

+7
Трекеры (Scream Tracker, Impulse Tracker) вполне себе умели свои многоголосные модули через PC Speaker проигрывать.
+2
Автор в курсе, читайте дальше, там взаимоисключающие параграфы ;-)
Но в общем и целом автор — красава, тему биппера правильно и всеобъемлюще раскурил, кто пытался писать одноголоску поймёт…
0
Я в прошлом веке увлекался треккерной музыкой (и у меня до сих пор хранится хорошая коллекция треккерной музыки). Но вроде в ST и IT поддержки PCSpeaker не было. Но Covox я в то время спаял (18 резисторов в корпусе разъема LPT), и он до сих пор у меня хранится в память о тех временах.
+1
Но вроде в ST и IT поддержки PCSpeaker не было.

В ST точно была, я сам проигрывал STM-файлы через спикер. IT через спикер пускать не пробовал, но в его мануале поддержка заявлена.
Covox я в то время спаял

Ох, Совокс да. Вещь. Позволял услышать многое без этих ваших модных адлибов и гусей :)
0
А мое знакомство с трекерной музыкой началось относительно «недавно», в 1995 году; нашел случайно «непонятные» файлы с разрешением .mod на BBS Белый Медведь (это официальная BBS ZyXel). У меня был 386-й и аудио-карточка ESS, но я помню, что тогда еще были в ходу всевозможные «Микроши», которые модифицировали подобными ЦАПами (Covox).
0
STM и S3M — это Scream Tracker (первый-второй и третий). По неизвестной мне причине в 90-х STM файлы у нас встречались чаще классических MOD-файлов, хотя в целом формат до появления S3M, который поддержали во многих трекерах, вроде был не очень популярен.
0
Есть или была такая музыкальная группа «386 DX» угадайте почему она так называется и на чем исполняла))))
-1
Не, ну супер, и душненько так, в отличии от некоторых…
… а то рисуют, понимаешь квадратные пикселы, пищат типа чиптьюны сэмплированными звуками, но дело не в звуках и путях оных, дело в мозгах не отформатированных ограниченностью средств выражения…
И это не вопль мазохиста, вот живой пример, когда банальные вроде мелодии звучат не банально, НО на том же ютьюбе полно примеров «гениальнейших» аранжировок всякого для симфонического оркестра, без малейшего понимания этого самого оркестра, составляющих его инструментов и их динамики.
0
Неее, там ужо была другая песня, там две ноты вполне себе звучали, ну или эффект ;-)
Я и сам мучил Wham, знаю, но тут автор работает в более экстремальном стиле, тут никаких вч дёрганий таймера и хитрых комбинаций…
+1
С него я когда-то начинал, если не считать набора серий BEEP'ов в Бейсике вслепую, за отсутствием телевизора. В Wham было два канала, и при креативном использовании это давало подобие двух уровней громкости. Можно делать довольно прикольное эхо.
+3

Я думал я один такой, кто так делал со Спектрум, когда сломался телевизор )

+3
Вообще, под windows 3.11, а потом и 95 существовал драйвер, который превращал спикер в звуковую карту, и вполне сносно играл музыку. Я сам программировал спикер под ДОС, и прекрасно представляю как он устроен, но я пользовался сам этим драйвером и он был не так уж и плох. Да, громкость не менял, но отсутствие звука или такой — разница пропасть.

P.S. Пруфы remember.the-aero.org/speaker/index.htm
+4
Был такой, но про «вполне сносно» и «музыку» это слишком, системные звуки винды озвучивать ещё куда не шло, но музыку…
… он-же конкретно так тормозил систему когда «звучал»

ps.они родимыя!
0
Ну… Тормозил, кстати, не драйвер, а просто сама система не тянула :).

Ну я помню, что использовал его даже в играх. Лучше, чем ничего.

Я всё это к тому написал, что на писиспикере даже речь можно выводить. Тогда читалка была, я использовал.
+2
Ещё-бы она тянула, то-ж не в ковокс байт переслать ;-) да и что-бы вавку проиграть, её надо было ещё с диска зачитать, а тут уже полная шляпа…
… а так-то да, говорить и песни петь мы ещё на Спектрумах научились, а на письке-то фаст трэкер и каналов до фига, но
Автор он совсем не об этом, тут реальная музыка написана специально под один канал, без каких-либо извращений, так-то это вполне могла-бы сыграть какая-нибудь робоволынка, а точнее роботромбон!
+1
Я всё это к тому написал, что на писиспикере даже речь можно выводить. Тогда читалка была, я использовал.

Было дело, сам писал проигрыватель WAV на спикере. Речь (записанная со звуковой карты) была вполне разборчива.

0
А какой алгоритм, можно на пальцах. Я понимаю про ШИМ, и что можно им играться, но как? :)
+1
Я просто менял высоту звука на 42h порту:
Procedure PCIRQ; Interrupt; Assembler;
Asm
   {Ackknowledge hardware interrupt}
   mov   al,20h
   out   20h,al
   {Out byte to PC speaker}
   mov   es,word ptr [DMA+2]
   mov   di,PCPos
   inc   PCPos
   mov   al,es:[di]
   mul   PCAlign
   mov   al,ah
   inc   al
   out   42h,al
   {Check if buffer is end}
   mov   bx,DMASize
   dec   bx
   mov   dx,bx
   shr   bx,1
   dec   dx
   dec   bx

   cmp   di,dx
   jb    @NoEnd
   mov   PCPos,0
   jmp   @B2
@NoEnd:
   cmp   di,bx
   jnz   @Ende
@B2:
 {Calc next buffer}
   cli
 {Fill DMA buffer}
   call  UpDateDMA
@Ende:
End;

Интерапт вызывался тысячи раз в секунду.
Даже музыка игралась неплохо.
0
Вот бы кто сделал подобный драйвер под современные windows. Я давно об этом мечтаю, чтобы можно было иногда включать музычку через хриплый спикер)
+1

Для речи оказалось достаточно менять состояние динамика в момент изменения знака при переходе к следующему значению амплитуды.


Примерно так, как в этой статье
https://habr.com/ru/post/138144/
только без линуксовых особенностей.
Только в порт вроде выводил ассемблерной вставкой.

+5
Я упоминал в статье более ранний драйвер для DOS, превращающий спикер в Sound Blaster (только для цифровых каналов, без FM): github.com/volkertb/temu-vsb

Понятно, что проигрывание оцифровок через спикер впечатляет больше, но технически оно делается относительно несложно, а с точки зрения современного музыканта не очень интересно. Сэмплы и сэмплы, они всюду звучат плюс-минус одинаково. Практически на каждом 8-битном компьютере была хотя бы пара музыкальных редакторов, играющих 3-4 канала сэмплов (за счёт 100% загрузки процессора). То, что можно играть цифровой звук на самых простых и слабых машинах — доказано в начале 80-х, и с тех пор вопрос в общем-то исчерпан. Можно ли на одном канале самого примитивного аппаратного синтезатора играть что-то более-менее интересное — вопрос оставался открытым, т.к. исторически толком не было причин этим заниматься. К моменту, когда игры в принципе обзавелись адекватной музыкой, PC уже оброс разнообразными звуковыми картами.
0
Можете пояснить для немузыканта, в чём разница между подходом описанным в статье и превращением спикера в Sound Blaster?
0
В общем-то в статье это упоминается.

Спикер — простейший синтезатор, работающий параллельно с процессором, требующий минимального использования процессора и объёмов памяти — обращения 60-120 раз в секунду и единицы-десяток килобайт. Но и звук получается примитивный. Нахождения верхнего предела примитивности — как раз цель всей этой затеи), синтезированный.

Если использовать спикер как ЦАП, он сам уже ничего не делает, всё должен делать процессор. Т.е. 8000-44100 обращений в секунду. Зато играть можно уже что угодно, а не то, что умеет сам спикер. Как правило играли оцифровки реальных звуков, а не программно синтезируемый звук, это также требует довольно много памяти — сотни килобайт.

Если короче: играет сам спикер или играет процессор.
0
Ставил, только он при проигрывании ложил систему так, что больше ничего делать было нельзя.
0
Теперь понятно откуда во вселенной Звёздных войн (ДДГ от Лукаса) взялся бинарный язык для дроидов :) Видимо в конце 1970-х просто альтернатив адекватных таким пьезоизлучателям небыло просто :)
-2
В видео явно звук записан с эмулятора спискера, скорее всего с вашего же vst плагина, не тру.
Или я ошибаюсь?
+7
Звук в видео записан с ноутбука из видео микрофоном камеры. В записи слышен шум в комнате. Интересно, какова была бы логика — покупать древний ноутбук, напрягаться с записью на видеокамеру (это было совсем не просто), но брать звук с эмулятора?
+2
Полный зачёт. Но надо заметить, что это, так сказать, 'новодел' — подобный эксперимент (программный многоканальный синтез звука, воспроизведение через наводки на AM-радиоприёмник) впервые сделали ещё на UNIVAC в 1951, и с тех пор повторяли на многих больших и маленьких компьютерах. В том числе и на массовых домашних ZX80/81, у которых не было предусмотрено выхода звука.
+1
Новодел на оригинальном софте 1975 года? На компьютере 1971 года выпуска? :-) Ну не 1951 конечно, но как то коробит от слова новодел…
+1
Нет уж, воспроизводить с серийного железа чисто софтовым методом через спикер – труёвое тру, а подцеплять шаговые двигатели, и оторванные от платы головки жёстких дисков лапшой ко всяким генераторам и прочим ардуинам, сделанным ради одного проекта – читерство чистой воды. Оно недалеко ушло от втыкания моторчика от игрушки в радиотрансляционную сеть.
0
подцеплять шаговые двигатели, и оторванные от платы головки жёстких дисков лапшой ко всяким генераторам и прочим ардуинам, сделанным ради одного проекта
… это отдельная тема, но ничего этого нет по приведённой мною ссылке.
0
Такое есть, сейчас это довольно популярная тема среди обладателей 3D-принтеров и фрезерно-гравировальных станков — музыка в G-коде. Например, www.youtube.com/watch?v=uKCX1CeXIjA
0

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

0
У меня регулируется… правда бинарно — вкл/выкл… ну и обычное состояние — выкл (после пропадания питания — пищит)

Вариант, если хочется чтобы звук был, но потише — как уже предложили — заклеить лучше толстым скотчем… хотя есть риск что там уже заклеено с завода бумажкой с надписью «оторвать если надо погромче»)
0
IMHO одним из первых веяний подобного рода, все-таки издевательтсво в спектруме с однобитным «спикером» на 3.25mhz (А даже поиск был уже 5 mHz)

И шедевр 87 года из Chronos: Tapestry of Time by Tim Follin:
www.youtube.com/watch?v=81v3gICRJqo
0
На самом деле первые эксперименты с компьютерной музыкой и однобитным звуком уходят корнями к истокам вычислительной техники в целом. Уже в 50-х была многоканальная однобитная музыка. В 80-х же произошёл важный качественный скачок, в компьютерной музыке в целом (и Фоллин сделал весомый вклад) — музыка перешла от простых адаптаций классических и популярных произведений к оригинальным композициям, сначала простым и наивным, но потом действительно мастерским и художественно состоятельным (как музыка в Chronos).

А дело Фоллина в области издевательств над бипером Спектрума мы успешно продолжили, в 2010-х из него на тех же 3.5 МГц было выжато невообразимое по меркам 80-х — и 8-16 каналов, и громкости, и разные сложные тембры, и сэмплы, и синусоида с пилой и треугольником, и Карплус-Стронг. И, наверное, это ещё не предел.
+2
Тут недавно в статье вспоминали интернет и компьютеры 90-х. Мне вспомнился резидент для DOS, который вешался на обработчик ошибок (например не читается дискета) и через системный спикер реагировал фразой «ой б$яяя» ))) Программисты в НИИ тогда развлекались.
Only those users with full accounts are able to leave comments. , please.