1

Тема: Playing music through the speaker

В этом примере происходит проигрывание мелодии с помощью встроенного спикера ПК
Нажимайте клавишу ENTER, чтобы повторить проигрывание снова.
Исходный код:

program Speaker;

uses
  KolibriOS, CRT;

const
// D - delay[1..128]; F - frequency; 0 - end of data
  PlayData: array [0..26] of packed record D: Byte; F: Word end =
         ((D:5;  F:330), (D:5;  F:294), (D:5;  F:262), (D:5; F:294), (D:5;  F:330),
          (D:5;  F:330), (D:10; F:330), (D:5;  F:294), (D:5; F:294), (D:10; F:294),
          (D:5;  F:330), (D:5;  F:392), (D:10; F:392), (D:5; F:330), (D:5;  F:294),
          (D:5;  F:262), (D:5;  F:294), (D:5;  F:330), (D:5; F:330), (D:5;  F:330),
          (D:5;  F:330), (D:5;  F:294), (D:5;  F:294), (D:5; F:330), (D:5;  F:294),
          (D:20; F:262), (D:0;  F:0));

begin
  InitConsole('Speaker Music');
  repeat
    SpeakerPlay(PlayData);
    WriteLn('Press key <Enter> to play music again');
  until ReadKey <> #13;
end.

Проверял на реальном железе со спикером - всё работает, звук есть.
Сейчас на современных материнских платах спикер может и отсутствовать.
Существуют таблицы соотношения нот и частот, например, на wiki или тут.

Post's attachments

Иконка вложений SpeakerPlay.kex 990 b, 111 скачиваний с 2020-12-01 

2

Re: Playing music through the speaker

Как раз на моей плате i5-4460 спикера нет и проверить невозможно.
Когда собирал игровую пекарню на Pentium-II это было небольшим квестом его найти, в итоге нашел на разборках, куда сдают компьютерный хлам smile

Текущий MidAmp играет через спикер, подождать бы когда кто-то сделает приложение для вывода MIDI на колонки.