Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

Синтезирование звука.   Найти похожие ветки 

 
DNT ©   (2002-09-06 17:19) [0]

Как можно это сделать?
Необходимо например, получать ноту определенной тональности.
Можно и через midi.

Вот только как?
Может есть компонента?


 
Ketmar ©   (2002-09-06 18:42) [1]

а руки уже отменили? только компоненты любим? просейший формирователь синусоидальной волны с выводом на WaveOut или в .WAV - не судьбец?
как формировать волну, говорить не буду - это очевидно. как выводить - проще всего в .WAV, а потом PlaySound. формат .WAV можно легко найти в Сети.

Satanas Nobiscum! 06-Sep-XXXVII A.S.


 
Kopetr ©   (2002-09-06 18:57) [2]

Beep(440, 1000) - нота ЛЯ.


 
DNT ©   (2002-09-06 20:59) [3]

Вот, вот.

Я в звуках не понимаю.

Как генерировать волну?

И компонент, в последнюю очередь.


 
Kopetr ©   (2002-09-06 23:25) [4]

Задавай конкретные вопросы, что именно непонятно.
"Я в звуках не понимаю" - не катит.
Волну можно генерировать с помощью функуции Sine.
Компоненты ищутся на torry.net




 
Ketmar ©   (2002-09-06 23:37) [5]

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

Satanas Nobiscum! 06-Sep-XXXVII A.S.


 
easy ©   (2002-09-07 19:43) [6]

//midi

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MMSystem, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
hmidi:integer;
midimsg:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
midiOutOpen(@hmidi, 1, 0, 0, 0);
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
midiOutClose(hmidi);
end;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

begin
midimsg := $90 + ((60 + 0) * $100) + (127 * $10000) + 0;
midiOutShortMsg (hmidi, midimsg);

end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

begin
midimsg := $80 + ((60 + 0) * $100) + 0;
midiOutShortMsg (hmidi, midimsg);
end;

procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
midimsg := $90 + ((60 + 2) * $100) + (127 * $10000) + 0;
midiOutShortMsg (hmidi, midimsg);
end;

procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
midimsg := $80 + ((60 + 2) * $100) + 0;
midiOutShortMsg (hmidi, midimsg);
end;

end.


..успехов...



Страницы: 1 вся ветка

Текущий архив: 2002.12.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
8-74859
DNT
2002-09-06 17:19
2002.12.23
Синтезирование звука.


7-75019
vic_774N
2002-10-19 15:38
2002.12.23
Как программно отключить переход на летнее время ?


3-74604
Mixvictor
2002-12-04 22:29
2002.12.23
Поставте фильтр пожалуйста


1-74819
Wolverin
2002-12-11 16:46
2002.12.23
Печать


7-75000
saf
2002-10-17 18:51
2002.12.23
Принтер