информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRыВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Помню на спектруме этим баловались 20.12.02 17:05  Число просмотров: 2028
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Sound(x);
> Включает генератор меандра, выход которого присоединен к
> внутреннему динамику.
> Delay(y);
> Звдержка по времени, аргумент милисекунды.
> Есть еще Nosound(); выключение динамика.
> Генератор один и умеет он воспроизводить звук только одной
> частоты.
> Это однозначный ответ.
> Аккорд можно воспроизвести через звуковую плату, если она
> есть в компьютере. Только вот программировать ее
> значительно тяжелее.
> Есть еще один выход - вручную дергать динамик, но
> воспроизвести нормальный звук еще тяжелее, чем через
> звуковую плату.

Да уж. При этом на спекке умельцы даже громкостью управляли, основываясь на том, что звук включается не ступенькой хевисайдовской, а некоторой гладкой кривой (для простоты брали просто наклонную прямую). И если вырубить динамик до того, как звук достиг максимума, он также плавно пойдет на спад. При удачно подобранных временных задержках вместо меандра получим пилу произвольной громкости и почти произвольной частоты (при увеличении громкости понижается доступная частота).

А по поводу аккорда. При сложении трех функций с периодами (для меандра это как раз и будет частота) f1, f2, f3 получится функция (сложнее меандра) с периодом f1*f2*f3. Вот ее то тебе и надо выводить на динамик. Самому щас выводить лень. Для этого случая можно даже без особых знаний математики с помощью рисунков все нужное найти. Только самому этим заниматься решительно лениво

Только вопрос. Зачем тебе бипер? :-)

> Есть выход достаточно простой - спаять ковокс - ЦАП для
> принтер порта. У меня дома валяяется - могу подарить.
<programming>
[Pascal] Как на паскале запрограммировать аккорд? 20.12.02 15:09  
Автор: VeloCiRaptor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Sound(x);Delay(y); играют одну ноту в один момент.
Мне надо в один момент играть до четырех нот.
Я пробовал через "моментальное перепрыгивание" с ноты на ноту,
но получается лажа.
А вот досовские геймы отлично утверждают, что аккорды идут не только в потоках и такое как-то да и возможно.
Если кто знает, как это осуществить, напишите.
Буду рад получить даже асм-вставки.
Никак - ([pascal] как на паскале запрограммировать аккорд?) 20.12.02 16:28  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Sound(x);
Включает генератор меандра, выход которого присоединен к внутреннему динамику.
Delay(y);
Звдержка по времени, аргумент милисекунды.
Есть еще Nosound(); выключение динамика.
Генератор один и умеет он воспроизводить звук только одной частоты.
Это однозначный ответ.
Аккорд можно воспроизвести через звуковую плату, если она есть в компьютере. Только вот программировать ее значительно тяжелее.
Есть еще один выход - вручную дергать динамик, но воспроизвести нормальный звук еще тяжелее, чем через звуковую плату.
Есть выход достаточно простой - спаять ковокс - ЦАП для принтер порта. У меня дома валяяется - могу подарить.
Помню на спектруме этим баловались 20.12.02 17:05  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Sound(x);
> Включает генератор меандра, выход которого присоединен к
> внутреннему динамику.
> Delay(y);
> Звдержка по времени, аргумент милисекунды.
> Есть еще Nosound(); выключение динамика.
> Генератор один и умеет он воспроизводить звук только одной
> частоты.
> Это однозначный ответ.
> Аккорд можно воспроизвести через звуковую плату, если она
> есть в компьютере. Только вот программировать ее
> значительно тяжелее.
> Есть еще один выход - вручную дергать динамик, но
> воспроизвести нормальный звук еще тяжелее, чем через
> звуковую плату.

Да уж. При этом на спекке умельцы даже громкостью управляли, основываясь на том, что звук включается не ступенькой хевисайдовской, а некоторой гладкой кривой (для простоты брали просто наклонную прямую). И если вырубить динамик до того, как звук достиг максимума, он также плавно пойдет на спад. При удачно подобранных временных задержках вместо меандра получим пилу произвольной громкости и почти произвольной частоты (при увеличении громкости понижается доступная частота).

А по поводу аккорда. При сложении трех функций с периодами (для меандра это как раз и будет частота) f1, f2, f3 получится функция (сложнее меандра) с периодом f1*f2*f3. Вот ее то тебе и надо выводить на динамик. Самому щас выводить лень. Для этого случая можно даже без особых знаний математики с помощью рисунков все нужное найти. Только самому этим заниматься решительно лениво

Только вопрос. Зачем тебе бипер? :-)

> Есть выход достаточно простой - спаять ковокс - ЦАП для
> принтер порта. У меня дома валяяется - могу подарить.
Помню был даже third-party аудиодрайвер для Win9x, который выводил звук на спикер… ;-) Хрипел жутко и тормозил систему во время проигрывания ;-) 21.12.02 10:19  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 21.12.02 10:21  Количество правок: 1
<"чистая" ссылка>
[Pascal] А бипер все-таки нужен 21.12.02 12:03  
Автор: VeloCiRaptor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Паять я ничего не буду, а звук я бы хотел поместить на IBM 80286 без звуковухи. Точно помню что там играло аккорды на бипере(по крайней мере оно так слышалось).
Да и задача интерестная(хотя и не актуальная).
[Pascal] http://www.vcl.ru/html/dos/appar/ch5.htm#ch5_5 — там всё есть. In-line assembler паскаля тоже будет к месту. 22.12.02 22:46  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
[Pascal] Ну там асм код мне понятен 23.12.02 17:47  
Автор: VeloCiRaptor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Единственный вопрос:
Будет ли это пахать под Borland Pascal 7 ?
Так как статья написана для си (об этом мне свидетельствуют инклюды)
А в си я страшный ломак(как не прискорбно).
[Pascal] Под ДОС будет, куда денется... Вообще это ссылка для железячников, и на асме виден принип, какие порты нужно программить и как, чтобы получить звук. Удачи! 24.12.02 07:16  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 24.12.02 12:19  Количество правок: 1
<"чистая" ссылка>
[Pascal] А 61h стандартный регистр? 24.12.02 10:00  
Автор: VeloCiRaptor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Или мне придется "вымучить" бипер на новый?
Я с асм делал вставки только стандартных, чтоб не только на моей АйБиЭмке работало.
Ну, если сам не хочешь найти ответ на свой вопрос, пусть Билл Гейтс тебе поможет (внутри) ;-))) 05.01.03 05:21  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Открываем менеджер устройств в винде. Находим в системных устройствах эдакую штуку под названием «System Speaker». Открываем вкладку ресурсы... Сморим: I/O Range — 0061-0061. Облегчённо вздыхаем. И программируем, программируем, программируем! ;-)))))))))))))
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach