работа со звуком

Предыдущая тема Следующая тема Перейти вниз

работа со звуком

Сообщение  Eric-S в Вс Авг 24, 2008 10:03 am

Для двух разных проектов нужны библиотеки для работы со звуком. Может быть даже разные. Так как люди разные будут писать.

Кто знает, охарактеризуйте пожалуйста доступные.

Для проекта №1
нужно качественный звук.
Вход и выход. Запись и воспроизведение прямо из памяти.
Работа с голосом.

проект №2
Игра. Звук должен быть многолинейным. До 64 одновременных сэмплов, причём микширование на лету. И максимальный отклик.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Библиотеки для работы со звуком

Сообщение  ShenZN в Вс Авг 24, 2008 11:35 am

Существует несколько таких библиотек для FreeBasic: BASS, FMOD, OpenAL, SDL_mixer.

Для игры можно использовать любой из этих вариантов, я лично использовал FMOD или SDL_mixer.

Для более качественного воспроизведения думаю подойдет OpenAL или FMOD.

В папке с примерами FB есть examplы в sound (BASS, FMOD, OpenAL) а в папке SDL (sdl_mixer). Можно по эксперементировать и понять, что именно по душе Very Happy

На крайний случай можно использовать стандартные возможности WINAPI, но ожидать от него чего то сверхестественного не приходится Smile

Так же думаю лучше выучить какую то одну библиотеку хорошо, чем несколько посредственно.

Удачи!!! Very Happy

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Вс Авг 24, 2008 4:36 pm

Да, я что-то подобное видел.

Два разных человека, будут разные проекты делать. Поэтому я думаю имеет смысл выбрать что-то более удобное под проекты.

Я с играми связываться однозначно не буду. А вот речевые технологии мне очень даже интересны. Может быть даже распознавание и синтез речи. Но пока интернет телефония и подобное.
Спец эфекты мне не нужны. А мне нужен низкоуровневый доступ к звуку. Причём запись и воспроизведение.




openAll как я слышал, очень реактивный, и делался для игр. Но вот мой приятель, пока ещё тоже не выбрал, чем заниматься. Какую библиотеку изучать. Ему нужна огромная мощность. Виндовую он пробовал, но она естественно глохнет сразу. Что уж говорить о целой кучи.
Я думаю эту задачу можно сравнить ещё с музыкальным синтезатором. Каждый инструмент на отдельном канале. И все звучат одновременно.


Так какуюже библиотеку нам выбрать, чтобы потом не переучиваться.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Работа со звуком

Сообщение  ShenZN в Вс Авг 24, 2008 8:56 pm

Советую присмотреться ближе к Fmod и OpenAL.
Выбирай по тому, а достаточно ли документации чтобы без проблем научится, как развивается библиотека, еще почитай отклики на специализированных сайтах и последнее чтобы самому хотелось использовать эту библиотеку (удобство) тоесть по экспериментируй с каждой и реши, что для тебя подходит лучше.
Вообще, эти библиотеки, насколько я знаю, примерно равны по возможностям и обе именитые.
И еще зачастую на качество воспроизведения, записи и т.д. очень влияет качество звуковой карты, поэтому сильно полагаться на библиотеку не стоит.

Выбирать все таки тебе. Еще хотел бы отметить, что OpenAL проект OpenSource, а FMOD имет другую лицензию. Если ты используешь FMOD в не коммерческом проекте, то библиотека бесплатная, а в случае коммерческого использования, то соответственно платная.


Последний раз редактировалось: ShenZN (Вс Авг 24, 2008 9:40 pm), всего редактировалось 1 раз(а)

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Работа со звуком

Сообщение  ShenZN в Вс Авг 24, 2008 9:40 pm

На официальном форуме нашел еще одну библиотеку для работы со звуком - Alpha Project.
Написанная на FreeBasic cheers
Библиотека только начала развиваться, но уже имеет множество возможностей.

Ссылка на тему в форуме:
http://freebasic.net/forum/viewtopic.php?t=10287&sid=7b97e949ab3266c1ec29f47d20ccdc03

Ссылка на сайт разработчика:
http://www.geocities.com/xaviorsoft/alpha.html

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Пн Авг 25, 2008 8:04 am

