Avage smf-fail. Kuidas smf-i avada? Alternatiivne viis SMF-faili teisendamiseks PDF-failiks

Kui olete oma arvutisse installinud viirusetõrjeprogramm Saab skannida kõiki arvutis olevaid faile ja ka iga faili eraldi. Saate skannida mis tahes faili, paremklõpsates failil ja valides faili viiruste kontrollimiseks sobiva valiku.

Näiteks sellel joonisel on see esile tõstetud fail minu-fail.smf, siis peate sellel failil paremklõpsama ja valima failimenüüst suvandi "skanni AVG-ga". Kui valite selle suvandi, avaneb AVG Antivirus ja skannib faili viiruste suhtes.


Mõnikord võib selle tulemusena tekkida tõrge tarkvara vale installimine, mis võib olla tingitud installiprotsessi käigus ilmnenud probleemist. See võib teie operatsioonisüsteemi häirida linkige oma SMF-fail õige rakendustarkvaraga, mõjutades nn "faililaiendi seosed".

Mõnikord lihtne Apache OpenOffice'i uuesti installimine võib teie probleemi lahendada, ühendades SMF-i õigesti Apache OpenOffice'iga. Muudel juhtudel võivad failiseostega seotud probleemid tuleneda sellest halb tarkvara programmeerimine arendaja ja peate võib-olla edasise abi saamiseks arendajaga ühendust võtma.


Nõuanne: Proovige Apache OpenOffice'i värskendada uusimale versioonile, et tagada uusimate paikade ja värskenduste olemasolu.


See võib tunduda liiga ilmne, kuid sageli Probleemi võib põhjustada SMF-fail ise. Kui saite faili meilimanuse kaudu või laadisite selle veebisaidilt alla ja allalaadimisprotsess katkes (nt elektrikatkestus või muu põhjus), fail võib kahjustuda. Kui võimalik, proovige hankida SMF-failist uus koopia ja proovige see uuesti avada.


Hoolikalt: Kahjustatud fail võib põhjustada täiendavat kahju teie arvuti varasemale või olemasolevale pahavarale, mistõttu on oluline hoida oma arvuti ajakohase viirusetõrjega ajakohasena.


Kui teie SMF-fail mis on seotud teie arvuti riistvaraga vajaliku faili avamiseks värskendage seadme draivereid selle seadmega seotud.

See probleem tavaliselt seotud meediumifailitüüpidega, mis sõltuvad arvuti sees oleva riistvara edukast avamisest, nt. helikaart või videokaart. Näiteks kui proovite avada helifaili, kuid ei saa seda avada, peate võib-olla seda tegema värskendage helikaardi draivereid.


Nõuanne: Kui SMF-faili avamisel saate .SYS-faili veateade, võib probleem tõenäoliselt olla mis on seotud rikutud või aegunud seadmedraiveritega mida tuleb uuendada. Seda protsessi saab lihtsamaks muuta draiveri värskendustarkvara (nt DriverDoc) abil.


Kui sammud probleemi ei lahenda ja teil on endiselt probleeme SMF-failide avamisega, selle põhjuseks võib olla saadaolevate süsteemiressursside puudumine. Mõned SMF-failide versioonid võivad teie arvutis korralikult avamiseks nõuda märkimisväärsel hulgal ressursse (nt mälu/RAM, töötlemisvõimsus). See probleem on üsna tavaline, kui kasutate üsna vana arvuti riistvara ja samal ajal palju uuemat operatsioonisüsteemi.

See probleem võib ilmneda siis, kui arvutil on probleeme ülesande täitmisega, kuna operatsioonisüsteem (ja muud taustal töötavad teenused) võivad kulutab SMF-faili avamiseks liiga palju ressursse. Enne StarMath Formula File avamist proovige sulgeda kõik arvutis olevad rakendused. Kõigi arvutis saadaolevate ressursside vabastamine annab teile parimad tingimused SMF-faili avamiseks.


Kui sa täitnud kõik ülalkirjeldatud sammud ja teie SMF-fail ikka ei avane, peate võib-olla käivitama varustuse uuendus. Enamikul juhtudel, isegi kui kasutate riistvara vanemaid versioone, võib töötlemisvõimsus olla enamiku kasutajarakenduste jaoks siiski enam kui piisav (välja arvatud juhul, kui teete palju protsessorimahukat tööd, nagu 3D-renderdamine, finants-/teaduslik modelleerimine või intensiivne multimeediatöö). Seega tõenäoliselt pole teie arvutil piisavalt mälu(tavaliselt nimetatakse "RAM" või muutmälu), et täita faili avamise ülesannet.

Pealkiri (inglise keeles): Standardne MIDI-fail

Nimi (vene): MIDI SMF-fail

Arendaja: Tundmatu

Kirjeldus: SMF, tuntud ka kui StarMathi valemifail, on StarMathi valemivorming. SMF-vormingu töötas välja kuulus tarkvarafirma Oracle. Kasutatakse matemaatiliste valemite salvestamiseks, säilitades samal ajal avaldiste vormingu ja süntaksi. SMF-vormingus failid on loodud OpenOffice'i kontorirakenduse vanemate versioonidega, redaktori uutes versioonides asendatakse SMF ODF-vorminguga. Samas toetatakse ka vana SMF-vormingut. Lisaks OpenOffice'ile saate StarMath Formula dokumentide vaatamiseks kasutada teist tasuta kontorikomplekti LibreOffice.

Vorming 2

Pealkiri (inglise keeles): StarMathi valemifail

Nimi (vene): StarMathi valem

Arendaja: Oraakel

