Например TDA7294

Форум РадиоКот • Просмотр темы - Ардуино - запись звука
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 27, 2024 11:19:44

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 696 ]     ... , , , 33, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт сен 22, 2023 18:38:16 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
я ничего не коллекционирую)) я делаю полезные устройства...
щас доделываю приложения для звонков по интернету... точнее по бесплатному Wi-Fi... экономя деньги))
приложение уже работает...
переходим к натурным испытаниям))
:roll:

Добавлено after 16 minutes 56 seconds:
когда делал умный дом...
Вложение:
схема_PoE(5V2A).jpg [192.74 KiB]
Скачиваний: 30

в схеме использовал роутер и интернет модуль...
кабель (витуха) приходил от провайдера на роутер... а с роутера на интернет модуль.

если роутер зависал то МК автоматом переключал кабель (витуха) от провайдера напрямую на интернет модуль...
при этом роутер исключался из общей схемы...
Вложение:
1.jpg [85.35 KiB]
Скачиваний: 36

для переключения кабеля (витуха) я использовал обычную релюшку... можно поляризованную...
:)

аналогично можно сделать с ПЛК... да и любым другим устройством с интернет.
:roll:
например есть куча ПЛК включённых последовательно...
все ПК мониторят дург друга... как в самолёте... 5 бортовых компьютеров мониторят друг друга))
в случае отказа одного из ПЛК соседний ПЛК выкидывает отказавший ПЛК из схемы... с помощью простой релюшки...
питание релюшки можно сделать по той же витухе... как в PoE.
всё очень просто и надёжно.))
:tea:

вместо реле можно использовать диодный коммутатор... будет ещё надёжней))
кой какие опыты уже делались с диодным коммутатором... над диодным коммутатором надо ещё поработать...
:tea:

Добавлено after 1 minute 50 seconds:
сейчас работаю по оптике...
Вложение:
схема_PoE(5V2A)_AVR.jpg [178.13 KiB]
Скачиваний: 26

как автоматом переключать оптику... я пока не придумал))
нужен другой коммутатор)) или типа сплиттер... потом подумаем))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт сен 22, 2023 18:42:05 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 8
Зарегистрирован: Пт дек 07, 2007 11:17:40
Сообщений: 131
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Да, про реле я думал, просто не знал практические реализации. ПЛК с Ethernet пока не разбирал.

Ваша схема умного дома на витых парах мне понравилась. Я у себя в квартире в каждую розетку вывел по 2 Ethernet кабеля на всякий случай. Предусмотрел такую разводку до ремонта. Теперь могу везде по проводному умному устройству вставлять.

_________________
Россия навсегда!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт сен 22, 2023 19:40:43 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
все нормальные люди закладывают витуху на этапе ремонта... кроме меня)) потому я ремонт ещё не делал))

разбирать ПЛК в принципе и не обязательно... можно прицепить внешний коммутатор на реле... на ту же DIN рейку... и управлять этой релюшкой удалённо по той же витухе... разницы нет))


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб сен 23, 2023 19:18:13 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
roman.com писал(а):
первое что приходит на ум... добавить в программу сканер IP ))
т.к. количество IP у провайдера ограничено... то передрать все IP провайдера и найти свой... не займёт много времени))
159.194.0.2
159.194.0.3
159.194.0.4
...
159.194.255.254
правда там несколько пулов ))
27.24.0.2
27.24.0.3
27.24.0.4
...
27.24.255.254
и т.д. ))

пипец... озадачили))

добавить в программу сканер IP ))
теперь найти свой IP... можно в один клик )) 1 минута по времени))
:tea:
не знаю как отнесётся провайдер к тому что кто-то постоянно сканирует все его IP адреса...))
а платить 150 рублей за статический IP... жаба душит))
:))
ну и ладно...
:tea:


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пн сен 25, 2023 20:01:57 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
roman.com писал(а):
переходим к натурным испытаниям))

