DSP efekt

Stavba a úpravy efektů, footswitchů a dalších zařízení
Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

DSP efekt

Příspěvek od Pikus » 1.12.2016 12:46

Ahoj, pohrávám si s myšlenkou, že bych si zkusil udělat efekt pomocí DSP procesoru. Mám zkušenosti s programováním 8 bitových MCU (Freescale, PIC, AVR) a 32 bitových ARMů (Freescale, ST), zhruba i tuším, jak to naprogramovat a jak navrhnout zapojení.

Nicméně, i tak mám pár nejasností:
1. Jaká je dostatečná vzorkovací frekvence pro snímání kytary?
- něco o tom jsem už studoval. V profi audio aplikacích jedou až na 192 kHz, nicméně, to mi přijde zbytečně moc (pro kytaru)

2. Kolik bitů AD převodníku zvolit (opět pro kytaru)?
- toť otázka. Myslím, že pokud budu chtít co nejlepší dynamiku, je vhodný vzít co nejvíce bitů. Poslední bit se stejně bude zahazovat, protože nese informaci spíše o kvantizačním šumu AD převodníku, než informaci o signálu. Z toho usuzuju, že 8 bitů je žalostně málo, protože mi to umožní 128 úrovní (čili 64 do + a 64 do -). Profi audio AD převodníky mívají 24 bitů. Po zahození jednoho bitu bych se dostal na cca 8,4 milionu úrovní (4,2 milionu do + a 4,2 milionu do -). To vypadá sice dobře, ale začal bych se obávat, jestli procesor dokáže zpracovávat nějak rozumně rychle takhle velká čísla a nebude se muset omezovat vzorkovací frekvence.

3. Výstup realizovat pomocí PWM nebo DA převodníku
- osobně bych šel spíše cestou DA převodníku + filtru, protože mám strach (třeba zbytečně), že PWM by mohla produkovat v některých případech nepříjemné slyšitelné frekvence (viz spínané zdroje pro napájení krabiček).

Tak, to zatím asi vše, co řeším... pokud to někdo dočetl až sem a přečetl ve výše napsaným nějakou blbost, budu rád, když mě upozorní. Jestli se tu najde snad někdo, kdo by měl chuť, se do něčeho podobnýho pustit se mnou, můžeme spolu o dalším vývoji diskutovat a dělat na tom společně. Nicméně, dělám to ve volným čase - jako koníček, takže vejplatu vám za to dávat nebudu :D.

Uživatelský avatar
Abu
Příspěvky: 1142
Registrován: 11.01.2009 17:36
Bandzone: http://bandzone.cz/bluesvar
Bydliště: Praha
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od Abu » 1.12.2016 14:13

Podle me je pro kytarovy efekt dostacujici 16bit a 40kHz vzorkovani. (v nouzi mozna i 32kHz).
Hraju výhradně na šrot.

muflon
Příspěvky: 49
Registrován: 8.09.2010 18:31
Bydliště: Třinec

Re: DSP efekt

Příspěvek od muflon » 2.12.2016 16:52

Zdravím, o něčem podobném jsem už přemýšlel a osobně bych šel cestou MCU (mám dobrou zkušenost se zpracování audio u 32bit STm32 série F1 a F4) + audio kodek (AD a DA převodník v jednom pouzdru). Parametrově bych nešel pod 16bit a 44,1kHz - většina moderních kodeků je i tak 24bit (v drtivé většině lze sw zvolit 16/24bit) a prakticky bude jedno jestli 44,96 nebo 192kHz vzorkovačky...
ad. 3: otázka kde se chceš parametrově dostat... jestli to má být jenom věc na zabití času a nechceš to využít tak bych vzal MCU s integrovaným 12bit AD/DA a analog. část moc nehrotit. Za mě PWM absolutně ne.
Jinak by mě tvoje řešení zajímalo a klidně pomohu co budu vědět a kolik bude času ;-)
Fender Standart Strat
POD HD500X + Vox AC15CC1
V případě nouze :D : Cort M520 a Peavey Royal 8 - předěláno na hlavu + 112 box (Eminence Stonehedge)

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 2.12.2016 17:54

Kluci, díky za reakce.

Muflon:
Zrovna STM32F411 se mi válí na poličce v tom jejich Nucleo kitu. Takže bych šel asi cestou, že k tomu dodělám plošňák, kde bych měl ten audio kodek (zatím o tom nic nevím, takže prostuduju) nebo AD a DA převodík + nějakej přepínač, potenciometr atd.

Slibuju si od toho, že bych si udělal nějakej použitelnej efekt / multiefekt pro vlastní použití a hlavně se na tom něco naučil (oblast zpracování zvuku mě zajímá, něco jsem si už ošahal v matlabu a tuším, jak si co naprogramovat, ale chci si to osahat v reálným případě na reálným HW). Líbí se mi, že když budu do budoucna chtít nějakej efekt, tak si ho "napíšu" a nemusím se někde patlat s plošňákem apod.

