Конференция "Прочее" » Звуки для PC-спикера
 
  • Petr V. Abramov © (23.11.08 03:18) [0]
    Во времена 286-386-х игрушки комповые уже процветали и дурно пахли, а звуковая карта была все же не крутой, но роскошью. И все игрушки поддерживали режим "PC-Speaker" рядом с "SoundBlaster" и фиг его знает чем.
    И комп через голимый PC-speaker умел крякать, пукать, издавать звуки влюбленных пар и ударов по морде, даже говорить человеческим голосом, хоть и сильно электронным. Все это делалось на переключении частота-длительность.
    Может, кто знает, где скачать, или у кого сохранилась (пиво гарантировано) библиотечку разных веселых звуков, пусть в виде asm-программ, но чтоб там в каком-то виде был массив "частота-длительность"
    Нужно для программирования странного девайса, но имеющего спикер и работающего по тому же (как ни странно :) принципу
  • Германн © (23.11.08 05:00) [1]

    > Petr V. Abramov ©   (23.11.08 03:18)  

    Петь. Но ведь раньше (в доисторические времена) не было принято, и не было стандартов на "хранение" звуков в отдельном файле! У меня есть уйма старых игрушек, которые выдают звуки через спикер.
  • Petr V. Abramov © (23.11.08 05:06) [2]

    > У меня есть уйма старых игрушек, которые выдают звуки через
    > спикер


    > Германн ©   (23.11.08 05:00) [1]

    у меня тоже. dosgames.ru :)
    мне пофиг "стандарты", пусть не в mp3. но если есть у кого коллекция, а если кто в инет выложил....
  • Petr V. Abramov © (23.11.08 05:09) [3]

    > не было принято, и не было стандартов на "хранение" звуков
    > в отдельном файле!


    > пусть в виде asm-программ, но чтоб там в каком-то виде был
    > массив "частота-длительность"

    sorry за персонально double
  • Тыщ © (23.11.08 10:32) [4]
    Через спикер можно даже mp3-шки играть (mp3pc.exe).
  • DVM © (23.11.08 11:40) [5]

    > Германн ©   (23.11.08 05:00) [1]


    > Но ведь раньше (в доисторические времена) не было принято,
    >  и не было стандартов на "хранение" звуков в отдельном файле!
    >  

    были, и еще была трекерная музыка с вполне определенными форматами файлов.
  • Dimaxx © (23.11.08 22:36) [6]

    > еще была трекерная музыка с вполне определенными форматами
    > файлов.

    Почему "была"? Она и сейчас есть. А если писалась профессионалами - ваще сказка. Например, музыка в Unreal...
  • DVM © (23.11.08 22:38) [7]

    > ваще сказка

    мне тоже нравится.
  • AndreyV © (23.11.08 22:49) [8]
    Был драйвер под Win3, который имитировал звуковую карту, делаля вывод звука на спикер, хагружая процессор на 100%. Найти вряд ли смогу.

    Если тебе надо просто проиграть, сделай преоразование ИКМ в ШИМ.
  • Petr V. Abramov © (23.11.08 22:54) [9]

    > Если тебе надо просто проиграть, сделай преоразование ИКМ
    > в ШИМ.

    мне не надо играть, мне надо простенькие звуки проиграть на девайсе, к компу отношения не имеющием, но имеющем спикер. И нужна раскладка звуков по "частота-длительность"
  • AndreyV © (24.11.08 02:21) [10]
    > [9] Petr V. Abramov ©   (23.11.08 22:54)
    > мне не надо играть, мне надо простенькие звуки проиграть
    > на девайсе, к компу отношения не имеющием, но имеющем спикер.
    > И нужна раскладка звуков по "частота-длительность"

    1. Звучать будет прямоугольно.
    2. Если тебе нужен произвольный звук - юсай ШИМ, объём памяти если позволит. А если не позволит - совсем просто см. 1.
  • Petr V. Abramov © (24.11.08 05:12) [11]

    > 1. Звучать будет прямоугольно.

    хренсним, мне не битлов играть, а кота, которого за яйца тянут ( без шуток)

    > Если тебе нужен произвольный звук - юсай ШИМ,

    это что?
  • KilkennyCat © (24.11.08 11:11) [12]
    Широтно-Импульсная-Модуляция
  • Anatoly Podgoretsky © (24.11.08 12:19) [13]

    > 2. Если тебе нужен произвольный звук - юсай ШИМ, объём памяти
    > если позволит. А если не позволит - совсем просто см. 1.
    >
    Вообще то
    > И нужна раскладка звуков по "частота-длительность"
    предполагает не использование ШИМ, а именно частота-длительность, как например в электронных звонках.
    В соответствующие годы так таблиц в журналах было много.
    А я в свое время переводил ноты в подобную таблицы, это простая задача. А в некоторых Бейсиках была и функция, которая прямо из нот играла, только ноты в символьной нотации, как A4
    Каждая нота имеет одназначное соответстивие по частоте и длительности.
  • iZEN © (24.11.08 14:22) [14]
    Был драйвер под Win95, который эмулировал звуковую карту и пускал все звуки на спикер.
  • Anatoly Podgoretsky © (24.11.08 14:24) [15]
    > iZEN  (24.11.2008 14:22:14)  [14]

    Не все конечно, а только WAV
  • AlexKniga © (24.11.08 16:23) [16]
    Const HappyBirthDay: Array [1..30] of TFullNote =
         ( (N: Mi1;  D: 2), (N: Mi1;  D: 2), (N: FaD1; D: 1),
    (N: Mi1;  D: 1), (N: La1;  D: 1), (N: SolD1;D: 0.5), (N: Pause; D: 2),
    (N: Mi1;  D: 2), (N: Mi1;  D: 2), (N: FaD1; D: 1),
    (N: Mi1;  D: 1), (N: Si1;  D: 1), (N: La1;  D: 0.5), (N: Pause; D: 2),
    (N: Mi1;  D: 2), (N: Mi1;  D: 2), (N: DoD2; D: 1),
    (N: La1;  D: 1),
    (N: SolD1;D: 2), (N: La1;  D: 2), (N: SolD1;D: 1),
    (N: FaD1; D: 1),          (N: Pause; D: 2),
    (N: Re2;  D: 2), (N: Re2;  D: 2), (N: DoD2; D: 1),
    (N: La1;  D: 1), (N: DoD2; D: 1), (N: Si1;  D: 0.5), (N: Pause; D: 8) );




    Unit Music;
    {--------------------------}Interface
    Procedure Sound (Hz: Word);
    Procedure NoSound;

    Var Duration: Word;
    {Type  TNote=(Pause,
    C1,  Cs1,  D1,  Ds1,  E1,  F1,  Fs1,  G1,  Gs1,  A1,  As1,  B1,
    C2,  Cs2,  D2,  Ds2,  E2,  F2,  Fs2,  G2,  Gs2,  A2,  As2,  B2);}

    Type  TNote=(Pause,
    Do1, DoD1, Re1, ReD1, Mi1, Fa1, FaD1, Sol1,SolD1,La1, LaD1, Si1,
    Do2, DoD2, Re2, ReD2, Mi2, Fa2, FaD2, Sol2,SolD2,La2, LaD2, Si2);
         {перечисление нот
    *1, *2 - первая, вторая октавы
    ??D? (?s?) - диез (sharp)}

         TDuration = Single;
         TFullNote = Record
         N: TNote;     {Нота}
         D: TDuration  {Длительность}
       End;

    {Пример вся 1ая октава + До второй}
    {Const Melody0: Array [1..8] of TFullNote =
        ( (N: Do1; D: 1), (N: Re1; D: 1), (N: Mi1; D: 1), (N: Fa1; D: 1),
          (N: Sol1;D: 1), (N: La1; D: 1), (N: Si1; D: 1), (N: Do2; D: 1) );}


    Procedure PlayNote (FullNote: TFullNote);
    Procedure Play (Melody: Array of TFullNote);

    {--------------------------}Implementation
    Function Stp (L: Double; R: ShortInt): Double;
     Var i: Byte;
         Pr: Double;
     Begin
       Pr:=1;
       For i:=1 to Abs(R) do Pr:=Pr*L;
       If R<0 Then Stp:=1/Pr
       Else Stp:=Pr
     End;

    Var Base, Trans: Double;

    Procedure Sound (Hz: Word); Assembler;
     Asm
    MOV BX,SP
    MOV BX,SS:[BX+4]
    MOV AX,34DDH
    MOV DX,0012H
    CMP DX,BX
    JNC @@2
    DIV BX
    MOV BX,AX
    IN AL,61H
    TEST AL,3
    JNZ @@1
    OR AL,3
    OUT 61H,AL
    MOV AL,0B6H
    OUT 43H,AL
    @@1: MOV AL,BL
    OUT 42H,AL
    MOV AL,BH
    OUT 42H,AL
    @@2: RETF 2
     End;

    Procedure NoSound; Assembler;
     Asm
    IN AL,61H
    AND AL,0FCH
    OUT 61H,AL
    RETF
     End;

    Procedure PlayNote (FullNote: TFullNote);
     Begin
       With FullNote do
       Begin
         If N=Pause
         Then NoSound
         Else Sound( Round( Base * Stp(Trans, Ord(N)) ) );
         Delay( Duration / D )
       End
     End;

    Procedure Play (Melody: Array of TFullNote);
     Var i: Word;
     Begin
       For i:=Low(Melody) to High(Melody) do
         PlayNote(Melody[i]);
       NoSound
     End;

    Begin
     Trans:=Exp(Ln(2)/12);
     Base:=440*Stp(Trans, -10);
     Duration:= 400;
    End.

  • Труп Васи Доброго © (24.11.08 16:31) [17]
    Вообще-то, всё что тебе нужно возьми в любом WAV файле, там же чистый сигнал записан и частота дискретизации указана. Думаю разложить сигнал в спектр по частотам не будт для тебя проблемой, длительность сама определится. Если в обработке звука 0, то на теорию и написание программы неделя уйдёт, а потом хоть кота, хоть Элвиса раскладывай по "частоте-длительности".
  • Petr V. Abramov © (24.11.08 18:33) [18]

    > Труп Васи Доброго ©   (24.11.08 16:31) [17]

    а может, кто такую программу уже написал? :)
  • @!!ex © (24.11.08 18:57) [19]
    > [18] Petr V. Abramov ©   (24.11.08 18:33)

    Конечно написали уже... на два поста выше.
  • Petr V. Abramov © (24.11.08 19:10) [20]

    > @!!ex ©   (24.11.08 18:57) [19]

    вот только Delphi на девайсе не предусмотрено, интеловского асма он не понимает, проблема заполнения массива HappyBirthday осталась (она и есть сабж)
  • @!!ex © (24.11.08 19:52) [21]
    > [20] Petr V. Abramov ©   (24.11.08 19:10)

    сорри, неправильно вопрос понял.
  • Andy BitOff © (24.11.08 20:35) [22]
    > Petr V. Abramov ©   (23.11.08 03:18) [0]

    Я думаю, можно посмотреть этот код (привожу весь, но на covex можно не обращать внимания):
    (с) Alex Dedusenko - 2:462/37.23 - 10.08.97

    program tst;

    uses crt;

    var
    f : file;
    b : array [1..64500] of byte;
    i : word;
    i1: word;
    t : byte;
    b1: byte;
    covox: word;
    c : string[2];
    spd : word;

    begin
    if paramcount = 0 then
     begin
     writeln('Test program for *.WAV (Windows)  files.');
     writeln;
     writeln('Usage:');
     writeln(' TST <filename> [C#]');
     writeln;
     writeln(' <filename> - .WAV File Name,');
     writeln(' C#         - Covox port number.');
     writeln;
     writeln('If C# parameter is not specified Internal PC Speaker will be use.');
     halt;
     end;
    if (paramcount > 1) and ((copy(paramstr(2),1,1) = 'C') or (copy(paramstr(2),1,1) = 'c')) then
     begin
     c:=copy(paramstr(2),2,1);
     if c[1] in ['1'..'4'] then
       begin
       covox:=memw[0:$408+((byte(c[1]) and $f)-1)*2];
       end
     else
       covox:=0;
     end
    else
     covox:=0;
    sound(20000); nosound;
    t:=port[$61];
    assign(f,paramstr(1));
    {$I+}
    reset(f,1);
    blockread(f,b,64500,i);
    close(f);
    spd:=b[25]+(word(b[26]) shl 8);
    spd:=$fffffff div longint(spd);
    if covox = 0 then
     begin
     spd:=spd shr 7;
     port[$43]:=0;
     for i1:=44 to i do
       begin
       b1:=b[i1];
       asm
        mov al,b1
        shr al,6
        and al,2
        out 61h,al
        in al,40h
        xchg al,ah
        in al,40h
        xchg al,ah
        mov dx,ax
        @m1:
        xor al,al
        out 43h,al
        in al,40h
        xchg al,ah
        in al,40h
        xchg al,ah
        push dx
        sub dx,ax
        cmp dx,spd
        pop dx
        jb @m1
        end;
       end;
     end
    else
     begin
     spd:=spd shr 7;
     port[$43]:=0;
     for i1:=44 to i do
       asm
        lea bx,b
        mov dx,covox
        add bx,i1
        dec bx
        mov al,[bx]
        out dx,al
        in al,40h
        xchg al,ah
        in al,40h
        xchg al,ah
        mov dx,ax
        @m1:
        xor al,al
        out 43h,al
        in al,40h
        xchg al,ah
        in al,40h
        xchg al,ah
        push dx
        sub dx,ax
        cmp dx,spd
        pop dx
        jb @m1
        end;
     end;
    port[$61]:=t;
    end.


    Я полагаю, что если перенаправить данные передаваемые на спикер в файл (первый asm блок), то Вы, Петр, получите именно то, что и хотели, собственно массив "частота-длительность".

    P.S.
    В код я не особо вникал ;)
  • AndreyV © (24.11.08 21:00) [23]
    > [13] Anatoly Podgoretsky ©   (24.11.08 12:19)

    Насчёт нот оно так. Я говорю о произвольном спектре. Если автору нужет кошачий крик, надо ШИМ.

    > [17] Труп Васи Доброго ©   (24.11.08 16:31)

    А зачем спектр знать? Он же в звуке не собирается ничего менять.

    > [18] Petr V. Abramov ©   (24.11.08 18:33)

    А что там писать. Вот у тебя есть оцифрованный звук из WAV файла например, он представлен в Импулсно-кодовой модуляции (ИКМ), т.е. замерянными через рвные интервалы времени уровнями сигнала. Спектр такого сигнала будет в полосе 1/(T*2) Гц T - длительность интервала, для кота много не надо. Для вывода на спикер, тебе его надо преобразовать в ШИМ. Для кождого отсчёта делаешь очередную выборку из массива, ставишь 1 на порте спикера ждёшь некоторое время пропорциональное уровню, ставишь 0. для полосы 10000 Гц и разрядности 8 бит получится 10000*2^8=25600000 Гц это для оценки быстродействия процессора.

    А может на контроллере ЦАП имеется?
  • AndreyV © (24.11.08 23:30) [24]

    > [8] AndreyV ©   (23.11.08 22:49)
    > Был драйвер под Win3

    > [14] iZEN ©   (24.11.08 14:22)
    > Был драйвер под Win95, который эмулировал звуковую карту
    > и пускал все звуки на спикер.

    А может и Win95.
    Ещё был эмулятор Sound Blaster под DOS. И даже работал с некоторыми играми. Он эмулировал только ЦАП, а не ФМ синтезатор.

    > для полосы 10000 Гц

    Имелось ввиду для частоты квантования 10000 Гц, полоса будет до 5000 Гц, что для кота может даже и лишнее.
  • AndreyV © (25.11.08 00:01) [25]
    > [24] AndreyV ©   (24.11.08 23:30)
    > до 5000 Гц, что для кота может даже и лишнее.

    Прочитал о вокальных данных одомашненых представителей семейства кошачих, оказывается слух 10-80000 Гц и голос может быть за пределами человеческого восприятия. Вот так-то.
    http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%88%D0%BA%D0%B0
  • Petr V. Abramov © (25.11.08 00:24) [26]

    > AndreyV ©   (24.11.08 21:00) [23]
    > А может на контроллере ЦАП имеется?

    а хрен его знает, что там имеется, есть Device Basic, в нем есть ф-ции "пищать на такой-то частоте", "заткнуться", и есть что-то типа OnTimer


    > Andy BitOff ©   (24.11.08 20:35) [22]

    я правильно понимаю, что приведенный код проигрывает wav через спикер?
    тогда это интереснее.
  • Petr V. Abramov © (25.11.08 00:25) [27]

    > Прочитал о вокальных данных одомашненых представителей семейства
    > кошачих, оказывается слух 10-80000 Гц

    слушать будут не кошки, а люди :)
  • Petr V. Abramov © (25.11.08 01:06) [28]

    > Если автору нужет кошачий крик, надо ШИМ.

    автору пофиг, ШИМ или ХАИМ, нужны исходные данные для паршивого качества мяукания в виде "частота-длительность"
  • AndreyV © (25.11.08 01:31) [29]
    > [28] Petr V. Abramov ©   (25.11.08 01:06)

    Ну тогда действительно прийдётся сдвигать спектр, это посложнее самого вывода, а вывод остаётся как я описал. Но судя по
    > [28] Petr V. Abramov ©   (25.11.08 01:06)
    > в нем есть ф-ции "пищать на такой-то частоте", "заткнуться",
    > и есть что-то типа OnTimer

    есть ли там такая возможность. Что за девайс такой?
  • Petr V. Abramov © (25.11.08 01:42) [30]

    > AndreyV ©   (25.11.08 01:31) [29]
    > есть ли там такая возможность.

    есть. пищит-не-пищит в соответствии с программой, проверено :)

    > Что за девайс такой?

    терминал сбора данных. сканер штрих-кода с сауной и видеозалом :)
    девайс достался по наследству, других нет, поэтому про WinCE не травмируйте душу, господа, нет ее там, и линуха там нет, и дос нет. Есть Terminal Basic, для своих задач совсем недурно сделанный :)
  • AndreyV © (25.11.08 02:01) [31]
    > [30] Petr V. Abramov ©   (25.11.08 01:42)
    > есть. пищит-не-пищит в соответствии с программой, проверено

    Ну это может генератр включается/выключается, надо чтобы был доступ к динамику, как на PC сделано.
  • Petr V. Abramov © (25.11.08 02:07) [32]

    > как на PC сделано.

    сделано на Тайване, как на PC не сделано, надо частота-длительность
  • тимохов (25.11.08 02:12) [33]
    мож ту и спрашивал, вот спрошу в твоем стиле (почти)

    а нахрена?
  • Petr V. Abramov © (25.11.08 02:24) [34]
    а на того, что у терминала счас вырисовывается типы сигналов:
    -ты молодец, после сканирования того, что надо
    -ты молодец, но сканируешь не то
    -оповещение
    это ессно, можно разрулить на уровне 1-2-3 писка, но: в цехе шумно, считать до трех умеют не все :)
    ессно, если ниче не нарою, на уровне на уровне "1-2-3 писка" и сделаю, уже готово, но хочется как лучше :))))
  • AlexKniga © (25.11.08 12:20) [35]
    Возми нотные записи. На молодец - играешь веселую мелодию. Плохиш - траурную. Оповещение - третью.
    Как от нот перейти к частотам-длительностям написано выше.
  • Andy BitOff (PPC) (25.11.08 12:30) [36]
    Petr V. Abramov © (25.11.08 00:24) [26]
    Да. Так написано, но я не пробовал.
  • Ega23 © (25.11.08 12:37) [37]

    > Возми нотные записи. На молодец - играешь веселую мелодию.
    >  Плохиш - траурную. Оповещение - третью.


    Procedure BadSound;
    begin  
     Windows.Beep(100,200);
    end;

    Procedure GoodSound;
    begin  
     WinProcs.Beep(500,200);
    end;



    Практика показывает, что этого достаточно.
  • Petr V. Abramov © (25.11.08 17:18) [38]

    > Ega23 ©   (25.11.08 12:37) [37]


    > Windows.Beep(100,200);

    НЕТУ WINDOWS У ДЕВАЙСА
  • Ega23 © (25.11.08 17:27) [39]

    > НЕТУ WINDOWS У ДЕВАЙСА


    А что есть? Управление динамиком есть? Просто ещё на старом добром Turbo Pascal 5.5 я, помнится, "Кан-кан" в заставку программы бипами вставлял.
  • Petr V. Abramov © (25.11.08 17:46) [40]

    > Управление динамиком есть?

    есть, вот я хочу натырить раскладку всяких канканов и хрюков
  • AndreyV © (25.11.08 18:09) [41]
    > [40] Petr V. Abramov ©   (25.11.08 17:46)
    > есть, вот я хочу натырить раскладку всяких канканов и хрюков

    Дак ты уж определись канканы или коты.
  • Ega23 © (25.11.08 18:12) [42]

    > есть, вот я хочу натырить раскладку всяких канканов и хрюков


    Ля - 440 Гц, дальше вверх-вниз - не помню, но это ищется элементарно.
    Ноты - их в тырнете тоже полно. Перевести одно в другое - ну пиво мне поставишь, я тебе программку бипами напишу...  :)
  • Юрий Зотов © (25.11.08 18:43) [43]
    > Petr V. Abramov ©   (23.11.08 03:18)  

    > Нужно для программирования странного девайса, но имеющего спикер и
    > работающего по тому же (как ни странно :) принципу

    Петь, телепатор подсказывает, что у этого странного девайса есть встроенный Васик. А у Васика 286 был оператор Play, который умел играть любую одноголосую мелодию (мелодия задавалась строковым параметром), и даже не только на переднем плане, но и в фоновом режиме. Так вот - если этот девайс, как ты говоришь, "работает по тому же принципу", то, может, и в его Васике такой оператор имеется? Надо бы доку посмотреть.
  • Юрий Зотов © (25.11.08 18:56) [44]
    > Ega23 ©   (25.11.08 18:12) [42]

    > Ля - 440 Гц, дальше вверх-вниз - не помню, но это ищется элементарно.

    Каждый полутон - корень 12-й степени из 2-х. То есть:

    Delta = Power(2, 1/12);
    A = 440; (первая октава)

    Вверх:
    B = A * Delta;
    H = B * Delta;
    C = H * Delta; (пошла вторая октава)
    C# = C * Delta;
    и т.д.

    Вниз - то же самое, только делим:
    G# = A / Delta;
    и т.д.
  • Petr V. Abramov © (26.11.08 00:44) [45]

    > Юрий Зотов ©   (25.11.08 18:43) [43]

    все есть. и не проблема дернуть кота за яйца и записать звук и разложить его. я-то наивно думаю, что есть где-то библиотечка таких раскладок.
  • Petr V. Abramov © (26.11.08 01:01) [46]

    > Ega23 ©   (25.11.08 18:12) [42]


    > Перевести одно в другое - ну пиво мне поставишь, я тебе
    > программку бипами напишу...  :)

    ДВА Крушовице, литра!
    нужно:
    1. кот
    2. звонок телефона
    Предложние в силе? :)
  • Petr V. Abramov © (26.11.08 01:03) [47]

    > Petr V. Abramov ©   (26.11.08 01:01) [46]

    звонок достаточен в стиле улю-аля-улю-МЛЯ!
  • Ega23 © (26.11.08 09:43) [48]

    > звонок достаточен в стиле


    А как сигнализация у машин завывает - достаточно?
  • Petr V. Abramov © (27.11.08 00:44) [49]

    > А как сигнализация у машин завывает - достаточно?

    чтоб все талибы в бомбоубежище побежали, а начальство - проверять, не с-или ли машину?
  • Petr V. Abramov © (27.11.08 00:58) [50]

    > Petr V. Abramov ©   (27.11.08 00:44) [49] ++

    а старшой талибов разорвался бы надвое, между машиной и бомбоубежищем :)
  • Ega23 © (27.11.08 09:51) [51]

    > чтоб все талибы в бомбоубежище побежали, а начальство -
    > проверять, не с-или ли машину?


    Обсудить в стандартном месте в стандартное время?
  • Юрий Зотов © (28.11.08 11:05) [52]
    > Petr V. Abramov ©   (26.11.08 00:44) [45]

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

    Петь, ты не понял. Для оператора Play ничего не надо ни записывать, ни раскладывать. Никакие двоичные данные ему не нужны, мелодия задается СТРОКОЙ, содержащей СИМВОЛЬНЫЕ обозначения НОТ - фактически, прямо нотами. Например, первая строка (два такта) "чижика-пыжика" исполняется примерно так:

    Play("01e4c4e4c4f4e4d2");

    (первая октава, четвертушка ми, четвертушка до, четвертушка ми, четвертушка до, четвертушка фа, четвертушка ми, половинка ре).

    Поэтому, если такой оператор в девайсе имеется, то никаких библиотек уже не надо, хоть Баха играй (в одноголосом исполнении, конечно). И любой, кому медведь на ухо не совсем наступил, тебе этого Баха через Play легко исполнит.
  • AndreyV © (28.11.08 11:14) [53]
    > [52] Юрий Зотов ©   (28.11.08 11:05)
    > Петь, ты не понял.

    Да я уже тоже перестал понимать, что же надо. То коты, то канканы, то звонки Уля-ля.
  • Petr V. Abramov © (28.11.08 15:03) [54]

    > Например, первая строка (два такта) "чижика-пыжика" исполняется
    > примерно так:
    >
    > Play("01e4c4e4c4f4e4d2");

    какая разница, задача натырить такого вида строк (или массивов), а не проиграть их
  • Ega23 © (28.11.08 15:04) [55]

    > какая разница, задача натырить такого вида строк (или массивов),
    >  а не проиграть их


    Ты мне уже Крушовице обещал, я тебе этих строк сегодня за пивом на слух нафигачу десяток.  :)
  • Юрий Зотов © (28.11.08 15:07) [56]
    > Petr V. Abramov ©   (28.11.08 15:03) [54]

    А зачем тырить-то? Они и с нуля пишутся влегкую. Был бы только этот самый Play, чтоб на слух отлаживать.

    "Лунную сонату" хошь? Давай Play.
    :о)
  • Юрий Зотов © (28.11.08 15:08) [57]
    > Давай Play.

    Или загрузочную DOS - дискету с Васиком.
  • Ega23 © (28.11.08 15:15) [58]

    > Юрий Зотов ©   (28.11.08 15:07) [56]
    > Юрий Зотов ©   (28.11.08 15:08) [57]


    Вы мне тут уже таки не перебивайте моё пиво!
    :)))
  • Юрий Зотов © (28.11.08 15:19) [59]
    > Ega23 ©   (28.11.08 15:15) [58]

    Player несчастный!
  • Petr V. Abramov © (28.11.08 15:31) [60]
    вот же народ пошел!
    спрашиваю, где стырить, а они рассказывают, как самому сделать :)
  • Сергей М. © (28.11.08 15:44) [61]

    > Petr V. Abramov ©   (28.11.08 15:31) [60]


    1. Тырить не есть гут)
    2. Зачем тырить, когда прямо под ногами валяется ?)
    http://sources.ru/pascal/sound/melody25.htm
  • AndreyV © (28.11.08 15:55) [62]
    > [60] Petr V. Abramov ©   (28.11.08 15:31)
    > вот же народ пошел!
    > спрашиваю, где стырить, а они рассказывают, как самому сделать
    > :)

    Play Randomize Randomize
    :)
    Истиные растомайзы так играют.
  • Petr V. Abramov © (28.11.08 15:58) [63]

    > Сергей М. ©   (28.11.08 15:44) [61]

    спасибо, то что надо, правда, не запускается (:
  • Petr V. Abramov © (28.11.08 16:00) [64]

    > Petr V. Abramov ©   (28.11.08 15:58) [63] ++

    вот если б такая фигня еще wav открывать умела...
  • Ega23 © (28.11.08 16:03) [65]

    > вот же народ пошел!
    > спрашиваю, где стырить, а они рассказывают, как самому сделать  :)


    Абрамов, ты - жадный скопидом! Признайся, что тебе пива жалко!  :)
  • Petr V. Abramov © (28.11.08 16:09) [66]

    > Ega23 ©   (28.11.08 16:03) [65]

    пива мне не жалко, но в результате ни ничего кроме самары-городка или скорпов не нагенеришь :)
  • Юрий Зотов © (28.11.08 16:25) [67]
    > Petr V. Abramov ©   (28.11.08 16:09) [66]

    > ничего кроме самары-городка или скорпов не нагенеришь

    "Мурку" хошь? Недорого будет. Зато классика.
  • Ega23 © (28.11.08 16:40) [68]

    > кроме самары-городка или скорпов не нагенеришь :)


    Ты скажи, чё те надо. Могу и "Под небом Парижа", могу и Моцарта.
    Эта, может в "Бочку" сёдня?
  • Petr V. Abramov © (28.11.08 16:48) [69]

    > Ega23 ©   (28.11.08 16:40) [68]

    если только поздно
  • Сергей М. © (28.11.08 16:50) [70]

    > Petr V. Abramov ©   (28.11.08 15:58) [63]
    >
    >


    С учетом того что это DOS-приложение, пожоже работающее с видеобуфером в граф.режиме напрямую, прими соотв.меры к настройке PIF
  • Ega23 © (28.11.08 16:51) [71]

    > если только поздно


    Ну часов в 20?
  • Ega23 © (28.11.08 17:17) [72]
    Ну так ку?
  • Petr V. Abramov © (28.11.08 17:19) [73]

    > Ega23 ©   (28.11.08 16:51) [71]

    20-21
  • Ega23 © (28.11.08 17:21) [74]
    Экспресс в 21:55 отходит. Так что если скорее в 21, чем в 20, то ну его нафик. А вот если скорее в 20, чем в 21 - то пуркуа бы и не па.
  • Petr V. Abramov © (28.11.08 17:23) [75]

    > Ega23 ©   (28.11.08 17:21) [74]

    скорее 21...
  • Ega23 © (28.11.08 17:30) [76]

    > скорее 21...


    Тогда next time
  • Anatoly Podgoretsky © (28.11.08 19:35) [77]
    > Ega23  (28.11.2008 15:04:55)  [55]

    И напечатаешь или как Мойша напоешь?
  • Anatoly Podgoretsky © (28.11.08 19:37) [78]
    > Ega23  (28.11.2008 15:15:58)  [58]

    Волки позорные, своих обирают.
 
Конференция "Прочее" » Звуки для PC-спикера
Есть новые Нет новых   [134448   +1][b:0.001][p:0.005]