Благодарю. Будем значит смотреть. Ох и не люблю я эту мутотень!

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  electrik в Вт Сен 02, 2008 9:31 pm

привет. предлагаю исходник маленького wave плеера, работающего напрямую к windows api. звуковой интерфейс waveOutput или winmm.
я не использовал многопоточность, как принято в виндах, а так же не пользовался всякими там SendMessage.
не все написано на Freebasic, тут используются функции из библиотеки си, входящей в стандарт винды.
поэтому плеер компилится достаточно в маленький размер.
не выделяется какой-то специальной памяти, звук грузится в стандартный бейсиковский массив.

'windows player(wplay)
'или wave play wplay - называйте как угодно
'плеер для проигрывания стандардных pcm wave файлов
'(c) electrik 2008
'можно использовать как фоновый плеер
'плеер не имеет ни каких окон
'компилировать: fbc.exe -s gui wplay.bas
'использовать: wplay.exe имяФайла.wav
'если завис: убить диспетчером задач
#include once "windows.bi"
#include "win/mmsystem.bi"
#include "crt.bi"
#define WAVE_MAPPER -1
type WaveHeader 'описатель заголовка wav файла
as zstring * 4 id_riff 'потпись riff
len_riff as integer 'размер оставшейся части файла без riff

'chuck
id_chuck as zstring * 4 'потпись wave
fmt as zstring * 4 'потпись fmt
len_chuck as integer 'размер заголовка id_riff+len_riff+id_chuck+fmt=16

'wave
WaveFormat as short 'формат данных, 1= pcm
channels as short 'число каналов
SamplesPerSec as integer 'частота дискретизации
bytes as integer 'частота выдачи байт
align as short 'выравнивание
bits as short 'число бит

'sample wave
samplewave as zstring * 4 'data 'потпись data
len_data as integer 'размер звуковых данных без заголовка
end type 'конец описателя заголовка wav файла

static hFile as handle 'дескриптор файла
static hOut as hWaveOut 'тут будет лежать идентификатор устройства
static numbuf as integer 'переменная счетчик по буферам
static endbuf(1 to 2) as integer 'завершили играть все буферы
static wFormat as WaveFormatEx 'тип(описатель) wave формата
static wHeader as WaveHeader 'описатель заголовка wav файла
static wHdr(1 to 2) as wavehdr 'описатель заголовка буфера

static as zstring * 88200 buf(1 to 2) 'буферы для звуковых данных
static LenFile as integer 'длина файла
static bytes as integer 'число действительно прочитанных байт
static FilePosition as integer 'хранение позиции в файле
static PrevFilePosition as integer 'хранение предыдущей позиции в файле
static i as integer
static argv as string * 1024 ' параметры командной строки
static argc as integer 'количество параметров
argc=__fb_argc__ 'получим количество параметров командной строки
if argc =1 then 'если нет аргументов
messagebox(0,"Использование: wplay.exe имя файла.wav. программа поддерживает только Pcm wave файлы","Справка",0)
end
end if

'соберем командную строку в одно целое
for i=1 to argc - 1
strcat(argv,__fb_argv__[i])
strcat(argv," ")
next

'подготовим заголовки для буферов
for numbuf = 1 to 2 'счетчик по буферам- чтоб не писать лишних одинаковых команд

'описатель заголовка буфера
wHdr(numbuf).lpData = @buf(numbuf) 'указатель на буфер со звуковыми данными
wHdr(numbuf).dwBufferLength = 88200 'длина буфера
'конец описателя
next 'пусть сам повторяет лишние команды

'откроем файл только для чтения, из командной строки как бинарник

hFile = createfile(argv,&H80000000,&h1,0,OPEN_EXISTING,&h20,0)

'если файла не существует
if hFile = -1 then
messagebox(0,"Файл задан не правильно","Ошибка открытия файла",0)
end
end if

'LenFile=lof(1) 'узнаем длину файла

'прочитаем заголовок wav файла
readfile(hFile,@wHeader,44,@bytes,0)
if bytes < 44 then
messagebox(0,"Файл меньше заголовка файла. возможно вы открываете не Wave файл или файл поврежден","Ошибка в файле",0)