Takže cesta bude 16 bit AD a DA převodník nebo ten audio kodek. Antialiasing filtr navrhnu jako DP tak, abych mohl vzorkovat 16 kHz s poklesem 3 dB a vzorkoval alespoň těma 44,96 kHz. Až to dál prozkoumám, napíšu, co jsem vymyslel :D.

muflon
Příspěvky: 49
Registrován: 8.09.2010 18:31
Bydliště: Třinec

Re: DSP efekt

Příspěvek od muflon » 2.12.2016 21:55

Jo ta F411 bude mít výkonu habaděj o tom žádná. Ohledně psaní SW bych byl trochu skeptický :D Na nějaké modulace a jednoduché delaye OK ale hezké reverby nebo zkreslení si osobně myslím, že z toho nedostaneš.

Pokud bys využil nějaký audio kodek (k čemu bych se přiklonil), tak by mohlo stačit vycházet z filtrů co jsou v datasheetu, případně s úpravou gainu. Ty využívají oversampling takže stačí nízký řád DP(2-4) s mezní frekvencí 20kHz a antialiasing nehrozí. K propojení s MCU stačí SPI/I2C a na dig. audio I2S. Taktovací signál by měl jít dostat ven přímo z F411 (nestudoval jsem datasheet ale některé řady F4 mají přímo PLL pro audio CLK).

Jinak máš nějakou literaturu z které jsi vycházel při modelování efektů v matlabu? Celkem by mě zajímaly ty algoritmy.
Fender Standart Strat
POD HD500X + Vox AC15CC1
V případě nouze :D : Cort M520 a Peavey Royal 8 - předěláno na hlavu + 112 box (Eminence Stonehedge)

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 2.12.2016 22:18

Já se asi vyjádřil blbě... efekty jsem nemodeloval. Zatím jsem modeloval různý filtry... jak z hlediska matematický analýzy (impulzní, přechodový a frekvenční charakteristiky + reakce na různý signály), tak jsem si to vyzkoušel přes zvukovku a mikrák v notebooku. Literaturu k tomu bohužel nemám, zkoušeli jsme to v rámci pár cvičení ve škole... já si s tím jen pohrál krapet víc.

Jo, už jsem na to krapet koukal, půjdu cestou toho kodeku. Jen budu muset vybrat nějakej cenově dostupnej a s parametrama, co potřebuju... jen škoda, že má člověk taky jiný povinnosti, než si hrát :D. Mám takovej blbej pocit, že se k tomu dostanu nějak víc až po skončení zkouškovýho :(

Uživatelský avatar
SUK
Příspěvky: 2243
Registrován: 17.03.2008 22:19
last.fm: last.fm/user/sukcz
Bandzone: http://bandzone.cz/fan/sukovec
Bydliště: Pr(aha|del|ase)
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od SUK » 12.12.2016 18:19

Tak jsem si myslel, ze jednoho dne to budu ja, kdo bude tohle proslapavat na foru a ono zase ten Pi... pikus :D

Zatim spis bookmarkuju tema, protoze vse dulezite asi bylo recene.

Jinak ohledne bit depth - 16 bitu poskytuje 96dB DR, kytara tak odhadem 60dB. Takze s uplnym klidem.

Pokud jde o "procesor dokáže zpracovávat nějak rozumně rychle takhle velká čísla", tak tam zalezi na instrukcni sade a konkretni implementaci procesoru. S mnohymi 32bit procesory budes mit nejjednodussi pocitat 32bit cisla - protoze 32bit procesory (MIPS, Arm, PPC) vetsinou neumi adresovat nezarovnana data.
Hodně budem někde...

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 12.12.2016 20:02

super :). Chci si tohle zkusit protlačit jako diplomku. Tak snad to klapne :).

Ohledně nezarovnaných dat vím. Myslel jsem to ale tak, že pokud budeš násobit dvě 16 bit čísla, rázem máš číslo o velikosti 32 bitů. Pokud by tedy procesor počítal s čísly většími než 16 bitů (byť budou adresovaná jako 32 bitová čísla kvůli rychlosti), překročíš rozsah 32 bitů a procesor s nimi bude pracovat na více instrukcí, čímž dojde k výraznýmu zpomalení... ale to je asi krajní případ.

Uživatelský avatar
Smrťokvítek
Globální moderátor
Příspěvky: 4095
Registrován: 1.07.2006 19:02
Bydliště: Brno
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od Smrťokvítek » 27.12.2016 20:11

