powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как можно конвертировать секунды в биты (музыкальные)
19 сообщений из 19, страница 1 из 1
как можно конвертировать секунды в биты (музыкальные)
    #37415268
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня стоит задача, конвертировать секунды в биты и обратно, как написать я думаю не проблема, а как это вообще происходить, чему это равно? чему равен один бит? подскажите пожалуйста.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415273
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

Чему равна единичка на циферблате "не скажу какого" прибора?!


НУ вот у меня mp3 с фиксированным битрейтом 128 кбит/с. Есть какие-то проблемы с пониманием сколько бит занимает 1 секунда?
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415281
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragon,

так про прибор я не понял, а вот про 128 кбит/с думаю 128 тысяч бит в 1 секунде, так каких данных не хватает чтобы понять чему равна 1 секунда при конвертации в биты?? у меня задание, 2 метода со входными параметрами ( секунды, биты), в одном случае метод возвращает биты, когда входной параметр секунды, а в другом наоборот, так я вообще не понимаю что мне нужно написать внутри метода, по какому принципу он должен все считать
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415294
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор128 тысяч бит в 1 секунде
с каких пор "кило" = 1000 в битах/байтах? 1024

автортак про прибор я не понял
вот и я тоже

Дано:
1 сек = 128 кбит

Что надо?
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415298
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

согласно утверждённому на XIII Генеральной конференции по мерам и весам точному тексту определения секунды,
"Секунда равна 9 192 631 770 периодам излучения, соответствующего переходу между двумя сверхтонкими уровнями основного состояния атома цезия-133."
Бит по Шеннону определяется как базовая единица измерения количества информации, равная количеству информации, содержащемуся в опыте, имеющем два равновероятных исхода.
Если мы примем использующиеся в первом определении состояния за использующиеся во втором определении равновероятные исходы, то мы получим, что, в зависимости от использования секунды как замкнутого либо полуоткрытого интервала, одна секунда равна 9 192 631 770 либо 9 192 631 771 биту.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415300
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragon,

ну да да, я имел ввиду 1024
прибор...
прога Ableton Live, в задание написано, что в мануале , секции 9.2 описано как связаны физическое время (секунды) с битами, только я этого там не нашел и не могу понять, как мне реализовать методы.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415305
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

Это все чудесно. Но никто до сих пор не понял, в чем задача то?
Что на входе и что на выходе?
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415310
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 функции:
Код: plaintext
1.
2.
3.
double AClip::BeatToSampleTime(double BeatTime)
{
  return ...;
}
и такая же функция наоборот, задача понять, чему равны биты относительно секунд, чтобы можно было написать функцию, которая будет возвращать требуемый тип в зависимости от входных данных
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415324
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

Бит - единица, не имеющая физической размерности. Определение Шеннона уже привели.
Секунда - единица размерности [время].

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

Ряд способов кодирования задают постоянный "битрейт" - например, у меня есть трек Track01.mp3, с битрейтом 128 Kb/s. Соответственно, за одну секунду из исходного файла считываются 128 килобит. Track02.mp3 имеет битрейт 192 Kb/s, соответствующее количество бит, читаемых из файла, предлагаю определить самостоятельно. Советую иметь в виду, что Edd.Dragon заблуждается насчёт коэффициентов: для битов используются десятичные, а не двоичные множители ( пруф ).
Другие алгоритмы не столь благосклонны. Track03.mp3 имеет переменный битрейт (то есть, в разных моментах трека данные читаются из файла с разной скоростью).

Но каким бы ни был файл, прочитанный сигнал в конечном итоге преобразуется в нечто, доступное для понимания колонок/наушников. По сути, это просто последовательность значений "силы звука" (назовём это так) - целых чисел, идущих с высокой частотой. Если взять обычный плеер, без операционной системы и подобных наворотов, то он читает информацию, как она записана на CD - обычно это 16-битовые уровни, с частотой изменения сигнала ("частота дискретизации") 44100 Hz, на каждый канал (левая колонка, правая колонка). Простым перемножением получаем 176,4 тысячи байт в секунду, ~70 минут на 700-Mb диск.
Операционная система вносит свои коррективы: можно преобразовывать звук из двухканального в сигналы для системы 5.1, можно повышать частоту дискретизации (бессмысленно и даже вредно при чтении CD, но источники звука бывают разные) и так далее.

Кроме конечных точек "файл" и "колонки", в сложной ОС есть ещё немало промежуточных потоков, со своей плотностью - как минимум, это то, что декодер файла передаёт звуковой карте. Ещё раз: в "чьи" биты надо конвертировать секунды?
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415325
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

Так речь не о битах, а об beats per second что ли?
Научись все-таки не путать понятия и ясно выражать мысли для себя в первую очередь.

бит (bit) - единица информации
beat - удар

секунда, минута - длительность
bpm (ударов в минуту), т.е. темп музыки - скорость