угу ))

1- через домашний роутер всё работает идеально)) звук идеальный )) 22050 семплов * 16 бит = 352.800 бит/с.
Вложение:
Screenshot_1.jpg [108.83 KiB]
Скачиваний: 31

2- надо проверить как работает по реальному интернету...
:roll:
зашёл в банк... там бесплатный Wi-Fi... ))
Вложение:
Screenshot_2.jpg [116.83 KiB]
Скачиваний: 30

По интернету работает идеально)) звук идеальный )) 22050 семплов * 16 бит = 352.800 бит/с.
только иногда проскакивают щелчки - это потеря пакетов...
видимо сигнал Wi-Fi был слабый...
надо ещё потестить... в разных условиях... на разных Wi-Fi...))
:tea:

Добавлено after 26 minutes 34 seconds:
а впереди у нас ещё самая сложная задача...
1- берём старый телефон
2- подключаем к ардуино
3- звоним по интернету ))
Вложение:
Screenshot_3.jpg [55.15 KiB]
Скачиваний: 38

:tea:


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт сен 29, 2023 00:29:09 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
добавили видео...
https://developer.alexanderklimov.ru/an ... bitmap.php
Вложение:
видео.jpg [117.53 KiB]
Скачиваний: 39

на компе работает нормально...
на андроиде работает... но тормозит конкретно)) андроид работает в ~10 раз медленней компа))
мда...
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 14:57:01 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Решил таки я еще раз , после значительного перерыва попробовать пропихнуть звук 8кгц 8бит через GPRS модем SIM800.
вернулся к тестированию канала и пропускной способности.
Первый делом вывел звук через сериал ардуины (115200) и получил отличный результат. Выводил в лог программы putty. Т.е 115200 достаточная скорость порта,что собственно неудивительно.
Потом я решил заново протестить пропускную способность модема. Заполнил массив разного размера 256, 512, 1024байт данными от 0 до 9 и стал толкать этот массив в порт модема и в java программе Романа смотреть сколько удается получить.

Добавлено after 1 minute 31 second:
На ардуине при начале отправке зажигаю pin13, при окончании отправки заданного количества пакетов гашу.

Добавлено after 42 minutes 33 seconds:
Код:
 for (int i = 0; i < 512; i++) {
    buf00[i] = i % 10; // остаток от деления на 10 даёт числа от 0 до 9
  }
  digitalWrite(ledStart, HIGH);
 
  for (int j=0; j<512; j++) {
  sendATCommand("AT+CIPSEND=512", false);
  delay(20);
  GSMport.write(buf00, sizeof(buf00));
  //Serial.write(buf00,sizeof(buf00));
  delay(100);
}
  digitalWrite(ledStart, LOW);


Добавлено after 14 minutes 24 seconds:
к сожалению добится 100% получения пакетов удалось лишь если делать задержку больше 100мс (delay(100)) и еще приходится делать задержку для комманды указания передачи и размера пакета AT+CIPSEND=512
В этом случает отсылая 512 пакетов по 512 байт мне удалсь получить файл 262 144 байт (512*512)
при уменьшении задержки между пакетами до 50мс приходит файл размером 250 880 байт
при уменьшении задержки между пакетами до 20мс приходит файл размером 203 264 байт

c задержкой близкой к приемлемой delay(20) удается пропихнуть без потерь лишь первые 16 пакетов по 512 байт. Дальше , как я понял начинаются потери. С задержкой в 5 мс даже и эти 16 пакетов были получены с потерями.