Kirjeldus: SMF või standardne MIDI-fail on SMF-i midi-failivorming. See vorming loodi spetsiaalselt sekvenseriga salvestatud heli salvestamiseks - spetsiaalse riistvaraseadmega, mis on loodud muusikaliste kompositsioonide salvestamiseks ja taasesitamiseks. Selline salvestis ei sisalda tegelikke heliandmeid, see on nootide ja nende esituse omaduste kogum. Sekvenser võib olla ka programm, millel on sarnane eesmärk kui riistvaramoodulil. SMF-fail sisaldab vihjeid, markereid, tempoandmeid, muusikaklahve, MIDI-sõnumeid ja muud teavet. SMF-vormingus esitamiseks peate kasutama Apple QuickTime Playerit.

Selles vormingus faili avamiseks (redigeerimiseks) saate kasutada järgmisi programme:

Formaat 3

Pealkiri (inglise keeles): Serifi metafail

Nimi (vene): Serifi vektorpilt

Arendaja: Serif

Kirjeldus: SMF ehk Serif Metafile on Serifi natiivne vektorkujutise failivorming. Vormingu töötas välja Inglise firma Serif, kes toodab selliseid tuntud tarkvaratooteid nagu PagePlus, DrawPlus, MoviePlus, PhotoPlus ja WebPlus. Serifi tooteid kasutatakse raster- ja vektorgraafika, videoga töötamiseks, aga ka veebidisainis ja küljendus. SMF-fail on vektorkujutis, mis sisaldab täiteid, ridu ja tekstiteavet, mida kasutatakse andmete vahetamiseks teiste Serifi programmide vahel.

Sellel lehel selgitatakse, kuidas saate .smf-faili hõlpsasti PDF-failiks teisendada, kasutades tasuta ja hõlpsasti kasutatavat PDF24 Creatorit. Kirjeldatud teisendusmeetod on tasuta ja lihtne. PDF24 Creator installib PDF-printeri ja saate selle printeriga printida oma .smf-faili, et fail PDF-iks teisendada.

Mida on vaja SMF-faili teisendamiseks PDF-failiks või kuidas saate luua oma SMF-failist PDF-versiooni?

SMF-tüüpi faile või smf-laiendiga faile saab PDF-printeri abil hõlpsasti PDF-vormingus teisendada.

PDF-printer on virtuaalne printer, mida saab kasutada nagu iga teist printerit. Erinevus tavalisest printerist seisneb selles, et PDF-printer loob PDF-faile. Te ei prindi füüsilisele paberile. PDF-printer prindib lähtefaili sisu PDF-failiks.

Nii saate luua PDF-versiooni mis tahes failist, mida saab printida. Lihtsalt avage fail lugeja abil, klõpsake printimisnupul, valige virtuaalne PDF-printer ja klõpsake nuppu "Prindi". Kui teil on SMF-faili jaoks lugeja ja lugeja saab faili printida, saate faili teisendada PDF-vormingusse.

Sellelt lehelt saab alla laadida tasuta ja hõlpsasti kasutatava PDF-printeri PDF24-st. PDF24 Creatori allalaadimiseks klõpsake lihtsalt selle artikli paremal oleval allalaadimisnupul. Installige see tarkvara. Pärast installimist on teil Windowsis registreeritud uus printimisseade, mille abil saate oma .smf-failist PDF-faile luua või mis tahes muu prinditava faili PDF-iks teisendada.

See toimib järgmiselt.

  1. Installige PDF24 Creator
  2. Avage smf-fail lugeja abil, mis suudab faili avada.
  3. Printige fail virtuaalses PDF24 PDF-printeris.
  4. PDF24 assistent avab akna, kus saate salvestada uue faili PDF-vormingus, saata selle meili teel, faksiga või redigeerida.

Alternatiivne viis SMF-faili teisendamiseks PDF-failiks

PDF24 pakub mitmeid võrgutööriistu, mida saab kasutada PDF-failide loomiseks. Toetatud failitüübid lisatakse, kui need kättesaadavaks muutuvad, ja SMF-failivormingut võib samuti juba toetada. Konversiooniteenusel on erinevad liidesed. Kaks neist on järgmised:

PDF24 veebipõhine PDF-muundur toetab paljusid faile, mida saab PDF-iks teisendada. Valige lihtsalt SMF-fail, millest soovite PDF-versiooni saada, klõpsake nuppu "teisenda" ja saate faili PDF-versiooni.

PDF24-st on olemas ka e-posti PDF-i konverter, mida saab kasutada ka failide PDF-vormingusse teisendamiseks. Saatke lihtsalt e-kiri teenusele E-Mail PDF Converter, lisage sellele meilile SMF-fail ja mõne sekundi pärast saate PDF-faili tagasi.

MIDI-protokolli üksikasjalikult kirjeldavate artiklite seeria viies osa.

Üks kolmest MIDI-protokolli komponendist on andmesalvestusvormingu spetsifikatsioon (tuletan meelde, et ülejäänud kaks komponenti on sõnumivorming ja riistvaraliidese spetsifikatsioon). Sõnumi vormingut käsitleti sarja esimeses kolmes artiklis, nüüd on aeg salvestusvormingu jaoks. Selle pakkus välja MMA organisatsioon 1987. aasta lõpus ja seda nimetati standardseteks MIDI-failideks (SMF).

