Суббота, 22.07.2017, 07:40 
Приветствую Вас Гость | RSS



Меню сайта
 

Личные странички
UA3EKK
RV3EFH
UA3EID
RA3EA
UA3EKJ
RA3ED
UA3ECX
RV3EF

Мини-чат

Погода


Наш опрос
Каким видом радиосвязи вас чаще всего можно услышать в эфире?
Всего ответов: 258

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Albert

Форма входа
Логин:
Пароль:

Куплю/продам

[13.02.2012]
продам (1)
[19.12.2011]
icom R6 (0)
[16.10.2011]
Усилитель мощности на ГС31/ ГС35 (3)
[11.10.2011]
Нужны микросхемы (1)
[22.05.2011]
Рубрика технической взаимопомощи (2)

Фото

Праздники

Ваш IP
Узнай свой IP адрес

Главная » 2012 » Март » 23 » Картинка на спектрограмме
19:23
Картинка на спектрограмме

За вечер написал простейшую консольную программу для перевода ч/б изображения в звук (44.1 кГц, Моно, 16 бит), на спектрограмме которого будет отображаться что-то похожее на исходное изображение (для примера - в Adobe Audition 1.5). 

   

Для начала я определился с масштабами. По горизонтали выбрал 1024 звуковых отсчёта на пиксель изображения. Это более-менее оптимально подходит к параметрам FFT в Audition. Размер картинки не ограничен, пропорционален времени звучания. По вертикали решил попробовать 50 Гц на пиксель, начиная с 400 Гц (ибо частоты ниже в Audition отображаются хуже). Решил ограничить размер картинки по вертикали до 256. Итого, верхняя граница в звуке 13.2 кГц. Для начала этого хватит.

Загоняем исходное цветное изображение (bmp, 24 бит, т.е. RGB и по байту на каждый канал). Три цветовых значения каждого пикселя по известной формуле преобразуем в одно чёрнобелое. Внутренний цикл - пробег по вертикали (от 1 до 256). В результате формируются отрезки синусоид соотвествующей частоты и амплитуды (она пропорциональна яркости текущего пикселя картинки) и длинной в 1024 отсчёта (23.2 мс). Затем они суммируются. Предварительно к ним применяю (умножением) "окно сглаживания" - функция, которая "смягчает" отрезок синусоиды по амплитуде. Это нужно для исключения резких переходов и обрывов, из-за которых на спектре будет много лишних шумов. Ведь не на всех используемых частотах в 1024 отсчёта укладывается целое число периодов?! Нужно, чтобы каждый отрезок плавно возрастал и затухал во времени. Пробовал в качестве такой функции брать полусинус, длинной 1024 (частота 21.5 Гц), но там нет точек перегиба, она везде выпуклая. Больше всего подошла функция сигмоида, имеющая известную форму нормального закона распределения. Параметры данной функции (дисперсию и коэфициенты масштабирования) подобрал как можно лучше. Ну а затем переходим на следующий столбец картинки (внешний цикл). И так далее. Звуковые данные для удобства и простоты программы печатаются в текстовый документ специального формата, который открывает не только Блокнот, но и Audition. 

Конечно же, всё равно по краям каждого из таких звуковых сегментов не присутствует ожидаемый ноль. Там наоборот сильный всплеск. Это где-то что-то не учтено или баг. Из-за этого звук "трещит", а на изображении спектрограммы присутствуют вертикальные полосы. Выебона на частоте 5500 Гц свяна с большой дискретностью по вертекали: 50 Гц - многовато. В дальнейшем - внутренним циклом сделаю пробег по горизонтали с применением интерполяции амплитуды в масштабе 1:1024, в результате чего будет формироваться полностью непрерывный длинный сигнал. И так на каждой из 256 частот. Затем они просуммируются и результат будет готов.
Просмотров: 978 | Добавил: RV3EEQ
Всего комментариев: 4
4  
Сылка на аудио: http://r3e.ucoz.ru/load/0-0-0-18-20.
Программку писал на C. Программа без интерфейса. Поэтому нет необходимости пользоваться какими-либо программами для разработки. Достаточно компилятора C/C++. У меня компилятор под виндус от программы Dev-Cpp, но в ней я ещё не разбирался. В линуксе компилятор встроенный.

3  
Как вариант можно в файловый архив добавить, а сюда ссылку для скачивания
На каком ПО ты эту программу написал, интересно.

2  
што это за электронный голосовой феномен?

1  
На JPG-скриншоте хуже виден результат. Как мне загрузить сюда аудио (wav или, накрайняк, mp3), чтобы была возможность скачать??? Оно там 7 секунд, заодно послушаете, как оно звучит.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мы в Контакте

R3E В Контакте
 


Наши соревнования

Соревнования Золотой Орел


Поиск

Время
MCK

Календарь
«  Март 2012  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031

Архив записей

Дни рождения
Дни рождения в Июле :
 
Июль
 
Поздравляем !!!

E-mail отправителя *:
ФИО, позывной, день рождения:

Друзья сайта
  • RK3EWW
  • Сайт Ливенских радиолюбителей
  • Полезные ссылки:
  • QRZ.RU
  • Сервер Кубанских Радиолюбителей
  • Союз радиолюбителей России
  • Российский УКВ портал

  • Форум

    Коментарии

    Поиск на QRZ.RU
    Поиск в российском Callbook'e:
    ON-LINE поиск предоставлен сервером QRZ.RU

    Известные сайты
    Сервер радиолюбителей России - схемы, документация,
 соревнования, дипломы, программы, форумы и многое другое!

    Сервер 

Кубанских радиолюбителей

    Российский УКВ портал

    R-Quad - 

радиолюбительские антенны


    РАДИОФАНАТ - 

сайт Николая Большакова

    Орловский регион
    Радиоклуб Орловский Эфир. Региональное общественное объединение

    Детская коллективная радиостанция. Орел



    Сайт Ливенских радиолюбителей

    Разместите наш баннер

    Регионы России

    Smolradio.ru -
Сайт Радиолюбителей Смоленщины

    Сайт радиолюбителей Тульской области

    Сервер Тамбовских Радиолюбителей



    Тульский областной радиоклуб




    Принципиальные схемы

    Радиоклуб Орловский Эфир © 2017Сайт управляется системой uCoz