Otázka:
Jak reprodukovat jakýkoli zvuk
Dave C
2012-12-27 11:01:50 UTC
view on stackexchange narkive permalink

Může to být hloupá otázka, ale je to otázka, kterou neznám a nenašel jsem na ni přesnou odpověď.

Reproduktor dokáže pomocí vibračních sekvencí reprodukovat prakticky jakýkoli zvuk pomocí elektromagnet. To znamená, že do počítače lze uložit prakticky jakýkoli zvuk. Chtěl bych vědět, jaké jsou přesné komponenty, které se používají při výrobě jakéhokoli odlišného zvuku.

Například rozumím amplitudě a frekvenci. Amplituda, když je přepnuta, mění hlasitost jakéhokoli tónu. Z toho, co dostanu, se zdá, že úprava frekvence mění výšku (jak vysokou nebo nízkou) tón. Dokážete však reprodukovat jakýkoli zvuk pouhým nastavením těchto dvou bodů? Nechápu, jak to ovlivňuje tón . Můžete mít stejnou amplitudu a výšku tónu konkrétního zvuku, i když může mít úplně jiný tón, například srovnání kytarové struny s houslemi. Co mi chybí?

Snažím se své porozumění přirovnat například k záznamu barev do počítače. To je jednoduché. Nastavením červené, zelené a modré od 0 do 255 na stupnici můžete reprodukovat téměř každou barvu ve spektru, a to ve velmi jemné míře (16 777 216 barev). Totéž můžete udělat úpravou HSV.

Jaký je srovnatelný parametr pro reprodukci všech možných zvukových tónů v počítači? Jsou to jen dva posuvníky - amplituda a frekvence - nebo existují další faktory?

Díky.

Jedním dalším faktorem je tvar vlny. Představte si, že reproduktor vibruje dostatečně pomalu, abyste ho mohli sledovat, dovnitř i ven. Mohlo by se pohybovat konstantní rychlostí, aniž by se při změně směru znatelně zastavilo. Tak by vznikla sinusová vlna. Na každém konci se to mohlo pozastavit. Mohlo by to zrychlovat a zpomalovat. Existuje mnoho možných tvarů vln a všechny znějí jinak; například „čtvercová vlna“ zní jako mřížka, jako motorová pila. Pak lze takové vlny kombinovat téměř nekonečně ...
Vaše použití přepínače je zde nesprávné. Představte si, co vaše uši slyší - neustále se měnící tlak. To jsou všechny zvuky. Reproduktor může produkovat kontinuálně se měnící tlakové vlny. Nepřepíná se z jednoho bodu do druhého.
@DrMayhem Upravil jsem, abych nahradil 'toggle' pomocí 'adjust'. Dave C - „přepínání“ obvykle odkazuje na parametry pouze se dvěma možnými hodnotami.
Je nám líto, ale tohle mi v očích trhalo: „16 581 000 barev“, ve skutečnosti je to 16 777 216 (256 ^ 3) barev (phew) - a náhodou také 24bitové.
@abdias, Zachytil jsi mě líného. Udělal jsem matematiku 255 ^ 3 a pak ji zaokrouhlil. Máte pravdu.
čtyři odpovědi:
slim
2012-12-27 12:23:15 UTC
view on stackexchange narkive permalink

Vaše analogie s barvami funguje svým způsobem, ale nezapomeňte, že obrázek má miliony pixelů. Jeden HSV triple vám dává barvu, ale nedává vám textury. S řekněme 16 pixely byste mohli aproximovat texturu. Čím více pixelů máte, tím blíže jste schopni reprodukovat „jakoukoli“ texturu.

Při záznamu zvuku jako digitálního signálu měříme pohyb membrány mikrofonu tisíckrát za sekundu. U kvality kompaktních disků je to 44 100krát za sekundu, při použití 16bitového čísla pro každé měření. Říká se tomu vzorkování.

Tato řada čísel obsahuje vše, co potřebujeme k tomu, jak vibroval vzduch - ale jediné číslo ze série samo o sobě je k ničemu.

Čísla, která zaznamenáváme, ve skutečnosti představují rychlost mikrofonního diagramu v daném časovém okamžiku. To úzce souvisí s amplitudou - rychlost je nula na vrcholu vlny a nejrychlejší, když křivka prochází nulou. Můžeme použít matematiku k převodu řady měření rychlosti na amplitudy.

Převedením této řady čísel na napětí a pomocí nich k řízení reproduktoru přehráváme vzorkovaný zvuk.