Последний раз редактировалось olegue Чт янв 11, 2024 15:28:34, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 14:59:38 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1329
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10546
Рейтинг сообщения: 0
Так, к сведению (вдруг, не в курсе) - NB_IoT может оказаться предпочтительнее GPRS

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 15:22:15 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Так, к сведению (вдруг, не в курсе) - NB_IoT может оказаться предпочтительнее GPRS
. В плане деталей этой технологии совсем не в курсе. СЧас прогуглил поверхностно, но пока даже не понял подойдет ли мой модем sim800.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 16:12:41 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: -4
какие нафиг NB_IoT
:facepalm:
товарищ не понимает что он вообще пишет))
лишь бы что-то написать... от балды))
Вложение:
Screenshot_1.jpg [33.14 KiB]
Скачиваний: 21

Вложение:
Screenshot_2.jpg [86.12 KiB]
Скачиваний: 20

и т.д.
:tea:

у тебя ПОТОКОВАЯ передача !
требования к потоковой передачи:
-высокая скорость (в идеале от 10 Мбит/с и выше).
-минимальные задержки (в идеале < 1 мс).
-стабильный пинг.
:tea:

опять ты пытаешься впихнуть невпихуемое))
сам GPRS модем SIM800 не предназначен для таких экспериментов)).

тут надо или Wi-Fi или LTE или 5G ))
а лучше всё вместе))
:tea:

Добавлено after 1 minute 57 seconds:
c задержкой близкой к приемлемой delay(20) удается пропихнуть без потерь лишь первые 16 пакетов по 512 байт. Дальше , как я понял начинаются потери. С задержкой в 5 мс даже и эти 16 пакетов были получены с потерями.[/b]

твой GPRS модем SIM800 слишком долго думает))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 16:43:02 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1329
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10546
Рейтинг сообщения: 0
olegue, если из старых, то точно не подойдёт.
И рассчитай требуемый канал. Романдотком хоть и дурачок, но отчасти прав. 10 мбит/с, конечно, нафиг не надо, это полнейший бред, а не неотъемлемое свойство потоковой передачи, но какое-то значение должно быть.

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Чт янв 11, 2024 23:18:08 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 4
к сожалению добится 100% получения пакетов удалось лишь если делать задержку больше 100мс (delay(100)) и еще приходится делать задержку для комманды указания передачи и размера пакета AT+CIPSEND=512


получается,что для того что бы пропихнуть 512байт я должен подождать 100мс, а это пропускная способность равная 5120б/с или 41000 bps, а мне по минимуму надо 8кб/c. Тем не менее хочу ппробовать протащить поток с сэплрейтом хотя бы 4кгц и потом уже успокоится.

Добавлено after 16 minutes 11 seconds:
Да, все получилось. Так как у меня ардуинка была на LGT8f328 , то поставил в IDE делитель на 2 и в впрограмме оцифровки больше ничего не менял. Полученный файл завел в Sound Force и уменьшил битрейт до 4кгц внизу в панельи. Получил в итоге звук качества 4кгц. Приложу файл, там спектакл на бел. языке поэтому разборчивость так себе. Ну эт неважно. Важно что разобрался

Добавлено after 6 minutes 27 seconds:
Еще важный момент , модем перевел в прозрачный режим
myGsm.println("AT+CIPMODE=1");

Код:
void loop() {
    if (bufByteCount == 32 && bufWrite == 1)
  {
    myGsm.write(buf01, sizeof(buf01));
   }
   if (bufByteCount == 32 && bufWrite == 0)
  {
       myGsm.write(buf00,sizeof(buf00)); 
   }
   
} //loop


и отправлял мелкими пакетами по 32байта, но это не имеет особого значения потому как в прозрачном режиме модем исходят из особеннстей подлкючения определяет какими пакетами отправлять, а то что ему даешь собирает в буфер.

Добавлено after 1 minute 27 seconds:
задержки delay() тоже все убрал. С ними только хуже было

Добавлено after 5 minutes 20 seconds:
нужно теперь в заголовке файла показать что 4кгц и будет нормально


Вложения:
Jv20240111_2256.zip [146.37 KiB]
Скачиваний: 17
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт янв 12, 2024 17:22:43 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: -4
olegue писал(а):
Тем не менее хочу ппробовать протащить поток с сэплрейтом хотя бы 4кгц и потом уже успокоится.

