Показать сообщение отдельно
  #1 (permalink)  
Старый 22.06.2022, 03:36
Новичок на форуме
Отправить личное сообщение для Francisk Посмотреть профиль Найти все сообщения от Francisk
 
Регистрация: 21.06.2022
Сообщений: 2

Сделать скрипт распаковки аудиоатласа созданного AudioSprite
Доброго времени суток уважаемые знатоки js.

Значит есть такая утилитка как AudioSprite ( https://www.npmjs.com/package/audiosprite ), результатом её работы является .json файл, с инфой о таймингах/разметке аудиоатласа, собственно о том от куда брать звук, и несколько аудиофайлов в разных форматах но с одинаковым содержимым.
Нужно сделать .js скрипт который будет делать обратный процесс, читать .json файл и по таймингам нарезать звуковой атлас обратно на отдельные звуки.
Можно скрипт без всякого интерфейса, который будет запускаться через командную строку.
Или можно сделать с примитивной web оболочкой, собранный из того что есть в сети, что по идее должно сэкономить уйму времени.
Я немного погуглив нашел такой web drumkit( https://github.com/musicandcode/drumkit ), в котором как я понимаю есть уже почти все что надо... Он использует howler.js для воспроизведения, почти читает .json ( просто в нем все что внутри .json файла, вставлено "статично" в код app.js , при этом я погуглил и есть способы подгрузки кода из одного .js файла в другой( https://ru.stackoverflow.com/questio...-файл?rq=1 ), в итоге в файле app.js надо просто сделать так что бы он обращался к файлу sound.json и брал из него кусок "кода", ибо содержимое файла "sound.json" будет меняться.
Потом так же надо сделать что бы он прочитав .json сам определял количество и названия звуковых фрагментов из полученной инфы из .json , ибо в этом коде они так же указаны "статично".
Самое главное, допилить функцию нарезки звука, которой в howler.js нету, допилить самостоятельно либо опять таки взять за основу готовое решение из сети, коих несколько штук, гугл выдает на первой странице при поиске чем резать звук на js( https://github.com/lubenard/simple-mp3-cutter , https://github.com/cevadtokatli/mp3-cutter , https://github.com/meowtec/audio-cutter ), желательно что бы результат был в формате .wav , хотя и .mp3 тоже пойдет.
И собственно реализация web оболочки, минимальная, не надо даже кнопки выбора .json файла, в моем случае он всегда называется sound.json, но их много, и я просто буду по одному менять закидывая в папку утилиты вместе с соответствующими ему аудиофайлами идущими с ним. Так что от web оболочки требуется только что бы она выводила в столбик ровно столько строк сколько отдельных аудиофайлов запаковано в текущий аудиоатлас(канеш с скролом по вертикали если столбик не поместится по высоте в экран) , и в идеале еще в верху кнопка для нарезки сразу всех звуков разом. Не надо ни какого оформления, и тд, тупа белый фон, черный текст и пару картинок для кнопок.
Примерно по такой схеме:
[кнопка cutting_all_sounds]
"Название звука1" | [кнопка play] | [кнопка cutting]
"Название звука2" | [кнопка play] | [кнопка cutting]
"Название звука3" | [кнопка play] | [кнопка cutting]
...
Получиться должна такая портативная утилита исключительно для локального запуска, без всяких там зависимостей, что бы просто архивчик распаковал, кинул где захотел на компе, файлы нужные в её папку закинул, запустил и работает, ну то есть в коде пути использовать относительные и тд, и соответственно все что нужно для работы утилиты что бы было в её папке, я из того drumkit'a сделал такой "набросок" того как хочу видеть архитектуру папок утилиты.
Утилита нужна чисто для себя, для удобства в работе, резать в ручную через Adobe Audition иногда утомляет, когда дают задание начать новый проект а звуки для него заимствуются из старых проектов, но некоторые звуки не запакованные утрачены, но это не беда ибо все звуковые атласы на месте... но в итоге когда надо восстановить для нового проекта звуки из нескольких старых а их еще найти надо... и вот сидишь ковыряешься в json файлах, по названиям смотришь потом в медиаплеере по таймингам клацаешь и слушаешь что бы найти а потом открываешь в аудишн и нарезаешь, сохраняешь... ну кароч в итоге минус 2-3 часа жизни на такую рутину, и такое случается иногда.. значит если сделать такую тулзу то она и мне пригодится еще не раз, и думаю если тот кто поможет сделать либо сам выльет на гитхаб или будет не против что бы я эту сборную солянку вылил на гитхаб, то людей в интернете благодарных за такую утилиту найдется достаточно. Подробности эти к чему, что бы было понимание что требований к оригинальности кода нет(как бывает у заказчиков), и что хоть я её и буду использовать для работы на которой получаю зарплату, но мне ни кто не компенсирует затраты на её создание, ибо это моя личная инициатива.. а вы сами знаете что инициатива делает с инициатором. А я ни разу не программист и мне даже с таким копипастом как собрать из нескольких готовых утилит - франкенштейна из жанра "быдлокодинга" - все равно придется уйму времени потратить. Поэтому скажите кто и за сколько мог бы с этим помочь, что по деньгам что по времени, и прошу вас не ломите дикую цену
Вложения:
Тип файла: zip AS_cutter.zip (4.20 Мб, 3 просмотров)

Последний раз редактировалось Francisk, 22.06.2022 в 20:33.
Ответить с цитированием