На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
В этом разделе можно создавать темы, которые относятся к поколению 32-битных компиляторов.
Здесь решаются вопросы портирования кода из старого доброго Турбо Паскаля в FPC, TMT, VP, GPC компиляторы, а также особенностей программирования на них для Windows/Linux и других ОС.
Указывайте тип компилятора, его версию, а также платформу (Windows/Linux/..) компиляции, другими словами, Target.
Модераторы: volvo877
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> Синтез Midi инструментов
    В свойствах системы диапазон: E400 - E4FF;

    Программа говорит: Base Port: 544;

    В ассемблеровском коде сделал изменения, всё равно молчит. :(
      Ash звук интегрированный? Попробуй старую Dos игруху с FM ... вероятно из DOSа
      тебе до FM не добратся... Посмотри в виновозе настройку громкости FM, если там написано
      типа "SW Syns" значит пи...пиликала гармошка. Тебе одноканальный орган на спикер пойдет?
        Цитата
        Ash звук интегрированный?

        Да.
        Цитата
        Посмотри в виновозе настройку громкости FM, если там написано
        типа "SW Syns" значит пи...пиликала гармошка.


        Там написано програмнный синтезатор.
        А FM(OPL2/OPL3) звукавуха не поддерживает.

        Цитата
        Тебе одноканальный орган на спикер пойдет?

        Эт какой такой?
          Ash
          Значит FM только Виновозе... в DOS облом...

          Одноканальный... эт когда играет одна нота в еденицу времени
          (или проще: нельзя взять аккорд), т.е. прога очень проста...
          На спикере проиграть несколько нот одновременно ну... немного проблематично
          (хотя если выпендрится вполне возможно)
          Тебе сильно позарез надо? Если не секрет, то куда?
            Цитата
            Одноканальный... эт когда играет одна нота в еденицу времени

            Это то я понял.
            Я не понял чё за орган. Эт ты про PC-Speaker, чтоли. Нее..

            Так чё с миди, чё он молчит, не знаешь.
            Цитата
            Тебе сильно позарез надо? Если не секрет, то куда?

            У меня курсовая, виртуальное пианино надо сделать.
              Цитата Ash @
              У меня курсовая, виртуальное пианино надо сделать.

              Универсальных модулей, рассчитаных на разные звуковые карты, нет. Используй Sound() и забудь о всяких FM.
                Несвижский В. - Программирование аппаратных средств в Windows
                Издательство BHV
                Отдельная глава посвящена программированию звуковых карт.
                Вчера видел эту книгу в БиблиоГлобусе. 465 руб. Вроде не плохая книжка.
                  Ash с FM в TP/BP у тебя не получится(или звуковуху надыбай SB/Adlib совместимую)...
                  Раз у тебя прога находит базовый порт, то есть подозрения, что wav проиграть из паскаля
                  можно... Тогда делаешь несколько файлов с записями инструментов и принажатии клавиш
                  в реалтайм микшируешь и выводишь на звуковуху(чистый гемор)

                  Совет достань звуковуху...
                    А с midi чё?
                      Ash MIDI (или FM) у тебя программный под Win, т.е. в DOS через порты
                      тебе не дотянутся...

                      Вобщем либо звуковуху ставь... либо под Win пиши...
                        Цитата hot_icer @
                        Вобщем либо звуковуху ставь... либо под Win пиши...

                        Под вин на TP?
                        Сообщение отредактировано: Ash -
                          Цитата Ash @
                          Под вин на TP?
                          Нет, можно только в BP7.
                          Неужели такие дикие ограничения в компиляторах? Free Pascal не подойдёт?
                            Цитата Romtek @
                            Неужели такие дикие ограничения в компиляторах? Free Pascal не подойдёт?

                            В том то и дело что ограничения дикие. Всё надо сделать в BP/TP.

                            Так кто нибудь подскажет как, звуки midi под винду спеть? Пожайлусто, очень надо.
                              Копай инфу в сторону MMsystem (в стандартной поставке Borland Pascal 7.0) и процедуры mciSendCommand, mciSendString

                              Вот пример для Дельфи (мною не проверялся):
                              ExpandedWrap disabled
                                uses  
                                  MMSystem;  
                                 
                                // Play Midi  
                                procedure Play;  
                                const  
                                  FileName = 'C:\YourFile.mid';  
                                begin  
                                  MCISendString(PChar('play ' + FileName), nil, 0, 0);  
                                end;  
                                 
                                // Stop Midi  
                                procedure Stop;  
                                const  
                                  FileName = 'C:\YourFile.mid';  
                                begin  
                                  MCISendString(PChar('stop ' + FileName), nil, 0, 0);  
                                end;


                              Вот ещё:
                              ExpandedWrap disabled
                                procedure TForm1.PlayClick(Sender: TObject);
                                const
                                  midi='D:\MUSIC\Midi\tp.mid';
                                begin
                                     mcisendstring(PChar('open '+midi+' type sequencer alias MIDIDemo'),0,0,Handle);
                                     mcisendstring('play MidiDemo FROM 0',0,0,Handle);
                                end;
                                 
                                procedure TForm1.StopClick(Sender: TObject);
                                begin
                                     mcisendstring('stop MidiDemo',0,0,0);
                                end;

                              С WinAPI, по идее, не должно быть проблем. Даже с Борланд Паскалем.
                              Сообщение отредактировано: Romtek -
                                Оказалось, что можно и FPC использовать, кто что посоветует. Нужно звук издать при нажатии на клавишу.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 [2] 3 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0401 ]   [ 17 queries used ]   [ Generated: 19.03.24, 11:13 GMT ]