Jako inspiraci zkus Teensy Audio Library. Vývojová deska Teensy 3.2 (32b ARM cortex M4) se dá koupit za 17$ včetně pošty z USA (ta je zdarma) na OSHpark. Případně už je venku i 3.5 a 3.6. která nabízí větší výkon atd.
(っ◕‿◕)っ :: (╯°□°)╯︵ ┻━┻ :: (❍ᴥ❍ʋ) :: ᶘ ᵒᴥᵒᶅ

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 3.01.2017 14:35

Ahoj, sice je zkouškový, tak není moc času zabývat se těmahle věcma, ale co jsem vyzjistil...

Frekvenční rozsah čisté elektrické kytary je přibližně 50 Hz - 10 kHz, při zkreslení se toto pásmo roztáhne až k 15 kHz. Samozřejmě, ve spektru jsou i vyšší frekvence, ale mají oproti základnímu tónu útlum přibližně 80 dB, navíc jsou v pásmu sotva slyšitelném. Proto jako vstupní frekvenční rozsah beru 50 - 15 kHz.

Výstupní napětí kytary se pohybuje od cca 200 mV do 1,5 V v závislosti na typu snímače a stylu hry.

Pro převod signálu jsem se rozhodl použít audio kodek (díky za tip) PCM3060 (192 kHz vzorkovačka, 24 bitů rozlišení). Součástí tohoto obvodu je i antialiasing filtr a rekonstrukční filtr, takže by mělo stačit předřadit před obvod pouze jednoduchý zesilovač (s nastavitelným ziskem pro optimální využití interního AD převodníku) a za něj jen buffer a master volume pot.

Smťokvítek: Díky za tipy, kouknu na to ;)

Uživatelský avatar
SUK
Příspěvky: 2243
Registrován: 17.03.2008 22:19
last.fm: last.fm/user/sukcz
Bandzone: http://bandzone.cz/fan/sukovec
Bydliště: Pr(aha|del|ase)
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od SUK » 3.01.2017 14:58

A prechroupavat signal budes cim? Strasne me laka to zkusit taky :D
Hodně budem někde...

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 3.01.2017 16:26

Mám tu Nucleo s STM32F411RE. Ale koukal jsem, že to má asi málo ramky, tak si možná koupím Nucleo s SM32F767ZI, má to 512 kB RAM a větší výkon (a taky víc vstupů a výstupů). To už by mohlo něco upočítat :).

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 11.01.2017 13:32

Ahoj, dneska jsem narazil na dvě desky od ST. Desky na sobě mají audio I2S kodek + jacky a cinche. Cena desek je dle dodavatele mezi 2000 Kč a 3000 Kč. Čili, koho by to zajímalo a chtěl si hrát, tady je možnost. Já pravděpodobně půjdu směrem vývoje vlastního shieldu pro nucleo (bez vývoje vlasntího HW mi to pravděpodobně jako diplomku nevezmou).

http://www.st.com/content/st_com/en/pro ... overy.html

http://www.st.com/content/st_com/en/pro ... overy.html

btw: někomu by se mohla líbit i možnost dotykovýho ovládání na těch kitech :). Docela bych si někdy něco takovýho taky zkusil naprogramovat :D.

Uživatelský avatar
SUK
Příspěvky: 2243
Registrován: 17.03.2008 22:19
last.fm: last.fm/user/sukcz
Bandzone: http://bandzone.cz/fan/sukovec
Bydliště: Pr(aha|del|ase)
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od SUK » 11.01.2017 13:36

Pikus píše:líbit i možnost dotykovýho ovládání na těch kitech
Nejvetsi omyl 21. stoleti by se nemel nikomu libit, naopak by to uz konecne vsichni meli odmitnout jako slepou cestu.

Kazdopadne hezke. Mas predstavu, kolik soucastek "navic" je nutnych k provozovani STM + kodek, kdybych byl nahodou nekdy rozhodnut si takovou vec udelat od nuly? (Coz zatim nejsem, samozrejme ;) )
Hodně budem někde...

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 11.01.2017 13:54

Taky dotykový ovládání jako user nepreferuju... škoda, že sehnat rozumnej telefon s tlačítkama, je dnes utopie (když to má bejt levný). Nicméně, rád bych si to zkusil naprogramovat a krapet si s tím pohrál... ono se to v profesní kariéře bude hodit :D :D :D.

A k tvýmu dotazu... koukal jsem (velmi zběžně) na schéma 32F746GDISCOVERY, abych měl představu, co v tom všechno je. K provozování by ti měl stačit USB kabel, přes kterej to budeš programovat a napájet (USB programátor je přímo na desce) . Potom nějaký redukce z jacků, abys to mohl připojit mezi kytaru a zesilovač. Pokud si uděláš nějaký GUI na tom dotykáči, nepotřebuješ nic jinýho.