MIDI-failide eesmärk on võimaldada sündmuste (st ajatempliga MIDI-sõnumite) vahetamist erinevate seadmete ja programmide vahel. Enne standardsete MIDI-failide tulekut ei saanud ühes sekventeris koostatud seadet laadida teise ühildamatute vormingute tõttu. Ei saa öelda, et SMF-i tulekuga läksid kõik sekvenseritootjad sellele vormingule üle. Sellel on mitu põhjust ja neist räägime ka täna.

Kuna info salvestamine on otseselt seotud sekvenserite disainiga, siis peatume sellel teemal lähemalt, kuid ainult niivõrd, kuivõrd see on vajalik SMF-i mõistmiseks. Ja kahtlemata pühendame sarja ühe järgmistest artiklitest sekvenaatoritele.

Sündmused
Kutsutakse välja ajatempliga MIDI-sõnum sündmus. Aja märkimiseks võib kasutada erinevaid ühikuid – linnukesed, sisemised impulsid, aeg SMPTE formaadis jne. Oluline on mõista sündmuse ja sõnumi põhimõttelist erinevust. Sõnum “elab” murdosa millisekundist reaalajas – hetkest, mil allikas selle genereerib, kuni hetkeni, mil see jõuab vastuvõtjasse täitmiseks. Seda saab püüda ülekande ajal MIDI-kaabli kaudu impulsside komplektina. Sündmus on seadme mällu salvestatud mõnebaidine info, mille alusel edaspidi genereeritakse määratud ajal teade.

Näiteks võib sekvenseri mällu salvestada märkmesündmuse ajatempliga 100 ms alates taasesituse algusest. Seda sündmust saate redigeerida kahes dimensioonis: esiteks muutke MIDI-sõnumi enda parameetreid (antud juhul noodi kõrgust või dünaamikat) ja teiseks liigutage nooti rada mööda, st muutke täitmisaega. sõnumist.

Sündmused ilmuvad sekvenseri mällu, kui MIDI-sõnumid salvestatakse. Kui vajutate nuppu Record, lülitab sekvenser sisse riistvaralise impulsi generaatori (tikstub) ja hakkab "kuulama" määratud MIDI-sisendit. Näiteks kui vajutate klahvi, on sisestussõnum "mängi nooti". Sekvenser vaatab - jah, teade saabus 20. linnukesega ja kirjutab selle mällu märgiga 20. Paari sekundi pärast vabastasid nad võtme - saabus teade “eemalda märge”, sisemine generaator sel hetkel lehvitas rõõmsalt 64 linnukesega sekvenserile. Sekvenser salvestab sõnumi sildiga 64. Nüüd on meil tegemist kahe sündmusega - Note On ja Note Off. Taasesituse ajal lülitub impulsigeneraator uuesti sisse. Kui läheneb 20. linnuke, saadetakse sekvenseri MIDI väljundisse teade Note On ja 64. linnukesele teade Note Off. Salvestasime ja seejärel esitasime esitaja tegevust!

Ilmselgelt saab sama teha "offline", see tähendab, ilma et oleks vaja live-esinemist. Klõpsates hiirega rajal soovitud kohas (ja valides eelnevalt noodi kestuse), ehitame sekvenseri mällu täpselt eelmise pildi.

Mälu tüübid
Nüüd on aeg kasutada kahte hirmutavat arvutiterminit: esmane ja sekundaarne mälu. Esmane (või sisemine) mälu on järjestusmälu, kuhu salvestatakse sõnumeid ja salvestatakse sündmusi kogu jooksu jooksul. Selle mälu sisu lähtestatakse toite väljalülitamisel. See tõlgendus sobib rohkem riistvaralise järjestuse jaoks. Tarkvarajärjestajates on esmane mälu lihtsalt arvuti RAM. Primaarmälu sisu pikaajaliseks salvestamiseks kasutatakse sekundaarset mälu või muul juhul andmekandjat. See võib olla diskett, kõvaketas, kiipkaart jne.

Riistvaraliste sekvenaatorite ja tööjaamade (tuletan meelde, tööjaam on toonigeneraator ja sekvenser ühes kastis) esmase mälu mahtu väljendatakse tavaliselt salvestatud nootide arvus (näiteks 200 tuhat). Mõnikord väljendub helitugevus sündmustes, sel juhul tuleb olla ettevaatlik – ühe noodi salvestamiseks on vaja kahte sündmust (klahvi vajutamine ja vabastamine) ning helikõrguse ratta või järelpuudutuse keeramine võib genereerida kuni 100 või enam sündmust. Juhtub, et sekvenseri mälumahtu väljendatakse natiivsetes arvutiühikutes - kilobaitides. Kuid see pole ka väga mugav - üks sündmus võib hõivata erineva arvu baite (viiest kuni mitmekümneni).

Kaasaegsetes tarkvarajärjestajates ei valmista primaarmälu maht kellelegi suurt muret – isegi 128 MB muutmäluga masinal võib MIDI andmetega töötades unustada igasugused piirangud. Lisaks on sekvensereid, mis suudavad esitada seadet otse kettalt, ilma seda esmasesse mällu laadimata (ja muide ka salvestada), mis üldiselt kustutab erinevuse kahe mälutüübi vahel.

Sekundaarses mälus kirjutatakse andmed tavaliselt faili. Enamikul sekvenaatoritel on selle faili jaoks oma suletud vorming, mis muudab erinevates seadmetes või programmides loodud korralduste vahetamise keeruliseks. Varem räägiti, et see oli SMF-i loomise peamine põhjus.