В итоге фраза "конвертировать секунды в биты и обратно" - не имеет смысла.
Длительность ни в биты, ни в удары не переводится.
bpm (скорость) в секунды (длительность) тоже не переводится.
Можно перевести "удары в минуту" в "удары в секунду". И это тривиально настолько, что в мануалах не пишут.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415327
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ж речь не о bpm, а о bit/s, то в 9 разделе мануала к ПО ничего подобного нет. Там только описывают как мышкой туда-сюда клацать. И в одном месте об изменении темпа (bpm) упомянули.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415328
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction Edd.Dragon заблуждается насчёт коэффициентов: для битов используются десятичные, а не двоичные множители ( пруф ).

я не заблуждаюсь на этот счет. Но если весь мир (будь он тысячу раз не прав) издревле вместо киби использовал все-таки кило для обозначения 1024, то что мне прикажете делать? ))
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415334
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.Dragon,

Mea culpa, там действительно мало сказано про это.
Фокус в том, что под Kb по умолчанию понимают 1024 байта, а вот битовые скорости, типа Kbit/s, используют обычно десятичные множители. Любимый фокус провайдеров, в частности.
Более прямая ссылка на ту же Вики, статья про битрейты (заодно и ТС может быть полезно ознакомиться).
Если у Вас есть информация об иных умолчаниях, буду благодарен за ссылку. Мне всю жизнь казалось, что это разделение, при всей его контринтуитивности, де-факто есть норма.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415337
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,

Хм, знач тогда я всю жизнь преувеличивал значимость mp3 на 2.4%! )))))))))))))
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37415338
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionЕсли у Вас есть информация об иных умолчаниях, буду благодарен за ссылку.
Нене, перекалькулировал в редакторе - таки 1000 бит
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37416639
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragontimergaliev,

Так речь не о битах, а об beats per second что ли?
Научись все-таки не путать понятия и ясно выражать мысли для себя в первую очередь.

бит (bit) - единица информации
beat - удар

секунда, минута - длительность
bpm (ударов в минуту), т.е. темп музыки - скорость

В итоге фраза "конвертировать секунды в биты и обратно" - не имеет смысла.
Длительность ни в биты, ни в удары не переводится.
bpm (скорость) в секунды (длительность) тоже не переводится.
Можно перевести "удары в минуту" в "удары в секунду". И это тривиально настолько, что в мануалах не пишут.
простите если не поняли что имел ввиду, но я думал ясно будет в названии топика (биты музыкальные - имелись ввиду beats, а не bits)
на счет "конвертировать секунды в биты и обратно" не имеет смысла, думаю Вы тут не правы, если я правильно понял из статьи , то как раз из соотношения периода и частоты f*t/60 это и есть мои биты, где f - BPM, ну а t - время, наверное в секундах
поправьте меня, если я ошибаюсь
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37416725
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergalievпростите если не поняли что имел ввиду, но я думал ясно будет в названии топика (биты музыкальные - имелись ввиду beats, а не bits)
на счет "конвертировать секунды в биты и обратно" не имеет смысла, думаю Вы тут не правы, если я правильно понял из статьи , то как раз из соотношения периода и частоты f*t/60 это и есть мои биты, где f - BPM, ну а t - время, наверное в секундах
поправьте меня, если я ошибаюсь
Интересно, Вы и вправду ожидали, что в форуме C++ все сразу поймут, что бит - это beat, который по-русски удар?

В любом случае, ответа на исходный вопрос по-прежнему нет. Нельзя написать функцию, которой на вход подаётся только число ударов, а на выходе получаются секунды. Более того, нельзя написать функцию, которой на вход подаются только число ударов и музыкальный трек, а на выходе получаются секунды. То есть вообще нельзя, потому что у какого-нибудь Genesis - Domino.wav на разных участках разный темп. В лучшем случае можно опереться на трек и момент на треке, получить средний bpm "вокруг" этого момента и по нему перевести число ударов в секунды.
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37416731
timergaliev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abstraction,

ну а как Вы считаете, я правильно понял формулу? она подходит для меня? учитывая если берется кусок трэка со одинаковым BPM?
...
Рейтинг: 0 / 0
как можно конвертировать секунды в биты (музыкальные)
    #37416793
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timergaliev,

Не называйте "удары в секунду" просто "ударами" или просто "секундами". Тогда не будет путаницы.
удары в минуту можно перевести в удары в секунду.
удары в минуту нельзя перевести в удары просто.

А уж перевести удары в секунды (и секунды в удары) - это белеберда.
Точно так же как и литры не переводятся в ватты.
А вольты - в километры.

И страница топика - ни о чем. Из-за того, что кто-то говорит бессмысленные фразы, вместо четкой постановки задачи.


У вас на входе произведение, длительностью X секунд и темпом F ударов в минуту . Х и F на входе! Длительность + скорость! Два параметра, а не один, как вы писали в начале! И вы желаете вычислить, сколько ж в этом произведении всего ударов настучали за эти X секунд. Так?

Ну так что, это "преобразовать секунды в удары" или "вычислить количество ударов в треке по его длине и темпу"? Есть разница?

Ок. Что ж тут вычислять?

Есть трек длительностью 10 сек. Его темп 120 bpm.
Если за 60 сек - 120 ударов, то за 1 сек - сколько?
А в таком случае за 10 сек сколько?

Вот F/60 - это перевод bpm в bps

А X * F/60 - это количество ударов в треке X при темпе F.

Слава Аллаху!

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как можно конвертировать секунды в биты (музыкальные)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]