![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выковырять инфу из wav-ки [D6, WinXP]
AL2002_ © (2008-02-17 16:39:00)Просьба подсказать, как или чем можно извлечь инфу о частоте, длительности, громкости и тэпэ из звукового файла.
Задача: проиграть звуковой файл спукером.
Вот я отрыл код для турбопаскаля, но он работает или под досом или под 98-й. ХР посылаетъ.
Соответственно задача состоит в том, чтобы адаптировать этот код под дельфи и пропищать все это дело через какой-нить компонент, типа Ttone.
А вот код. Если бы я хоть немного шарил в асме, мож чо и понял. 8(
procedure TForm1.Button1Click(Sender: TObject);
Var
f : file;
b1: byte;
spd : word;
b : array [1..64500] of byte;
I, I1:Integer;
begin
RichEdit1.Lines.Clear;
assignFile(f,'Chimes8.wav');
{$I+}
reset(f,1);
blockread(f,b,64500,i);
closefile(f);
spd:=b[25]+(word(b[26]) shl 8);
spd:=$fffffff div longint(spd);
spd:=spd shr 7;
ToneGen1.Frequency:=300;
ToneGen1.Duration:=1;
ToneGen1.Play;
for i1:=44 to i do
Begin
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;
Под 98-й, по идее, работает. ХР все потуги на прямое управление железо через int обрубает на корню.
Просьба, адаптировать этот код под дельфи, чтобы можно было все это дело пропищать под ХР-виндой.
Сергей М, (2008-04-26 20:27:00) [1]
> AL2002_ (26.04.08 14:35) [75]
> зачем вы тут флудите?
За надом)
> вопрос нормальным людям задавал
Ликбез тоже нормальным людям был адресован, а не ламерам)
> разобрался
Ну так сподобся уж, расскажи покажи психохамоватым флудерам, как ты его Нрешил) .. страсть как любопытно ж)
AL2002_ (2008-04-26 14:35:00) [2]Сергей М, зачем вы тут флудите?
Я вопрос нормальным людям задавал, а не психам и хамам.
ЗЫ
Вопрос, хстате, закрыт.
Уже давно разобрался.
Сергей М, (2008-04-09 20:48:00) [3]
> чего вы еще хотите?
Что хочет идиот ?)
Он хочет
> адаптировать этот код под дельфи, чтобы можно было все это
> дело пропищать под ХР-виндой
При этом он еще и туп.
Pavia (2008-04-09 18:22:00) [4]AL2002_ Помойму вам на все дали ответ чего вы еще хотите? Чего неясного?
AL2002_ (2008-04-09 18:05:00) [5]
> Сергей М. © (08.04.08 08:30) [71]
> Ба, да вы все еще кипятите ?!)))
Хватит флудить.
Сергей М. (2008-04-08 08:30:00) [6]Ба, да вы все еще кипятите ?!)))
AL2002_ (2008-04-07 22:30:00) [7]> Сергей М. © (27.03.08 08:57) [69]
>Возьми да "раскрой" сам.
>Бесплатный ликбез давно окончен.
Вообще-то вопрос этот не к вам. Да и тема не для вас.
Вы ее только зафлудили напрасно. :(
Сергей М. (2008-03-27 08:57:00) [8]Возьми да "раскрой" сам.
Бесплатный ликбез давно окончен.
AL2002_ (2008-03-26 21:43:00) [9]Up
тема конвертации звуковых волн в очередность герцов не раскрыта.
Сергей М. (2008-03-13 19:21:00) [10]
> Вы не шарите
Куды ж нам, крестьянам, в лаптях по асфальту
AL2002_ (2008-03-13 18:22:00) [11]№№64, 65
Вы не шарите.
Это - классика.
Сергей М. (2008-03-13 10:22:00) [12]
> Знаетее, что меня больше всего бесит?
> Vahmurka
Вахмурка многих "бесит", не только тебя)
Jeer (2008-03-13 10:08:00) [13]
> простому начинающему программисту
надо начинать с простых вещей, при этом постепенно
> перевернув сотни книг по программированию, и научившись
> программировать
отвечать на форумах за Мастера:)
AL2002_ (2008-03-13 01:08:00) [14]>Сергей М. © (09.03.08 12:28) [62]
>Тебе уже все разжевано.
Знаетее, что меня больше всего бесит?
Vahmurka © (16.08.02 11:32)
А то, что ответы на вопросы Великие Мастера Дельфи присылают таким образом, что понять их можно только перевернув сотни книг по программированию, и научившись программировать гараздо лучше чем, отвечающий на этот вопрос человек. Тогда уже и нафиг мне не нужно задавать свой вопрос. Люди думаю так: "Ну раз я понимаю значит и ты поймешь". А простому начинающему программисту остаётся только репу чесать. Один мне на вопрос "Как соединить два компа по LPT?" выдал тераду какихто бесполезных для меня комманд на ассемблере. Блин как буддто я его про ассемблер спрашивал. А другой мне прислал файл с описанием работы портов на железном уровне... Ну не идиоты?
==========
ЗЫ
а действительно, где И. Шевченко, А. Подгорецкий?
Почему молчите? Мне помощь нужна. 8)
Сергей М. (2008-03-09 12:28:00) [15]
> и программно преобразовать волну в герцы?....... не?
Тебе уже все разжевано.
AL2002_ (2008-03-08 22:14:00) [16]>то без преобразования ИКМ->ШИМ никак не обойтись
...и программно преобразовать волну в герцы?....... не?.....
Сергей М. (2008-03-07 09:49:00) [17]
> преобразование данных (тех, что в блоке байтов из wav) идет
> на аппаратном уровне. Так?
>
Если речь идет о ЦАП, то да. Практически любая, даже самая задрипаная бытовая аудиокарта имеет на своем борту аппаратный ЦАП, "умеющий" работать с АКМ-данными (см. [56]). Нет карты - нет и ИКМ ЦАП. А раз нет ИКМ ЦАП, но есть спикер (считай что это ШИМ ЦАП), то без преобразования ИКМ->ШИМ никак не обойтись.
AL2002_ (2008-03-07 01:24:00) [18]2СергМ.
>Но для осуществления задуманного эти самые "команды" должны быть
>результатом ИКМ->ШИМ-преобразования. А оно где ? Нет его)
Т.е. преобразование данных (тех, что в блоке байтов из wav) идет на аппаратном уровне. Так?
Jeer (2008-03-06 12:38:00) [19]
> Сергей М. © (06.03.08 12:25) [57]
Тогда мы честно скажем, что сделали все, что могли и хотели.
А чего не хотели, того и не сделали:)
Сергей М. (2008-03-06 12:25:00) [20]
> Jeer © (06.03.08 11:54) [56]
Сдается мне, что совместные усилия по ликбезу в очер.раз окажутся там же где и прежде - у кота под хвостом).. Как это ни печально ..