ну ? уже успокоился ? )) или ещё нет ? ))
:tea:
хватит уже мучать GPRS
на изернет переходи... там 10 мбит/с... всё летает без проблем))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Пт янв 12, 2024 23:38:31 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
ну ? уже успокоился ? )) или ещё нет ? ))
:tea:
хватит уже мучать GPRS
на изернет переходи... там 10 мбит/с... всё летает без проблем))
:tea:


скорее наоборот, вот допустим есть 8кгц pcm, что если сжать его на лету пускай потерями,но оптимизировав для уха и отправить уже 4кгц звук, вот такая затея.

Добавлено after 2 minutes 7 seconds:
например убрать паузы

Добавлено after 14 seconds:
или сделать их короче

Добавлено after 14 minutes 29 seconds:
ерунда, конечно, но это так, лишь начало рассуждений

Добавлено after 1 hour 19 minutes 1 second:
Короче, буду пытаться вернуться к 8кгц, но уберу повторяющиеся сэмплы, не буду писать их в буфер. Потом попробую +-1 тоже не писать. Надо пробовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 01:55:59 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
как уже говорил выше... на ардуине сильно не разгонишься)) скорость маленькая...
врятли ты напишешь нормальный кодек))
хотя если взять пачку ардуин... то можно подумать))
:tea:
ну можно немного поколдовать... ))

1.
если не писать +-1 то будет искажение типа "ступенька".
лучше тогда уменьшить динамический диапазон... не писать старшие разряды...
я вместо 8 бит писал 7 бит... и даже 6 бит... на семпл )) получил pcm-128... pcm-64... pcm-32... соответственно.
звук как у рации - срезает громкие звуки.
но разобрать можно))
это ардуина может.
:tea:
2.
ещё можно писать не абсолютные значения... а относительные...
+1+2-1-3+2...
это ардуина может.
но посчитав внимательно... заметного выигрыша не получается)) хотя если снизить частоту на входе... короче надо посчитать))
или сделать как в IP-камере... там сначала передаётся опорный кадр... а потом передаются только те пиксели которые изменились в следующем кадре...
:tea:
3.
убрать паузы тоже можно... будет опять же как в рации VOX...
пока говоришь в микрофон - идёт передача...
не говоришь - нет передачи))
это ардуина может.
:tea:
4.
что ещё ардуина может ?
сделать БПФ (быстрое преобразование Фурье) и разложить звук на спектры ... и отфильтровать не нужные гармоники...(как в телефоне GSM)...
это ардуина не может.
хотя если взять пачку ардуин... то можно подумать))
:))
5.
и т.д.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 11:30:59 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
лучше тогда уменьшить динамический диапазон... не писать старшие разряды...
я вместо 8 бит писал 7 бит... и даже 6 бит... на семпл )) получил pcm-128... pcm-64... pcm-32... соответственно.
звук как у рации - срезает громкие звуки.
но разобрать можно))
это ардуина может.
:tea:


зацепился за эту фишку.

допустим я обьявил массив для накопления сэплов
buf00[32]
если я буду сохранять только 7 битные сэмплы:
buf01[bufByteCount] = ADCH & 0x7F;

значит ли это что размерр массива перед отправкой будет не 32 байта (32*8=256 бит), а 32*7=224 бита ?

Добавлено after 2 minutes 44 seconds:
Если это так, то получается что мне нужно будет лишь поприседать с "декодированием" получившегося кода, а для лучше юзабильности наверно стоит на выходе вернуть файлу 8битный формат, что бы можно было играть его на плейерах, а не майстерить свой


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 12:39:14 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
в передатчике
создаём массив 32 байт
buf00[32]

записываем в массив 8 бит
buf00[0] = ADCH;
buf00[1] = ADCH;
...
buf00[31] = ADCH;

