LINUX.ORG.RU
ФорумTalks

Какие форматы звуковых баз или баз семплов существуют в природе?


1

1

Какие существуют открытые форматы баз звуков? База звуков должна уметь хранить тыщи мелких звуковых файлов с UTF-8 именем для каждого.

Юзер отмечает звуки в разных звуковых треках на текстовых треках ( http://audigger.sourceforge.net/img/screenshot-ru-1-jpg.jpg ). Затем он запускает «экспорт» и получает набор звуков с сопоставлением им UTF-8 имён.

Как хранить такой набор звуков?

Это необязательно семплы: под семплом обычно понимается привязка звука к ноте или какой-нибудь кнопке электробаяна. Хотя, семплеры (матрица кнопок) считают любой звук семплом :)

Так вот, как лучше хранить и распространять такой набор звуков?

Ну, типа: json-файл со списком из 100K объектов, где каждая запись имеет id - целое число и в том же каталоге валяется 100K файлов для каждого ID: 1.wav, 2.wav и т.п. Это удар по ФС: сто тыщ мелких объектов. Их тогда надо будет по каталогам разбивать.

Ещё я видел каталог с wav-файлами, где для каждого файла хранится одноимённый TXT-файл, в котором что-то про этот wav-файл сказано. Но тут получается 200K файлов, а не 100K+1. Ваще смерть винта.

Я бы вообще слил мелкие кусочки в жирный wav-файл (с ограничением на 4GB, например), а рядом положил json-файл с описанием кусочков внутри этого wav-файла. Такое очень быстро и просто читать и удобно хранить. Получилось бы несколько wav-файлов и один index.json

Ещё существуют .CUE - файлы, но я не понял как там насчёт UTF-8 в именах кусков и как насчёт миллиона записей в нём.

Чем там DJ пользуются на своих pioneer cdj 2000 для отметки кусков треков? Или им там не надо 100К кусков хранить?

★☆

Последнее исправление: kiverattes (всего исправлений: 3)

Чем звуковой файл так отличается от любого другого набора бинарных данных, что ему надо свою БД?

yirk ★★★
()
Ответ на: комментарий от yirk

А кто сказал, что ему «надо свою БД»? Что такое «своя БД» вообще?

kiverattes ★☆
() автор топика
Последнее исправление: kiverattes (всего исправлений: 1)
Ответ на: комментарий от abraziv_whiskey

Я туплю - семплами называются звуки, назначенные на ноты. У меня такого нет (-; Значит, у меня просто коллекции звуков.

kiverattes ★☆
() автор топика
Ответ на: комментарий от kiverattes

Не обязательно считать их нотами. Десятый банк - ударные, они не слишком похожи на ноты обычных инструментов. Правда, подозреваю, что в sf2 есть серьезное ограничение на количество семплов в банке, но его можно модифицировать.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

существует ли формализованный язык, отличный от стандартной нотной записи, в котором можно написать скрипт для генерации мелодии на основе последовательности/комбинации семплов , запустить его и услышать то, что хочешь услышать ?

kto_tama ★★★★★
()

Юзер отмечает звуки в разных звуковых треках на текстовых треках

Прям трекерный формат какой-то. Сэмпл и название.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от abraziv_whiskey

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

зы: да, это похоже csound

kto_tama ★★★★★
()
Последнее исправление: kto_tama (всего исправлений: 1)
Ответ на: комментарий от kto_tama

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

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от kto_tama

Да хосспаде, напейсать можно, что тут обсуждать. Примитивная задачка. CSound или не CSound, таких тыщи можно нагеренить языков.

kiverattes ★☆
() автор топика

Интересно, у игроделов есть какой-нибудь открытый формат для этого, или только велосипеды.
Вообще, если не предполагается добавлять-удалять семплы, то и tar с файлом меток сойдет.
Или NoSQL БД.
Да что угодно, в общем.

thesis ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

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

1. чем проще пользоваться ?
2. с точки зрения выбора тембров - у цесаунда есть выбор ?

kto_tama ★★★★★
()
Ответ на: комментарий от kto_tama

Не знаю, я в свое время цсоунд пропустил. Похоже, я уже могу начинать жалеть об этом.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от thesis

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

теперь возьмем программиста
он услышал музыку в голове
он хочет получить, грубо говоря, файл с расширением mp3
он плохо играет на рояле
он садится за комп и ПИШЕТ на скриптовом языке мелодию
потом компилирует ее и получает результат
при этом он ничего не знает ни про какие секвенсоры и эквалайзеры, он просто использует некую библиотеку, которая позволяет ему получить мелодию, воспроизводимую как последовательность звуков, извлекаемых например на фортепиано

kto_tama ★★★★★
()
Последнее исправление: kto_tama (всего исправлений: 1)
Ответ на: комментарий от kto_tama

при этом он ничего не знает ни про какие секвенсоры и эквалайзеры

Вот что меня неизменно удивляет в ЛОРе, так это постоянная готовность контингента обсуждать вымышленные ситуации, не возможные в реальности.
Меня, признаться, это мало интересует.

thesis ★★★★★
()

Я бы вообще слил мелкие кусочки в жирный wav-файл (с ограничением на 4GB, например), а рядом положил json-файл с описанием кусочков внутри этого wav-файла. Такое очень быстро и просто читать и удобно хранить. Получилось бы несколько wav-файлов и один index.json

Мне вот этот вариант больше всех нравится. И разметка легко конвертируется во что угодно (те же субтитры). А библиотеки сэмплов — это для музинструментов хорошо, где их надо по одному очень быстро воспроизводить. У тебя же нет такой задачи? Или ты Text To Speech собрался городить?

И да, техвопрос в толксах. Это бы лучше в мультимедиа или девелопмент, вдруг умные анонимусы набегут.

massimus ★★★
()
Последнее исправление: massimus (всего исправлений: 1)
Ответ на: комментарий от kto_tama

он садится за комп и ПИШЕТ на скриптовом языке мелодию

man треккеры. Но я разочарую. Ничего не выйдет. Для примера, можно провести параллель с рисунком. Из головы в код, не зная никаких gimp'ов/inkscape'ов. Конечно, тут можно обойтись туевой хучей вызовов функций cairo, но это займёт 100500 времени и очень сложно будет сделать что-то красивее «палка, палка, огуречек».

atrus ★★★★★
()

Ну, типа: json-файл со списком из 100K объектов, где каждая запись имеет id - целое число и в том же каталоге валяется 100K файлов для каждого ID: 1.wav, 2.wav и т.п. Это удар по ФС: сто тыщ мелких объектов. Их тогда надо будет по каталогам разбивать.

кот сказал mongoDB

n_play
()
Ответ на: комментарий от atrus

Можно было бы продолжить разговор, если дать определение «хоть немного». Но определению это не поддаётся )

kiverattes ★☆
() автор топика

https://ccrma.stanford.edu/software/clm/

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

psv1967 ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

sf2 бинарный, примитивный и практически мёртвый

lazyklimm ★★★★★
()
Ответ на: комментарий от kiverattes

Но определению это не поддаётся )

Зато конкректных примеров хватает. Я, например. :)

atrus ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.