|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Maxim Ushakov 2:5030/786.25 07 Jun 2001 16:41:00 To : Mihail Beliakoff Subject : WAV to SPEAKER ??????? -------------------------------------------------------------------------------- EL>> я выводил, получается фигово, но работает. а как хорошо сделать, EL>> ищу сам инфу. Читаешь файл моно .PCM (*.WAV), если значение >128 EL>> фронт высокий, если меньше 128 низкий, короче тот же порт, только EL>> задержка будет соответсвенно counter <128 или >128 MB> А я пpедлагаю делать по-дpугому: использовать не только больше или меньше MB> 128, но и более мелкие изменения в частоте, т.е. когда изменение MB> напpавления возpастания-убывания функции (пеpегиб), тогда и деpгать MB> динамик. Вот ГРАФИКИ: /\ /\ MB> /\ СИГHАЛ WAV: / .\ /\/\ / .\/\ /\ / .\/\ MB> \/ . \/ ... \/ . ..\ /\ / .\/ . . \/\ /\ . . MB> . ... . . .. \/ .\/ . . . . ..\/ . . . . ... MB> . . .. . . . . . . . .. . . . . . ... . . MB> .. . . . . . . . .. . . . . . ... . . .. . MB> . . . . . . .. . . ЪДДї ЪДїЪї ЪДДї Ъї ЪДї ЪДДї MB> ЪДДї Ъї Ъї ЪДї СИHГАЛ HА SPEAKER: і і і ііі і і іі і і і і і і MB> іі іі і і і і і ііі і і іі і і і і і і іі іі MB> і і ДЩ АДДЩ АЩАДДЩ АДЩАДДЩ АДЩ АДЩ АДЩАДЩАДЩ АД В Я делал давно сабж. Выходило без каких либо искажений, разве что тихо (но это вряд ли недостаток - из динамика больше не выжмешь). Принцип был отличный от описанного выше: на динамик выдавался меандро-видный сигнал большой (около 30КГц) постоянной частоты. При этом скважность сигнала была пропорциональна уровню отображаемого сигнала. Суть очевидна, можно даже дифур соотвествующий составить :) : Мембрана - структура упругая и обладающая при этом инерцией. Так вот, если на него подавать сигнал слишком высокой частоты, то мембрана будет колебаться под влиянием самого сигнала (но это ж 30КГц - колебания слабые и неслышные), но при этом колебания будут около некоторого отклоненного от состояния равновесия положения, причем отклонение будет пропорционально какой-то положительной степени скважности сигнала (какой именно степени - не знаю, диф-ура не решал:). При скважности 0 (т.е. вообще нет сигнала) будет положение покоя мембраны, при скважности ->\infinity будет максимальное отклонение. Т.о. можно "поставить" мембрану в любое положение, причем частота дискретизации будет довольно высокой. Hу и остается подавать нужную амплитудную выборку (наш квантованный звук) в виде скважности сигнала. Если нужно реализовывать это именно на PC, то можно заняться программированием внутреннего таймера, отведенного под динамик (но, насколько я помню, лучшее его применение - это заставить генерировать одиночные импульсы заданной длительности). Если уж совсем далеко влазить, то стоит еще поменять частоту регенерации памяти, иначе слышен писк (из-за прерываний работы на регенерацию). P.S. Вообще, сабж - страшное дело. :) Да, еще о способах. Есть варианты вывода звука с пренебрежением помехами преобразования. Hапример, предложенный ранее вариант с выводом производной будет конкретно шипеть, но при этом громкость будет замечательной. Если нужно выводить _узнаваемую речь_, можно применить некое специальное преобразвание (у него спектр - до 2000Гц, т.е. как раз для голоса). О нем лучше спросить у вояк, или у специалистов по мобильной связи :). Bye. ... Учиться, учиться и еще раз учиться. (с) В.И.Ульянов/Ленин/ ... * Origin: Maxim Ushakov (2:5030/786.25) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/170923b1faf05.html, оценка из 5, голосов 10
|