Mõõtmisaeg
Tegelikult pole sekvenseri sees ühtegi "puuki". Seal on riistvarataimer, mis genereerib impulsse rangelt konstantse sagedusega (näiteks iga mikrosekundi järel). Muusikute sundimine aega mikrosekundites mõõtma oleks koletu pilkamine, nagu ka teistes reaalajas ühikutes (sekundites, minutites). Muusikud on harjunud mõtlema taktides ja taktides ning väljendama aega suhtelistes ühikutes (noodide kestustes), olenevalt hetketempost.

"Pole probleemi," vastasid tootjad, "las nad mõõdavad oma äranägemise järgi." Ainult minimaalseks mõõtühikuks ei saa olema mingi 32. kestus, vaid tinglikult võetud linnuke (ühik on veelgi väiksem, nii et näiteks üks kolmekümnesekundiline kestus võib sisaldada 48 linnukest). Kuna alates klassikalisest ajastust on tempot mõõdetud veerandite arvuga minutis (BPM, lööki minutis), otsustasime võtta peamiseks kestuseks veerandi ja märkida linnukeste arv kvartalis - PPQN (Pulse Per Quarter Note) . Mida suurem on PPQN, seda parem on sekventseri eraldusvõime ja seda täpsemalt suudab see salvestamise ajal sõnumeid ajastada ja taasesituse ajal MIDI-väljundisse väljastada. Enamik sekvensereid võimaldab PPQN-i suvaliselt seadistada – näiteks 32–1536 märki kvartalis (kaasaegsed sekveneerijad – kuni 15360 PPQN-i).

Tikk on temposõltuv ühik: mida kiirem on tempo, seda lühem on tikkide vaheline intervall reaalajas. Selle intervalli leiate joonisel fig. 1.

Näiteks tempo 120 BPM ja eraldusvõimega 96 PPQN korral toimub tiksumine iga 5,208 millisekundi järel. Sama eraldusvõime ja tempo 180 BPM korral väheneb tikkide vaheline intervall 3,472 ms-ni. Kuidas sekvenser loeb, kui selle sisemine taimer pulseerib iga mikrosekundi tagant? Jah, see on väga lihtne: praeguse tempo ja veerandi eraldusvõime põhjal täpselt määratud valemi järgi. Kuna üks millisekund sisaldab 1000 mikrosekundit, genereerib järjestus viimases näites järgmise linnukese, kui saab taimerilt 3472 impulssi.

Kui kõrgel eraldusvõimel pole mõtet
Kui sekvenser ja toonigeneraator on “ühe katuse all” (tööjaam või arvuti, mille helikaardil on tarkvaraline sekvenser ja süntesaator või virtuaalne süntesaator), siis võib sellise süsteemi sisemine eraldusvõime olla meelevaldselt suur (arv 15360 PPQN on muljetavaldav). See võimaldab MIDI- ja heliandmeid näidise täpsusega sünkroonida. Kuid niipea, kui ühendame sekvenseri ja toonigeneraatori MIDI-kaabliga MIDI-liidese kaudu, muutub kõrge eraldusvõime tähtsusetuks.

Miks? Tuletan meelde, et üks bait edastatakse MIDI-liidese kaudu 320 mikrosekundi jooksul. See tähendab, et näiteks teade noodi tabamise kohta (koosneb kolmest baidist) edastatakse 960 μs ehk peaaegu terve millisekundi. Kujutage nüüd ette, et sekventseris on programmeeritud kaks nooti tempoga 120 BPM ja eraldusvõimega 2048 PPQN kahe linnukese intervalliga. Reaalajas on see 488 mikrosekundit. Seega: toonigeneraator ei saa teist nooti vastu võtta 488 mikrosekundi pärast esimest, tegelikkuses aga alles 960 mikrosekundi pärast. Nii et ta teostab selle mitte kahe, vaid peaaegu nelja linnukese pärast.

Siit järeldus: MIDI-liidese kaudu töötades (kui sekvenser ja toonigeneraator on eraldatud), ei ole enam kui ühe linnukese eraldusvõimel 960 mikrosekundi kohta mõtet. Et teada saada, kui palju see PPQN-is on, võite kasutada joonisel fig. 2.

Tabelis joonisel fig. 3 näitab erinevate tempode PPQN väärtusi, mille ületamisel pole mõtet.

Sündmuse asukoht ajajoonlaual määratakse sekventseris, tavaliselt formaadis "takid: lööki: tiksud", näiteks 22:3:152. See tähendab: kahekümne teine ​​takt, kolmas löök, 152. linnuke kolmanda löögi algusest. Seda ajalugemise põhimõtet (ingliskeelne termin on Timebase) nimetatakse muusikaliseks, kuna see on muusikutele tuttav ja mugav. Pange tähele, et selles vormingus töötamiseks peate teadma praegust kellaaega. See tähendab, mitu lööki takt sisaldab ja millega on iga löök võrdne?

Nii et 4/4 taktimõõdus võrdub löök veerandiga ja taktis on neli lööki. Eraldusvõimega 384 PPQN on ühes löögis 384 puuki ja igas mõõdus 1536 puuki (384 x 4). 6/8 taktimõõdu ja sama resolutsiooniga on ühes taktis 192 puuki (kaheksandik on poole lühem kui veerandnoot) ja taktis on kuus lööki ehk 1152 puuki (192 x 6). Seega 22:3:152 salvestamine tähendab esimesel juhul 35096 puuki loo algusest (22 x 1536 + 3 x 384 + 152) ja teisel juhul 26072 tikki (22 x 1152 + 3 x 192 + 152). ).

Seega, et määrata sündmuse asukoht reaalajas ühikutes löökide: löögid: puukide vormingu põhjal, peate teadma kolme parameetrit: praegust tempot, taktimõõtmist ja eraldusvõimet kvartali kohta (PPQN).