end
end if
FilePosition+=bytes
if not strcmp(wHeader.id_riff, "RIFF") and strcmp(wHeader.id_chuck,"WAVE") and strcmp(wHeader.samplewave,"wave") then
messagebox(0,"Заголовок поврежден или вы открываете не Pcm wave файл","Ошибка в заголовке файла",0)
end
end if

'описатель заголовка формата wave
wFormat.wFormatTag=wHeader.WaveFormat
wFormat.nChannels= wHeader.channels 'число каналов
wFormat.nSamplesPerSec = wHeader.SamplesPerSec 'частота дискретизации
wFormat.nAvgBytesPerSec = wHeader.bytes 'частота выдачи байт драйверу- можно забить
wFormat.nBlockAlign= wHeader.align 'выравнивание- вроде тоже можно забить
wFormat.wBitsPerSample = wHeader.bits 'число бит на семпл
'конец описателя заголовка formata wave

'откроем звуковое устройство. первый параметр функции waveOutOpen- это указатель
'на переменную hOut, и если с устройством нет проблем,
'то в переменную запишется идентификатор открытого устройства
'второй параметр, номер устройства. обычно туда пишут WAVE_MAPPER,
'для автоматического определения звуковухи по умолчанию.
'третий параметр, указатель на описатель заголовка wave формата.
if waveOutOpen(@hOut,WAVE_MAPPER,@wFormat,0,0,&h30000) then
messagebox(0,"Устройство не поддерживает данный Wave формат, или проблема открытия устройства","ошибка waveOut",0)
end
end if
for numbuf = 1 to 2 'счетчик

'создадим заголовок для буферов, как говорят, зафиксируем
'буферы в памяти, чтоб система их не откачала в файл подкачки
'первый параметр, идентификатор устройства.
'второй параметр, указатель на заголовок для буфера.
'третий параметр, длина заголовка
if waveOutPrepareHeader(hOut,@wHdr(numbuf),32) then
messagebox(0,"Не могу создать заголовок","Ошибка подготовки заголовка",0)
end
end if

'установим в заголовке флаг WHDR_DONE, означающий что драйвер проиграл буфер
'и вернул его приложению.
wHdr(numbuf).dwFlags = wHdr(numbuf).dwFlags or WHDR_DONE
next 'пусть повторяет

do 'главное тело в котором все крутится

for numbuf = 1 to 2 'счетчик

'если в заголовке установлен флаг WHDR_DONE,
'значит драйвер закончил обработку и вернул буфер приложению. и если позиция файла
'меньше длине звуковых данных
if wHdr(numbuf).dwFlags and WHDR_DONE and FilePosition < wHeader.len_data then
readfile(hFile,@Buf(numbuf),88200,@bytes,0)
FilePosition+=bytes
'если позиция файла больше или равно длине звуковых данных
if FilePosition >= wHeader.len_data then

'длина буфера равно длина звуковых данных минус предыдущая позиция файла
wHdr(numbuf).dwBufferLength = wHeader.len_data - PrevFilePosition

else 'если меньше
PrevFilePosition=FilePosition 'сохраняем позицию файла
end if

'подаем драйверу всё подготовленное хозяйство.
'первый параметр, идентификатор устройства.
'второй параметр, указатель на заголовок для буфера.
'третий параметр, длина заголовка
WaveOutWrite(hOut,@wHdr(numbuf),32)

else 'закончили чтение из файла
if wHdr(numbuf).dwFlags and WHDR_DONE then 'проверяем в заголовке флаги
endbuf(numbuf)=-1 'все буферы проиграли, записываем в endbuf значение -1
wHdr(numbuf).dwFlags =0 'збрасываем флаги
end if
end if

next 'пусть повторяет
sleep_ 400 'ждем 400 мс

'петля крутится до тех пор, пока endbuf(1) и endbuf(2) не будут равнятся -1
loop until endbuf(1) and endbuf(2)

closehandle(hFile) 'закроем файл

WaveOutReset(hOut) 'збросим устройство, звук сразу заткнётся

for numbuf = 1 to 2 'счетчик