To nám říká, jak nahrávat a přehrávat zvuky, ale vaše otázka naznačuje něco jemnějšího. Co když chceme generovat zvuky z prvních principů, které zní jako různé nástroje. Toto se nazývá syntéza a je to to, co syntetizátor .

Žádné z těchto čísel v ukázkovém proudu nepředstavuje frekvenci. Můžeme ale hledat frekvence v datech. Například pokud jsme zaznamenali nejčistší možný zvuk - sinovou vlnu - posloupnost čísel zasáhne v pravidelných intervalech vrchol. Počet vrcholů v daném časovém období je frekvence . Pokud je 200 špiček za sekundu, jedná se o frekvenci 200 kmitů za sekundu nebo 200 Hz.

Co vám na frekvenci chybí, je to, že zvuk se obvykle skládá z mnoha frekvencí všech současně . To znamená, že například můžete najít vlnové křivky každých 131. sekundy, a každých 165. sekundu (to by byl případ akordu C a E hraného s vlnami hříchu) .

Na následujícím obrázku je zobrazen tvar vlny skládající se ze dvou frekvencí, které můžete jasně vidět. Pomalejší frekvence se opakuje každých 30 milisekund - nebo 33,33 Hz a rychlejší frekvence se opakuje každých 5 milisekund - nebo 200 Hz.

sin(x) + sin(x*1.2)

Existuje matematický proces nazývaný Fourierova analýza , která vezme posloupnost čísel ze vzorkování a řekne nám hlasitost každého frekvenčního pásma.

Syntezátor může tuto kombinaci frekvencí znovu vytvořit mnoha způsoby. Můžeme konstruovat zvuky kombinací výstupu řady oscilátorů produkujících různé frekvence. Můžeme tvarovat zvuky zesílením nebo snížením frekvencí ve filtru.

Většina zvuků má komplikovanější tvary vln, takže byste obvykle byli schopni najít opakování na mnoha frekvencích.

Ale konstrukce zvuku je nekonečně komplikovaná. Kytarová struna má určitou kombinaci frekvencí bezprostředně po vytržení, pak se tato kombinace neustále mění, jak se tón rozpadá. Jeho úplná přesná syntéza je velká věc, která zahrnuje odborné znalosti, vědu, umění a řemeslné zpracování mnoha knih.

skutečně: dvě jednotlivé frekvence přehrávané současně mohou vytvořit více než 2 zvukové frekvence a pokud je stejná frekvence přehrávána „dvakrát“, ale 1 je o 180 stupňů mimo fázi s druhou, mohou se navzájem dokonale rušit a nevytvářejí žádný zvukový zvuk.
Díky za odpověď. To opravdu pomáhá objasnit. Pokud tedy dobře rozumím, 4b / s při 44 100x / s vyjde na asi 30 MB na 3minutovou skladbu. Přidejte kompresi pro opakující se noty a to odpovídá průměru 3 MB pro skladbu, že? To mi dává mnohem větší smysl. Opravte mě, pokud se mýlím, ale zdá se, že vaše odpověď naznačuje, že ano, jediné dva faktory jsou amplituda a frekvence. Moje chybějící porozumění spočívalo v počtu změn na této frekvenci v tak krátkém čase, takže zvuk vypadal jako jeden tón, i když ve skutečnosti kombinace mnoha střídavých tónů.
Ano, můžete překrývat různá frekvenční pásma, stejně jako můžete překrývat vrstvy pixelů ve Photoshopu, ale nakonec se jednoduše komprimuje do jedné rychle se střídající řady frekvencí a amplitud. Mám toto právo? Díky.
@DaveC Ne, nepochopili jste. Přidal jsem další, abych vysvětlil více o frekvenci. Také jste udělali nesprávné předpoklady o kompresi - ale audio komprese je na tomto ** cvičném a výkonovém ** webu mimo téma, takže navrhuji, abyste o tom hledali informace jinde.
Také si nejsem jistý, co máte na mysli pod „4b / s při 44 100x / s“. Můžete vypočítat velikost 3minutové skladby jako 44 100 vzorků za sekundu * 24 bitů na vzorek * 180 sekund = 22,71 megabajtů
doporučená oprava: nahradit 24bitové vzorkování 16bitovými. CD neposkytuje více, i když je nahrávání prováděno s 24 bity (např. Pro SACD)
@slim, Děkujeme za trpělivost a veškeré vaše úsilí. To dává mnohem větší smysl. Udělal jsem chybu, když jsem řekl 4 bajty na vzorek místo 3, vysvětlující špatnou matematiku.
@guidot ano, opraveno. Vyhodí částky v komentáři výše, ale myslím, že to všichni dokážeme vyřešit.
RedGrittyBrick
2012-12-28 03:08:50 UTC
view on stackexchange narkive permalink

Chcete-li reprodukovat zvuk pomocí počítače, musíte si pořídit a uložit některé informace o původním zvuku. Existuje několik přístupů, ale věřím, že dva nejběžněji používané jsou vzorkování a analýza kmitočtů / křivek.

Vzorkování

K tomu obvykle dochází, když nahráváte hudbu pomocí počítače. Analogový signál z mikrofonu přenáší napětí, které se časem mění podle měnícího se tlaku vzduchu dosahujícího do mikrofonu. Toto se přivádí do analogově-digitálního převodníku (ADC), který měří napětí (vzorky) ve stanovených časových intervalech a převádí toto analogové napětí na digitální zobrazení - obvykle přiřazením malé celočíselné hodnotě hodnotě napětí. Protože přesnost není nekonečná, může dojít ke ztrátě detailů. Např. převod 1,002, 0,998, 0,981 voltů na celočíselné hodnoty 120, 120, 119 řekněme (čísla jsou vytvořena a nejsou reprezentativní)

enter image description here Obrázek z Planet Of Tunes

Existující frekvence jsou poněkud nepodstatné, pokud je vzorkovací frekvence mnohem vyšší než nejvyšší frekvence, kterou potřebujete k reprodukci. Ve výše uvedeném příkladu se ukazuje, že vzorkovací frekvence je asi 15krát vyšší než nejvyšší frekvence v hudebním průběhu.

Všimněte si, že lidský sluch sahá zhruba od 20 Hz do 20 kHz (mnohem méně, jak stárnete) a Například vzorkování CD je kolem 44 kHz.

Přesnost závisí jak na vzorkovací frekvenci, tak na počtu bitů použitých k vyjádření amplitudy.

Frekvenční analýza

Dalším způsobem, jak zachytit a zaznamenat zvuk nástroje, jako je klavír, je provést podrobnou analýzu zvuku úderu na jednu klávesu. K určení frekvencí přítomných ve zvuku lze použít algoritmus známý jako Fast Fourierova transformace (FFT). Úder kladivem na klavír způsobí, že drát vibruje ve složité směsi režimů, která vytváří směs frekvencí, jejichž amplitudy se časem mění. Počítač pak může ukládat informace o tom, jaké frekvence jsou přítomny, do jaké míry a jak se celkové amplitudy v čase mění.

Syntetizéry obecně používají jeden z těchto dvou přístupů, buď přehrávají zachycený vzorek skutečného nástroje, nebo pokouší se reprodukovat známý zvuk pomocí analogových elektronických nebo virtuálních oscilátorů, které produkují zvuky se známou frekvencí (a vlnovým tvarem) - ty se pak procházejí různými filtry a směšují se s výstupem generátorů obálek, aby se vytvořil požadovaný zvuk.

současným stavem techniky je, že nejpřesnější elektronická piana (například) používají syntézu založenou na vzorcích.

Reprodukce

Po uložení digitální reprezentace analogové zvukové vlny, reprodukovat to znamená převést obnovený digitální signál na analogovou zvukovou vlnu. To se provádí elektronickými obvody, které jsou v podstatě reverzní ADC a někdy se označují jako DAC (Digital to Analogue Converter). Tím se vytvoří signál, který lze přivést přes analogový zesilovač do reproduktorů.

Tón

Rozdíl v tónu mezi klavírem a trumpetou je do značné míry kombinací harmonických a dynamiky hrané noty (např. „tvar“ amplitudové obálky - jak se objem v čase mění - jak je vidět v Attack- Ovládací prvky Decay-Sustain-Release (ADSR) na syntetizátoru). Zvuk můžete považovat za měnící se mix frekvencí nebo za složitý tvar vlny, který je výsledkem jejich kombinace - v této kombinované formě cestují vzduchem k uchu. Díky mechanickým částem v uchu a podvědomé analýze v mozku můžete rozeznat přítomné oddělené frekvence.

Adding two sine waves (poznámka: úrovně napětí v tomto diagramu nejsou ty, na které narazíte) v typickém záznamu zvuku, ale principy jsou stejné. zvukové signály jsou obvykle milivolty nebo maximálně několik voltů v závislosti na tom, zda je zdrojem mikrofon, linkový vstup nebo jiný zdroj. úrovně vstupního signálu se liší pro spotřebitele i profesionály audio zařízení)

Přidání základní frekvence (zelená) ke třetí harmonické (oranžová) vytvoří složitý tvar vlny (červená). K reprodukci zvuku je třeba vzorkovat pouze červenou křivku. Místo toho můžete, pokud máte uložené informace o přítomných frekvencích, syntetizovat zvuk samostatným generováním základních (zelených) a třetích harmonických (oranžových) vln pomocí sinusových vln a poté je přidávat dohromady.

Díky - to dává velký smysl. Nyní ve svém třetím odstavci říkáte, že byste mohli technicky kombinovat libovolný počet kombinovaných frekvencí a harmonických, které vytvářejí zvuk do jediného tvaru vlny produkujícího přesně stejný zvuk? Jinými slovy, můžete si vzít 10 nástrojové pásmo a zkombinovat zvuk každého nástroje do jediného, ​​velmi složitého tvaru vlny, abyste reprodukovali přesné přehrávání?
Kombinace zvuků @DaveC je jen otázkou vzájemného přidání průběhů.
@DaveC: Zvuk těchto 10 nástrojů je kombinován ve vzduchu, když cestuje k vašim uším nebo k mikrofonu rekordéru. Přehráváním záznamu se do určité míry přesnosti znovu vytvoří velmi složitý tvar vlny, který dosáhl polohy mikrofonu.
@RedGrittBrick: Z mého pohledu tuto odpověď kazí několik nepřesností, které rozmazávají celý obraz. 1) vzorkování (A / D převod) je opakem reprodukce (D / A převod, pro digitální zdroj). 2) Pouze „vyšší“ vzorkovací frekvence je nedostatečná. 3) Rozsah napětí uvedený v diagramu je pro zvukové vlny netypický. 4) Zkratka ADSR je správná, ale neodpovídá dané posloupnosti. 5) Nemůžete syntetizovat červenou vlnu, aniž byste věděli, které frekvence přidat, ale to vyžaduje úspěšnou Fourierovu analýzu.
@guidot: Dobré body, děkuji. Upravil jsem otázku, abych se pokusil tyto body řešit. Pravděpodobně to nechám na tom, pokud někdo nezjistí hrubé chyby - může být lepší odkázat někoho na delší podrobný článek jinde, než tuto odpověď mnohem rozšířit.
@RegGrittyBrick, děkuje za veškerou vaši pomoc v tomto. Pokud vám to nevadí, položím k tomu všemu ještě jednu otázku: Řekněme, že ochutnáte konkrétní, přesný okamžik. Jedna ukázková instance 1/44 000. sekundy záznamu. Pokud byste v daném okamžiku měli v tomto okamžiku 5 samostatných frekvencí se zřetelně oddělenými amplitudami, mohly by se všechny „zrušit“ do jedné křivky? Vezměme si libovolný příklad s libovolnými napětími ve vašem diagramu výše:
Pokud v jednom okamžiku byla 1 vzorkovací frekvence při 24 voltech, další při 212 voltech, další při -16 atd., Jak by převodník zaznamenal tento konkrétní vzorek? Nemůže okamžitě rozlišit každou jednotlivou frekvenci a zaznamenat 5 samostatných bajtových sekvencí pro tento časový vzorek, tak co se místo toho stane? Doufám, že to dává smysl.
@Dave: kdykoli v době, kdy odebíráte pouze jedno napětí, vám nezáleží na frekvencích.
Dobře, takže pokud na mikrofon narazí současně 12 různých „napětí“ (skutečně tlakových vln), jak to sníží na jeden vzorek?
@DaveC Mikrofon měří celkový posun, což je otázka fyziky. Pomysli na podobnou situaci (netuším, jestli je fyzika stejná): řekněme, že do jezera dáš provázek, který je připevněn ke skále na dně a na něm jsou vyznačeny výšky. Když vrhnete kámen do jezera a vytvoříte vlnky, uvidíte, jak se výška vody mění na struně, jak vlnky procházejí. Mohli byste si zapsat měření. Bez ohledu na to, kolik kamenů najednou vrhnete do jezera (kolik různých vln vytvoříte), vždy budou v daném okamžiku jediným měřením výšky.
@derobert, dobře, díky - to potvrdilo, na co jsem myslel. Možná byste mohli odpovědět ještě na jednu věc - několikrát jsem se na to zeptal, ale nikdy jsem nedostal přímou odpověď: Protože se všechny zvuky při záznamu zhroutí do jednoho průběhu, znamená to, že jediný tvar může reprodukovat jakýkoli zvuk?
@DaveC No, záleží na tom, co máte na mysli. Například pravděpodobně máte dvě uši, jedna křivka nemůže reprodukovat obě uši, když slyší různé věci. Tato zhroucená křivka se také liší v závislosti na tom, kde ji vzorkujete, a když ji přehráváte, nebude znovu vytvořena stejným způsobem (např. Pokud stojíte vedle jednoho nástroje, uslyšíte ten hlasitěji. to nemohu udělat na nahrávce.) Ignoruji všechny ty a za předpokladu dokonalého vybavení bych si myslel, že je to pravda, ale nejsem si jistý. Pravděpodobně otázka pro fyziku. Znovu SE.
guidot
2012-12-27 16:52:39 UTC
view on stackexchange narkive permalink

Vaše otázka je obtížná, protože se skládá z několika dílčích otázek, z nichž každá má vysokou složitost. Pokouším se dát několik rad.

První problém se týká digitalizace zvuků: to je vždy možné aproximací, která může být stejně přesná, jak investujete úsilí. Věta o vzorkování říká, že pro záznam potřebujete alespoň vzorkování s dvojnásobnou frekvencí než je nejvyšší frekvence. Jelikož mladé lidské uši slyší něco mezi 16 a 20 kHz, potřebujete alespoň 40 kHz. Ale pixelový (přesně: kvantizační) efekt zůstává, jako rozdíl mezi vektorovou a pixelovou grafikou. Můžete jej snížit, ale nezbavit se ho. (Možná důvod pro fanoušky vinylových desek.)

Druhým je vlnový tvar. Sinusová vlna z lekcí fyziky zní úplně nudně, nejblíže blížícímu se klasickému nástroji je flétna. Housle mají více trojúhelníkových vln, které lze po Fourierově analýze představovat překrytím mnoha sinusových vln různých frekvencí, takzvaných podtextů. To funguje dobře pro rezonátory nalezené v klasických nástrojích. Rozklad na sinusové vlny dosahuje svých limitů s nepřirozenými vlnami, jako jsou čtvercové vlny, a pamatuji si osciloskopické obrázky od špičkových zesilovačů, které ukazují malé, ale jasně viditelné odchylky pro tyto vlny. Abychom zůstali ve srovnání sliderů: potřebujete něco jako variabilní počet sliderů, abyste nastavili amplitudu každého alikvotu.

Třetím tématem je časový rozptyl. Skutečné nástroje produkují zvuky, které se v průběhu času značně mění, a proto se i tento frekvenční mix neustále mění: útok, rozpad a udržení jsou zde fázemi a útok je zde nejdůležitější pro rozpoznání určitých nástrojů. Četl jsem jednou z experimentu, kde se útočná šablona nástroje A formovala na frekvenčním spektru nástroje B a většina posluchačů identifikovala zvuk jako příslušející k A.

Úplně poslední písmeno by mělo být A, že?
Yimin Rong
2014-01-22 22:02:06 UTC
view on stackexchange narkive permalink

Mimochodem, můžete si vystačit pouze s jedním bitem pro audio I / O!

To, co dělají, je nastavení nosné vlny rychlým převrácením hodnoty tam a zpět 1-0- 1-0-1-0 ..., na frekvenci mimo sluch většiny lidí. Překlopí se tak rychle, že kužel reproduktoru nemá čas se dostatečně pohybovat, aby dosáhl polohy 0 nebo 1, takže kužel reproduktoru zůstane blízko neutrální polohy - řekněme ½.

V ideálním případě jste vyhráli V neutrálním stavu z reproduktoru nic neslyším. Změna některých 0 bitů na 1 vyvede kužel reproduktoru a naopak se změnou 1 bitu na 0 přivede kužel reproduktoru. Tento pohyb kuželu reproduktoru bude vnímán jako zvuk. Touto metodou lze adekvátně reprodukovat jakýkoli zvuk. Oficiálně se jedná o variantu pulzní šířkové modulace - PWM.

Kupodivu to funguje lépe u méně kvalitních reproduktorů, jako u mobilních telefonů, protože nízká věrnost reproduktoru vyhlazuje „drsné hrany“.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...