Aja loendamiseks on veel üks võimalus, kui sündmuse asukohta rajal väljendatakse absoluutühikutes, mis ei sõltu tempost, kõige sagedamini SMPTE ajavormingus - "tunnid: minutid: sekundid: kaadrid". Seda ajastamise põhimõtet nimetatakse ajakoodipõhiseks (ajakoodipõhine, absoluutne). Vajadus selle järele tekib siis, kui sekvenser töötab koos magnetofoniga või filmi/videotehnikaga. Montaažitoiminguid on mugavam teha filmi-, video- ja helimaterjaliga, näidates ära salvestuse alguse ja lõpu positsioonid, viidates absoluutsele skaalale, mitte mõõtudele ja löökidele.

Sel juhul sõltub sündmuse koordinaat ajajoonlaual hetketempost. Nii et 120 BPM-i tempo korral võib teise takti esimese löögi SMPTE aeg olla 00:00:02:00 ja tempoga 60 BPM – 00:00:04:00. Kui sündmus asub kaadris (sekundite vahel), erineb ka selle koordinaat erinevate kaadrivormingute puhul (kaadrite arv sekundis). Lisateavet SMPTE ja MIDI ajakoodi kohta saate lugeda sarja eelmisest artiklist.

Muutuva pikkusega kogused
Aitab lüürilistest kõrvalepõikest, nüüd on meie ülesanne mõista andmesalvestusvormingut. Ja esimene raskus, millega SMF-i arendajad silmitsi seisid, oli sündmuse aja salvestamine.

Siin on kaks võimalust: salvestada iga sündmuse aeg loo algusest või viimasest sündmusest enne seda (samal kanalil). Esimene variant ei ole aga ratsionaalne, sest enamasti on sündmuste vahe väike, naabersündmuste täitmise ajad on üksteisele lähedased. Nii et kolmest noodist koosnevas lõigul võib esimese aeg olla näiteks 22:3:152, teise – 22:3:244, kolmanda – 22:3:288. Nende numbrite salvestamiseks (loo algusest peale linnuketeks tõlgituna) tuleb igaühe jaoks varuda vähemalt neli baiti. Kui järgite teist teed, saate kolme suure numbri asemel salvestada ühe suure stardinumbri (22:3:152), millele järgneb kaks väikest, esimese ja teise ning teise ja kolmanda noodi linnukeste erinevus (antud juhul 92 ja 44), piisab neile ühest baidist. Kuid probleem jääb siiski alles: olenevalt sündmusest tuleb aja säästmiseks eraldada erinev arv baite.

Kui SMF-i arendataks praegu (ja isegi Microsofti poolt, kes üldiselt oma failide suurusest ja vajalikust mälust vähe hoolib), ei võtaks nad selle probleemi ees silmad kinni. Aja säästmiseks eraldasime fikseeritud välja, näiteks 8 baiti sündmuse kohta, ega kannatanud. 1988. aastal oli aga esmane (RAM) mälu väga kallis, iga bait luges ja sekundaarne (kettakandja) oli väga tagasihoidliku mahuga. Seetõttu soovisid SMF-i arendajad saavutada võimalikult kompaktse vormingu.

Otsustati jätta delta aeg, ehk selle sündmuse ja eelmise (või laulu alguse) puukide erinevus. Näiteks kui esimene sündmus - esimese oktavi noodi C esitamine - toimus hetkel 40 tikku pärast loo algusest, siis võrdub selle deltaaeg 40-ga. Kui neli linnukest hiljem kõlab noot F, siis on selle deltaaeg võrdne 4-ga. Kui kaks sündmust toimuvad samaaegselt, määratakse ühele neist deltaaeg, mis võrdub nulliga. Kui sündmus leiab aset täpselt loo alguses, on sellel ka deltaaeg null. Järgmine sündmus võib aga juhtuda pooleteise tunni pärast (st pärast mitut miljonit puuki). Kuidas sel juhul olla? Lõppude lõpuks tuleb mälu säästa ja deltaaja jaoks pole soovitav eraldada mitme baidi suurust fikseeritud välja.

Niinimetatud muutuva pikkusega kogused. Need pakuvad mugavat viisi täisarvude kirjutamiseks väikseimast suurimani, ilma et peaksite arvule fikseeritud arvu baite eraldama. Algnumbri bitid on pakitud ühte või mitmesse baiti: iga bait sisaldab seitset bitti (paremal, bitid 0 kuni 6). Kõige olulisem bitt baidis on teenindusbitt; kõik seeria baidid, välja arvatud viimane, peavad sisaldama ühte, viimane peab sisaldama nulli. Mitmed pakendinäited on näidatud joonisel fig. 4.

Näiteks peate pakkima numbri 64 (kuueteistkümnendsüsteem 0x40) muutuva pikkusega vormingusse. Binaarses vormis on see arv kirjutatud kui 0100 0000. Olulisi bitte on vaid seitse, nii et see arv pakitakse muudatusteta ühte baiti - 0100 0000 (see on ka seeria viimane bait), kõige olulisem bitt on 0 .

