Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > работа с beep()


Автор: maxkap 26.5.2009, 01:31
короче такая беда:
пишу небольшую игрушку типа "побег из тюрьмы"
для прикола хочу добавить "Мурку" из системного динамика.
если можно киньте  ссылочки какие то, ну или в идеале код.
(в гугл писал, он ничего не ответил).

Автор: 586 26.5.2009, 07:37
Beep(440, 100);
440 -- частота
100 -- длительность (миллисекунды)

У ноты "Ля", например, частота 440 Гц.

Автор: maxkap 30.5.2009, 21:39
да это то я знаю.......
но может кто-то знает какой-то сайт с такими мелодиями ?

и еще вопрос:
как мне сделать так что б можно было играть и параллельно воспроизводилась музыка из сис. динамика? smile 

Автор: A5uKa 30.5.2009, 23:38
Цитата

сайт с такими мелодиями


user posted image
 smile 

Цитата

как мне сделать так что б можно было играть и параллельно воспроизводилась музыка из сис. динамика?


думаю потоки... new thread...  smile 

п.с. выложи код мелодии как закончишь  smile 

Автор: maxkap 31.5.2009, 16:01
 smile 
мама родная!!!
как же мне эту хрень в бипер переводить...............
да я еще и частоты нот не знаю, да и вообще и обозначения нот для меня далекое дело.....
ну продолжу поиск, как разберусь обязательно выложу!

Автор: Dmi3ev 31.5.2009, 16:38
Цитата

да я еще и частоты нот не знаю, да и вообще и обозначения нот для меня далекое дело.....

http://svv.on.ufanet.ru/notes.htm
у меня есть прога для новичков в гитаре, там вполне подробно рассказывается о нотах и объединении их в аккорды, если надо, то пиши в личку, кину на мыло...

Автор: A5uKa 31.5.2009, 16:57
П.с. smile советую новый тип ввести до ре и тд )
П.с.с. думаю тут не одна октава + ещё чёрные кнопки и педаль , но точно не знаю
П.с.с.с. жаль что update-ы сломали мне 6илдер :(

 smile 
скажите как его чинить ? можно-ли от старой rtl120.bpl впихнуть в систему ?

Автор: Dmi3ev 31.5.2009, 17:24
для прикола набросал начало елочки... строго не судить... никакие частоты я не знаю...
просто взял тюнер в руки, взял гитару, сыграл елочку и все (потом просто посмотрел, что выдает тюнер)...
слушай, мне эта штука понравилась, поэтому мурку я сделаю, только попозже немного, может завтра...
Код

Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
Beep(247, 500);
Beep(247, 500);


Добавлено через 3 минуты и 19 секунд
думаю смогу подобрать моно версию мурки ))) попробую, думаю, получится ))) идея понравилась, честно говоря, первый раз такое делаю... весело, а то все на гитаре, да на гитаре, а на системном динамике играть тоже надо уметь )))

Автор: Dmi3ev 31.5.2009, 17:47
Код

Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
Beep(247, 500);
Beep(247, 500);
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(497, 500);
Beep(497, 500);
Beep(277, 500);
Beep(277, 500);
Beep(440, 500);
Beep(440, 500);
Beep(417, 500);
Beep(370, 500);
Beep(329, 500);
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);

вот полная елочка, можно подрихтовать немного, но вполне нормальный набросок...

Добавлено @ 17:47
потом добавить повторение последнего куска, а потом это все зациклить и все готово, будет играть...

Добавлено @ 17:49
если что-то не так, то извиняйте, гитару специально не настраивал, это все она виновата  smile 
ну чего? прикольно получилось???  smile 

Автор: AngelDominantes 31.5.2009, 21:14
Отлично получилось) но вот в момент когда пается: . . .В лесу она росла. Зимой и летом стройная . . .небольшой косяк) а так понравилось

Автор: Dmi3ev 31.5.2009, 22:16
Цитата

Отлично получилось) но вот в момент когда пается: . . .В лесу она росла. Зимой и летом стройная . . .небольшой косяк) а так понравилось

