LINUX.ORG.RU

Посоветуйте софтину: аудио-секвенсер консольный.

 


0

1

1. Пишем некий длинный JSON - конфиг про то, какой файл с какого времени и с какой громкостью должен звучать. Типа, kick-bass.ogg кажые полсекунды, share.ogg каждую секунду. Каждое воспроизведение прописано отдельно с указанием числа секунд (float) с абсолютного начала итогового файла (поэтому конфиг будет жирным), а не ритмом.

2. Запускаем, оно рожает wav/ogg файл где все звучит как определено.



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

Начнём с простого: знаешь ли ты, что такое аудио-секвенсер? Приведи пример существующих аудио-секвенсеров.

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

а ты знаешь, я очень хочу, чтобы ты меня просветил. Я устроился удобно, рассказывай. А я наводящие вопросы буду задавать.

Deleted
()
Ответ на: комментарий от deep-purple

А зачем тебе именно сонсольный? В чём юзкейс?

Есть телеграм бот. Ему можно отправить короткий файл бочки. Сказать «бум» в микрофон, например. Потом отправить файл барабара, сказав «т-ш-ш», отправить файл тарелки «тс-с-с», отправить файл хайхета «ц-с», отправить ещё 20 видов какой-нибудь перди и выбрать стиль.

Оно тебе вернёт адский музон с твоими инструментами по указанному шаблону с некоторыми рандомными вариациями.

onetimepad
() автор топика
Ответ на: комментарий от deep-purple

И это пользуется спросом? Ну или ты считаешь, что будет пользоваться?

На спрос как-то насрать, оно ведь бесплатное. Хочется запилить ради фана и посмотреть как звучит. И выкинуть потом, как наиграюсь.

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

Конкретно под такую задачу врядли готовые решения есть. Ну, есть варик запускать DAW которая умеет в OSC (опен саунд контрол), но это ж можно и на гемор попасть, что не будет нужной фичи доступно через эту дырочку. Я б на сишечке такое смог, но это ж время. Сам то осилишь?

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

Под эту конкретную и не требуются.

Вопрос сформулирован в абстракции от конкретной задачи. Просто секвенировать аудиофайлики по конфигу - досоаточно общее такое требование, как мне кажется.

onetimepad
() автор топика
Ответ на: комментарий от deep-purple

В принципе может быть можно сильно потрахаться с ffmpeg. Я с его помощью чё только не делал - паузы в речи вырезал, фоновый музон накладывал, реверберацию добавлял, но гимору было пруд пруди. Не хочется повторять )

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

Потому я и спросил вначале, будет ли это спросом пользоваться.

Этж надо звуки нормализовать, точно расставить во времени к темпу, сгенерить-смиксовать, нормализовать микс... и это только базовые задачи.

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

Ему спам рассылать. фразы составлять. И ему надо, чтобы за него написали скриптик, которым аудиофайлы дёргать. И всё это. конечео же, через JSONЮ, а то не модно.

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

Ему спам рассылать. фразы составлять. И ему надо, чтобы за него написали скриптик, которым аудиофайлы дёргать. И всё это. конечео же, через JSONЮ, а то не модно.

Не угадал. И вообще ты как-то взволнован мной, ты прямо таки отакуэ и разоблачаэ.

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

Перечитал твой старт пост — всё правильно я понял и всё правильно описал по задачам.

Так ты сделал? Делаешь? Забросил?

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

Так ты сделал? Делаешь? Забросил?

Хер забил, занимаюсь другими делами. Если запрошенного мной херобаза в природе нет - значит пока не дастся поиграться.

Ты доводишь до совершенства, а не надо.

Есть ритмическая сетка для «бочки» - 2 удара в секунду, например.

Ты засылаешь в телеграм звук (записанный прямо в него с микрофона) вида «бум» с аннотацией «kick». Оно ставит это в бочку. Ты соображаешь головой и понимаешь как должна звучать бочка. Ты не произносишь в микрофон «э-э-э Бум», ты делаешь сразу «Бум». Оно отрезает тишину и юзает твой бум как бум. Если ты хрипел и сопел, то это ты и услышишь на всех местах где должна быть бочка и сам дурак. Что-то нормализовывать не надо, хватит встроенного в дефолтный телеграмный рекордер авто-уровня, шумодава и проей херни.

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

Всё настолько тупо, что проще застрелиться.

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

Ты доводишь до совершенства

Гыы ))

2 удара в секунду, например

Темп измеряется в BPM (ударов в минуту), это может быть не кратно частоте дискретизации микшера/результирующей вафки. Кроме того, есть ещё такты и длительности. В любом случае, тебе придётся считать «отступ» до аудио-фрейма с которого начинать/заканчивать «воспроизведение» конкретного семпла. Короче, у тебя на входе темп, позиция ноты в тактовой сетке, длина ноты и частота дискретизации (сколько-то в секунду) — рассчитай с какого фрейма начинается семпл?

нормализовывать не надо

Микширование — это суммирование значений аудио-фреймов, одновременно «звучащих» семплов/источников.

И если у тебя два суммируемых фрейма и так орут на максимум, то ты получишь переполнение, и там будет всё так хрипеть и пердеть, что выйдет говнище говняное. От этого надо защищаться используя float или double (т.е. перегонять исходные файлы семплов в реальном времени или в тмп-кеш перед работой).

А после сложения всех фреймов — нормализовывать (понижать или повышать) общий уровень композиции до значения -/+1.0 (0 децибел) в пиковых по громкости местах композиции. Найти максимум, рассчитать аспект (рэтио), промножить на него все фреймы смиксованного трека.

Затем, перегоняем флоаты во что-то ещё, например инт16, уинт8 или что-то ещё, в зависимости от того, в какой формат и каким кодеком (мп3 вроде не умеет флоаты) ты RAW PCM жать собираешься. Да, возможно кодер умеет на вход равки и сам всё конвертит при необходимости, например ffmpeg, но, тем не менее, понимать как оно работает — надо.

И, возможно, понадобится добавить авто-envelope уровня сигнала (атака, след, релиз) для плавного старта/окончания семпла, если микрофонный пердун плохо напердел.

что проще застрелиться

И тут твоя фраза, полагаю, заиграла новыми красками в раскрытом мной контексте ))

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

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

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

ты хотел выговориться

Я хотел показать что не так всё просто как ты стелишь.

на какой вопрос и что ты этим отвечаешь - не ясно

Беру цитаты и на них отвечаю — разуй глаза.

всё написанное понятно и дебилу

Либо, после того, как я разжевал, либо, если ты всё это и так знал — схрена тогда вообще тред создавал с такими тупыми вопросами и схрена всё еще не запилил демку?

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

Я хотел показать что не так всё просто как ты стелишь.

Бывает. Чё ж не показал? Всё что ты рассказал - мегапросто.

onetimepad
() автор топика
Ответ на: комментарий от deep-purple

схрена тогда вообще тред создавал

Чувачок, тебе чё надо? Тред создан для поиска конкретной софтины, а не обсуждения того как она там работает внутри.

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

Чувачок, тебе чё надо?

Сейчас — понять, отправлять тебя к доктору или уже поздно.

Чё ж не показал?

Я уже со всех ракурсов и «в триде» все закоулки показал.

Тред создан для поиска конкретной софтины

Вот моё предложение десятком каментов выше:

есть варик запускать DAW которая умеет в OSC (опен саунд контрол)

А если не подойдёт — я описал как всё сделать, чтобы было норм.

А чё надо тебе?

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

Короче, толстовато и банальный оверквоттенг. Тренируйся на пхорумах кащенитов, а пока не цепляет.

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