Nüüd on number 128 (0x80). Binaarses vormis kirjutatakse see 1000 0000. Olulisi bitte on kaheksa, nii et kõik ei mahu ühte baiti, tuleb see kaheks jagada. Esimese baidi kõige olulisemas bitis peab olema üks, teises (kui seeria viimases baidis) peab olema null. Teise baiti asetame algarvu seitse kõige vähemtähtsat bitti, saame 0 000 0000. Ülejäänud ühe biti (üks) asetame esimese baidi paremale poole - saame 1000 0001. Tulemuseks on arv 0x80 kirjutatakse kahe baidina: 0x81 0x00. Lahtipakkimine on väga lihtne. Me ei tea ette, mitu baiti seeria sisaldab. Loeme esimest baiti - 1000 0001. Kõige olulisem teenindusbitt (1) näitab, et see pole seeria viimane bait, baite on rohkem. Loobume teenindusüksusest, jättes alles seitse bitti - 000 0001. Lugege teist baiti - 0000 0000. Kõige olulisem teenindusbitt (0) näitab, et see on seeria viimane bait (see tähendab, et seerias on ainult kaks baiti). seeria). Hooldusbitt visatakse ära. Jäänud on ka seitse bitti - 000 0000. Lisame neile vasakule esimesest baidist eraldatud seitse bitti, saame 000 0001 000 0000. Esimesed kuus nulli kõrvale jättes saame soovitud arvu 1000 0000 (0x80).

Seega võimaldab muutuva pikkusega meetod eraldada erinevatele numbritele erineva arvu baite: numbrite jaoks vahemikus 0 kuni 127 - üks bait, 128 kuni 16383 - kaks baiti jne. Sel viisil esitatud maksimaalne arv on põhimõtteliselt piiramatu. Kuid SMF-is on jooksu pikkus piiratud nelja baidiga (kolm kõige olulisema bitiga ja üks, mis lõpetab ühe nulliga). Selle tulemusena võib maksimaalne deltaaeg olla 0x0FFFFFF (või 268 435 455 tikki), mis tempo 500 BPM ja eraldusvõimega 96 PPQN on umbes neli päeva. Rohkem kui küll!

SMF-i muutuva pikkusega vormis pole määratud mitte ainult deltaaeg, vaid ka mõne sündmuse pikkus.

Failivahetusvorming (IFF)
Standardse MIDI-faili struktuur on peaaegu täielikult laenatud vormingust IFF (Interchange File Format), mille töötas välja 1985. aastal Electronic Arts. See on andmesalvestus- ja andmevahetusvorming, mis on ligemale paarkümmend aastat nii kasutajate kui ka tarkvaraarendajate elu lihtsamaks teinud. Electronic Arts ei pakkunud mitte ainult avatud dokumentatsiooni, vaid ka C-lähtekoodi IFF-failide lugemiseks ja kirjutamiseks.

IFF-vorming on tagasiühilduv ja laiendatav. Esimene tähendab, et programmi uus versioon suudab hõlpsasti lugeda eelmise versiooniga loodud faile. Teiseks ei pea te lisateabe salvestamiseks uut vormingut välja mõtlema, vaid peate lihtsalt sisestama IFF-i oma laiendi. Formaadi ülesehitus võimaldab andmeid vahetada erinevate tootjate programmidel, kellel pole vastavaid ärilepinguid. Kõik see teeb kasutajad õnnelikuks – olles salvestanud andmed IFF-vormingus, ei ole nad enam aheldatud oma süsteemi suletud vormingusse ning saavad andmeid kasutada igas IFF-iga ühilduvas riist- ja tarkvarakeskkonnas.

IFF-fail on andmete kogum, mis on korraldatud nii, et erinevad sõltumatud programmid saavad seda lugeda. Teisest küljest võib programm salvestada IFF-is spetsiifilist teavet, mis on tähenduslik ainult tema enda jaoks. IFF-i struktuur muudab selle tegemise lihtsaks. Teised programmid, mis ei tea, kuidas sellist teavet käsitleda, võivad seda ignoreerida, ilma et see mõjutaks põhisisu lugemist.

IFF-faile on mitut tüüpi. Näiteks ILBM- ja GIFF-failid sisaldavad graafilist teavet, SMUS-failid noodikirja, AIFF- ja WAVE-failid digitaalheli.

IFF-fail koosneb sarnastest elementidest, mida nimetatakse plokkideks. Plokk on andmestruktuur, mis koosneb tähe identifikaatorist (neli ASCII märki), ploki suurusest (neli baiti) ja andmetest endast (joonis 5). Plokist on mugav mõelda kui kestale, millesse andmed on "pakitud". Andmed ise võivad sisaldada kõike: graafikat, teksti, animatsiooni, heli, 3D-objektide komplekti jne.

IFF-faili plokke saab pesastada, joonis fig. 6. Tegelikult pole IFF-fail midagi muud kui tipptaseme plokk, mis sisaldab ühte või mitut muud plokki. See andmete salvestamise põhimõte võimaldab faili "mähida" mitu heterogeenset teavet, sealhulgas mitu IFF-faili, mis meenutab faili sees olevat failisüsteemi. Tõsi, pesastatud andmekorraldusel on üks puudus - faili on raske tõlgendada ja sellest plokid eraldada.

Enamik IFF-faile sisaldab tipptaseme plokki identifikaatoriga "FORM". See sisaldab muid plokke (joonis 7). Ainsad andmed plokis FORM on neli baiti, mis kirjeldavad failitüüpi (näiteks "ILBM", InterLeaved Bit Map). Kohe nende taga on pesastatud plokid, näiteks "BMHD" (pildi päis), "CMAP" (palett) ja "BODY" (pikslid ise). Plokkide nimed ja andmevormingu loob konkreetse failitüübi arendaja. Teised programmid, kui nad satuvad võõra nimega plokki, võivad selle ohutult vahele jätta, juhindudes ploki pikkust sisaldavast väljast.

