Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   Вопросы по 1bit музыку. Принцип работы. (http://zx-pk.ru/showthread.php?t=14046)

Mifody 16th October 2010 21:33

Как программить ШИМ я пока ещё не знаю...(( Это в дальнейших планах..

Quote:

Originally Posted by psb (Post 323270)
wav можно загрузить в саундфорж, сделать ему нужную частоту, битность, моно/стерео, обрезать начало/конец и ... сохранить как RAW. это данные без заголовка, можно прям в пзу писать.

А вот за это спасибо. Буду пробовать.))

dosikus 16th October 2010 21:48

Mifody, Может тебе диктофон нужен?
http://www.uni-electronics.narod.ru/dictophon.htm

Mifody 16th October 2010 22:11

Quote:

Originally Posted by dosikus (Post 323404)
Может тебе диктофон нужен?

Диктофон,только 1 битный,который бы записывал только цифровой сигнал. Да собственно записать то нужно только 1 раз,а потом для воспроизведения читать запись из ПЗУ.

dosikus 16th October 2010 22:20

Quote:

Originally Posted by Mifody (Post 323412)
Диктофон,только 1 битный,который бы записывал только цифровой сигнал.

Проще указать что за источник сигнала. А если один раз записать - проще на компе оцифровать...
Меня терзают смутные сомнения : ты не звонок ли делаешь? Или как вариант : речевой информатор?

Mifody 16th October 2010 23:42

Нет. Всё намного проще. Я тут потихоньку PIC контроллеры изучаю. Забацал часы с будильником. А теперь вот хочу,чтоб вместо пищалки в будильнике играла спековская 1 битная музыка. Конечно,можно написать код для ПИКа,который будет генерировать 1 битную музыку, как это было сделано по ссылке выше. Но к сожалению моих знаний пока не хватает для этого. Вот я и думаю,как бы сделать это попроще. Так как музыка 1 битная,значит она представляет из себя последовательность только 0 и 1, которые идут на динамик с какой то частотой. Получается некий поток данных в битах/секунду звучания. Вот мне и нужно знать, какой это поток данных в битах/секунду, чтобы записать этот поток в ПЗУ и потом последовательно считывать её с той же частотой.. На выходе мы получим записанную в ПЗУ мелодию. Как раз и получается некий 1 битный диктофон. Только записать нужно 1 раз. Вот я и ломаю теперь голову над тем,на писи это всё дело провернуть. Я запустил на эмуле 1 битную мелодию,записал её в WAV. А вот что теперь делать не пойму. Чуть выше советовали убрать из файла заголовок и записать это всё в ПЗУ. Так можно сделать,только получим 8 битный WAV и считывать нужно по целому байту для вывода звука. Да ещё и через ЦАП. Это громоздко и расточительно со стороны экономии места ПЗУ. Так можно выводить любой звук. Я как раз и хочу вывести спековскую 1 бит мелодию чтоб отказаться от ЦАПа, да и размер ПЗУ сократится в 8 раз. Мне не нужно готовое устройство. Мне нужно понять, как захватить 1 бит мелодию с выхода спека (или на эмуле на писи) и преобразовать захваченную последовательность бит в bin файл для записи ПЗУ. А для этого нужно знать с какой частотой (каков поток данных в бит/сек) выводится с выхода спека при проиргывании мелодии чтоб потом с той же частотой читать ПЗУ и выводить считанные биты на динамик. Ну и собственно КАК захватить этот поток нулей и едениц и преобразовать всё это в файл для ПЗУ..
Надеюсь,понятно объяснил...

dosikus 17th October 2010 00:12

Так тебе все уже написали .
Захватываешь в wav -> конвертируешь в ADPCM, или сразу захватываешь в ADPCM.
С нужными тебе параметрами (частота и т.д.) .
Записываешь или в память чипа ( если хватит :) ) . Или во внешнее ПЗУ- I2C,serial)
Потом выводишь ADPCM -> ШИМ (PWM).
ИМХО проще написать свой вывод 1 битной музыки , подсмотрев со спеки частоту/длительность - обьем будет на порядки меньше.
Примеров для PIC таких пищалок - кучи . В том же Протеус есть DoorBell.

psb 17th October 2010 02:27

если ты хочешь именно спековскую 1бит, то не нужно тебе многобитные вавы, пцмы и прочее. запиши с эмуля музыку в вав, погляди на нее в редакторе. там скорее всего будут как раз импульсы - нули и единицы (если нет - надо прогнать через компаратор). нужно их перевести в 1 бит (написав программку), упаковать в байты и выводить просто на выход мк с частотой оцифровки. тут ни шим, ни цапы не надо, тупой цикл: взять из пзу байт, выводить бит в порт, пауза, след.бит, пауза, ...., повторить со след.байтом.

---------- Post added at 03:27 ---------- Previous post was at 03:26 ----------

вот всегда так получается: человек не договаривает, ему начинают советовать, советовать... насоветуют универсального... а оказывается, и не надо городить огороды и все куда проще.

описывайте сразу задачи яснее!

Mifody 17th October 2010 12:20

Quote:

Originally Posted by psb (Post 323521)
там скорее всего будут как раз импульсы - нули и единицы (если нет - надо прогнать через компаратор). нужно их перевести в 1 бит (написав программку), упаковать в байты и выводить просто на выход мк с частотой оцифровки. тут ни шим, ни цапы не надо, тупой цикл: взять из пзу байт, выводить бит в порт, пауза, след.бит, пауза, ...., повторить со след.байтом.

Как раз это я и хочу сделать! Вроде ж описал всё правильно и ничего не недоговаривал..
Я уже написал прогу для МК для вывода побитно содержимого ПЗУ. Осталось теперь записать в ПЗУху мелодию. Я записывал мелодию из эмуля в ВАВ в GoldWavе. Но там не совсем цифровой сигнал получается. Звуковуха походу коверкает цифровой сигнал. Там нечто,похожее на синусоиды.. Теперь надо подготовить прошиву на РС,в чём и есть основная проблема..((( Я сейчас начинаю понимать,что наверно не смогу сам подготовить прошиву для ПЗУхи..((((

Ewgeny7 17th October 2010 17:49

А не реальней использовать реальный спектрум, подключив его к выходу звуковухи+эмуль? Считывать значение с магнитофонного входа и перегонять сразу в память. Будет как раз дамп из нулей и единичек.
Может я и глупость сморозил...

psb 17th October 2010 22:39

вав пишите самим эмулятором!
в крайнем случае - выложите trd что надо записать.


All times are GMT +4. The time now is 23:55.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.