اگر کامپیوتر نصب کرده اید نرم افزار آنتی ویروسمی توان تمام فایل های موجود در رایانه و همچنین هر فایل را به طور جداگانه اسکن کنید... شما می توانید هر فایلی را با کلیک راست روی فایل و انتخاب گزینه مناسب برای اسکن فایل برای ویروس ها اسکن کنید.
به عنوان مثال، در این شکل، فایل my-file.smf، سپس باید روی این فایل کلیک راست کرده و از منوی فایل گزینه را انتخاب کنید "اسکن با AVG"... با انتخاب این گزینه AVG Antivirus باز می شود که این فایل را از نظر ویروس اسکن می کند.
گاهی اوقات یک خطا می تواند ناشی شود نصب نادرست نرم افزار، که ممکن است به دلیل مشکلی باشد که در مراحل نصب به وجود آمده است. ممکن است با سیستم عامل شما تداخل داشته باشد فایل SMF خود را به نرم افزار کاربردی صحیح پیوند دهیدتحت تأثیر قرار دادن به اصطلاح "ارتباطات پسوند فایل".
گاهی ساده نصب مجدد آپاچی اوپن آفیسممکن است مشکل شما را با پیوند صحیح SMF با آپاچی اوپن آفیس حل کند. در موارد دیگر، مشکلات مرتبط با فایلها میتواند ناشی از آن باشد برنامه نویسی ضعیف نرم افزارتوسعه دهنده و ممکن است لازم باشد برای کمک بیشتر با توسعه دهنده تماس بگیرید.
مشاوره:سعی کنید آپاچی اوپن آفیس را به آخرین نسخه به روز کنید تا مطمئن شوید آخرین وصله ها و به روز رسانی ها نصب شده اند.
ممکن است خیلی بدیهی به نظر برسد، اما اغلب ممکن است خود فایل SMF باعث این مشکل شده باشد... اگر فایلی را از طریق یک پیوست ایمیل دریافت کردید یا آن را از یک وب سایت دانلود کردید و روند دانلود قطع شد (به عنوان مثال، قطع برق یا دلایل دیگر)، ممکن است فایل آسیب دیده باشد... در صورت امکان، یک نسخه جدید از فایل SMF تهیه کنید و دوباره آن را باز کنید.
با دقت:یک فایل آسیب دیده می تواند باعث آسیب جانبی به بدافزارهای قبلی یا از قبل موجود در رایانه شما شود، بنابراین بسیار مهم است که همیشه یک آنتی ویروس به روز شده در رایانه شخصی خود داشته باشید.
اگر فایل SMF شما مربوط به سخت افزار کامپیوتر شمابرای باز کردن فایلی که ممکن است نیاز داشته باشید به روز رسانی درایورهای دستگاهمربوط به این تجهیزات
این مشکل معمولاً با انواع فایل های رسانه ای مرتبط استکه به باز کردن موفقیت آمیز سخت افزار در داخل کامپیوتر بستگی دارد، برای مثال، کارت صدا یا کارت گرافیک... به عنوان مثال، اگر می خواهید یک فایل صوتی را باز کنید اما نمی توانید آن را باز کنید، ممکن است نیاز داشته باشید به روز رسانی درایورهای کارت صدا.
مشاوره:اگر وقتی سعی می کنید یک فایل SMF را باز کنید، دریافت می کنید پیام خطای مربوط به فایل SYS، مشکل احتمالاً می تواند باشد مربوط به درایورهای دستگاه آسیب دیده یا قدیمی استکه باید به روز شوند این فرآیند را می توان با استفاده از یک نرم افزار به روز رسانی درایور مانند DriverDoc تسهیل کرد.
اگر مراحل انجام شده مشکل را حل نکردو شما همچنان با باز کردن فایل های SMF مشکل دارید، ممکن است به دلیل آن باشد کمبود منابع سیستم در دسترس... برخی از نسخههای فایلهای SMF ممکن است به مقدار قابل توجهی از منابع (مانند حافظه / رم، قدرت پردازش) نیاز داشته باشند تا به درستی در رایانه شما باز شوند. اگر از سخت افزار کامپیوتر نسبتا قدیمی و در عین حال از یک سیستم عامل بسیار جدیدتر استفاده می کنید، اغلب این مشکل رخ می دهد.
این مشکل زمانی رخ میدهد که رایانه برای انجام یک کار مشکل داشته باشد، زیرا سیستم عامل (و سایر سرویسهای در حال اجرا در پسزمینه) میتوانند برای باز کردن فایل SMF منابع زیادی مصرف کنید... سعی کنید قبل از باز کردن StarMath Formula File، تمام برنامه های رایانه شخصی خود را ببندید. با آزاد کردن تمام منابع موجود در رایانه خود، محیط بهتری را برای تلاش برای باز کردن فایل SMF فراهم می کنید.
اگر شما تمام مراحل بالا را انجام دادو فایل SMF شما هنوز باز نمی شود، ممکن است لازم باشد اجرا کنید ارتقاء تجهیزات... در بیشتر موارد، حتی با نسخههای سختافزاری قدیمیتر، ممکن است قدرت پردازش برای اکثر برنامههای کاربردی سفارشی بیشتر از حد کافی باشد (مگر اینکه کارهای زیادی با CPU مانند رندر سه بعدی، مدلسازی مالی/علمی یا کارهای چندرسانهای سنگین انجام دهید) ... به این ترتیب، این احتمال وجود دارد که رایانه شما حافظه کافی نداشته باشد(که معمولاً "RAM" یا حافظه دسترسی تصادفی نامیده می شود) برای انجام وظیفه باز کردن یک فایل.
بخش 5 از مجموعه مقالاتی که پروتکل MIDI را شرح می دهد.
یکی از سه بخش پروتکل MIDI، مشخصات فرمت ذخیره سازی داده ها است (به یاد داشته باشید، دو قسمت دیگر فرمت پیام و مشخصات رابط سخت افزاری هستند). قالب پیام در سه مقاله اول این مجموعه مورد بحث قرار گرفت، اکنون زمان فرمت ذخیره سازی است. در اواخر سال 1987 توسط سازمان MMA پیشنهاد شد و استاندارد MIDI Files (SMF) نام گرفت. هدف فایلهای MIDI این است که رویدادها (یعنی پیامهای MIDI دارای مهر زمانی) بین دستگاهها و برنامههای مختلف رد و بدل شوند. قبل از ظهور فایلهای MIDI استاندارد، ترتیبی که در یک ترتیبدهنده تهیه شده بود، به دلیل ناسازگاری فرمتها در دیگری بارگذاری نمیشد. این بدان معنا نیست که با ظهور SMF، همه سازندگان ترتیب سنج به این فرمت تغییر داده اند. دلایل متعددی برای این امر وجود دارد و ما نیز امروز در مورد آنها صحبت خواهیم کرد. از آنجایی که ذخیره سازی اطلاعات به طور مستقیم با دستگاه ترتیب دهنده ها مرتبط است، ما در این مورد با جزئیات بیشتری صحبت خواهیم کرد، اما فقط تا حدی که برای درک SMF لازم است. و بدون شک یکی از مقالات بعدی این چرخه را به ترتیبدهندهها اختصاص خواهیم داد.
مناسبت ها
برای مثال، ترتیبدهنده میتواند یک رویداد "انتخاب یادداشت" را با مهر زمانی 100 میلیثانیه از شروع پخش ذخیره کند. شما می توانید این رویداد را در دو بعد ویرایش کنید: اولاً پارامترهای خود پیام MIDI (در این مورد، گام یا پویایی نت) را تغییر دهید و ثانیاً نت را در طول مسیر حرکت دهید، یعنی زمان اجرا را تغییر دهید. از پیام هنگام ضبط پیامهای MIDI، رویدادها در حافظه ترتیبدهنده ظاهر میشوند. هنگامی که دکمه ضبط را فشار می دهید، ترتیب سنج مولد پالس سخت افزاری را روشن می کند (تیک) و شروع به "گوش دادن" به ورودی MIDI مشخص شده می کند. به عنوان مثال، هنگامی که یک کلید را فشار می دهید، ورودی پیام "انتخاب یک یادداشت" را دریافت می کند. ترتیب دهنده نگاه می کند - آها، پیام به تیک 20 رسید و آن را با برچسب 20 در حافظه می نویسد. بعد از چند ثانیه کلید را آزاد کردند - پیام "حذف یادداشت" آمد، ژنراتور داخلی با خوشحالی 64 را تکان داد. در آن لحظه به ترتیب دهنده تیک می زند. ترتیبدهنده پیامی را با برچسب 64 ذخیره میکند. اکنون با دو رویداد روبرو هستیم - Note On و Note Off. در حین پخش، مولد پالس دوباره روشن می شود. هنگامی که تیک بیستم بالا می آید، یک پیام Note On به خروجی MIDI ترتیب دهنده ارسال می شود، تیک 64 یک Note Off است. کارهای مجری را ضبط و سپس پخش کردیم! بدیهی است که همین کار را می توان به صورت آفلاین یعنی بدون نیاز به اجرای زنده انجام داد. با کلیک کردن روی ماوس در مکان مناسب در مسیر (و با انتخاب مدت زمان یادداشت از قبل)، دقیقاً تصویر قبلی را در حافظه ترتیبدهنده میسازیم.
انواع حافظه
مقدار حافظه اولیه در ترتیبدهندهها و ایستگاههای کاری سختافزاری (به یاد داشته باشید، یک ایستگاه کاری یک مولد آهنگ و ترتیبدهنده در یک جعبه است) معمولاً با تعداد یادداشتهای ذخیره شده (مثلاً 200 هزار) بیان میشود. گاهی اوقات صدا به صورت رویدادها بیان می شود، در این مورد باید مراقب خود باشید - یک نت به دو رویداد برای ذخیره نیاز دارد (فشردن و رها کردن یک کلید)، و چرخاندن چرخ یا پس از لمس می تواند تا 100 یا بیشتر رویداد ایجاد کند. این اتفاق می افتد که اندازه حافظه یک ترتیب دهنده در واحدهای کامپیوتری بومی - کیلوبایت بیان می شود. اما این نیز خیلی راحت نیست - یک رویداد می تواند تعداد متفاوتی از بایت ها (از پنج تا چند ده) را اشغال کند. در ترتیبدهندههای نرمافزاری مدرن، افراد کمی به میزان حافظه اولیه اهمیت میدهند - حتی در دستگاهی با 128 مگابایت رم، میتوانید هنگام کار با دادههای MIDI، محدودیتها را فراموش کنید. علاوه بر این، ترتیبدهندههایی وجود دارند که میتوانند ترتیبی را مستقیماً از دیسک پخش کنند، بدون اینکه آن را در حافظه اصلی بارگذاری کنند (و اتفاقاً آن را نیز ضبط کنند)، که به طور کلی تمایز بین این دو نوع حافظه را پاک میکند. در حافظه ثانویه، داده ها معمولاً در یک فایل نوشته می شوند. اکثر ترتیبدهندهها فرمت اختصاصی خود را از این فایل دارند، که تبادل ترتیبات ایجاد شده در دستگاهها یا برنامههای مختلف را دشوار میکند. قبلاً گفته شد که این دلیل اصلی ایجاد SMF بود.
اندازه گیری زمان
تولیدکنندگان پاسخ دادند: "مشکلی نیست، بگذارید اندازه گیری کنند زیرا برای آنها راحت تر است." فقط حداقل واحد اندازه گیری مدت زمان سی و دوم نیست، بلکه یک تیک معمولی است (واحد حتی کوچکتر است، به طوری که برای مثال، یک سی و ثانیه می تواند حاوی 48 تیک باشد). از آنجایی که از دوران کلاسیک، سرعت با تعداد ربع در دقیقه (BPM، ضربان در دقیقه) اندازهگیری میشد، سپس تصمیم گرفتند یک چهارم را به عنوان مدت زمان اصلی در نظر بگیرند و تعداد تیکها را در یک چهارم نشان دهند - PPQN (Pulse Per یادداشت چهارم). هر چه PPQN بزرگتر باشد، وضوح ترتیب دهنده بهتر است و از نظر زمانی دقیق تر می تواند پیام ها را در حین ضبط ضبط کند و در حین پخش آنها را به خروجی MIDI ارسال کند. اکثر ترتیبدهندهها به شما اجازه میدهند تا PPQN را خودسرانه تنظیم کنید - برای مثال، از 32 تا 1536 تیک در هر سه ماه (توالیسنجیهای مدرن - تا 15360 PPQN). تیک یک واحد وابسته به نرخ است: هر چه نرخ سریعتر باشد، فاصله بین تیک ها در واحدهای زمان واقعی کوتاهتر است. این فاصله را می توان با فرمول در شکل 1 یافت. یکی به عنوان مثال، در 120 BPM و 96 PPQN، تیک ها هر 5.208 میلی ثانیه دنبال می شوند. در همان وضوح و 180 BPM، فاصله بین تیک ها به 3.472 میلی ثانیه کاهش می یابد. اگر تایمر داخلی آن در هر میکروثانیه پالس کند، ترتیبدهنده چگونه تیکها را میشمرد؟ این بسیار ساده است: بر اساس سرعت فعلی و وضوح در یک چهارم، دقیقا مطابق با فرمول مشخص شده. از آنجایی که یک میلی ثانیه حاوی 1000 میکروثانیه است، در آخرین مثال، ترتیب سنج با دریافت 3472 پالس از تایمر، تیک دیگری ایجاد می کند.
وقتی وضوح بالا منطقی نیست
چرا؟ اجازه دهید یادآوری کنم که یک بایت از طریق رابط MIDI در عرض 320 میکروثانیه منتقل می شود. این بدان معناست که برای مثال، یک پیام یادداشت برداری (شامل سه بایت) به مدت 960 میکرو ثانیه یا تقریباً یک میلی ثانیه کامل ارسال می شود. حال تصور کنید که در ترتیب سنج در 120 BPM و 2048 PPQN، دو نت با دو تیک از هم برنامه ریزی شده اند. در واحدهای زمان واقعی، این 488 میکروثانیه است. بنابراین: مولد صدا قادر نخواهد بود نت دوم را 488 میکروثانیه پس از اول دریافت کند، اما در واقع - فقط پس از 960 میکروثانیه. بنابراین او آن را نه پس از دو تیک، بلکه تقریباً چهار تیک اجرا خواهد کرد. از این رو نتیجه گیری: هنگام کار از طریق یک رابط MIDI (زمانی که ترتیب سنج و مولد آهنگ از هم جدا هستند)، وضوح ترتیب سنج بیش از یک تیک در هر 960 میکروثانیه منطقی نیست. برای اینکه بفهمید چقدر در PPQN خواهد بود، می توانید از فرمول شکل 1 استفاده کنید. 2. جدول در شکل 3 مقادیر PPQN را برای سرعت های مختلف نشان می دهد که فراتر از آن بی معنی است. موقعیت یک رویداد در خط زمانی در ترتیبدهنده تنظیم میشود، معمولاً در قالب "bars: beats: ticks"، به عنوان مثال، 22: 3: 152. یعنی: پیمانه بیست و دوم، ضرب سوم، تیک 152 از ابتدای ضرب سوم. این اصل زمان بندی (اصطلاح انگلیسی - Timebase) موزیکال نامیده می شود، زیرا برای نوازندگان آشنا و راحت است. لطفاً توجه داشته باشید که برای کار در این قالب باید امضای زمان فعلی را بدانید. یعنی پیمانه شامل چند ضربه است و هر ضربه برابر است. بنابراین، با امضای زمان 4/4، یک ضرب برابر با یک چهارم است و یک پیمانه شامل چهار ضربه است. در رزولوشن 384 PPQN، 384 تیک در یک ضرب و 1536 تیک در هر تیک (384 x 4) وجود خواهد داشت. در 6/8 و وضوح یکسان، یک ضرب 192 تیک خواهد بود (یک هشتم به اندازه نصف یک چهارم است)، و یک اندازه دارای شش ضربه یا 1152 تیک (192 x 6) خواهد بود. بنابراین، 22: 3: 152 در حالت اول به معنای 35096 تیک از ابتدای آهنگ (22 x 1536 + 3 x 384 + 152)، و در مورد دوم - 26072 تیک (22 x 1152 + 3 x 192 + 152) است. . بنابراین، برای تعیین موقعیت یک رویداد در واحدهای زمان واقعی بر اساس قالب "bars: beats: ticks"، باید سه پارامتر را بدانید: سرعت فعلی، امضای زمان و وضوح بر حسب تیک در هر سه ماه (PPQN). امکان دیگری برای زمان بندی وجود دارد، زمانی که موقعیت یک رویداد در یک مسیر در واحدهای مطلقی که به سرعت بستگی ندارد بیان می شود، اغلب در قالب زمان SMPTE - "ساعت: دقیقه: ثانیه: فریم". این اصل زمانبندی، «مبتنی بر کد زمان» (مبتنی بر کد زمانی، مطلق) نامیده میشود. نیاز به آن زمانی ایجاد می شود که ترتیب دهنده با یک ضبط صوت یا تجهیزات فیلم / فیلم با هم کار می کند. عملیات ویرایش با فیلم، ویدئو و مواد صوتی، مشخص کردن موقعیت های شروع و پایان ضبط برای انجام راحت تر است، به مقیاس مطلق گره خورده است، و نه به اندازه گیری ها و ضربات. در این حالت، مختصات رویداد روی خط کش زمان به سرعت فعلی بستگی دارد. بنابراین با سرعت 120 BPM، ضربان اول اندازه گیری دوم می تواند زمان SMPTE 00: 00: 02: 00 و با سرعت 60 BPM - 00: 00: 04: 00 داشته باشد. هنگامی که یک رویداد در یک فریم (بین ثانیه) قرار می گیرد، مختصات آن نیز با فرمت فریم متفاوت (تعداد فریم در ثانیه) متفاوت خواهد بود. در مقاله قبلی این مجموعه می توانید اطلاعات بیشتری در مورد SMPTE و MIDI Time Code بخوانید.
مقادیر طول متغیر
در اینجا دو گزینه وجود دارد: ذخیره برای هر رویداد زمان از ابتدای آهنگ، یا از آخرین رویداد قبل از آن (در همان کانال). با این حال، گزینه اول منطقی نیست، زیرا اغلب فاصله بین رویدادها کوچک است، رویدادهای مجاور زمان اجرا نزدیک به یکدیگر دارند. بنابراین، در یک قطعه سه نت، اولی می تواند زمان داشته باشد، مثلاً 22: 3: 152، دومی - 22: 3: 244، سومی - 22: 3: 288. برای ذخیره این اعداد (که از ابتدای آهنگ به تیک ترجمه شده اند)، باید حداقل چهار بایت برای هر کدام رزرو کنید. اگر در امتداد مسیر دوم بروید، به جای سه عدد بزرگ، می توانید یک شروع بزرگ را ذخیره کنید (22: 3: 152)، و پس از آن - دو عدد کوچک، تفاوت تیک بین اول و دوم و دوم و نت های سوم (در این مورد 92 و 44) یک بایت برای آنها کافی است. اما همچنان، مشکل همچنان پابرجاست: بسته به رویداد، باید تعداد متفاوتی از بایت ها را برای صرفه جویی در زمان اختصاص دهید. اگر SMF در حال حاضر توسعه می یافت (و حتی توسط مایکروسافت، که عموماً به اندازه فایل ها و حافظه مورد نیاز خود اهمیت چندانی نمی دهد)، این مشکل چشم پوشی می کرد. ما یک فیلد ثابت را برای صرفه جویی در زمان اختصاص دادیم، مثلاً 8 بایت در هر رویداد، و متضرر نشدیم. با این حال، در سال 1988، حافظه اولیه (RAM) بسیار گران بود، هر بایت شمارش میشد و ثانویه (رسانه دیسک) اندازه بسیار کمی داشت. بنابراین، توسعه دهندگان SMF می خواستند فشرده ترین قالب ممکن را دریافت کنند. تصمیم گرفته شد حفظ شود زمان دلتا، یعنی تفاوت تیک بین این رویداد با رویداد قبلی (یا ابتدای آهنگ). به عنوان مثال، اگر اولین رویداد - زدن نت به اکتاو اول - در زمان 40 تیک از ابتدای آهنگ رخ دهد، آنگاه زمان دلتای آن 40 خواهد بود. اگر پس از چهار تیک نت F پخش شود. آنگاه زمان دلتای آن 4 خواهد بود. اگر دو رویداد به طور همزمان رخ دهند، به یکی از آنها زمان دلتای برابر با صفر اختصاص داده می شود. اگر رویداد دقیقاً در ابتدای آهنگ رخ دهد، زمان دلتای آن نیز صفر است. با این حال، رویداد بعدی می تواند در یک ساعت و نیم (یعنی در چند میلیون تیک) رخ دهد. چگونه در این مورد باشیم؟ از این گذشته ، حافظه باید ذخیره شود و تخصیص یک میدان ثابت چند بایت برای زمان دلتا نامطلوب است. به اصطلاح طول های متغیر... آنها روشی مناسب برای نوشتن اعداد صحیح، از کوچکترین به بزرگ ترین، بدون نیاز به تخصیص تعداد ثابتی از بایت ها برای عدد ارائه می کنند. بیت های شماره اصلی در یک یا چند بایت بسته بندی می شوند: هر بایت دارای هفت بیت است (در سمت راست، بیت های 0 تا 6). مهم ترین بیت در یک بایت سرویس است. تمام بایت های سری، به جز بایت آخر، باید دارای یک باشند، آخرین بایت - صفر. چندین نمونه بسته بندی در شکل نشان داده شده است. 4. به عنوان مثال، شما باید عدد 64 (هگز 0x40) را در قالب طول متغیر بسته بندی کنید. به صورت دودویی، این عدد به صورت 0100 0000 نوشته می شود. فقط هفت بیت مهم وجود دارد، بنابراین این عدد بدون تغییر در یک بایت بسته بندی می شود - 0100 0000 (این همچنین آخرین بایت سری است)، مهم ترین بیت 0 است. اکنون عدد 128 (0x80) است. به صورت دودویی، به صورت 1000 0000 نوشته می شود. هشت بیت مهم وجود دارد، بنابراین همه چیز در یک بایت قرار نمی گیرد، باید آن را به دو قسمت تقسیم کنید. بایت اول باید دارای یکی در مهم ترین بیت باشد، بایت دوم (به عنوان بایت پایانی سری) - صفر باشد. ما هفت بیت کم اهمیت از عدد اصلی را در بایت دوم قرار می دهیم، 0 000 0000 به دست می آید. عدد 0x80 به صورت دو بایت نوشته می شود: 0x81 0x00. باز کردن بسته بندی بسیار ساده است. ما از قبل نمی دانیم که چند بایت در این سری وجود دارد. ما اولین بایت را خواندیم - 1000 0001. مهم ترین بیت سرویس (1) نشان می دهد که این آخرین بایت سری نیست، بایت های بیشتری وجود دارد. واحد سرویس را دور می اندازیم و هفت بیت باقی می گذاریم - 000 0001. بایت دوم را بخوانید - 0000 0000. مهم ترین بیت سرویس (0) نشان می دهد که این آخرین بایت سری است (یعنی فقط دو بایت در بایت وجود دارد. سلسله). بیت سرویس را کنار می گذاریم. همچنین هفت بیت باقی مانده است - 000 0000. ما به آنها در سمت چپ هفت بیت اختصاص داده شده از بایت اول را اضافه می کنیم، 000 0001 000 0000 بدست می آوریم. با دور انداختن شش صفر اول، عدد مورد نیاز 1000 0000 (0x80) را بدست می آوریم. بنابراین، روش طول های متغیر اجازه می دهد تا تعداد بایت های مختلف برای اعداد مختلف تخصیص داده شود: برای اعداد در محدوده 0 تا 127 - یک بایت، از 128 تا 16383 - دو بایت و غیره. حداکثر تعداد ارائه شده در این روش، در اصل، محدود نیست. با این حال، در SMF، طول انفجار به چهار بایت محدود می شود (سه بایت با مهم ترین مجموعه بیت و یک بایت با صفر خاتمه می یابد). در نتیجه، حداکثر زمان دلتا می تواند 0x0FFFFFFFF (یا 268 435 455 تیک) باشد که با نرخ 500 BPM و وضوح 96 PPQN حدود چهار روز است. بیش از اندازه کافی! در قالب مقادیر طول متغیر، SMF نه تنها زمان دلتا، بلکه طول برخی رویدادها را نیز نشان می دهد.
تبادل فرمت فایل (IFF)
فرمت IFF سازگار و قابل توسعه است. اولی به این معنی است که نسخه جدید برنامه می تواند فایل های ایجاد شده توسط نسخه قبلی را بدون هیچ مشکلی بخواند. دوم، برای ذخیره اطلاعات اضافی نیازی به اختراع قالب جدیدی ندارید، کافی است پسوند خود را در IFF وارد کنید. ساختار قالب به برنامههای تولیدکنندگان مختلف اجازه میدهد تا دادههایی را که توافقات تجاری مناسبی بین خود ندارند، مبادله کنند. همه اینها کاربران را خوشحال می کند - با ذخیره داده ها در قالب IFF، آنها دیگر به قالب بسته سیستم خود متصل نیستند و می توانند از داده ها در هر نرم افزار و محیط سخت افزاری سازگار با IFF استفاده کنند. فایل IFF مجموعه ای از داده ها است که به گونه ای سازماندهی شده اند که برنامه های مختلف و نامرتبط بتوانند آن را بخوانند. از سوی دیگر، برنامه می تواند اطلاعات خاصی را در IFF ذخیره کند که فقط برای خودش معنادار است. ساختار IFF این کار را آسان می کند. سایر برنامه هایی که نمی دانند چگونه با چنین اطلاعاتی کار کنند، می توانند بدون به خطر انداختن خواندن محتوای اصلی، آن را نادیده بگیرند. انواع مختلفی از فایل های IFF وجود دارد. برای مثال، فایلهای ILBM و GIFF حاوی اطلاعات گرافیکی، فایلهای SMUS حاوی نت موسیقی و فایلهای AIFF و WAVE حاوی صدای دیجیتال هستند. یک فایل IFF از عناصر مشابهی به نام chunk تشکیل شده است. بلوک یک ساختار داده ای است که از یک شناسه الفبایی (چهار کاراکتر ASCII)، اندازه بلوک (چهار بایت) و خود داده تشکیل شده است (شکل 5). راحت است که یک بلوک را به عنوان پوسته ای در نظر بگیریم که داده ها در آن "پیچیده شده اند". خود داده ها می توانند شامل هر چیزی باشند: گرافیک، متن، انیمیشن، صدا، مجموعه ای از اشیاء سه بعدی و غیره. بلوک ها در فایل IFF می توانند تو در تو باشند، شکل. 6. در واقع، یک فایل IFF چیزی نیست جز یک بلوک سطح بالا که حاوی یک یا چند بلوک دیگر در داخل آن است. این اصل ذخیره سازی داده به شما امکان می دهد چندین داده ناهمگن را در یک فایل، از جمله چندین فایل IFF، که قبلاً شبیه یک سیستم فایل داخل یک فایل است، "پیچ" کنید. درست است، با سازماندهی داده های تودرتو، یک اشکال وجود دارد - تفسیر فایل، جداسازی بلوک ها از آن دشوار می شود. اکثر فایل های IFF حاوی یک بلوک سطح بالا با شناسه "FORM" هستند. این شامل بلوک های دیگر است (شکل 7). تنها داده در بلوک FORM چهار بایت است که نوع فایل را توصیف می کند (به عنوان مثال "ILBM"، InterLeaved Bit Map). بلافاصله پشت این بلوکهای تودرتو مانند «BMHD» (سرصفحه تصویر)، «CMAP» (پالت)، و «BODY» (خود پیکسلها) قرار دارند. نام بلوک ها و قالب داده ها توسط توسعه دهنده نوع فایل خاص اختراع می شود. سایر برنامهها، اگر به بلوکی با نام ناآشنا برخورد کنند، میتوانند با خیال راحت از آن بگذرند و با فیلد حاوی طول بلوک هدایت شوند. تمام دادههای عددی در فایلهای IFF به ترتیب بزرگ ذخیره میشوند، یعنی ابتدا مهمترین بایت عدد (MSB) و سپس کماهمیتترین بایت ذخیره میشود. برای اطلاعات بیشتر در این مورد به نوار کناری مراجعه کنید. بلوک های درون یک فایل همیشه باید با یک بایت زوج شروع شوند. اگر بلوک قبلی دارای تعداد فرد بایت باشد، با یک بایت تهی به زوج اضافه می شود.
از کدام انتهای صرفه جویی کنیم؟
در شکل شکل 8 دو راه ممکن برای قرار دادن آنها در حافظه را با استفاده از مثال یک کلمه دوگانه نشان می دهد. روش اول - بایت ها به صورت متوالی در حافظه ذخیره می شوند، مهم ترین بایت در کوچکترین آدرس. یعنی MSB کلمه high در آدرس N ذخیره می شود، سپس LSB کلمه high (N + 1)، MSB کلمه low (N + 2)، LSB کلمه low (N + 3) ذخیره می شود. . این روش معمولا نامیده می شود بزرگ اندیان(یا "تخصیص مستقیم بایت"). در روش دوم، همه چیز دقیقا برعکس است، بایت بالا در بالاترین آدرس ذخیره می شود: LSB کلمه کم (N)، MSB کلمه کم (N + 1)، LSB کلمه بالا (N + 2). ، MSB کلمه بالا (N + 3) ... این روش معمولا نامیده می شود کمی اندیان- "تخصیص معکوس بایت". یعنی تفاوت این است که مقدار چند بایتی «از کدام انتهای» ذخیره می شود. اصطلاحات «بزرگ اندین» و «اندین کوچک» در مقاله ای در این زمینه با اشاره به کتاب «ماجراهای گالیور» جاناتان سویفت ابداع شد. همانطور که می دانید، جنبشی از Big-Endians در لیلیپوت به وجود آمد که نمی خواستند فرمان امپراتور مبنی بر شکستن تخم مرغ های آب پز را فقط از انتهای تیز انجام دهند. در دنیای کامپیوتر، رویارویی بزرگ/کوچک بسیار شبیه به هم به نظر می رسد. طرفداران کمی استدلال می کنند که ترتیب بایت های بازآرایی شده در حافظه، انجام عملیات حسابی روی مقادیر چند بایت را آسان تر می کند، زیرا بایت های کم اهمیت اضافه شده ابتدا در بایت های کم اهمیت ذخیره می شوند. مدار کوچک اندین در پردازنده های سازگار اینتل از Intel 8080 تا Intel Pentium IV استفاده می شود. قرارگیری مستقیم (big-endian) - در پردازنده های Sun Spark، موتورولا 68000 (رایانه های اولیه اپل) و بسیاری از پردازنده های RISC. اما پردازنده های PowerPC و Intel Itanium هر دو فرمت داده را به طور همزمان درک می کنند (گاهی اوقات به آنها "bi-endian" می گویند). با این حال، مهم این نیست که کامپیوتر چگونه دادهها را «در درون خود» ذخیره میکند، بلکه این است که چگونه آنها را «خارج» در فایلها ذخیره میکند. این از نقطه نظر عملی بسیار مهمتر است. برای مثال، اگر کلمه "UNIX" توسط سیستم در یک فایل big-endian ذخیره شود (به عنوان دو کلمه دو بایتی)، سیستم small-endian آن را به عنوان "NUXI" می خواند. این همان چیزی است که اصطلاحات کامپیوتری آن را "مشکل NUXI" می نامند. مشکلات مشابهی ممکن است هنگام ذخیره گرافیک ایجاد شود زیرا رنگ ها با اعداد چند بایتی کدگذاری می شوند. برای مثال، فایلهای Adobe Photoshop و JPEG از طرح big-endian استفاده میکنند، در حالی که فایلهای GIF و BPM از small-endian استفاده میکنند. فرمت فایل استاندارد MIDI (SMF) "غیر پلتفرمی" از روش big-endian استفاده می کند، یعنی مهم ترین بایت یک کلمه (MSB) ابتدا ذخیره می شود.
ساختار SMF
بلوک هدر حاوی اطلاعات کلی در مورد فایل است، بلوک آهنگ حاوی جریانی از پیام های MIDI با مهر زمانی است. علاوه بر این، فایل MIDI اطلاعات اضافی لازم برای ترتیب دهنده ها را ذخیره می کند: تمپو، امضای زمان، کلید، تنظیمات مترونوم و موارد مشابه. این اطلاعات از طریق رابط MIDI منتقل نمی شود و رویدادهایی که آن را تشکیل می دهند، متا رویداد نامیده می شوند. یک فایل MIDI همیشه با یک بلوک هدر و سپس یک یا چند بلوک آهنگ شروع می شود (شکل 9). یعنی هر فایل MIDI استاندارد با چهار حرف "M"، "T"، "h"، "d" شروع می شود. این بدان معناست که فایل MIDI با مشخصات IFF مطابقت ندارد (که مستلزم آن است که هر فایل منطبق با IFF با یک بلوک سطح بالای یکی از سه نوع - "FORM"، "CAT" یا "LIST" شروع شود). تفاوت های دیگری نیز وجود دارد: SMF ها نمی توانند بلوک های تودرتو داشته باشند و طول بلوک نباید یکسان باشد. با این حال، تبدیل یک SMF به یک فایل سازگار با IFF ساده است. کافی است بلوک های دارای طول فرد را با یک بایت صفر (در صورت وجود) بپوشانید و تمام محتویات را در بلوک FORM قرار دهید. عملیات مشابهی در قالب RMID پیشنهاد شده توسط مایکروسافت استفاده می شود (نوار کناری را ببینید).
یک پیام MIDI با مهر زمانی فراخوانی می شود رویداد... واحدهای مختلفی را می توان برای نشان دادن زمان استفاده کرد - تیک ها، پالس های داخلی، زمان در قالب SMPTE و غیره. درک تفاوت اساسی بین یک رویداد و یک پیام مهم است. پیام "زندگی می کند" برای کسری از میلی ثانیه از زمان واقعی - از لحظه ای که توسط منبع تولید می شود تا لحظه ای که برای اجرا به گیرنده ارسال می شود. می توان آن را در فرآیند انتقال از طریق کابل MIDI به شکل مجموعه ای از پالس ها گرفت. یک رویداد چند بایت از اطلاعات ثبت شده در حافظه دستگاه است که بر اساس آن پیامی در آینده و در زمان تعیین شده تولید خواهد شد.
اکنون زمان استفاده از دو عبارت سخت کامپیوتری است: حافظه اولیه و ثانویه. حافظه اولیه (یا داخلی) حافظه ترتیبدهنده است که در آن پیامها ضبط میشوند و رویدادها در کل جلسه ذخیره میشوند. محتویات این حافظه با قطع برق پاک می شود. این تعبیر بیشتر برای ترتیب دهنده های سخت افزاری مناسب است. در ترتیبدهندههای نرمافزار، حافظه اصلی صرفاً RAM رایانه است. برای ذخیره محتویات حافظه اولیه برای مدت طولانی از حافظه ثانویه یا به عبارتی حامل های داده استفاده می شود. این می تواند فلاپی دیسک، هارد دیسک، کارت هوشمند و موارد مشابه باشد.
در واقع، هیچ "تیک" در داخل ترتیب دهنده وجود ندارد. یک تایمر سخت افزاری وجود دارد که پالس هایی با فرکانس کاملاً ثابت (مثلاً هر میکروثانیه) تولید می کند. مجبور کردن نوازندگان برای اندازهگیری زمان در میکروثانیه، مانند سایر واحدهای زمان واقعی (ثانیه، دقیقه) یک تمسخر وحشتناک خواهد بود. نوازندگان عادت دارند که در میلهها و بیتها فکر کنند و زمان را به واحدهای نسبی (مدت زمان نت) بیان کنند، بسته به سرعت فعلی.
اگر ترتیبدهنده و مولد آهنگ «زیر یک سقف» باشند (یک ایستگاه کاری یا رایانه با ترتیبدهنده نرمافزار و سینت سایزر روی کارت صدا، یا یک سینت سایزر مجازی)، در این صورت وضوح داخلی چنین سیستمی میتواند به طور دلخواه بالا باشد (15360 PPQN چشمگیر است). این به شما امکان می دهد داده های MIDI و صوتی را با دقت نمونه همگام سازی کنید. اما به محض اینکه ترتیب سنج و تون ژنراتور را با کابل MIDI از طریق رابط MIDI وصل می کنیم، وضوح بالا بی ربط می شود.
انحرافات غنایی کافی است، اکنون وظیفه ما درک قالب ذخیره سازی داده ها است. و اولین چالشی که توسعه دهندگان SMF با آن مواجه شدند این بود که چگونه زمان برگزاری رویداد را حفظ کنند.
ساختار فایل استاندارد MIDI تقریباً به طور کامل از IFF (فرمت فایل تبادلی) گرفته شده است که در سال 1985 توسط Electronic Arts توسعه یافت. این یک فرمت ذخیره سازی و تبادل داده است که زندگی را برای کاربران و توسعه دهندگان نرم افزار برای نزدیک به بیست سال آسان تر کرده است. الکترونیک آرتز نه تنها اسناد منبع باز، بلکه کد منبع C را برای خواندن و نوشتن فایلهای IFF ارائه میکند.
حافظه کامپیوتر از سلول هایی تشکیل شده است که هر کدام دقیقاً یک بایت دارند. برای دسترسی به یک سلول (نوشتن یا خواندن یک بایت)، پردازنده از به اصطلاح استفاده می کند آدرسدر فکر. این به سادگی یک عدد صحیح است که توسط سیستم عامل به یک سلول اختصاص داده شده است (ممکن است کارشناسان رایانه مرا به خاطر این ساده سازی بیش از حد ببخشند). در زندگی واقعی، یک بایت معمولا کافی نیست. حتی برای ذخیره اعداد صحیح، از کلمات استفاده می شود، یعنی گروه های دو بایتی، دو یا چهار کلمه ای (به ترتیب، چهار یا هشت بایت، برای جزئیات بیشتر به قسمت اول چرخه مراجعه کنید). یعنی عدد در چندین بایت مجاور ذخیره می شود.
فایل های استاندارد MIDI، مانند فایل های IFF، از Chunks تشکیل شده اند. در مجموع دو نوع تکه وجود دارد: Header Chunk و Track Chunk. در یک فایل SMF فقط یک بلوک هدر و یک یا چند بلوک آهنگ وجود دارد. بلوک دارای یک ساختار معمولی IFF است: چهار بایت اول شناسه هستند، چهار بایت بعدی طول بلوک بر حسب بایت است، بدون در نظر گرفتن نوع / طول هشت بایت. شناسه بلوک هدر چهار کاراکتر "MThd" و شناسه بلوک آهنگ چهار کاراکتر "MTrk" است. این ساختار امکان تعریف انواع بلوک های جدید را در آینده فراهم می کند و یک بلوک ناآشنا را می توان به راحتی بر اساس طول آن نادیده گرفت. مشخصات SMF هشدار می دهد: "برنامه ها باید طوری آماده شوند که وقتی با بلوک هایی از انواع ناشناخته روبرو می شوند، آنها را نادیده بگیرند."
شما اینجا هستید زیرا فایلی دارید که پسوند آن به .smf ختم میشود. فایلهای با پسوند فایل .smf را فقط میتوان توسط برنامههای خاصی راهاندازی کرد. ممکن است فایلهای .smf به جای اسناد یا رسانه، فایلهای داده باشند. ، به این معنی که آنها "اصلاً قرار نیست دیده شوند.
& nbsp.smf & nbspfile چیست؟
فایلهای با فرمت SMF حاوی دادههای صوتی با افکت هستند و این فرمت فایل با فناوریها و قابلیتهای مشابه فایلهای با پسوند MID یکپارچه شده است. آهنگهای صوتی با پسوند smf. را میتوان با استفاده از برنامه Apple QuickTime پخش کرد و این برنامه چندرسانهای نسخهای سازگار با سیستمهای مبتنی بر ویندوز مایکروسافت دارد، به غیر از نسخه دیگری که برای کاربران مک توسعه یافته است. انجمن تولیدکنندگان MIDI مشخصات MIDI را در قالب فایل SMF در طول توسعه خود ادغام کرد. این بدان معناست که فایلهای SMF همچنین میتوانند شامل آهنگهای مختلف ترکیب شده از آهنگهای صوتی مختلف ذخیرهشده در چندین فایل SMF باشند، که همچنین به این معنی است که فایلهای با فرمت smf را میتوان ترکیب کرد و به یک آهنگ صوتی با فرمتهای محبوبتر تبدیل کرد که میتوان آنها را مشاهده کرد و با موارد بیشتری استفاده کرد. نرم افزار توسعه ارائه ویدئو و اسناد دیجیتال، برنامه های کاربردی چند رسانه ای و پخش کننده های صوتی دیجیتال. این ابزاری را در اختیار کاربران قرار می دهد تا به طور جداگانه جلوه هایی را به هر آهنگ اضافه کنند و قبل از ترکیب آن ها برای پخش به عنوان یک آهنگ صوتی، تغییراتی در سایر آهنگ ها ایجاد کنند. برخی از این جلوهها و تغییرات ممکن است شامل تنظیمات صدا و زیر و بم، اعوجاج و ریورب، پاننگ و ویرایش زمانبندی و سایر موارد باشد. برنامه های شخص ثالثی وجود دارند که می توانند فایل های SMF را به فرمت MIDI برای پشتیبانی از سازگاری متقابل گسترده تر برای برنامه های بیشتر ویرایش صدا تبدیل کنند.
چگونه یک فایل .smf را باز کنیم؟
یک فایل .smf یا هر فایل دیگری را روی رایانه شخصی خود با دوبار کلیک کردن روی آن راه اندازی کنید. اگر پیوندهای فایل شما به درستی تنظیم شده باشد، برنامه ای که "برای باز کردن فایل .smf شما ساخته شده است" آن را باز می کند. ممکن است نیاز به دانلود یا خرید برنامه صحیح داشته باشید. همچنین ممکن است که شما برنامه صحیحی را روی رایانه شخصی خود داشته باشید، اما فایل های smf. هنوز با آن مرتبط نیستند. در این حالت، وقتی می خواهید یک فایل .smf را باز کنید، می توانید به ویندوز بگویید که کدام برنامه برای آن فایل مناسب است. از آن به بعد، باز کردن یک فایل .smf، برنامه صحیح را باز می کند.
برنامه هایی که فایل .smf را باز می کنند
اپل QuickTime Player
اپل QuickTime Player
Apple QuickTime Player یک نرم افزار پخش کننده چند رسانه ای است که فایل های مختلف با فرمت های مختلف از عکس های دیجیتال گرفته تا تصاویر پانوراما، فایل های صوتی تا فیلم و همچنین تعامل را مدیریت می کند. این برنامه پخش چند رسانه ای برای رایانه های Mac OS X و همچنین نسخه های بعدی رایانه های Windows در دسترس است. این محصول نرمافزاری اپل دارای کیتهای توسعه نرمافزار یا SDK است که تا زمانی که با Apple Developer Connection یا ADC مشترک باشند، در دسترس عموم است. دارای چارچوب QuickTime است که با سایر برنامه های پخش رایگان سازگار است که چندین عملکرد را ارائه می دهد. اینها شامل رمزگذاری صداها و ویدیوها، رمزگشایی همان فایلها، رمزگشایی با گزینه ارسال یک جریان رمزگشایی شده به زیرسیستم گرافیکی یا زیرسیستم صوتی، و معماری پلاگین مؤلفه برای پشتیبانی از سایر کدکها (شخص ثالث مانند DivX) است. آخرین نسخه این نرم افزار QuickTime Player 7 می باشد که به صورت رایگان برای کامپیوترهای مک و ویندوز قابل دانلود می باشد.یک کلمه هشدار دهنده
مراقب باشید نام پسوند را در  .smf & nbspfiles یا هر فایل دیگری تغییر ندهید. این باعث تغییر نوع فایل نمی شود. فقط نرم افزارهای ویژه تبدیل می توانند یک فایل را از یک نوع فایل به نوع دیگر تغییر دهند.
پسوند فایل چیست؟
پسوند فایل مجموعه ای از سه یا چهار کاراکتر در انتهای نام فایل است. در این مورد، پسوندهای & nbsp.smf. & nbspFile به شما می گویند که چه نوع فایلی است، و به ویندوز می گوید که چه برنامه هایی می توانند آن را باز کنند. ویندوز اغلب یک برنامه پیش فرض را به هر پسوند فایل مرتبط می کند، به طوری که وقتی روی فایل دوبار کلیک می کنید، برنامه به طور خودکار اجرا می شود. هنگامی که آن برنامه دیگر روی رایانه شخصی شما نیست، گاهی اوقات می توانید هنگام باز کردن فایل مرتبط با خطا مواجه شوید.
معمولا ترتیب دهنده ها از فرمت ذخیره سازی آرایش خود استفاده می کنند. این به دلیل این واقعیت است که یک ساختار داده طراحی شده برای قابلیت های یک برنامه خاص بسیار کارآمدتر است، کار با آن به سادگی آسان تر است. می توانید داده های اضافی را در قالب خود بنویسید، به عنوان مثال، در مورد سفارشی کردن رابط کاربری (موقعیت و اندازه پنجره، فونت، و غیره). علاوه بر این، فشرده بودن فایلهای استاندارد MIDI (بهویژه، طولهای متغیر برای ذخیره زمان وقوع رویدادها) به یک ناراحتی تبدیل میشود: برای کار با ترتیب، تمام زمانهای دلتا در فایل باید «باز کردن» شوند، و زمانی که فایل ذخیره می شود، دوباره "زیپ" می شود.
از طرف دیگر، SMF یک فرمت قابل حمل و چند پلتفرمی است که در آن می توانید هر بلوک اضافی را برای ذخیره داده های خاص تعریف کنید. برای مثال، یک ترتیبدهنده میتواند مترونوم را در بلوکی به نام «Mtr» روشن یا خاموش کند. این بلوک مانعی برای ترتیبدهنده دیگر نیست؛ میتواند چندین بلوک خاص خود را در یک فایل تعریف کند. بنابراین برخی از ترتیب دهنده ها از فرمت SMF به طور مستقیم استفاده می کنند، برای آنها "بومی" است. دیگران به شما اجازه می دهند فایل های MIDI را در صورت نیاز وارد و صادر کنید.
برای پشتیبانی از انواع مختلف ترتیبدهندهها و سایر تجهیزات، فایلهای استاندارد MIDI به سه شکل یا قالب طبقهبندی میشوند: 0، 1، و 2.
فرمت فایل 0 شامل یک آهنگ است که شامل رویدادهای هر شانزده کانال MIDI است. این سادهترین فرمت برای تبادل داده است، زیرا ساختار اصلی آهنگها در ترتیبدهنده را در نظر نمیگیرد (کدام آهنگ به کدام کانال MIDI اختصاص داده میشود). فرمت 0 فایل برای انتقال داده ها به دستگاه هایی مانند میکسرها و پردازنده های افکت مناسب تر است تا برای ذخیره سازی ترتیبات. هنگام ضبط یک فایل با فرمت 0، ترتیبدهنده به سادگی تمام پیامهای همه کانالهای MIDI را در یک آهنگ ادغام میکند. بر این اساس، هنگام بارگیری یک فایل، یک آهنگ دریافت می کنیم که در آن ویرایش رویدادها مشکل ساز است، زیرا رویدادهای کانال های مختلف با یکدیگر درهم می شوند. اکثر ترتیبدهندهها وظیفه تقسیم چنین "میکس" را به تراکهای جداگانه دارند که هر کدام شامل رویدادهایی برای یک کانال MIDI است.
فایل فرمت 1 حاوی یک تراک جداگانه برای هر کانال MIDI است که ساختار آشنای یک ترتیب در یک ترتیب دهنده را منعکس می کند. فایل فرمت 2 شامل چندین قطعه مستقل (یا الگوهای کامل) است، هر الگو شامل یک آهنگ است که حاوی پیام در تمام 16 کانال است. این فرمت قرار بود در آن دسته از ترتیبدهندههایی که میتوانند با الگوهای مستقلی که توسط چندین ساز به طور همزمان نواخته میشوند، استفاده شود. با این حال، فرمت 2 به طور گسترده نادیده گرفته شده است و در حال حاضر در مشخصات به عنوان "برای ترتیب دهنده ها در نظر گرفته نشده است".
یکی از تفاوت های اصلی بین فرمت های 0 و 1 نحوه قرار دادن رویدادهای متا است. در فرمت 0، رویدادهای متا امضای زمان و سرعت (به نام نقشه سرعت) با پیامهای MIDI دیگر ترکیب میشوند. علاوه بر این، عناوین آهنگ ها در این قالب ذخیره نمی شوند. در فرمت 1، اولین آهنگ در فایل منحصراً برای نقشه تمپو و سایر رویدادهای متا مانند Sequence / Track Name، Sequence Number، Marker، SMPTE Offset رزرو شده است (پایین را ببینید).
اگر نقشه تمپو در فایل وجود نداشته باشد، سرعت 120 BPM و زمان امضا 4/4 در نظر گرفته می شود.
سازمان MMA ممکن است در آینده فرمت های SMF دیگری را برای پشتیبانی از ساختارهای داده جدید در ترتیب دهنده ها توسعه دهد.
بلوک عنوان ("MThd")
بلوک هدر حاوی اطلاعات اولیه در مورد فایل است. ساختار بلوک در شکل نشان داده شده است. 11. فیلد طول همیشه حاوی عدد 6 است، بر اساس تعداد بایت داده های سرصفحه پس از این فیلد. داده هدر سه کلمه 16 بیتی است. کلمه اول (فرمت) - فرمت SMF، می تواند یکی از سه مقدار - 0، 1 و 2 را بگیرد. کلمه دوم (ntrks) - تعداد بلوک های آهنگ (یعنی خود آهنگ ها) در فایل. برای یک فایل با فرمت 0، همیشه برابر با یک خواهد بود.
آخرین کلمه بلوک عنوان تقسیم، نحوه اندازهگیری زمان (پایه زمانی) را مشخص میکند. همانطور که قبلا ذکر شد، دو راه وجود دارد: موزیکال (نوار / بیت) و مطلق (بر اساس زمان-کد)، بر اساس زمان مطلق در قالب SMPTE. در هر صورت، زمان دلتا در فایل SMF با تیک ها اندازه گیری می شود: با روش موزیکال، تعداد تیک ها در یک چهارم (یعنی PPQN) تنظیم می شود، با مطلق، تعداد تیک ها در یک فریم SMPTE. اگر مهمترین بیت (15) میدان تقسیم روی صفر تنظیم شود، از روش موسیقی استفاده میشود و 15 بیت باقیمانده حاوی PPQN (تا 32767) هستند، شکل. 12. اگر مهم ترین بیت روی یک تنظیم شود، از حالت مطلق استفاده می شود. بایت کم (بیت های 0 تا 7) تعداد تیک ها در هر فریم را ذخیره می کند، بایت بالا (بیت های 8 تا 15) فرمت فریم SMPTE را که به صورت مقادیر منفی بیان می شود (24-، -25، -29، -30) ذخیره می کند. ). در این مورد، عدد -29 مربوط به فرمت Drop Frame 30 فریم بر ثانیه است (به مقاله قبلی در چرخه مراجعه کنید).
اعداد منفی به این دلیل انتخاب میشوند که بهعنوان مکمل دو نوشته میشوند (به مقاله قبلی مراجعه کنید)، یعنی دارای یکی در مهمترین بیت هستند. و این واحد فقط نشانه ای از روش مطلق شمارش زمان است. تعداد تیکها در هر فریم مثبت ذخیره میشود و معمولاً یکی از مقادیر زیر را میگیرد: 4 (رزولوشن مانند MIDI Time Code، زمانی که چهار پیام ربع فریم در هر فریم وجود دارد)، 8، 10، 80 (رزولوشن یک بیت در یک بیت). قاب SMPTE)، یا 100 ...
این سیستم به شما امکان می دهد زمان مطلق وقوع رویداد را با دقت 1/128 فریم نشان دهید. علاوه بر این، اگر فرمت فریم را روی 25 فریم در ثانیه و وضوح را روی 40 تیک در هر فریم تنظیم کنید، هر تیک معادل یک میلی ثانیه خواهد بود. فیلد تقسیم در این حالت دارای مقدار 0xE728 است، بایت 0xE7 ورودی عدد متمم 2 و 0x28 عدد هگزادسیمال 40 است.
بلوک آهنگ ("MTrk")
بلوک آهنگ خود رویدادها را ذخیره می کند، یعنی پیام های MIDI با مهر زمان. بلوک باید حداقل یک رویداد داشته باشد. ساختار بلوک آهنگ برای فایل های MIDI با هر فرمتی (0، 1 و 2) یکسان است، شکل. سیزده.
رویداد شامل یک زمان دلتا و خود پیام MIDI است، شکل. 14. اجازه دهید یادآوری کنم که زمان دلتا به عنوان یک طول متغیر ذخیره می شود.
امیدواریم در حل مشکل فایل SMF به شما کمک کرده باشیم. اگر نمی دانید از کجا می توانید یک برنامه را از لیست ما دانلود کنید، روی پیوند کلیک کنید (این نام برنامه است) - اطلاعات دقیق تری در مورد مکان پیدا خواهید کرد که از آنجا می توانید نسخه نصب ایمن مورد نیاز را دانلود کنید. کاربرد.
بازدید از این صفحه به شما کمک می کند به طور خاص به این سوالات یا سوالات مشابه پاسخ دهید:
- چگونه فایل ها را با پسوند SMF باز کنیم؟
- چگونه می توانم یک فایل SMF را به فرمت دیگری تبدیل کنم؟
- پسوند فرمت فایل SMF چیست؟
- چه برنامه هایی از فایل SMF پشتیبانی می کنند؟
اگر پس از مشاهده مطالب در این سایت، هنوز پاسخ قانع کننده ای برای هیچ یک از سوالات بالا دریافت نکرده اید، به این معنی است که اطلاعات مربوط به فایل SMF ارائه شده در اینجا کامل نیست. با استفاده از فرم تماس با ما تماس بگیرید و اطلاعاتی را که پیدا نکردید بنویسید.
چه چیز دیگری می تواند باعث مشکل شود؟
ممکن است دلایل بیشتری وجود داشته باشد که چرا نمی توانید یک فایل SMF را باز کنید (نه تنها عدم وجود برنامه مربوطه).
اولا- فایل SMF ممکن است به اشتباه (ناسازگار) با برنامه نصب شده برای ارائه آن پیوند داده شده باشد. در این صورت باید خودتان این لینک را تغییر دهید. برای این منظور بر روی فایل SMF که می خواهید ویرایش کنید کلیک راست کرده، روی گزینه کلیک کنید "برای باز کردن با"و سپس برنامه ای را که نصب کرده اید از لیست انتخاب کنید. پس از چنین اقدامی، مشکلات باز کردن فایل SMF باید به طور کامل ناپدید شوند.
دوما- فایلی که می خواهید باز کنید ممکن است به سادگی آسیب دیده باشد. سپس بهترین راه حل این است که یک نسخه جدید پیدا کنید یا دوباره آن را از همان منبع قبلی دانلود کنید (شاید به دلایلی در جلسه قبل دانلود فایل SMF کامل نشده باشد و به درستی باز نشود).
ایا میخواهید کمک کنید؟
اگر اطلاعات بیشتری در مورد پسوند فایل SMF دارید، اگر آن را با کاربران سایت ما به اشتراک بگذارید سپاسگزار خواهیم بود. از فرم ارائه شده استفاده کنید و اطلاعات خود را در مورد فایل SMF برای ما ارسال کنید.