сдвигаем весь массив на 1 бит
buf00[0] = (buf00[0]<<1);
buf00[1] = (buf00[1]<<1);
...
buf00[28] = (buf00[31]<<1);

получаем массив 28 байт
buf00[28]

передаём массив 28 байт по GPRS модем SIM800.


в приёмнике делаем обратный процесс...
создаём массив 32 байт
buf00[32]

записываем в массив 7 бит
buf00[0] = buf00[0];
buf00[1] = buf00[1];
...
buf00[28] = buf00[28];

сдвигаем весь массив на 1 бит
buf00[0] = (buf00[0]>>1);
buf00[1] = (buf00[1]>>1);
...
buf00[31] = (buf00[28]>>1);

получаем массив 32 байт по 8 бит
buf00[32]

вернули файл в 8 битный формат
:tea:

экономия трафика 12,5 % (100/8=12,5)

недостаток - динамический диапазон уменьшился в 2 раза (!).
:tea:

Вопрос:
имеет ли смысл уменьшать динамический диапазон в 2 раза (!) ради экономия трафика 12,5 %... ???
:dont_know:

для себя я ответил на этот вопрос уже давно - нет, не имеет))
потому что у меня всё работает по бесплатному Wi-Fi... ))
у тебя всё работает по платному GPRS модем SIM800.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 13:09:32 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
в Вашей java программе можно 7 битный звук получить?

Добавлено after 33 seconds:
и проиграть


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 13:35:38 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6892
Откуда: .ru
Рейтинг сообщения: 0
в java программе получить 7 битный звук можно...
выше написал как...
:tea:
в java программе проиграть 7 битный звук можно... если перевести 7 битный звук в стандартный формат...
выше написал как...
:tea:

подробнее...

java использует стандартные библиотеки для записи и воспроизведения...

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.TargetDataLine;

для воспроизведения в java надо перевести 7 битный звук в стандартный формат...

sampleRate = 8000,11025,16000,22050,44100 кгц
sampleSizeInBits = 8,16 бит

:tea:

зато в java заголовок WAV файла не нужен))
заголовок WAV файла можно не передавать... тем самым экономя трафик))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ардуино - запись звука
СообщениеДобавлено: Сб янв 13, 2024 17:10:29 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
попробовал удалять паузы квадратичным методом. Если энергия буфера меньше Тресхолда, то не отправляют его.
Поигрался с этим значением, толку мало. Вырезание всех пауз, даже там где они формируют речь, это тоже не дело.
Попрбую 7 бит. По крайней мере есть с чем сравнить.

Код:
const int THRESHOLD = 24500;  // Пороговое значение энергии


// Функция для определения энергии в заданном буфере
int calculateEnergy(const uint8_t* buffer, int size) {
    int energy = 0;
    for (int i = 0; i < size; ++i) {
        energy += buffer[i] * buffer[i];
    }
    return energy;
}


void loop() {
  if (digitalRead(btnStart) == LOW){
    digitalWrite(ledStart, HIGH);
   if (bufByteCount == 32 && bufWrite == 1)  {
    int energy = calculateEnergy(buf01, sizeof(buf01));
     //Serial.print (energy);Serial.print ("THRESHOLD");Serial.println (THRESHOLD);
      if (energy > THRESHOLD) {
        // Если энергия выше порога, отправляем пакет
        myGsm.write(buf01,sizeof(buf01));
    }}
   if (bufByteCount == 32 && bufWrite == 0)  {
     int energy = calculateEnergy(buf00, sizeof(buf00));
     //Serial.print (energy);Serial.print ("THRESHOLD");Serial.println (THRESHOLD);
      if (energy > THRESHOLD) {
        // Если энергия выше порога, отправляем пакет
        myGsm.write(buf00,sizeof(buf00));
    }}
       
    }
 
   else
   {digitalWrite(ledStart, LOW);}
} //loop




Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 696 ]     ... , , , 33, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y