LINUX.ORG.RU

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

 


0

1

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

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



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

а тебе чтобы какого цвета буквы были?

JSON ему подавай... скриптом на мплеере рули себе.

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

дык за десять минут напишешь парсилку твоего JSONа в своём скрипте, по своим правилам и со своими требованиями. Ты дольше халявы ждать будешь,

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

Дык сразу надо было подробнее чего хочешь, а не пык-мык. Ишшэ, хочу на JSONе. но штоп проигрвалось не так а эдак. Я про цвет букв не случайно спросил.

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

Deleted
()
Ответ на: комментарий от 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
() автор топика

Попробуй заюзать какой-нибудь Tux guitar и перегонять это дело в миди.

Не знаю, получится ли.

И тебе Жопа-с-ушами всё правильно написал, а ты желчью исходишь непонятно чего :)

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

И тебе Жопа-с-ушами всё правильно написал, а ты желчью исходишь непонятно чего :)

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

onetimepad
() автор топика

Есть консольная программа для работы с аудио - sox. С помощью этой программы можно добиться поставленной задачи, но без JSONа.

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

Есть консольная программа для работы с аудио - sox. С помощью этой программы можно добиться поставленной задачи, но без JSONа.

Отличненько. Только чё вы прицепились к этому сраному JSON так никто и не понял.

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

чё вы прицепились к этому сраному JSON так никто и не понял.

Справедливости ради - в теме указано

Пишем некий длинный JSON - конфиг про то, какой файл с какого времени и с какой громкостью должен звучать

Со стороны кажется, что JSON - это обязательное требование и без него тебе не интересно. Если это не так - стоило бы уточнить, что рассматриваешь любые варианты, но предпочтительнее JSON. Или просто - любые форматы, например JSON/XML/whatever.

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

Справедливости ради - в теме указано

Забили бы хер, всего и делов. Главное-то функционал, а не формальности.

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

sox может гораздо меньше, чем ffmpeg. Поэтому в его опциях проще разобраться.

sox -m in.ogg "|sox kick-bass.ogg -p pad 0.5" "|sox share.ogg -p pad 1" out.ogg

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