Kõik IFF-failide arvandmed salvestatakse suures järjekorras, see tähendab, et kõigepealt salvestatakse numbri kõige olulisem bait (MSB), seejärel kõige vähem oluline bait. Seda käsitletakse üksikasjalikumalt külgribal. Failisisesed plokid peavad alati algama paarisbaidiga. Kui eelmine plokk sisaldab paaritu arvu baite, täidetakse see nullbaidiga, et see oleks paaris.

Millisest otsast peaksin säästma?
Arvutimälu koosneb rakkudest, millest igaühes on täpselt üks bait. Lahtrisse pääsemiseks (baidi kirjutamiseks või lugemiseks) kasutab protsessor nn aadress meeles. See on lihtsalt operatsioonisüsteemi poolt lahtrile määratud täisarv (arvutispetsialistid annavad mulle selle lihtsustamise andeks). Reaalses elus ühest baidist tavaliselt ei piisa. Isegi täisarvude salvestamiseks kasutatakse sõnu, see tähendab kahebaidiseid rühmi, topelt- või neliksõnu (vastavalt neli või kaheksa baiti, vt täpsemalt tsükli esimesest osast). See tähendab, et number salvestatakse mitmesse kõrvutisse baiti.

Joonisel fig. Joonisel 8 on toodud kaks võimalikku viisi nende mällu paigutamiseks, kasutades näitena topeltsõna. Esimene meetod on salvestada mällu baitid järjestikku, kõige olulisem bait madalaimal aadressil. See tähendab, et aadressil N salvestatakse kõrge sõna MSB, seejärel kõrge sõna LSB (N + 1), madala sõna MSB (N + 2), madala sõna LSB (N + 3). Seda meetodit nimetatakse tavaliselt suur-endian(või "otsene baitide paigutus"). Teise meetodi puhul on kõik täpselt vastupidine, kõrge bait salvestatakse kõrgeimale aadressile: madala sõna LSB (N), madala sõna MSB (N + 1), kõrge sõna LSB (N + 2). ), kõrge sõna MSB (N + 3) . Seda meetodit nimetatakse tavaliselt väike-endian- "tagurpidi baitide paigutus".

See tähendab, et erinevus seisneb selles, et "millisest otsast" (otsast) mitmebaidine väärtus salvestatakse. Terminid "big-endian" ja "little-endian" pakuti välja ühes seda teemat käsitlevas artiklis, viidates Jonathan Swifti raamatule "Gulliveri seiklused". Teatavasti tekkis Lilliputis suur-endilaste liikumine, kes ei tahtnud järgida keisri määrust, mis käskis keedumune murda ainult teravast otsast. Arvutimaailmas näeb big/little-endian lahing väga sarnane välja.

Väikesed pooldajad väidavad, et mälubaitide järjestamine hõlbustab mitmebaidiliste väärtuste aritmeetikat, kuna kõige vähem olulised baidid, mis esimesena lisatakse, salvestatakse madalatele aadressidele.