'снимем фиксацию нашего буфера в памяти
'первый параметр, идентификатор устройства.
'второй параметр, указатель на заголовок для буфера.
'третий параметр, длина заголовка
WaveOutUnprepareHeader(hOut,@whdr(numbuf), 32)
next 'пусть повторяет
WaveOutClose(hOut) 'закроем устройство

тестируйте, пишите замечания.

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Вт Сен 16, 2008 6:12 pm

Я сейчас терзал инет, на тему аудио библиотек.


Выходит, что примитивное, это именно стандартные виндовые функции. Потому, что, тот же самый OpenAl или fmod, содержит в себе лишний для меня функционал. А остальные библиотеки ещё больше перегружены.

Вот Электрик привёл пример плеера (ща его буду кстати мучать).
А как записывать? С микрофона. Для начала, нечто похожее на "звукозапись", чтобы была кнопочка "старт" и "стоп"?
А потом сохранить в файл?
Даже не важно, чтобы он был корректным wav, а просто в нём были аудиоданные. Как я понимаю, тут всё просто, сохранить или загрузить буфер.

Ещё конечно инет потерзаю, но может быть кто линк подкинет, на русскую инфу?

Кстати, Электрик, а можно изменить твой плеер, так, чтобы он проиграл определённый фрагмент?
Вот я например загрузил данные в буфер, а потом хочу чтобы он воспроизвёл от 5'ой секунды до 12'ой. Точность желательна более высокая.

Вообще очень похоже, на то, что мне понадобиться своя библиотечка, так, что если кто знает, как напрямую мучать звуковуху, расскажите или киньте ссылочку. Или именно это сделано в винде, (ещё не очень вник).

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

OpenAl кажеться неплохая.
Введение в OpenAL, и проигрывание музыкального формата OGG/Vorbis
Программирование 3D-звука при помощи OpenAL
Игры, да всё трёхмерные!

А вот здесь про запись
OpenAL 1.1, расширение EFX, поддержка фильтров и эффектов




И фмод тоже вроде ничего
Использование FMOD в звуковых играх
и писать
Запись звука с использованием функций FMOD

Если же сравнить тестовые проги, то fmodtest.bas кажеться намного проще и понятнее. Да и сам он похоже больше полагаеться на другие функции. Ну да ладно, кажись с ним будет легче.


Скачал я значит архивчик (старая 2004 года версия), кстати в тесте указан тот же год.
http://www.websound.ru/programming/libs/fmod/fmod.zip

А вот теперь думаю, как же тест всё-таки запустить.
Компилиться он у меня нормально.
Запускаеться тоже.
Но дальше ничего.
На ошибки не ругаеться, но ничего не играет.
Хм, в чём же дело?

обе dll скопировал (не стал разбираться какая нужна), скопировал lib*.dll.a, тоже не стал разбираться.
Даже папочку plugins скопировал, мало ли.

Хм, а может быть он мне на другое устройство играет? Сейчас попробую всю лишнюю аппаратуру отключить.
Или версии не сошлись? Но тогда он по идеи должен был ругнуться.

Ой! А он и ругаеться, только по тихом.
Код завершения
-1073741515
Вот так вот! И как это лечить?

Переустановка самого последнего стабильного пакета fmodapi v41803 win32 не помогла, бессильна оказалась даже перезагрузка!

Библиотеки из папочки теста стёр, ошибка таже. Может быть ему что-то другое не нравиться?

Помню как я долго пытался запустить тест mysql, а там, в примере, один параметр был перепутан.


Ну, чтож. Выкопал я что OpenAl умеет писать, буду его мучать.
Нет! Тоже не работает! Да что это с fb? Может быть новая версия или я не так компилю?

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  ShenZN в Вт Сен 16, 2008 7:20 pm

Вообще очень похоже, на то, что мне понадобиться своя библиотечка, так, что если кто знает, как напрямую мучать звуковуху, расскажите или киньте ссылочку. Или именно это сделано в винде, (ещё не очень вник).

На прямую мучать звуковуху думаю не стоит Very Happy С помощью WinApi, насколько знаю, все эти функции возможны. Только вопрос в хорошем справочнике по WinApi.

