Вверх ↑
Этот топик читают: Гость
Ответов: 4505
Рейтинг: 719
#1: 2021-10-04 12:55:35 ЛС | профиль | цитата
НазваниеВерсияОписание
BASS_Plugins1.0Загрузка плагинов для воспроизведения дополнительных аудио-форматов с помощью BASS
BASS_MIDISoundfonts1.0Загрузка файлов soundfonts для плагина MIDI


СКАЧАТЬ

BASS_Plugins
Позволяет воспроизводить дополнительные аудио-форматы через BASS.
В папке с примером есть папка "plugins" с набором библиотек - в ней пример с помощью компонента BASS_Plugins ищет плагины воспроизведения. Список "Тип файла" в диалоге выбора музыкального файла генерируется плагинами. В результате можно открывать такие форматы как FLAC, AAC, MIDI и другие.

BASS_MIDISoundfonts
Плагин bassmidi.dll позволяет воспроизводить файлы *.mid и *.kar. Но поскольку эти файлы содержат ноты, а не готовые звуки, то для их воспроизведения требуются соответствующие звуки инструментов. Такие инструменты хранятся в виде банков семплов, называемых soundfont ("звуковые шрифты"). В таком банке есть набор музыкальных инструментов и для каждого инструмента - набор семплов, соответствующий каждой ноте каждой октавы (или, может быть, остальные октавы генерируется на лету путем повышения/понижения частоты эталонного ряда семплов) и длине ноты. Изменяя банк инструментов можно получить абсолютно различные звучания одного и того же файла.
Компонент BASS_MIDISoundfonts позволяет загружать банки инструментов, необходимые для воспроизведения музыки MIDI.
В папке с примером есть образцы файлов *.mid и *.kar для воспроизведения и один минимальный soundfont "CT2MGM.sf2", который подтягивается примером автоматически (первый найденный *.sf2 рядом с программой). Файлы *.sf2 имеют большой размер, поэтому парочку дополнительных я выложил отдельным архивом: http://depositfiles.com/files/n1r0xijte
Даже для плеера AIMP нужно в настройках указать soundfont, чтобы он мог воспроизводить MIDI.

На основе плагина MIDI, вероятно, можно сделать компоненты для отображения караоке (из файлов *.kar). Планирую, но пока руки не дошли.


Папка "BASS Update" содержит обновленный Bass.pas и поправленные штатные компоненты под него. Содержимое закинуть в папку "code".
Необязательно, но стоило бы обновить, в т.ч., на SVN для поддержки будущих потенциальных компонентов.

Хотелось бы обсудить текущую архитектуру компонентов BASS:
1) Если в примере во время воспроизведения уменьшить громкость, а затем открыть новый файл, то громкость опять станет 100%, а ползунок при этом не изменит своего положения. Это же касается баланса и других эффектов потока. Что это за плеер, у которого все настройки сбрасываются с каждым новым файлом?
2) Каким образом можно одной и той же схемой, одним и тем же набором для управления воспроизведением ("старт", "стоп", "пауза", громкость и др. эффекты) воспроизводить музыку из разных источников - файла, URL, потока, сгенерированного на лету?

Редактировалось 4 раз(а), последний 2021-10-05 14:43:08
карма: 26

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8701
Рейтинг: 806
#2: 2021-10-04 13:45:59 ЛС | профиль | цитата
Netspirit, в BASS есть формат представления звука "float" -- четырёхбайтное число с плавающей точкой:
Single.jpg
Вот если бы вы взялись переделать компонент BASS_RecordStart под этот формат (у меня не получилось ), я был бы очень рад

Редактировалось 1 раз(а), последний 2021-10-04 13:48:20
карма: 19

0
Ответов: 4505
Рейтинг: 719
#3: 2021-10-04 14:04:51 ЛС | профиль | цитата
А с чем именно возникли проблемы? Предполагаю:
1) Добавить свойство "SampleSize"=[16bit-Int,8bit-Int,32bit-Float]
2) Согласно этому свойству указать размер семплов:
- в заголовке WAV (предполагаю, в WaveHdr.wBitsPerSample := 16, заодно и WaveHdr.dwBytesPerSec поправить)
- в параметрах функции BASS_RecordStart() - третий параметр flags: 0 = 16bit, BASS_SAMPLE_8BITS = 8bit, BASS_SAMPLE_FLOAT = 32 bit float.

Редактировалось 3 раз(а), последний 2021-10-04 14:07:45
карма: 26

1
Голосовали:Леонид
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)