0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
|
1 | |
Получение данных из аудиофайла16.02.2014, 00:00. Показов 2872. Ответов 10
Метки нет (Все метки)
Необходим код программы, открывающей уже имеющийся аудиофайл и извлекающий данные из него по следующему принципу: 1)задаются временные границы (например 2:30 начало и 2:55 конец, то есть работаем с 15 секундами открытого аудиофайла)
2) задается шаг, с которым будем идти по выделенному временному интервалу (например наш интервал в 15 секунд мы разобьем на 30 интервалов с ШАГОМ 0,5 секунд) 3) вычисляются значения амплитуды аудиофайла начиная с нижней границы с заданным шагом до верхней границы В итоге в программе должны храниться данные типа х1-у1, х2-у2 и тд, где х и у- амплитуда и отсчет времени, в который производилось измерение амплитуды. Вот такую вот своеобразнуй программу "оцифровки" я ищу. Находил до этого лишь программы по работе со звуком в реальном времени (данные снимались в режиме реального времени с аудиовхода звуковой карты), а хотелось бы поработать со звуком в офлайне.
0
|
16.02.2014, 00:00 | |
Ответы с готовыми решениями:
10
Получение метаданных аудиофайла в Qt5 без использования QMediaPlayer? Линк данных Access-Excel, Получение данных с внешних источников Получение данных с веб-страницы с закраской ячеек в определенный цвет в зависимости от ID данных Ввод данных, добавление данных, получение информации из файла по заданным критериям выборки |
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
||||||
16.02.2014, 16:25 [ТС] | 2 | |||||
нашел в инете похожую программу, помогите, пожалуйста, разобраться в коде. Код ниже открывает wav-файл и строит его осциллограмму. Вопросы по коду: 1) зачем нужны переменные w1 и w2?
2) зачем при построении графика в цикле делить всю длину файла на 4? 3) как понять 5000/r.Data.Size*i? То есть зачем делить постоянное число на длину всего файла, умноженную на 1,2,3,4 ... до длины файла? К посту прикреплена сама прога, если что.
0
|
Пишу на Delphi...иногда
|
|
16.02.2014, 16:32 | 3 |
это буферы, в которые производится чтение данных (возможно, что два канала)
каждый раз читают два буфера по 2 байта, итого 4 байта, чтобы не было повторений чтения - длину файла делят на 4 масштабный коэффициент, умножают на i для того, чтобы новый всплеск рисовался не на этом же месте, а сдвигался (в файле не 5000, а 2000)
1
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
||||||
16.02.2014, 18:39 [ТС] | 4 | |||||
За ответ- спасибо, почти понял))
Но я хочу модифицировать программу- увидеть оси и их размерности. Засунул результат программы в чарт:
2) можно ли так вообще строить график, используя лишь w2 как абсциссу и i как ординату? Ведь когда строили через канвас использовали 2 буфера и все эти коэффициенты 3) в чем измеряется амплитуда на оси абсцисс?
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
|
16.02.2014, 18:45 [ТС] | 5 |
вот скрин того, о чем я говорю
0
|
Пишу на Delphi...иногда
|
|
16.02.2014, 18:47 | 6 |
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
|||||||||||
16.02.2014, 19:12 [ТС] | 7 | ||||||||||
не не, про организацию wave файла я уже читал, вопрос как вывести именно BytesPerSecond?
Я пытался выводить так же, как выводится размер файла в программе(предварительно описав в структуре файла wBytesPerSecond: LongInt:
0
|
пофигист широкого профиля
4754 / 3191 / 860
Регистрация: 15.07.2013
Сообщений: 18,482
|
|
16.02.2014, 19:19 | 8 |
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
||||||
16.02.2014, 20:15 [ТС] | 9 | |||||
Не понимаю. Я вывожу значение wAvgBytesPerSec так же как и автор выводит значение wFileSize, почему вылезает [Hint] Unit1.pas(67): Variable 'RealFileSize' is declared but never used in 'ReadWave'?
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
|
16.02.2014, 20:30 [ТС] | 10 |
Я обгуглился на счет вывода параметров wav файла, нашел только уже готовую прогу без кодинга. Не подскажете ли Вы где глянуть кодинг подобной проги?
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 273
|
|||||||||||
17.02.2014, 16:25 [ТС] | 11 | ||||||||||
Эврика! Извините, что получается спамлю, но пишу я сюда сразу же как только возникает вопрос дабы ускорить процесс. С радостью удалял бы уже бесполезные сообщения, если бы мог... А проблема была глупой, надо было лишь добавить в вывод нужный параметр вот тут:
создаю новую тему, так как был получен ответ на вопрос, ради которого тема изначально создавалась, а вопросы задаваемые далее лишь на понимание кода.
0
|
17.02.2014, 16:25 | |
17.02.2014, 16:25 | |
Помогаю со студенческими работами здесь
11
Получение данных сервером от БД и отображение данных в клиенте DataGridView Получение данных от SQL сервера и отображение данных в DataGridView Передача данных в скрипт и получение данных из скрипта Получение данных из таблицы базы данных Передача Аудиофайла Инвертирование аудиофайла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(шестибитный асихронный счётчик с управляющим сигналом заде
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
|