Co se SW týče, dělali jsme na VŠ (a asi ještě dělat budeme) v Keil IDE. Existuje verze zdarma, ale maximálně tam můžeš vytvořit kód, kterej v binární podobě bude mít 32 kB (což je až až). Teď jsem krátce experimentovat s IDE System Workbench STM32, což je v podstatě nástavba do Eclipse. Je to Open source, nejsou tam žádný omezení, ale zprovoznit to bylo krapet složitější (měl jsem problém s aktualizací IDE a stažení knihoven na ST desky). Obrovskou výhodou pro mě je, že funguje i pod Linuxem (osobně odzkoušeno).

muflon
Příspěvky: 49
Registrován: 8.09.2010 18:31
Bydliště: Třinec

Re: DSP efekt

Příspěvek od muflon » 11.01.2017 19:30

Podle mě záleží co by měl být výsledný produkt - pokud jenom stomp ve stylu line6 M5 tak bych asi dělal HW design od nuly a po svém. A zrovna na to mi přijde výkon F7 řady trochu zbytečný (pokud nejde o nějaké šílené reverby).
Pokud by to ale bylo něco ve stylu Amplitube v krabičce tak by dotykové rozhraní s vymakaným GUI nebylo špatné. Každopádně by to chtělo pár enkodérů - na tom se asi všichni shodneme :D
Fender Standart Strat
POD HD500X + Vox AC15CC1
V případě nouze :D : Cort M520 a Peavey Royal 8 - předěláno na hlavu + 112 box (Eminence Stonehedge)

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 11.01.2017 21:00

Já sem ten kit hodil pro inspiraci lidem, co se nechtěj s ničím stavět a jen programovat. Třeba se tu někdo takový (SUK?) najde :D... když už jsem na to narazil, přišlo mi škoda, se nepodělit.

Nicméně, já sám plánuju udělat vlastní HW - shield, do kterýho se nasadí nucleo a bude to žít. Právě poslední dny trávím nad tím, jak vyřešit ovládání tak, aby to bylo intuitivní, jednoduchý a vešlo se to do co nejmenších rozměrů.

Jak jsi mluvil o Amplitube v krabičce... existuje projekt Guitarix (http://guitarix.org/). Viděl jsem, že si někdo k Raspberry Pi připojil USB audio kartu + dotykový display. Pak to zavřel do krabičky a používal to jeko multiefekt při hraní (spíš teda asi při cvičení). Podle mě to je taky zajímavej počin, ale já si chci zkusit jak HW tak SW implementaci sám, abych se něco naučil ;).

Pikus
Příspěvky: 1540
Registrován: 2.12.2008 17:48

Re: DSP efekt

Příspěvek od Pikus » 24.05.2017 15:03

Tak se po čase ozývám :D. Nechal jsem si to vypsat jako diplomku, takže jsem alespoň nucen na tom pracovat a dostat to do funkčního stádia :D.

Dneska jsem provedl měření dynamickýho a frekvenčního rozsahu tří kytar (Explorer, ES-335 a Telecaster). Na základě měření si troufám tvrdit, že frekvenční rozsah kytary je přibližně 50 Hz (nutno brát v potaz, pokud někdo jede v dropu) až 10 kHz a dynamický rozsah je 0 až 2 Vpp (explorer měl dost silný snímače a dal 1,5 Vpp).

mmjuz
Odborník
Příspěvky: 1822
Registrován: 23.03.2009 11:17
Bydliště: Brněnsko

Re: DSP efekt

Příspěvek od mmjuz » 24.05.2017 19:14

No, možná že jsi spíš změřil to, co jsou schopné snímače přenést. Věřím tomu, že vlastní rezonance dřeva mají za následek nárůst harmonických i subharmonických mnohem dál. Kdysi jsem jsem viděl u Standy Lysáka měření
samostatné rezonanční desky na housle a bylo to prakticky od "neslyším do neslyším". Nemyslím si, že by dřevo použité na kytaru na tom bylo hůře. Zrovna u Gibson ES-335 bych se toho vůbec nebál.

Uživatelský avatar
SUK
Příspěvky: 2243
Registrován: 17.03.2008 22:19
last.fm: last.fm/user/sukcz
Bandzone: http://bandzone.cz/fan/sukovec
Bydliště: Pr(aha|del|ase)
Kontaktovat uživatele:

Re: DSP efekt

Příspěvek od SUK » 24.05.2017 19:40

Ja bych teda rekl, ze drevo spis ty harmonicke tlumi, nez ze by vyrabelo nove. Jinak spis, nez samotny dynamicky rozsah by mohlo byt zajimave zmerit odstup signal-sum. Coz i u humbuckeru tipuju tak nekde kolem 60dB.
Hodně budem někde...

Odpovědět

Zpět na „Ostatní“