да, сам заметил, исправил, нужно паузу добавить, вот код:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
Beep(247, 500);
Beep(247, 500);


Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(497, 500);

Sleep(500);

Beep(497, 500);
Beep(277, 500);
Beep(277, 500);
Beep(440, 500);
Beep(440, 500);
Beep(417, 500);
Beep(370, 500);
Beep(329, 500);

Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
}

так вроде нормально...

Добавлено через 2 минуты и 8 секунд
прикольная тема, не задумывался об игре с помощью системного динамика, мне понравилось... сама идея, ясно, что можно записать любую музыку и воспроизводить мр3 или еще что, но так как-то прикольно получается... меня порадовала идея, зацепила так сказать... не знаю почему, поэтому прошу не обращать внимания на количество постов в этой теме, просто порадовало... что сделаешь...

Добавлено через 5 минут и 25 секунд
я понял, что это мне напомнило... есть музыкальные кружки, поднимаешь ее и музыка начинает играть, ставишь, музыки нет... так вот, не знаю как сейчас, но когда они только появились, музыка была точно такая же, как с помощью динамика когда делаешь...

Автор: Dmi3ev 31.5.2009, 22:54
Код

Beep(163, 500);
Sleep(100);
Beep(163, 500);
Beep(154, 500);
Beep(163, 500);
Beep(173, 500);
Beep(163, 500);
Sleep(200);

Beep(146, 500);
Beep(130, 500);
Beep(122, 500);
Beep(130, 500);
Beep(122, 500);
Beep(219, 500);
Sleep(200);

Beep(219, 500);
Sleep(100);
Beep(219, 500);
Beep(208, 500);
Beep(219, 500);
Beep(247, 500);
Beep(219, 500);
Beep(208, 500);
Beep(219, 500);
Beep(247, 500);
Sleep(200);

Beep(262, 500);
Beep(246, 500);
Beep(219, 500);
Beep(208, 500);
Beep(247, 500);
Beep(219, 500);
Sleep(100);
Beep(219, 500);
Beep(247, 500);
Beep(173, 500);
Beep(163, 500);
Beep(247, 500);
Beep(173, 500);
Sleep(100);

Beep(163, 500);
Beep(163, 500);
Beep(194, 500);
Beep(173, 500);
Beep(163, 500);
Beep(145, 500);
Beep(130, 500);
Beep(123, 500);
Beep(110, 500);

вот мурка, тоже есть пару косяков, первую часть старался, вторую лень было делать хорошо, но вполне покатит...
слушайте! вроде нормально... можно уловить мелодию!

Автор: Dmi3ev 31.5.2009, 23:40
Хочешь модный рингтон на свой PC? Отправь смс со словом BeepDmi3ev на номер 4342 и наслаждайся нереальным качеством звука  smile 
стоимость услуги 256 рублей без НДС. Для граждан Вьетнама скидки. Для граждан Аргентины ваще бесплатно.


 smile  smile  smile 

Автор: AngelDominantes 1.6.2009, 02:00
http://imgfiles.ru/i/?769665295718b238f1bd82cc240f672d

Ыч )

Автор: Dmi3ev 1.6.2009, 02:02
Цитата

user posted image

Ыч ) 

чЯво?

Автор: Dmi3ev 1.6.2009, 14:25
AngelDominantes, уже пиратские копии сделал  smile как быстро работают эти воротилы пиратского бизнеса...  smile 

Автор: A5uKa 1.6.2009, 15:19
хаха ))) а где ссылка "Качать" , нафига мне кнопки на рисунке smile Они не тыкаются

Автор: Dmi3ev 1.6.2009, 15:54
Цитата

хаха ))) а где ссылка "Качать" , нафига мне кнопки на рисунке smile Они не тыкаются 

Ссылка появится только после отправки смс   smile 
Вот Ёлочка лучше получилась гораздо, чем Мурка... может попробую еще моно вариант подобрать потом, пока надоело ))) не задумывался, что так легко и просто можно играть на системном динамике, 5 минут и мелодия готова... ваще круто, меня порадовала сама идея... спасибо автору темы...

