Комментарии 67
НЛО прилетело и опубликовало эту надпись здесь
Начиная с 64-битных систем. Там изначально не писали драйвер для работы с микросхемой спикера, потому что это были сперва серверные системы, а потом забили, так как почти любой комп сейчас идет со звуковухой.
Поэтому для 64-битных Windows систем, драйвера сейчас кастомные.
Поэтому для 64-битных Windows систем, драйвера сейчас кастомные.
Трекеры (Scream Tracker, Impulse Tracker) вполне себе умели свои многоголосные модули через PC Speaker проигрывать.
Автор в курсе, читайте дальше, там взаимоисключающие параграфы ;-)
Но в общем и целом автор — красава, тему биппера правильно и всеобъемлюще раскурил, кто пытался писать одноголоску поймёт…
Но в общем и целом автор — красава, тему биппера правильно и всеобъемлюще раскурил, кто пытался писать одноголоску поймёт…
Я в прошлом веке увлекался треккерной музыкой (и у меня до сих пор хранится хорошая коллекция треккерной музыки). Но вроде в ST и IT поддержки PCSpeaker не было. Но Covox я в то время спаял (18 резисторов в корпусе разъема LPT), и он до сих пор у меня хранится в память о тех временах.
Но вроде в ST и IT поддержки PCSpeaker не было.
В ST точно была, я сам проигрывал STM-файлы через спикер. IT через спикер пускать не пробовал, но в его мануале поддержка заявлена.
Covox я в то время спаял
Ох, Совокс да. Вещь. Позволял услышать многое без этих ваших модных адлибов и гусей :)
А мое знакомство с трекерной музыкой началось относительно «недавно», в 1995 году; нашел случайно «непонятные» файлы с разрешением .mod на BBS Белый Медведь (это официальная BBS ZyXel). У меня был 386-й и аудио-карточка ESS, но я помню, что тогда еще были в ходу всевозможные «Микроши», которые модифицировали подобными ЦАПами (Covox).
.mod и что-то вроде .s3, даа…
Есть или была такая музыкальная группа «386 DX» угадайте почему она так называется и на чем исполняла))))
НЛО прилетело и опубликовало эту надпись здесь
У Вашего хорошего знакомого (kakos_nosos) музыка тоже весьма неплоха.
Не, ну супер, и душненько так, в отличии от некоторых…
… а то рисуют, понимаешь квадратные пикселы, пищат типа чиптьюны сэмплированными звуками, но дело не в звуках и путях оных, дело в мозгах не отформатированных ограниченностью средств выражения…
И это не вопль мазохиста, вот живой пример, когда банальные вроде мелодии звучат не банально, НО на том же ютьюбе полно примеров «гениальнейших» аранжировок всякого для симфонического оркестра, без малейшего понимания этого самого оркестра, составляющих его инструментов и их динамики.
… а то рисуют, понимаешь квадратные пикселы, пищат типа чиптьюны сэмплированными звуками, но дело не в звуках и путях оных, дело в мозгах не отформатированных ограниченностью средств выражения…
И это не вопль мазохиста, вот живой пример, когда банальные вроде мелодии звучат не банально, НО на том же ютьюбе полно примеров «гениальнейших» аранжировок всякого для симфонического оркестра, без малейшего понимания этого самого оркестра, составляющих его инструментов и их динамики.
Сразу вспомнился спектрумовский Wham!
Неее, там ужо была другая песня, там две ноты вполне себе звучали, ну или эффект ;-)
Я и сам мучил Wham, знаю, но тут автор работает в более экстремальном стиле, тут никаких вч дёрганий таймера и хитрых комбинаций…
Я и сам мучил Wham, знаю, но тут автор работает в более экстремальном стиле, тут никаких вч дёрганий таймера и хитрых комбинаций…
С него я когда-то начинал, если не считать набора серий BEEP'ов в Бейсике вслепую, за отсутствием телевизора. В Wham было два канала, и при креативном использовании это давало подобие двух уровней громкости. Можно делать довольно прикольное эхо.
Вообще, под windows 3.11, а потом и 95 существовал драйвер, который превращал спикер в звуковую карту, и вполне сносно играл музыку. Я сам программировал спикер под ДОС, и прекрасно представляю как он устроен, но я пользовался сам этим драйвером и он был не так уж и плох. Да, громкость не менял, но отсутствие звука или такой — разница пропасть.
P.S. Пруфы remember.the-aero.org/speaker/index.htm
P.S. Пруфы remember.the-aero.org/speaker/index.htm
Был такой, но про «вполне сносно» и «музыку» это слишком, системные звуки винды озвучивать ещё куда не шло, но музыку…
… он-же конкретно так тормозил систему когда «звучал»
ps.они родимыя!
… он-же конкретно так тормозил систему когда «звучал»
ps.они родимыя!
Ну… Тормозил, кстати, не драйвер, а просто сама система не тянула :).
Ну я помню, что использовал его даже в играх. Лучше, чем ничего.
Я всё это к тому написал, что на писиспикере даже речь можно выводить. Тогда читалка была, я использовал.
Ну я помню, что использовал его даже в играх. Лучше, чем ничего.
Я всё это к тому написал, что на писиспикере даже речь можно выводить. Тогда читалка была, я использовал.
Ещё-бы она тянула, то-ж не в ковокс байт переслать ;-) да и что-бы вавку проиграть, её надо было ещё с диска зачитать, а тут уже полная шляпа…
… а так-то да, говорить и песни петь мы ещё на Спектрумах научились, а на письке-то фаст трэкер и каналов до фига, но
Автор он совсем не об этом, тут реальная музыка написана специально под один канал, без каких-либо извращений, так-то это вполне могла-бы сыграть какая-нибудь робоволынка, а точнее роботромбон!
… а так-то да, говорить и песни петь мы ещё на Спектрумах научились, а на письке-то фаст трэкер и каналов до фига, но
Автор он совсем не об этом, тут реальная музыка написана специально под один канал, без каких-либо извращений, так-то это вполне могла-бы сыграть какая-нибудь робоволынка, а точнее роботромбон!
Я всё это к тому написал, что на писиспикере даже речь можно выводить. Тогда читалка была, я использовал.
Было дело, сам писал проигрыватель WAV на спикере. Речь (записанная со звуковой карты) была вполне разборчива.
А какой алгоритм, можно на пальцах. Я понимаю про ШИМ, и что можно им играться, но как? :)
Я просто менял высоту звука на 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;
Интерапт вызывался тысячи раз в секунду.
Даже музыка игралась неплохо.
Для речи оказалось достаточно менять состояние динамика в момент изменения знака при переходе к следующему значению амплитуды.
Примерно так, как в этой статье
https://habr.com/ru/post/138144/
только без линуксовых особенностей.
Только в порт вроде выводил ассемблерной вставкой.
Я упоминал в статье более ранний драйвер для DOS, превращающий спикер в Sound Blaster (только для цифровых каналов, без FM): github.com/volkertb/temu-vsb
Понятно, что проигрывание оцифровок через спикер впечатляет больше, но технически оно делается относительно несложно, а с точки зрения современного музыканта не очень интересно. Сэмплы и сэмплы, они всюду звучат плюс-минус одинаково. Практически на каждом 8-битном компьютере была хотя бы пара музыкальных редакторов, играющих 3-4 канала сэмплов (за счёт 100% загрузки процессора). То, что можно играть цифровой звук на самых простых и слабых машинах — доказано в начале 80-х, и с тех пор вопрос в общем-то исчерпан. Можно ли на одном канале самого примитивного аппаратного синтезатора играть что-то более-менее интересное — вопрос оставался открытым, т.к. исторически толком не было причин этим заниматься. К моменту, когда игры в принципе обзавелись адекватной музыкой, PC уже оброс разнообразными звуковыми картами.
Понятно, что проигрывание оцифровок через спикер впечатляет больше, но технически оно делается относительно несложно, а с точки зрения современного музыканта не очень интересно. Сэмплы и сэмплы, они всюду звучат плюс-минус одинаково. Практически на каждом 8-битном компьютере была хотя бы пара музыкальных редакторов, играющих 3-4 канала сэмплов (за счёт 100% загрузки процессора). То, что можно играть цифровой звук на самых простых и слабых машинах — доказано в начале 80-х, и с тех пор вопрос в общем-то исчерпан. Можно ли на одном канале самого примитивного аппаратного синтезатора играть что-то более-менее интересное — вопрос оставался открытым, т.к. исторически толком не было причин этим заниматься. К моменту, когда игры в принципе обзавелись адекватной музыкой, PC уже оброс разнообразными звуковыми картами.
Можете пояснить для немузыканта, в чём разница между подходом описанным в статье и превращением спикера в Sound Blaster?
В общем-то в статье это упоминается.
Спикер — простейший синтезатор, работающий параллельно с процессором, требующий минимального использования процессора и объёмов памяти — обращения 60-120 раз в секунду и единицы-десяток килобайт. Но и звук получается примитивный. Нахождения верхнего предела примитивности — как раз цель всей этой затеи), синтезированный.
Если использовать спикер как ЦАП, он сам уже ничего не делает, всё должен делать процессор. Т.е. 8000-44100 обращений в секунду. Зато играть можно уже что угодно, а не то, что умеет сам спикер. Как правило играли оцифровки реальных звуков, а не программно синтезируемый звук, это также требует довольно много памяти — сотни килобайт.
Если короче: играет сам спикер или играет процессор.
Спикер — простейший синтезатор, работающий параллельно с процессором, требующий минимального использования процессора и объёмов памяти — обращения 60-120 раз в секунду и единицы-десяток килобайт. Но и звук получается примитивный. Нахождения верхнего предела примитивности — как раз цель всей этой затеи), синтезированный.
Если использовать спикер как ЦАП, он сам уже ничего не делает, всё должен делать процессор. Т.е. 8000-44100 обращений в секунду. Зато играть можно уже что угодно, а не то, что умеет сам спикер. Как правило играли оцифровки реальных звуков, а не программно синтезируемый звук, это также требует довольно много памяти — сотни килобайт.
Если короче: играет сам спикер или играет процессор.
Ставил, только он при проигрывании ложил систему так, что больше ничего делать было нельзя.
Теперь понятно откуда во вселенной Звёздных войн (ДДГ от Лукаса) взялся бинарный язык для дроидов :) Видимо в конце 1970-х просто альтернатив адекватных таким пьезоизлучателям небыло просто :)
В видео явно звук записан с эмулятора спискера, скорее всего с вашего же vst плагина, не тру.
Или я ошибаюсь?
Или я ошибаюсь?
PC speaker — это читерство по сравнению с музыкой на floppy, вот уж реальный хардкор:
www.youtube.com/watch?v=j1x4w0ggk34
www.youtube.com/watch?v=j1x4w0ggk34
Хотите хардкора — их есть у меня. www.youtube.com/watch?v=A6gGCLnFvPo
У меня вариант ещё хардкорнее. Музыка на pdp-8 за счёт излучения с системной шины.
youtu.be/akvSE5Z474c
youtu.be/akvSE5Z474c
Полный зачёт. Но надо заметить, что это, так сказать, 'новодел' — подобный эксперимент (программный многоканальный синтез звука, воспроизведение через наводки на AM-радиоприёмник) впервые сделали ещё на UNIVAC в 1951, и с тех пор повторяли на многих больших и маленьких компьютерах. В том числе и на массовых домашних ZX80/81, у которых не было предусмотрено выхода звука.
Нет уж, воспроизводить с серийного железа чисто софтовым методом через спикер – труёвое тру, а подцеплять шаговые двигатели, и оторванные от платы головки жёстких дисков лапшой ко всяким генераторам и прочим ардуинам, сделанным ради одного проекта – читерство чистой воды. Оно недалеко ушло от втыкания моторчика от игрушки в радиотрансляционную сеть.
Полный кардкор —
youtu.be/G-X-p0C0Uas
youtu.be/G-X-p0C0Uas
Хотелось бы что-то такое, но на производственных станках.
Это уже почти идея вируса типа stux )
Такое есть, сейчас это довольно популярная тема среди обладателей 3D-принтеров и фрезерно-гравировальных станков — музыка в G-коде. Например, www.youtube.com/watch?v=uKCX1CeXIjA
Кто имеет представление о работе пищалки в микроволновых печах? Независимо от стоимости моделей, нет даже элементарной регулировки громкости, назойливый писк разносится по всему дому, будто микроволновые печи имеют наивысший приоритет, никакая другая техника себе такого не позволяет. Почему?
Хм… Разобрать и заклеить пищалку изолентой…
У меня регулируется… правда бинарно — вкл/выкл… ну и обычное состояние — выкл (после пропадания питания — пищит)
Вариант, если хочется чтобы звук был, но потише — как уже предложили — заклеить лучше толстым скотчем… хотя есть риск что там уже заклеено с завода бумажкой с надписью «оторвать если надо погромче»)
Вариант, если хочется чтобы звук был, но потише — как уже предложили — заклеить лучше толстым скотчем… хотя есть риск что там уже заклеено с завода бумажкой с надписью «оторвать если надо погромче»)
Почему-то никто не вспомнил игру «Ворона» с её «Калинкой-малинкой» в рок-обработке, исполнявшейся именно на pc-speaker'е:
www.youtube.com/watch?v=SnOwboZQ_sM
www.youtube.com/watch?v=SnOwboZQ_sM
IMHO одним из первых веяний подобного рода, все-таки издевательтсво в спектруме с однобитным «спикером» на 3.25mhz (А даже поиск был уже 5 mHz)
И шедевр 87 года из Chronos: Tapestry of Time by Tim Follin:
www.youtube.com/watch?v=81v3gICRJqo
И шедевр 87 года из Chronos: Tapestry of Time by Tim Follin:
www.youtube.com/watch?v=81v3gICRJqo
На самом деле первые эксперименты с компьютерной музыкой и однобитным звуком уходят корнями к истокам вычислительной техники в целом. Уже в 50-х была многоканальная однобитная музыка. В 80-х же произошёл важный качественный скачок, в компьютерной музыке в целом (и Фоллин сделал весомый вклад) — музыка перешла от простых адаптаций классических и популярных произведений к оригинальным композициям, сначала простым и наивным, но потом действительно мастерским и художественно состоятельным (как музыка в Chronos).
А дело Фоллина в области издевательств над бипером Спектрума мы успешно продолжили, в 2010-х из него на тех же 3.5 МГц было выжато невообразимое по меркам 80-х — и 8-16 каналов, и громкости, и разные сложные тембры, и сэмплы, и синусоида с пилой и треугольником, и Карплус-Стронг. И, наверное, это ещё не предел.
А дело Фоллина в области издевательств над бипером Спектрума мы успешно продолжили, в 2010-х из него на тех же 3.5 МГц было выжато невообразимое по меркам 80-х — и 8-16 каналов, и громкости, и разные сложные тембры, и сэмплы, и синусоида с пилой и треугольником, и Карплус-Стронг. И, наверное, это ещё не предел.
А какие файлы можно послушать в 8-16 каналов на бипере?
Сейчас их трудновато искать, т.к. никто нормально не коллекционировал, а мелкие сайты энтузиастов относительно быстро исчезают. В 8 каналах много писал Mister Beep, один из его больших альбомов вот тут (в интро играет AY, дальше 8-канальный движок; ссылка на файл в описании видео). Есть много разрозненных треков, искать можно по mister beep, 8 channels, zx-7, octode (последние два слова — названия 8-канальных движков).
Под 16-канальный движок не было сделано специального редактора, был довольно странный конвертер из MIDI, поэтому мало кто им пользовался, и редкие треки можно слышать в трибьюте его автору (он звучит, когда снизу указано ZX-16, пять треков из семи).
Под 16-канальный движок не было сделано специального редактора, был довольно странный конвертер из MIDI, поэтому мало кто им пользовался, и редкие треки можно слышать в трибьюте его автору (он звучит, когда снизу указано ZX-16, пять треков из семи).
Тут недавно в статье вспоминали интернет и компьютеры 90-х. Мне вспомнился резидент для DOS, который вешался на обработчик ошибок (например не читается дискета) и через системный спикер реагировал фразой «ой б$яяя» ))) Программисты в НИИ тогда развлекались.
Рекомендую сделать звук потише ;)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
На что способен PC Speaker