Форум: "Media";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
ВнизСинтезирование звука. Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c