Автор: A5uKa 1.6.2009, 17:20
Dmi3ev опиши как ты это быстро делаешь )  у меня пара других идей есть 

п.с. что будет если запустить 2 одновременно :/

Автор: Dmi3ev 1.6.2009, 18:22
Цитата

Dmi3ev опиши как ты это быстро делаешь )  у меня пара других идей есть 

п.с. что будет если запустить 2 одновременно :/

я делаю это так
1) беру в руки гитару
2) открываю на компе прогу тюнер Музлэнда, самый хороший гитарный и бесплатный тюнер... с сайта Музлэнда
3) дальше начинаю играть мелодию на гитаре (по нотам, но можно и по табам, если с нотами туго), только после каждой сыгранной струны смотрю, что показывает тюнер (частоту) и записываю в столбик на бумажке
4) при этом примерно расставляю паузы
5) записываю это все программно
хотя есть идея создать программу, где уже будут заложены частоты каждой струны на каждом ладу, так будет быстрее... она будет генерить файл, который просто потом надо будет вставить на событие формы или еще на что-нибудь...
я делаю это вот так, и ёлочка очень даже получилась, больше старался, а вторую мелодию примерно сделал, потому как лень уже было...

Автор: A5uKa 1.6.2009, 18:41
Цитата

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


Давай  smile 

этого ещё не было

Автор: KostX 1.4.2012, 11:37
Кому мож пригодится. Себе как-то набрал частоты нот в переменные. Так проще писать и переводить ноты в beep. Вот, делюсь=)

Автор: KostX 1.4.2012, 11:38
Пример использования:

Код

Beep(A_4, Speed);
     Beep(Cd5, Speed);
     Beep(Fd4, Speed);
     Beep(Cd5, Speed);
     Beep(A_4, Speed);
     Beep(Cd5, Speed);
     Beep(Fd4, Speed);
     Beep(Cd5, Speed);


     Beep(H_4, Speed);
     Beep(Dd5, Speed);
     Beep(Gd4, Speed);
     Beep(Dd5, Speed);
     Beep(H_4, Speed);
     Beep(Dd5, Speed);
     Beep(Gd4, Speed);
     Beep(Dd5, Speed);

     Beep(Cd4, Speed);
     Beep(Fd5, Speed);
     Beep(H_4, Speed);
     Beep(Fd5, Speed);
     Beep(Cd4, Speed);
     Beep(Fd5, Speed);
     Beep(H_4, Speed);
     Beep(Fd5, Speed);
     Beep(Cd4, Speed);
     Beep(Fd5, Speed);
     Beep(H_4, Speed);
     Beep(Fd5, Speed);
     Beep(Cd4, Speed);
     Beep(Fd5, Speed);
     Beep(H_4, Speed);
     Beep(Fd5, Speed);

Автор: KostX 1.4.2012, 11:45
А кто-нибудь знает, как программно включить динамик? Виндой, через некоторое время звук выключается, если музыка не играет (звуки не воспроизводятся). Так вот. У меня такой прикол: Если щелкнуть папку, или музыку включить - то звук в моей программе работает. А через несколько секунд винда выключает колонки (как звук исчезнет), а моим Beep()'ом звук не включаются. По-любому есть способ их включить, мож кто подскажет как врубить звук???

Автор: xvr 2.4.2012, 15:27
 smile 
Цитата(KostX @  1.4.2012,  11:45 Найти цитируемый пост)
А кто-нибудь знает, как программно включить динамик?

Неправильно вопрос задаешь - связи с темой нету. Надо так:

Цитата(KostX @  1.4.2012,  11:45 Найти цитируемый пост)
А кто-нибудь знает <beep>, как программно включить этот <beep> динамик? Этой <beep> Виндой, через некоторое время звук выключается на <beep>, если музыка не играет. 

 smile 

PS. Пардон, не удержался.


Автор: KostX 2.4.2012, 15:30
Ты не правильно понял вопрос и не туда подставил <beep>. Это уже моя вина, согласен. под "динамиком" я имел ввиду выход аудиокарты.

ps: уже нашел решение проблемы. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)