Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.008 c
14-74962
Anatoly Podgoretsky
2002-12-03 07:35
2002.12.23
Именинники 3 декабря


14-74939
Axis_of_Evil
2002-12-02 12:48
2002.12.23
Macintosh vs Остальное


4-75034
bent
2002-11-09 09:22
2002.12.23
Как узнать кодировку файла?


4-75043
Captain
2002-11-10 13:06
2002.12.23
Изменение курсора


1-74791
Michael II
2002-12-11 11:40
2002.12.23
Общие вопросы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский