Küsimus:
Kuidas taasesitada mis tahes heli
Dave C
2012-12-27 11:01:50 UTC
view on stackexchange narkive permalink

See võib olla rumal küsimus, kuid seda ma ei tea ja ma pole sellele täpset vastust leidnud.

Kõlar suudab vibratsioonijärjestuste abil praktiliselt iga heli taasesitada, kasutades elektromagnet. See tähendab, et arvutisse saab salvestada praktiliselt iga heli. Tahaksin teada, milliseid täpseid komponente kasutatakse konkreetse heli tootmiseks.

Näiteks mõistan amplituudi ja sagedust. Amplituud, kui see on sisse lülitatud, muudab mis tahes tooni valjusust. Saan teada, et sageduse reguleerimine näib muutvat tooni kõrgust (kui kõrge või madal). Kuid kas saate lihtsalt heli korrigeerida, kohandades neid kahte punkti? Ma ei näe, kuidas need mõjutavad toon i. Teil võib olla sama heli amplituud ja kõrgus, ehkki see võib olla täiesti erineva tooniga, näiteks võrrelda kitarrikeelt viiuliga. Mis mul puudu on?

Püüan oma arusaama võrrelda näiteks värvide salvestamisega arvutisse. See on lihtne. Reguleerides skaalal punast, rohelist ja sinist vahemikus 0–255, saate paljundada peaaegu kõiki spektri värve (16 777 216 värvi). Sama saate teha ka HSV-d reguleerides.

Mis on võrreldav parameeter kõigi võimalike helitoonide taasesitamiseks arvutis? Kas see on ainult kaks liugurit - amplituud ja sagedus - või on muid tegureid?

Aitäh.

Üks teine ​​tegur on laine kuju. Kujutage ette, et kõlar vibreerib piisavalt aeglaselt, et saaksite seda vaadata, sisse ja välja vaadata. See võis liikuda ühtlase kiirusega, mitte suuna muutmisel tajutavalt peatuda. See tekitaks siinuslaine. See võib mõlemas otsas pausi teha. See võib kiirendada ja aeglustada. Võimalikke lainekujusid on palju ja need kõik kõlavad erinevalt; näiteks kõlab "nelinurkne laine" resti, nagu mootorsaag. Siis saab selliseid laineid ühendada peaaegu lõpmatuseni ...
Teie „toggle” kasutamine on siin vale. Kujutage ette, mida teie kõrvad kuulevad - pidevalt muutuv rõhk. See on kõik helid. Valjuhääldi võib tekitada pidevalt muutuvaid survelaineid. See ei lülitu ühest punktist teise.
@DrMayhem, mida ma redigeerisin, asendas sõna „lüliti” sõnaga „reguleeri”. Dave C - 'ümberlülitamine' viitab tavaliselt ainult kahe võimaliku väärtusega parameetritele.
Vabandust, aga see silma jäi silma kui rebenenud: "16 581 000 värvi", see on tegelikult 16 777 216 (256 ^ 3) värvi (phew) - ja kogemata ka 24-bitine.
@abdias, Sa tabasid mind laisana. Ma tegin matemaatika 255 ^ 3 ja siis ümardasin selle. Sul on õigus.
Neli vastused:
slim
2012-12-27 12:23:15 UTC
view on stackexchange narkive permalink

Teie analoogia värvidega töötab omamoodi, kuid pidage meeles, et pilt on miljoneid piksleid. Üks HSV kolmik annab teile värvi, kuid see ei anna teile tekstuure. Näiteks 16 piksli abil saaksite tekstuuri ligikaudselt hinnata. Mida rohkem piksleid teil on, seda lähemale jõuate "mis tahes" tekstuuri reprodutseerimisele.

Heli digitaalsignaalina salvestades mõõdame mikrofoni membraani liikumist tuhandeid kordi sekundis. Kompaktplaadi kvaliteedi saavutamiseks on see 44 100 korda sekundis, kasutades iga mõõtmise jaoks 16-bitist arvu. Seda nimetatakse proovivõtuks. / p>

Numbrid, mida me salvestame, tähistavad tegelikult mikrofoni skeemi kiirust antud ajahetkel. See on tihedalt seotud amplituudiga - kiirus on laine tipus null ja kõige kiirem, kui lainekuju läbib nulli. Matemaatika abil saab kiiruse mõõtmise seeria tõlkida amplituudideks.

Teisendades selle numbriseeria pingeks ja kasutades neid kõlari juhtimiseks, esitame valimisse kuuluva heli.

See ütleb meile, kuidas helisid salvestada ja taasesitada, kuid teie küsimus vihjab millelegi peenemale. Mis siis, kui me tahame luua helisid esimestest põhimõtetest, mis kõlavad nagu erinevad instrumendid. Seda nimetatakse sünteesiks ja seda teeb süntesaator .

Ükski neist proovivoo numbritest ei tähista sagedust. Kuid me võime andmetest otsida sagedusi. Näiteks kui oleme salvestanud võimalikult puhta heli - patulaine -, saab arvude jada korrapäraste ajavahemike järel tippu. Tippude arv antud ajaperioodil on sagedus . Kui sekundis on 200 piiki, on see sagedus 200 võnget sekundis ehk 200 Hz.

Sageduse osas on puudu see, et heli koosneb tavaliselt paljudest sagedustest kõik korraga . See tähendab, et näiteks võite lainekujust leida kordusi iga 131. sekundi järel, ja iga 165. sekundi järel (see oleks nii C- kui E-akordi puhul, mida mängitakse patulainetega). .

Alloleval pildil on lainekuju, mis koosneb kahest sagedusest, millest mõlemad on selgelt näha. Aeglasem sagedus kordub iga 30 millisekundi järel - ehk 33,33Hz ja kiirem sagedus kordub iga 5 millisekundi järel - ehk 200Hz.

sin(x) + sin(x*1.2)

On olemas matemaatiline protsess nimega Fourier'i analüüs mis võtab proovide võtmisel arvude jada ja ütleb meile iga sagedusriba valjuse.

Süntesaator saab seda sageduste kombinatsiooni mitmel viisil taastada. Saame konstrueerida helisid, kombineerides paljude erinevat sagedust tootvate ostsillaatorite väljundit. Saame kujundada helisid, suurendades või vähendades sagedusi filter.

Enamikul helidel on keerulisemad lainekujud ja nii on teil tavaliselt võimalik leida kordusi mitmel sagedusel.

Kuid heli ehitamine on lõputult keeruline. Kitarrikeelel on teatud sageduste kombinatsioon kohe pärast kitkumist, seejärel muutub see noodi lagunemisel pidevalt. Selle täielik täpne sünteesimine on suur asi, mis hõlmab paljude raamatute väärt asjatundlikkust, teadust, kunsti ja käsitööd.

tõepoolest: kaks üheaegselt mängitavat üksiksagedust võivad luua rohkem kui 2 kuuldavat sagedust ja kui sama sagedust mängitakse "kaks korda", kuid 1 on faasiga väljaspool teist, võivad nad üksteise täiuslikult tühistada ja kuuldavat heli tekitada ei saa.
Aitäh vastuse eest. See aitab tõesti selgust saada. Nii et kui ma õigesti aru saan, tuleb 4b / s kiirusega 44,100x / s 3-minutilise loo puhul umbes 30 MB-ni. Lisage korduvate märkmete pakkimine ja see moodustab loo 3mb keskmise, kas pole? See on minu jaoks palju mõttekam. Parandage mind, kui ma eksin, kuid tundub, et teie vastus näitab, et jah, ainsad kaks tegurit on amplituud ja sagedus. Minu puuduv arusaam oli selle sageduse muutuste arv nii lühikese aja jooksul, mistõttu heli näis olevat üks toon, kuigi tegelikult oli see paljude paljude vahelduvate toonide kombinatsioon.
Jah, võite kattuda erinevate sagedusribadega, nagu ka Photoshopis pikslite kihid, kuid lõpuks kokkusurutakse see lihtsalt üheks kiiresti vahelduvaks sageduste ja amplituudide reaks. Kas mul on see õigus? Aitäh.
@DaveC Ei, olete valesti aru saanud. Lisasin veel mõned, et sageduse kohta rohkem selgitada. Olete tihendamise kohta ka valesid oletusi teinud, kuid heli tihendamine pole sellel ** praktika ja jõudluse ** saidil teemal, seega soovitan teil selle kohta teavet mujalt otsida.
Samuti pole ma kindel, mida mõtlete '4b / s kiirusel 44 100x / s'. 3-minutilise loo suuruse saate välja arvutada 44 100 näidisena sekundis * 24 bitti proovis * 180 sekundit = 22,71 megabaiti
soovitatud parandus: asendage 24-bitine proovivõtt 16-bitisega. CD ei paku enamat, isegi kui salvestamine toimub 24-bitisega (nt SACD jaoks)
@slim, Täname kannatlikkuse ja kõigi jõupingutuste eest. See on palju mõistlikum. Tegin vea, öeldes valimi matemaatikat selgitades 4 baiti proovi kohta 3 asemel.
@guidot jah, fikseeritud. See viskab ülaltoodud kommentaaris olevad summad välja, kuid me kõik saame selle ümber teha.
RedGrittyBrick
2012-12-28 03:08:50 UTC
view on stackexchange narkive permalink

Heli arvutiga reprodutseerimiseks peate olema originaalse heli kohta natuke teavet hõivanud ja salvestanud. Sellele on mitmeid lähenemisviise, kuid usun, et kaks kõige sagedamini kasutatavat on proovivõtt ja sageduse / lainekuju analüüs.

Proovide võtmine

See juhtub tavaliselt siis, kui salvestate muusikat arvuti abil. Mikrofoni analoogsignaal kannab pinget, mis aja jooksul varieerub vastavalt mikrofonini jõudva erineva õhurõhule. See suunatakse analoog-digitaalmuundurisse (ADC), mis mõõdab pinget (võtab selle proovid) fikseeritud ajavahemike järel ja teisendab selle analoogpinge digitaalseks esituseks - tavaliselt määratakse pinge väärtusele väike täisarv. Kuna täpsus pole lõpmatu, võib see mõne detaili kaotada. Nt 1.002, 0.998, 0.981 volti teisendamine täisarvu väärtusteks 120, 120, 119 öelda (arvud on välja mõeldud ja ei ole esindavad)

enter image description here Pilt Planet Of Tunes'ilt

Esinevad sagedused on mõnevõrra ebaolulised seni, kuni proovivõtusagedus on palju suurem kui kõrgeim reprodutseerimiseks vajalik sagedus. Ülaltoodud näites näib, et proovivõtusagedus on ehk 15 korda muusikalise lainekuju kõrgeim sagedus.

Pange tähele, et inimese kuulmine ulatub umbes 20 Hz-lt 20 kHz-ni (vananedes palju vähem) ja Näiteks CD diskreetimine on umbes 44 kHz.

Täpsus sõltub nii diskreetimissagedusest kui ka amplituudi tähistamiseks kasutatud bitide arvust.

Sagedusanalüüs

Teine viis sellise instrumendi nagu klaver heli jäädvustamiseks ja salvestamiseks on üksikasjalik analüüs ühe klahvi löömise heli kohta. Algoritmi, mida nimetatakse kiireks Fourieri teisenduseks (FFT), saab kasutada helis esinevate sageduste kindlakstegemiseks. Haamri löömine klaveritraadi vastu põhjustab juhtme keeruka režiimide segmendi vibreerimise, mis tekitab segu sagedustest, mille amplituudid muutuvad ajas. Arvuti suudab seejärel salvestada teavet selle kohta, millises sageduses ja millises ulatuses esinevad sagedused ja kuidas üldised amplituudid ajas muutuvad.

Süntesaatorid kasutavad tavaliselt ühte neist kahest lähenemisviisist, nad kas mängivad reaalse instrumendi püütud valimi või nad üritavad teadaolevat heli taasesitada analoogelektrooniliste või virtuaalsete ostsillaatorite abil, mis tekitavad teadaoleva sagedusega (ja lainekuju) helisid - need lastakse seejärel läbi erinevate filtrite ja segatakse ümbrisheligeneraatorite väljundiga, et kavandatud heli uuesti luua. / p>

Tehnika tase näib olevat selline, et kõige täpsemad elektroonilised klaverid (näiteks) kasutavad proovipõhist sünteesi.

Paljundamine

Digitaalse esituse salvestamine analooghelilaine, tähendab selle reprodutseerimine taasloodud digitaalsignaali teisendamist analooghelilaineks. Seda teostavad elektroonilised ahelad, mis on sisuliselt ADC tagurpidi ja mida mõnikord nimetatakse ka DAC-ks (digitaalsest analoogmuunduriks). Nii saadakse signaal, mida saab analoogvõimendi kaudu valjuhäälditesse edastada.

Toon

Tooni erinevus klaveri ja trompeti vahel on suures osas harmooniliste ja mängitud noodi dünaamika segu (nt amplituudi ümbrise "kuju" - kuidas helitugevus ajas varieerub - nagu on näha rünnakus) Süntesaatori lagunemise, püsimise ja vabastamise (ADSR) juhtimine Võite pidada heli muutuvaks sageduste seguks või keerukaks lainekujuks, mis tuleneb nende ühendamisest - nad liiguvad selles kombineeritud kujul läbi õhu teie kõrva. See on teie kõrva mehaaniliste osade pluss alateadlik analüüs ajus, mis võimaldab teil eristada olemasolevaid eraldi sagedusi.

Adding two sine waves (märkus: selles skeemis pole pingetasemed tüüpilises helisalvestuses, kuid põhimõtted on samad. helisignaalid on tavaliselt millivoldid või maksimaalselt paar volti, sõltuvalt sellest, kas allikaks on mikrofon, sisend-sisend või mõni muu allikas. helitehnika)

Põhisageduse (roheline) lisamine kolmanda harmoonikaga (oranž) annab keeruka lainekuju (punane). Heli reprodutseerimiseks tuleb proovida ainult punast lainekuju. Kui olete salvestanud teavet olemasolevate sageduste kohta, võite selle asemel sünteesida heli, genereerides siinuslaine ostsillaatorite abil põhi- (roheline) ja kolmanda harmoonilise (oranž) laine ning liites need seejärel kokku.

Aitäh - see on väga mõttekas. Nüüd oma kolmandas lõigus tahate öelda, et võiksite tehniliselt ühendada suvalise arvu heli tekitavaid kombineeritud sagedusi ja harmoonilisi üheks lainekujuks, mis tekitaks täpselt sama heli? Teisisõnu, kas saaksite täpse taasesituse reprodutseerimiseks võtta 10 pilliriba ja ühendada iga instrumendi heli üheks, väga keeruliseks lainekujuks?
@DaveC helide ühendamine on lihtsalt lainekujude üksteisele lisamise küsimus.
@DaveC: Nende 10 instrumendi heli on õhus ühendatud, kui nad liiguvad teie kõrvu või maki mikrofoni. Salvestise taasesitamine loob teatud määral täpsuse mikrofoni asendisse jõudnud keeruka lainekuju.
@RedGrittBrick: Minu arvates rikub seda vastust mõned ebatäpsused, mis hägustavad kogu pildi. 1) proovivõtt (A / D muundamine) on vastupidine reprodutseerimisele (D / A teisendamine, digitaalse allika jaoks). 2) Vaid "suurem" proovivõtusagedus on ebapiisav. 3) Diagrammil toodud pingevahemik on helilainete jaoks ebatüüpiline. 4) ADSR-i lühend on õige, kuid ei vasta antud järjestusele. 5) Punast lainet ei saa sünteesida, teadmata, milliseid sagedusi lisada, kuid see nõuab edukat Fourier-analüüsi.
@guidot: Head punktid aitäh. Olen küsimust üle vaadanud, et proovida neid punkte lahendada. Jätan selle ilmselt siis, kui keegi ei tuvasta jämedaid vigu - võib olla parem suunata keegi mujale pikemale põhjalikule artiklile, kui seda vastust palju laiendada.
@RegGrittyBrick, tänab teid abi eest selles. Kui teil pole selle vastu midagi, esitan kõiges selles veel ühe küsimuse: Oletame, et proovite konkreetset, täpset ajahetke. Üks näidisnäit 1/4 000 000 sekundist salvestusest. Kui sel juhul oleks teil sel ajahetkel 5 eraldi sagedust selgelt erineva amplituudiga, kas need kõik saaksid "tühistada" ühe lainekuju? Võtame suvalise näite suvaliste pingetega teie ülaltoodud diagrammil:
Kui hetkel oleks 1 proovivõtusagedus 24 volti, teine ​​212 volti, teine ​​-16 ja nii edasi, siis kuidas muundur selle konkreetse proovi salvestaks? See ei suuda iga üksikut sagedust kohe eristada ja selle ajaproovi jaoks salvestada 5 eraldi baidijärjestust, mis siis selle asemel juhtub? Loodan, et see on mõistlik.
@Dave: saate igal ajal proovida ainult ühte pinget, te ei hooli sagedustest.
Okei, nii et kui teil on 12 erinevat "pinget" (tõesti rõhulainet), mis samal ajal mikrofoni tabavad, siis kuidas see selle ühele proovile taandab?
@DaveC Mikrofon mõõdab kogu nihet, mis on füüsika küsimus. Mõelge sarnasele olukorrale (mul pole aimugi, kas füüsika on sama): öelge, et panete järve nööri, mis on põhjas seotud kivi külge ja millele on märgitud kõrgused. Kui viskate kivi järve, tekitades lainetusi, näete lainete möödumisel vee kõrguse muutumist nööri juures. Mõõdud võiks kirja panna. Sõltumata sellest, mitu kivi korraga järve viskate (kui palju erinevaid lainetusi te loote), on nende väärtus alati antud hetkel üks ja ainus kõrguse mõõtmine.
@derobert, aitäh - see kinnitas seda, mida ma mõtlesin. Võib-olla saaksite veel ühele küsimusele vastata - olen seda paar korda küsinud, kuid pole kunagi otsest vastust saanud: Kuna salvestamisel kõik helid lagunevad üheks lainekujuks, siis kas see tähendab, et üks lainekuju võib taasesitada mis tahes heli?
@DaveC Noh, see sõltub sellest, mida mõtlete. Näiteks on teil tõenäoliselt kaks kõrva, üks lainekuju ei suuda mõlemat kõrva taasesitada erinevaid asju. Samuti erineb see kokkuvarisenud lainekuju sõltuvalt sellest, kus te seda proovite, ja kui seda esitate, ei looda seda samal viisil (nt kui seisate ühe instrumendi kõrval, kuulete seda valjemini. ei saa seda salvestusel teha.) Kõiki neid eirates ja eeldades täiuslikku varustust, arvan, et see on tõsi, aga ma pole kindel. Ilmselt küsimus füüsikale. SE jälle.
guidot
2012-12-27 16:52:39 UTC
view on stackexchange narkive permalink

Teie küsimus on keeruline, kuna see koosneb üksikutest keerukate alaküsimustest. Püüan anda mõned näpunäited.

Esimene küsimus käsitleb helide digiteerimist: see on alati võimalik lähenduse abil, mis võib olla nii täpne, kui investeerite jõupingutusi. Proovivõteteoreem ütleb, et salvestamiseks peate proovima vähemalt kaks korda sagedamini kui kõige kõrgem sagedus. Kuna noore inimese kõrvad kuulevad midagi vahemikus 16 kuni 20 kHz, vajate vähemalt 40 kHz. Kuid pikslitamise (täpselt: kvantimise) efekt jääb alles, nagu vektor- ja piksligraafika erinevus. Saate seda vähendada, kuid mitte lahti saada. (Võib-olla on põhjus vinüülplaatide fännidele.)

Teine on lainevorm. Füüsikatundide siinuslaine kõlab täiesti igavalt, lähim lähenev klassikaline pill on flööt. Viiulitel on rohkem kolmnurga laineid, mida pärast Fourieri analüüsi saab kujutada paljude erineva sagedusega siinuslainete ülekattega, nn ülemtoonid. See sobib hästi klassikalistes instrumentides leiduvate resonaatorite jaoks. Siinuslaineteks lagunemine jõuab ebaloomulike lainetega nagu ruudukujulised lained ja ma mäletan kalli võimendi ostsilloskoobi pilte, mis näitavad väikesi, kuid selgelt nähtavaid kõrvalekaldeid selle laine jaoks. Nii et liugurite võrdluses püsimiseks: iga alatooni amplituudi korrigeerimiseks on vaja midagi muudetavat arvu liugureid.

Kolmas teema on ajahälve. Päris pillid tekitavad helisid, mis ajas on märkimisväärselt erinevad ja seetõttu varieerub ka see sagedussegu pidevalt: siin on faasiks rünnak, lagunemine ja püsimine ning rünnak on siin kõige olulisem teatud instrumentide äratundmiseks. Lugesin korra katsest, kus instrumendi A rünnakumall vormiti B-seadme sagedusspektrile ja enamik kuulajaid tuvastas heli A-le kuuluvana.

Kõige viimane täht peaks olema A, eks?
Yimin Rong
2014-01-22 22:02:06 UTC
view on stackexchange narkive permalink

Kõrvalepõikena saate heli sisend- / väljundvõimaluste jaoks hakkama saada vaid ühe bitiga!

Nende ülesanne on seadistada kandjalaine, keerates väärtust väga kiiresti edasi-tagasi 1-0- 1-0-1-0 ..., sagedusel, mis ei kuulu enamiku inimeste kuulmisele. Seda keeratakse nii kiiresti, et kõlarikoonusel pole aega 0 või 1 positsiooni saavutamiseks piisavalt liikuda, nii et kõlarikoonus jääb neutraalse positsiooni lähedale - öelge ½.

Ideaalis oleksite võitnud Selles neutraalses olekus ei räägi kõneleja midagi. Mõne 0-bitise asendamine 1-ga toob kõlarikoonuse välja ja vastupidi, muutes 1-bitise väärtusega 0, toob kõlari koonuse sisse. Kõlari koonuse sellist liikumist tajutakse helina. Selle meetodiga saab piisavalt heli taasesitada. Ametlikult on see pulsilaiuse modulatsiooni variatsioon - PWM.

Kummalisel kombel töötab see paremini kehvema kvaliteediga kõlaritega nagu mobiiltelefonides, kuna kõlari madal truudus silub "karedad servad".



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...