На счет экземплов, то Fmod работает без проблем. А вот OpenAL постоянно выдает ошибку, что не может загрузить wav файл. Толи не находит, толи еще что то Sad

Все таки, мне кажется, лучше использовать спец. библиотеку нежели WinApi, так как она не даст более лучший результат. Кстати существует еще одна библиотека uFMOD:
http://ufmod.sourceforge.net/ind_ru.htm

http://www.freebasic.net/forum/viewtopic.php?t=4936
Тоже не плохой вариант Very Happy

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  electrik в Вт Сен 16, 2008 7:25 pm

привет. вот вам ссылочка на книгу попрограммированию мультимедия. Мультимедиа для Windows.
http://www.frolov-lib.ru/books/bsp/v15/index.html
книга старая, но до сих пор актуальна, не смотря на то, что предназначалась для windows 3.11. в наших виндах, функции остались теже самые, просто адресация не шестнадцатибитная, а тридцатидвух. соответственно, память не обязательно выделять блоками по 64 кб. книга расчитана на программистов на c, но там описан каждый параметр функции, поэтому, понять не слодно. к томуже, если какая-то функция не понятна, в смысле параметров (integer, short и т.д.), можно посмотреть в заголовках,входящих в состав FreeBasic.
вообще рекомендую порыться на сайте:
http://www.frolov-lib.ru
огромный архив книг братьев Фроловых по программированию.

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

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Вт Сен 16, 2008 8:22 pm

ufmod, даже русская страничка, это хорошо!
А вот про запись, не упоминаеться, это плохо.

Я вспомнил, что когда-то давно мучал OpenAl тест, он пиликал и вроде было всё нормально.


Электрик скинул мне fmod.dll старую версию, и она заработала, стоило её кинуть в папочку с программой.
Может быть стоит мне остановиться на ней?

Но вот тотже Электрик, выше приводит ссылки на знаменитую "библиотеку системного программера", и я опять разрываюсь!

Ладно, ща помучаю fmod, и посмотрю.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

работа со звуком

Сообщение  electrik в Вт Сен 16, 2008 9:46 pm

еще раз привет. по поводу библиотек. вопрос спорный, что лучше использовать прямые обращения к дровам звуковухи, или использовать библиотеки. как мы знаем, что операционная система windows, это сплошной набор функций, winApi, directx, и т.д. впринципе, в винде вот так не возможно обратится к портам, как под dos, так или иначе, в windows xp, как правило обращения идут через системные функции. теперь мы думаем, а как сделать свою библиотеку, в обход winapi, directx, я конечно же не спец по тонкостям windows, но скорее всего, все звуковые библиотеки обращаются к winApi или directx. соответственно, использовать прямые обращения к windows, быстрее, а обращения к библиотекам удобнее. в нашем случае, скорость не критична, так как воспроизведением звука, занимается сама винда, и нашей задачей является:
открыть устройство, инициализировать на какую-нибудь частоту дискретизации, подгрузить файлы или подготовить буферы, если у нас трехмерный звук, расставить звуки в трехмерном пространстве, в процессе воспроизведения менять координаты звука, по окончание все освободить. так что если вам интересны тонкости winApi или directx, работайте так, если нужно быстро склепать для игрушки звук, наверное лучше библиотеки. пока я не замечал в игрушках расчитанных под Fmod, ни каких тормозов и глюков. а вообще лучше, придумать свой набор функций, разобратся с directx или winapi, один раз написать, а потом всю жизнь пользоваться, покрайней мере вы будете знать что туда напехали, и не надо будет таскать за собой кучу библиотек. вы скажете, а как ты предпочитаешь? да как придется, естественно для программирования игрушки, мне влом будет прописывать всё через directx, хотя я хочу с ним разобраться,а для простого воспроизведения звука достаточно стандартной виндовой библиотеки winmm, пример мой wave плеер.

к стати, ни кто не пробовал программировать на FreeBasic, используя заголовки directx "dsound.bi? на Visual Basic, я пробовал, у меня даже есть статьи, но там все по другому. если кто-нибудь видел описание хотябы под c, плиз кинте ссылку. главное, чтоб не на Visual c, потому что там будет скорее всего потключение контрола, а так я с контролами и на visual basic смогу.

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Ср Сен 17, 2008 12:08 am