Väikest skeemi kasutatakse Inteliga ühilduvates protsessorites alates Intel 8080-st kuni Intel Pentium IV-ni. Otsene paigutus (suurepärane) – Sun Sparki protsessorites, Motorola 68000 (Apple'i arvutite algsari) ja paljudes RISC-protsessorites. Kuid PowerPC ja Intel Itaniumi protsessorid mõistavad mõlemat andmevormingut korraga (neid nimetatakse mõnikord "bi-endianiks").

Tähtis pole aga niivõrd see, kuidas arvuti andmeid “sisemiselt” salvestab, vaid see, kuidas ta neid “väljas”, failidesse salvestab. Praktilisest seisukohast on see palju olulisem. Näiteks kui sõna "UNIX" salvestab faili suur-end-süsteem (kahe kahebaidise sõnana), loeb väike-end-süsteem seda kui "NUXI". Arvutižargoonis nimetatakse seda "NUXI probleemiks". Sarnased raskused võivad tekkida graafiliste piltide salvestamisel, kuna värvid on kodeeritud mitmebaidiliste numbritega. Näiteks Adobe Photoshop- ja JPEG-failid kasutavad big-endiani, GIF- ja BPM-failid aga little-endiani.

Platvormideülene standardne MIDI-faili (SMF) vorming kasutab big-endiani meetodit, mis tähendab, et kõigepealt salvestatakse sõna kõige olulisem bait (MSB).

SMF struktuur
Standardsed MIDI-failid, nagu IFF-failid, koosnevad plokkidest (tükkidest). On kahte tüüpi plokke: päise tükk ja rajatükk. SMF-failil võib olla ainult üks päiseplokk ja üks või mitu rajaplokki. Plokil on tüüpiline IFF-struktuur: esimesed neli baiti on identifikaatoriks, järgmised neli baiti on ploki pikkus baitides, välja arvatud kaheksa tüüp/pikkusbaiti. Päiseploki identifikaator on neljast tähemärgist "MThd", rajaploki identifikaatoris on neli märki "MTrk". See struktuur võimaldab tulevikus defineerida uusi plokitüüpe ja võõrast plokki saab selle pikkuse põhjal kergesti ignoreerida. SMF-i spetsifikatsioon hoiatab: "Programmid tuleks ette valmistada, kui nad puutuvad kokku tundmatute tüüpidega, et neid ignoreerida."

Päiseplokk sisaldab üldist teavet faili kohta, rajaplokk sisaldab ajatemplitega MIDI-teadete voogu. Lisaks salvestab MIDI-fail sekventeritele vajalikku lisateavet: tempo, taktimõõtur, klahv, metronoomi seaded jms. Seda teavet ei edastata MIDI-liidese kaudu ja selle moodustavaid sündmusi nimetatakse metasündmusteks.

MIDI-fail algab alati päiseplokiga, millele järgneb üks või mitu rajaplokki (joonis 9). See tähendab, et iga standardne MIDI-fail algab nelja tähega "M", "T", "h", "d". See tähendab, et MIDI-fail ei vasta IFF-i spetsifikatsioonile (mis nõuab, et iga IFF-iga ühilduv fail algaks tipptasemel plokiga, mis on üks kolmest tüübist - "FORM", "CAT" või "LIST"). On ka teisi erinevusi: SMF ei tohi sisaldada pesastatud plokke ja ploki pikkus ei pea olema ühtlane. SMF-i teisendamine IFF-iga ühilduvaks failiks on aga lihtne. Piisab paaritu pikkusega plokkide (kui neid on) polsterdamisest nullbaidiga ja kogu sisu paigutamisest FORM-plokki. Sarnast toimingut kasutatakse Microsofti pakutud RMID-vormingus (vt külgriba).


Olete siin, kuna teil on fail, mille faililaiend lõpeb .smf. Faile laiendiga .smf saab käivitada ainult teatud rakendused. Võimalik, et smf-failid on pigem andmefailid kui dokumendid või meedia , mis tähendab, et need ei ole mõeldud üldse vaatamiseks.

mis on .smf fail?

SMF-vormingus failid sisaldavad efektidega heliandmeid ning see failivorming on integreeritud sarnaste tehnoloogiate ja funktsioonidega nagu MID-laiendiga failid. Smf-laiendiga heliribasid saab esitada Apple QuickTime'i rakendusega ja sellel multimeediumiprogrammil on Microsoft Windowsi põhiste süsteemidega ühilduv versioon peale teise Maci kasutajatele välja töötatud versiooni. MIDI Manufacturers Association integreeris selle arendamise käigus MIDI spetsifikatsioonid SMF-failivormingusse. See tähendab, et SMF-failid võivad sisaldada ka erinevaid lugusid, mis on kombineeritud erinevatest heliribadest, mis on salvestatud mitmesse SMF-faili, mis tähendab ka seda, et smf-vormingus faile saab kombineerida ja teisendada üheks heliribaks populaarsemates vormingutes, mida saab vaadata ja kasutada teistega. digitaalse video ja dokumendi esitluse arendustarkvara, multimeediarakendused ja digitaalsed helipleierid. See annab kasutajatele võimaluse lisada igale rajale eraldi efekte ja teha teistes muudatusi enne nende ühendamist ühe helirajana. Mõned neist efektidest ja modifikatsioonidest võivad muu hulgas hõlmata helitugevuse ja helikõrguse reguleerimist, moonutusi ja reverbi, panoraamimise ja ajastuse muudatusi. On olemas kolmanda osapoole rakendused, mis võivad SMF-faile teisendada MIDI-vormingusse laiemaks, et toetada rohkemate helitöötlusrakenduste ristühilduvust.

kuidas avada .smf-faili?

Käivitage oma arvutis smf-fail või mõni muu fail, topeltklõpsates sellel. Kui teie failiseosed on õigesti seadistatud, avab selle teie .smf-faili avama mõeldud rakendus. Võimalik, et peate õige rakenduse alla laadima või ostma. Samuti on võimalik, et teie arvutis on õige rakendus, kuid smf-failid pole sellega veel seotud. Sel juhul, kui proovite smf-faili avada, saate Windowsile öelda, milline rakendus on selle faili jaoks õige. Edaspidi avab smf-faili õige rakenduse.

smf-faili avavad rakendused

Apple QuickTime Player

Apple QuickTime Player

Apple QuickTime Player on multimeediumipleieri tarkvara, mis käsitleb mitmesuguseid erinevas vormingus faile alates digifotodest kuni panoraampiltideni, helidest videoteni ja interaktiivsuseni. See multimeediumipleieri programm on saadaval nii Mac OS X arvutite kui ka Windowsi arvutite hilisemate versioonide jaoks. Sellel Apple'i tarkvaratootel on tarkvaraarenduskomplektid või SDK-d, mis on avalikkusele saadaval seni, kuni olete tellinud Apple'i arendajaühenduse või ADC-ga. Sellel on QuickTime raamistik, mis ühildub teiste tasuta pleierirakendustega, mis pakuvad mitmeid funktsioone. Nende hulka kuuluvad helide ja videote kodeerimine, samade failide ümberkodeerimine, dekodeerimine võimalusega saata dekodeeritud voog graafika alamsüsteemi või heli alamsüsteemi ja komponentide pistikprogrammi arhitektuur, mis toetab muid koodekeid (kolmanda osapoole, näiteks DivX). Selle tarkvara uusim versioon on QuickTime Player 7, mis on Maci ja Windowsi arvutite jaoks tasuta allalaaditav.

hoiatussõna

Olge ettevaatlik, et te ei nimetaks laiendit .smf files ega muudel failidel ümber. See ei muuda failitüüpi. Ainult spetsiaalne teisendustarkvara saab muuta faili ühest failitüübist teise.

mis on faililaiend?

Faililaiend on kolmest või neljast märgist koosnev komplekt failinime lõpus; sel juhul näitavad .smf. Faililaiendid teile, mis tüüpi fail see on, ja ütlevad Windowsile, millised programmid saavad seda avada. Windows seostab sageli iga faililaiendiga vaikeprogrammi, nii et failil topeltklõpsamisel käivitub programm automaatselt. Kui seda programmi teie arvutis enam ei ole, võite mõnikord saada seotud faili avamisel tõrketeate.