Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

8 bit/8kHz възпроизвеждане на звук
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7651
Страница 1 от 2

Автор:  emilvtc [ Чет Мар 18, 2010 5:34 pm ]
Заглавие:  8 bit/8kHz възпроизвеждане на звук

Интересува ме каква предварителна обработка на сигнала трябва да направя, че при възпроизвеждане да получа "максимално" качество - или по-скоро минимални шумове?

По-голямата част от шума мисля, че е в следствие на семплирането по време на записа.
Какво правя до момента:
1. Премахвам DC съставката на сигнала (той е 16 битов с 192000 семп/сек)
2. С еквалайзер правя честотни корекция, така че като го прекарам от изхода на PC-то през аудиотракта и говорителя на системата ми - да ми харесва. (опит да изкомпенсирам честотната характеристика на усилвателя и най-вече на говорителя и "акустичната" му система)
3. Отрязвам всички честоти над 4kHz (незнам дали да не орежа всички над 3кHz)
4. Нормализирам записа по амплитуда в целия 16 битов обхват
5. Конвертирам го до 8bit/8ksps
6. Нормализирам записа по амплитуда в целия 8 битов обхват
(нормализацията я правя с цел да "подобря" отношението сигнал/шум на записа)

Съответно конвертиране до HEX и запис в паметта на микроконтролера.

Да, ама шуми ... :(

Използвам 8 битов PWM на 64kHz като DAC. Презареждам го с 8kHz (на всеки 125 микросекунди с DMA). Имам НЧ филтър от 3-ти ред след него. После НЧ усилвател и говорител.

Автор:  [ Чет Мар 18, 2010 7:32 pm ]
Заглавие: 

Нещо не е на ред картата на ПК.

Между 9 и 10-bit PWM 44.1kHz , stereo, 16-bit signed integer, през филтър от 2-ри ред с ОУ на слушалки звучи отлично, чисто, няма тракальосване от PWM, в паузите се чува слаб шум, но шума го чувам от същите записи и на уредбата, така че изключвам да е от PWM, по скоро си го има в записа.

От къде го вземаш сигнал от линейния изход или от изхода за говорители ?

Автор:  woody [ Чет Мар 18, 2010 8:22 pm ]
Заглавие:  Re: 8 bit/8kHz възпроизвеждане на звук

emilvtc написа:
3. Отрязвам всички честоти над 4kHz (незнам дали да не орежа всички над 3кHz)

Определено 4 kHz е много оптимистично за реалния свят в който живеем. ;)
Просто виж филтърът с който режеш колко затихва около 4 Khz и дали е достатъчно.

Цитат:
5. Конвертирам го до 8bit/8ksps
6. Нормализирам записа по амплитуда в целия 8 битов обхват
(нормализацията я правя с цел да "подобря" отношението сигнал/шум на записа)

На тези си им разменил местата май. Въобще вземи ги попремисли - както ти е оригинален 16-битов, директно можеш да го конвертираш в 8-битов така че да ползваш максимален динамичен диапазон, без междинни нормализации - с минимално на брой операции. Когато изхвърляш битове за да останат само 8, можеш или да закръгляш, или да видиш литература на тема "dither".

А най-лесно е да вземеш готова програма която да извърши тези трансформации за теб.

Автор:  juzisound [ Чет Мар 18, 2010 9:52 pm ]
Заглавие: 

Най лесния начин:
1. Няма нужда да режеш нещо от сигнала - предварително - с EQ Или някакъв филтър. Тъй най-вероятно да го скапеш още предварително.
2. първо правиш каквото правиш и щом вече ти "харесва" на 16 бита 193кХз - правиш конвертиране на 16 бота и 8 кХз.
3. Загубите тук са неизбежни.
4. после правиш т.н. Dither от 16 на 8 бита. Ако го направиш итаво - тук вече почти няма да се чувства разлика. Потърси Ultimate-D от пакета Sonalksis Mastering Suite.

Автор:  emilvtc [ Чет Мар 18, 2010 11:12 pm ]
Заглавие: 

Записа го правя с микрофон към входа на PC-то. Всички обработки на сигнала ги правя с "Cool Edit Pro".
Програмата има различни функции за нормализация по амплитуда, премахване на DC съставката, филтриране (FFT и др), пресемплиране с различни семпъл рейтове и резолщции като битове с "dither" и noice reductions и т.н.
Обработеният сигнал го извеждам през изхода за слушалки на PC- то и го прекарвам през крайното стъпало и говорителя на системата ми. И като резултат - шуми ... Най силно шума се забелязва по време на паузите между думите, но ако се заслушам - присъства и в тях.

Разлика между 8кхц/16бит и 8кхц/8бит е огромна по отношение на шума ..
От опитите ми установявам, че резолюцията като битове влияе много по-силно на шума, отколкото семпъл рейта..

Автор:  juzisound [ Чет Мар 18, 2010 11:29 pm ]
Заглавие: 

Е точно за това говоря. Опитай тоя плъгин за който ти писах. Това е VST плъгин и Cool.. би трябвало да работи с него. Прави го почти да няма разлика при конвертиране от 16 до 8 бита. Не съм се замислял как - ама явно са го измислили някак.
За сравнение амо - вградения в Sound Forge уж професионален Dither няма нищо общо до това. Даже не се доближава...

Автор:  nik [ Пет Мар 19, 2010 10:37 am ]
Заглавие: 

http://www.romanblack.com/picsound.htm

Автор:  [ Пет Мар 19, 2010 10:27 pm ]
Заглавие: 

Според мен една голяма част от шума идва от това, че използваш изхода за слушалки, там знаеш, е крайно стъпало, което по принцип внася много шумове и изкривявания, и след като го вкараш в линейния вход на следващия НЧУ усилваш шумовете в пъти. Отделно кофти маси между двете хапаратури също ще ти осерат сигнала.

Опитай с линейния изход на аудиокартата, може и да го нямаш изведен на куплунг на кутията, но вътре на платката трябва да имаш джъмпери, където да се закачиш. Там е нискошумящ изхода, поне от аналогова гледна точка няма да имаш шумилки.

Да използвам темата, да попитам juzisound, имам едни записи, мноого тихи, околния шум е почти или по-висок от полезния запис. Как мога да ги усиля и да ги изчистя от шума, до толкова, че да се разбират, не ми трябва перфектното качество ? Използвам AudaCity и/или SoX, и каквото и да правя става още по-голяма боза. Пък ми са ценни и уникални :-)

Автор:  darkshy [ Пет Мар 19, 2010 10:42 pm ]
Заглавие: 

Не съм работил с такива програми, но за шума и обработка ползвам Nero Wave Editor (върви с неро-то). Отваряте файла, маркирате всичко, цъкате на enchacement->Noise analys, цъкате на ОК и после пак в enchacement->Noise Reduction, вдигам reduction level докрай и сейвам.
Получава се доволно :)

Автор:  juzisound [ Съб Мар 20, 2010 12:36 am ]
Заглавие: 

Ами относно записите - много зависи от естеството на шума и сигнала - но в общи линии пътищата са 3:

1. честотни корекции - обаче в много тесни лентни - с цел да докопаш нещо което ти е полезно и нещо което е вредно - и да подтискаш или изкарваш напред. Зависи от естеството на сигнала. Ако е относително постоянен - може и да има резултат.

2. Динамична обработка - разбирай честотно зависим гейт - или един вид - сигнала постоянно е намален - а се усилва автоматично само при наличие на полезен сигнал. Кое е полезен сигнал - се избира като се следи определена честотна лента - или няколко ленти - но различни от тези в които е вредния сигнал. Дава резултат при говор обикновенно.

3. Стандартнa Noise редукция - която е на принципа на премахването на постоянно присъстващ вреден сигнал - когато той е с относително постоянна сила и характер. Дава резултат при премахване на шум от лента примерно или шум от транзисторно стъпало, брум или нещо такова - дето е вредно и постоянно. За целта трябва да се намери място, където няма полезен сигнал - демек само шум. Анализира се този пасаж - и после на базата на направения анализ - подобна съставка се подтиска в общия сигнал.

Комбинации от методите - всякакви...
Все пак - не очаквай чудеса. Още не са измислили обработка по-добра от човешкия слух и "последващата" обработка от мозъка. Човека е способен - ако не е дочул нещо - да си го доизмисли на базата на вече натрупан предишен опит. Възможно е - дори е доказано - че музика която се слуша с лошо качество - обикновенно се приема - особено от музиканти - като доста по-добре направена от колкото ако я чуят с идеалното разбирай реалното и качесво. Тоест това дето слушащите не са чули и сами са си доизмислили е възможно да е по-добро от недочутото реално съществуващо.
Има един пакет с плъгини на фирмата Waves. Обикновенно там има всичко необходимо. Около 150мб е.

darkshy!
Обикновено при "enchacement->Noise analys" се селектира участък - в който има само шум. Виж пак трета точка.


:wink:

Автор:  zaphod [ Съб Мар 20, 2010 8:55 am ]
Заглавие: 

Цитат:
Интересува ме каква предварителна обработка на сигнала трябва да направя, че при възпроизвеждане да получа "максимално" качество - или по-скоро минимални шумове?

ами като начало да вземеш да разбереш от де идва самия шум например. та да почнем с твоята идея "По-голямата част от шума мисля, че е в следствие на семплирането по време на записа. " аз се съмнявам в това, потърси по-добре.

Автор:  [ Пон Мар 22, 2010 2:45 pm ]
Заглавие: 

Вчера само за проба пуснах MP3 декодиране с PIC32MX :-) , 16-битовия PCM изход го насочих към файл на SD картата, след това го възпроизведох с sox програмата, нямам забележки, свири прилично. Търся DAC чип, към който да изпращам аудиото, някой да може да ми препоръча нещо подходящо, имам в предвид да не е някаква екзотика.
Не изключвам и възможността да стане и с PWM модулите на процесора, но там полезния сигнал ще е не повече от 9-10 бита.

Автор:  woody [ Пон Мар 22, 2010 8:34 pm ]
Заглавие: 

¶ написа:
Търся DAC чип, към който да изпращам аудиото, някой да може да ми препоръча нещо подходящо, имам в предвид да не е някаква екзотика.

Виж Wolfson дали нямат нещо.

Автор:  tgi [ Пон Мар 22, 2010 8:54 pm ]
Заглавие: 

AC97 кодек ли искаш или просто някакъв DAC? Първите са малко по-трудни за намиране на дребно, ама
имаше един в Digikey, LM4550 .
http://search.digikey.com/scripts/DkSea ... 4550BVH-ND

То е цяла звукова подсистема де, ама е добре документирано и ще имаш и ADC-тата и т.н.,
няма да го мислиш пак скоро.

Инак за голи DAC-ове бих търсил най-напред в ADI, www.analog.com , имат сума ти неща
и product selector-ът им май работеше добре.

Автор:  bongo_x2 [ Пон Мар 22, 2010 11:00 pm ]
Заглавие: 

Беее, само щото ми надуха главата колко бил добър MP3 кодека Lame аз бих прекарал историята през него и ако ми хареса ще го преобразувам във .wav например. Обаче Виндовс Медиата се справя още по-добре с ниските битрейтове.
Кой има време за губене...

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/