Про fmod так и было написано, что она работает, под виндой, через виндовые функции. Значит скорость не намного меньше, но интерфейс удобнее, что конечно лучше.

Но она работает и под linux, значит использование этой библиотеки даёт кросплатформенность. А вот привязка к виндовым функциям...

Ладно, пока я начал делать с fmod, а дальше как получиться.


Хочу ещё поделиться ссылочками про обработку звука.

Цифровая обработка сигналов


книги про музыку и обработку звука

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Ср Сен 17, 2008 4:32 am

Хочу поделиться с вами своей радостью!
Оно у меня заработало!
Я записал свой голос с микрофона, а потом его воспроизвёл!
И это было очень просто.
Дольше сидел и разбирал примерчик с c.
Например меня заклинил оператор "|", а потом я догадался, что это or.
А вот в операторе "&&" я не уверен, но мне кажется что это and.

Впрочем эту прогу нужно доделывать, так как я ещё не совсем грамотно работаю с буферами. Но она у меня и так звучит! Причём очень чистенько!

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  ShenZN в Ср Сен 17, 2008 1:21 pm

А вот в операторе "&&" я не уверен, но мне кажется что это and.

В с++:
&& - and
& - bitand
| - bitor
|| - or
! - not
^ - xor

Впрочем эту прогу нужно доделывать, так как я ещё не совсем грамотно работаю с буферами. Но она у меня и так звучит! Причём очень чистенько!

Как закончишь, обязательно вылажуй. Very Happy

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Ср Сен 17, 2008 7:32 pm

Ну, чтож. Я выложил, тока в другой теме


Про сишные операторы... Там в примере было примерно
"(a < l && ! b)"
Но я вообще упрознил сиё до
"a < l"
И оно заработало.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Вс Сен 21, 2008 12:47 am

Капаясь по закромам своего винта, обнаружил старую папочку с прогами.

Если не ошибаюсь, то её мне прислал Электрик, ещё 25 мая 2006 года.

Я для интереса компильнул, и она у меня запиликала.

Вообщем, вот, простая реализация проигрывания звука через winApi.


Код:

declare function playsound lib"winmm" alias "sndPlaySoundA"_
(byval soundname as string, byval as integer) as integer

playsound("test.wav",0)

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  electrik в Вт Окт 28, 2008 12:22 pm

вот вам еще несколько ссылочек на оф форум.


WINDOWS- запись звука с микрофона, спомощью winapi,
http://www.freebasic.net/forum/viewtopic.php?t=11127

FMOD:
http://www.freebasic.net/forum/viewtopic.php?t=2294

BASS:
http://www.freebasic.net/forum/viewtopic.php?t=9366

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Gena в Чт Ноя 06, 2008 9:19 pm

Я установил FMOD Programmers API Win32, однако в папке нет файла fmod.dll
Плиз выложите этот файл. (лучше на файлфронт) Заранее спасибо.

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Пт Ноя 07, 2008 12:48 am

Гена! Вы вероятно не обратили внимание на упоминание о том, что для freebasic есть заголовочные файлы, да и приводимые здесь примеры, относяться к fmod3.75
Я сам с этим долго тупил и громко ругался.
На офсайте 3.7 выложен и я давал на него ссылки.

А для fmod ex никто, кажеться, пока не удосужился накарябать заголовок.
И если честно, имхо, это нужно для сверх тяжолых случаев. 3.7 достаточно и ещё останеться.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Gena в Пт Ноя 07, 2008 10:42 am

Спасибо большое - пример работы с микрофоном заработал. Smile

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 23
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Eric-S в Пт Ноя 07, 2008 5:43 pm

Поздравляю! Я за вас рад.
Только это не совсем пример, это моя проба сил по изучению данного вопроса. Руки не дошли закончить этот редактор. Но всё ещё впереди.

Если у вас появяться интересные наработки, то не поленитесь и не поскупитесь, киньте нам на форум. Может быть кому-то тоже пригодиться.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 33
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: работа со звуком

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения