
Вопрос задан 26.06.2020 в 12:39.
Предмет Информатика.
Спрашивает Лауровна Лаура.
Python Оцифровка звука выполняется в режиме стерео с частотой дискретизации 44,1 кГц и глубиной
кодирования 24 бита. Ввести время записи в минутах и определить, сколько Мбайт нужно выделить для хранения полученного файла (округлить результат в большую сторону). Введите время записи в минутах 10 Размер файла 152 Мбайт

Ответы на вопрос

Отвечает Bilovus Diana.
1. Сделаем расчет для одного канала
Частота дискретизации 44.1 кГц, означает что в секунду делается 44100 отсчетов.
Глубина кодирования 24 бита = 24/8 = 3 байта означает, что под хранение одного отсчета отводится три байта.
Тогда односекундная запись займет 44100×3 = 132300 байта.
2. Запись стереофоническая, т.е. она имеет два канала. Односекундная стереозапись займет 132300×2 = 264600 байт или 264600/1024² Мбайт.
3. Минутная запись займет в 60 раз больше, т.е. 264600×60/1024² ≈ 15.14 Мбайт.
Чтобы определить, какой объем займет запись длительностью t минут, надо умножить t на 15.14 и округлить результат до ближайшего большего целого (в математике эта функция называется ceiling, т.е. по-английски "потолок").
Программа на Python 3.6.4
import math
t=int(input("задайте время в минутах: "))
print("Потребуется",math.ceil(15.14*t),"Мб")
Частота дискретизации 44.1 кГц, означает что в секунду делается 44100 отсчетов.
Глубина кодирования 24 бита = 24/8 = 3 байта означает, что под хранение одного отсчета отводится три байта.
Тогда односекундная запись займет 44100×3 = 132300 байта.
2. Запись стереофоническая, т.е. она имеет два канала. Односекундная стереозапись займет 132300×2 = 264600 байт или 264600/1024² Мбайт.
3. Минутная запись займет в 60 раз больше, т.е. 264600×60/1024² ≈ 15.14 Мбайт.
Чтобы определить, какой объем займет запись длительностью t минут, надо умножить t на 15.14 и округлить результат до ближайшего большего целого (в математике эта функция называется ceiling, т.е. по-английски "потолок").
Программа на Python 3.6.4
import math
t=int(input("задайте время в минутах: "))
print("Потребуется",math.ceil(15.14*t),"Мб")




Отвечает Вильданов Камиль.
Import math
DEPTH = 24
RATE = 44100 # 44.1 kHz = 44100 Hz
# get the record time in seconds
time = int(input("Enter the record time in minutes: ")) * 60
# file size in bits ('2' сoefficient appears due to a stereo mode)
fileSize = RATE * DEPTH * time * 2
# file size in MBytes
fileSize /= (8*(1024**2))
# round up the file size to the bigger value
fileSize = math.ceil(fileSize)
print("The file size is: ", fileSize, "MB")
DEPTH = 24
RATE = 44100 # 44.1 kHz = 44100 Hz
# get the record time in seconds
time = int(input("Enter the record time in minutes: ")) * 60
# file size in bits ('2' сoefficient appears due to a stereo mode)
fileSize = RATE * DEPTH * time * 2
# file size in MBytes
fileSize /= (8*(1024**2))
# round up the file size to the bigger value
fileSize = math.ceil(fileSize)
print("The file size is: ", fileSize, "MB")


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili