เปิดไฟล์ smf เปิด smf ยังไง? อีกทางเลือกหนึ่งในการแปลงไฟล์ SMF ไปเป็นไฟล์ PDF

หากคุณได้ติดตั้งบนคอมพิวเตอร์ของคุณ โปรแกรมป้องกันไวรัสสามารถ สแกนไฟล์ทั้งหมดบนคอมพิวเตอร์ของคุณ รวมถึงแต่ละไฟล์แยกกัน- คุณสามารถสแกนไฟล์ใดก็ได้โดยคลิกขวาที่ไฟล์แล้วเลือกตัวเลือกที่เหมาะสมเพื่อสแกนไฟล์เพื่อหาไวรัส

ตัวอย่างเช่นในรูปนี้จะเน้นไว้ ไฟล์ my-file.smfจากนั้นคุณจะต้องคลิกขวาที่ไฟล์นี้แล้วเลือกตัวเลือกในเมนูไฟล์ "สแกนด้วย AVG"- เมื่อคุณเลือกตัวเลือกนี้ AVG Antivirus จะเปิดและสแกนไฟล์เพื่อหาไวรัส


บางครั้งอาจเกิดข้อผิดพลาดตามมา การติดตั้งซอฟต์แวร์ไม่ถูกต้องซึ่งอาจเกิดจากปัญหาที่พบในระหว่างขั้นตอนการติดตั้ง สิ่งนี้อาจรบกวนระบบปฏิบัติการของคุณ เชื่อมโยงไฟล์ SMF ของคุณกับแอพพลิเคชั่นซอฟต์แวร์ที่ถูกต้องซึ่งมีอิทธิพลต่อสิ่งที่เรียกว่า "การเชื่อมโยงนามสกุลไฟล์".

บางครั้งก็เรียบง่าย ติดตั้ง Apache OpenOffice ใหม่อาจแก้ปัญหาของคุณโดยการเชื่อมโยง SMF อย่างถูกต้องกับ Apache OpenOffice ในกรณีอื่น ปัญหาเกี่ยวกับการเชื่อมโยงไฟล์อาจเป็นผลมาจาก การเขียนโปรแกรมซอฟต์แวร์ที่ไม่ดีนักพัฒนาซอฟต์แวร์และคุณอาจต้องติดต่อนักพัฒนาเพื่อขอความช่วยเหลือเพิ่มเติม


คำแนะนำ:ลองอัปเดต Apache OpenOffice เป็นเวอร์ชันล่าสุดเพื่อให้แน่ใจว่าคุณมีแพตช์และอัปเดตล่าสุด


สิ่งนี้อาจดูเหมือนชัดเจนเกินไปแต่บ่อยครั้ง ไฟล์ SMF เองอาจทำให้เกิดปัญหา- หากคุณได้รับไฟล์ผ่านไฟล์แนบอีเมลหรือดาวน์โหลดจากเว็บไซต์ และกระบวนการดาวน์โหลดถูกขัดจังหวะ (เช่น ไฟฟ้าดับหรือเหตุผลอื่น ๆ) ไฟล์อาจเสียหาย- หากเป็นไปได้ ให้ลองรับสำเนาของไฟล์ SMF ใหม่ แล้วลองเปิดใหม่อีกครั้ง


อย่างระมัดระวัง:ไฟล์ที่เสียหายอาจทำให้เกิดความเสียหายต่อหลักประกันต่อมัลแวร์ก่อนหน้าหรือที่มีอยู่ในพีซีของคุณ ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องทำให้คอมพิวเตอร์ของคุณทันสมัยอยู่เสมอด้วยโปรแกรมป้องกันไวรัสที่ทันสมัย


หากไฟล์ SMF ของคุณ ที่เกี่ยวข้องกับฮาร์ดแวร์บนคอมพิวเตอร์ของคุณเพื่อเปิดไฟล์ที่คุณอาจต้องการ อัพเดตไดรเวอร์อุปกรณ์ที่เกี่ยวข้องกับอุปกรณ์นี้

ปัญหานี้ มักจะเกี่ยวข้องกับประเภทไฟล์สื่อซึ่งขึ้นอยู่กับการเปิดฮาร์ดแวร์ภายในคอมพิวเตอร์ได้สำเร็จ เช่น การ์ดเสียงหรือการ์ดแสดงผล- เช่น หากคุณพยายามเปิดไฟล์เสียงแต่เปิดไม่ได้ คุณอาจต้องเปิดไฟล์ดังกล่าว อัพเดตไดรเวอร์การ์ดเสียง.


คำแนะนำ:หากเมื่อคุณพยายามเปิดไฟล์ SMF ที่คุณได้รับ ข้อความแสดงข้อผิดพลาดของไฟล์ .SYSปัญหาอาจจะเกิดขึ้น เกี่ยวข้องกับไดรเวอร์อุปกรณ์ที่เสียหายหรือล้าสมัยที่ต้องได้รับการปรับปรุง กระบวนการนี้สามารถทำได้ง่ายขึ้นโดยใช้ซอฟต์แวร์อัพเดตไดร์เวอร์ เช่น DriverDoc


หากขั้นตอนไม่สามารถแก้ไขปัญหาได้และคุณยังคงประสบปัญหาในการเปิดไฟล์ SMF ซึ่งอาจเนื่องมาจาก ขาดทรัพยากรระบบที่มีอยู่- ไฟล์ SMF บางเวอร์ชันอาจต้องใช้ทรัพยากรจำนวนมาก (เช่น หน่วยความจำ/RAM, พลังการประมวลผล) เพื่อเปิดบนคอมพิวเตอร์ของคุณอย่างเหมาะสม ปัญหานี้เกิดขึ้นค่อนข้างบ่อยหากคุณใช้ฮาร์ดแวร์คอมพิวเตอร์ที่ค่อนข้างเก่าและในขณะเดียวกันก็ใช้ระบบปฏิบัติการที่ใหม่กว่ามาก

ปัญหานี้อาจเกิดขึ้นเมื่อคอมพิวเตอร์มีปัญหาในการติดตามงานเนื่องจากระบบปฏิบัติการ (และบริการอื่นๆ ที่ทำงานอยู่เบื้องหลัง) อาจ ใช้ทรัพยากรมากเกินไปในการเปิดไฟล์ SMF- ลองปิดแอปพลิเคชันทั้งหมดบนพีซีของคุณก่อนที่จะเปิดไฟล์สูตร StarMath การเพิ่มทรัพยากรที่มีอยู่ทั้งหมดบนคอมพิวเตอร์ของคุณจะทำให้คุณได้รับเงื่อนไขที่ดีที่สุดในการพยายามเปิดไฟล์ SMF


ถ้าคุณ ทำตามขั้นตอนทั้งหมดที่อธิบายไว้ข้างต้นเรียบร้อยแล้วและไฟล์ SMF ของคุณยังคงเปิดไม่ได้ คุณอาจต้องเรียกใช้ อัพเดตอุปกรณ์- ในกรณีส่วนใหญ่ แม้ว่าจะใช้ฮาร์ดแวร์เวอร์ชันเก่า พลังการประมวลผลก็ยังเพียงพอสำหรับแอปพลิเคชันผู้ใช้ส่วนใหญ่ (เว้นแต่ว่าคุณกำลังทำงานที่ต้องใช้ CPU จำนวนมาก เช่น การเรนเดอร์ 3D การสร้างแบบจำลองทางการเงิน/วิทยาศาสตร์ หรือ งานมัลติมีเดียเข้มข้น) ดังนั้น, เป็นไปได้ว่าคอมพิวเตอร์ของคุณมีหน่วยความจำไม่เพียงพอ(โดยทั่วไปเรียกว่า "RAM" หรือหน่วยความจำเข้าถึงโดยสุ่ม) เพื่อทำหน้าที่เปิดไฟล์

ชื่อเรื่อง (ภาษาอังกฤษ):ไฟล์ MIDI มาตรฐาน

ชื่อ (รัสเซีย):ไฟล์ MIDI SMF

ผู้พัฒนา:ไม่ทราบ

คำอธิบาย: SMF หรือที่เรียกว่าไฟล์สูตร StarMath เป็นรูปแบบสูตร StarMath รูปแบบ SMF ได้รับการพัฒนาโดยบริษัทซอฟต์แวร์ชื่อดังอย่าง Oracle ใช้เพื่อจัดเก็บสูตรทางคณิตศาสตร์ในขณะที่ยังคงรักษาการจัดรูปแบบและไวยากรณ์ของนิพจน์ ไฟล์รูปแบบ SMF ถูกสร้างขึ้นโดยแอปพลิเคชัน OpenOffice office เวอร์ชันเก่า ในตัวแก้ไขเวอร์ชันใหม่ SMF จะถูกแทนที่ด้วยรูปแบบ ODF อย่างไรก็ตาม รองรับรูปแบบ SMF แบบเก่าด้วย นอกจาก OpenOffice แล้ว คุณยังสามารถใช้ชุดโปรแกรมสำนักงานฟรี LibreOffice เพื่อดูเอกสาร StarMath Formula ได้

รูปแบบ 2

ชื่อเรื่อง (ภาษาอังกฤษ):ไฟล์สูตร StarMath

ชื่อ (รัสเซีย):สูตรสตาร์แมท

ผู้พัฒนา:ออราเคิล

คำอธิบาย:ไฟล์ SMF หรือ Standard MIDI เป็นรูปแบบไฟล์ SMF midi รูปแบบนี้สร้างขึ้นโดยเฉพาะสำหรับจัดเก็บเสียงที่บันทึกโดยซีเควนเซอร์ ซึ่งเป็นอุปกรณ์ฮาร์ดแวร์พิเศษที่ออกแบบมาสำหรับการบันทึกและเล่นบทประพันธ์เพลง การบันทึกดังกล่าวไม่มีข้อมูลเสียงจริง แต่เป็นการรวบรวมบันทึกและลักษณะของการแสดง ซีเควนเซอร์อาจเป็นโปรแกรมที่มีวัตถุประสงค์คล้ายกับโมดูลฮาร์ดแวร์ก็ได้ ไฟล์ SMF ประกอบด้วยตัวชี้นำ เครื่องหมาย ข้อมูลจังหวะ คีย์ดนตรี ข้อความ MIDI และข้อมูลอื่น ๆ หากต้องการเล่นรูปแบบ SMF คุณต้องใช้ Apple QuickTime Player

หากต้องการเปิด (แก้ไข) ไฟล์ในรูปแบบนี้ คุณสามารถใช้โปรแกรมต่อไปนี้:

รูปแบบ 3

ชื่อเรื่อง (ภาษาอังกฤษ):เซริฟ เมตาไฟล์

ชื่อ (รัสเซีย):ภาพเวกเตอร์เซอริฟ

ผู้พัฒนา:เซริฟ

คำอธิบาย: SMF หรือที่รู้จักในชื่อ Serif Metafile คือรูปแบบไฟล์ภาพเวกเตอร์ดั้งเดิมของ Serif รูปแบบนี้ได้รับการพัฒนาโดยบริษัท Serif ในอังกฤษ ผู้ผลิตผลิตภัณฑ์ซอฟต์แวร์ชื่อดังเช่น PagePlus, DrawPlus, MoviePlus, PhotoPlus และ WebPlus ผลิตภัณฑ์ Serif ใช้สำหรับการทำงานกับกราฟิกแรสเตอร์และเวกเตอร์ วิดีโอ ตลอดจนในการออกแบบและเค้าโครงเว็บไซต์ ไฟล์ SMF เป็นภาพเวกเตอร์ที่มีการเติม เส้น และข้อมูลข้อความที่ใช้ในการแลกเปลี่ยนข้อมูลระหว่างโปรแกรม Serif อื่น ๆ

หน้านี้อธิบายวิธีที่คุณสามารถแปลงไฟล์ .smf เป็นไฟล์ PDF ได้อย่างง่ายดายโดยใช้ PDF24 Creator ที่ฟรีและใช้งานง่าย วิธีการแปลงที่อธิบายไว้นั้นฟรีและเรียบง่าย PDF24 Creator ติดตั้งเครื่องพิมพ์ PDF และคุณสามารถพิมพ์ไฟล์ .smf บนเครื่องพิมพ์นี้เพื่อแปลงไฟล์เป็น PDF

สิ่งที่จำเป็นในการแปลงไฟล์ SMF เป็นไฟล์ PDF หรือคุณจะสร้างไฟล์ SMF ในรูปแบบ PDF ได้อย่างไร

ไฟล์ประเภท SMF หรือไฟล์ที่มีนามสกุล .smf สามารถแปลงเป็น PDF ได้ง่ายๆ โดยใช้เครื่องพิมพ์ PDF

เครื่องพิมพ์ PDF คือเครื่องพิมพ์เสมือนที่สามารถใช้งานได้เหมือนกับเครื่องพิมพ์อื่นๆ ความแตกต่างจากเครื่องพิมพ์ทั่วไปคือเครื่องพิมพ์ PDF สร้างไฟล์ PDF คุณไม่ได้พิมพ์บนกระดาษจริง เครื่องพิมพ์ PDF จะพิมพ์เนื้อหาของไฟล์ต้นฉบับเป็นไฟล์ PDF

ด้วยวิธีนี้คุณสามารถสร้างไฟล์ในรูปแบบ PDF ที่สามารถพิมพ์ได้ เพียงเปิดไฟล์โดยใช้ตัวอ่าน คลิกปุ่มพิมพ์ เลือกเครื่องพิมพ์ PDF เสมือน แล้วคลิกปุ่ม "พิมพ์" หากคุณมีตัวอ่านสำหรับไฟล์ SMF และหากตัวอ่านสามารถพิมพ์ไฟล์ได้ คุณก็จะสามารถแปลงไฟล์เป็นรูปแบบ PDF ได้

สามารถดาวน์โหลดเครื่องพิมพ์ PDF ฟรีและใช้งานง่ายจาก PDF24 ได้จากหน้านี้ เพียงคลิกที่ปุ่มดาวน์โหลดทางด้านขวาของบทความนี้เพื่อดาวน์โหลด PDF24 Creator ติดตั้งซอฟต์แวร์นี้ หลังการติดตั้ง คุณจะมีอุปกรณ์การพิมพ์ใหม่ที่ลงทะเบียนกับ Windows ซึ่งคุณสามารถใช้เพื่อสร้างไฟล์ PDF จากไฟล์ .smf ของคุณ หรือแปลงไฟล์อื่น ๆ ที่สามารถพิมพ์ได้เป็น PDF

นี่คือวิธีการทำงาน:

  1. ติดตั้งโปรแกรมสร้าง PDF24
  2. เปิดไฟล์ .smf โดยใช้โปรแกรมอ่านที่สามารถเปิดไฟล์ได้
  3. พิมพ์ไฟล์บนเครื่องพิมพ์ PDF24 PDF เสมือน
  4. PDF24 Assistant จะเปิดหน้าต่างที่คุณสามารถบันทึกไฟล์ใหม่เป็น PDF ส่งทางอีเมล โทรสาร หรือแก้ไขได้

อีกทางเลือกหนึ่งในการแปลงไฟล์ SMF ไปเป็นไฟล์ PDF

PDF24 มีเครื่องมือออนไลน์มากมายที่สามารถใช้ในการสร้างไฟล์ PDF ประเภทไฟล์ที่รองรับจะถูกเพิ่มเมื่อมีให้ใช้งาน และอาจรองรับรูปแบบไฟล์ SMF ด้วยเช่นกัน บริการแปลงมีอินเทอร์เฟซที่หลากหลาย สองรายการมีดังนี้:

โปรแกรมแปลงไฟล์ PDF ออนไลน์จาก PDF24 รองรับไฟล์จำนวนมากที่สามารถแปลงเป็น PDF ได้ เพียงเลือกไฟล์ SMF ที่คุณต้องการรับเวอร์ชัน PDF คลิกปุ่ม "แปลง" แล้วคุณจะได้รับไฟล์ในรูปแบบ PDF

นอกจากนี้ยังมี E-Mail PDF Converter จาก PDF24 ซึ่งสามารถใช้เพื่อแปลงไฟล์เป็นรูปแบบ PDF ได้ด้วย เพียงส่งอีเมลไปที่บริการ E-Mail PDF Converter แนบไฟล์ SMF ไปกับอีเมลนี้ และภายในไม่กี่วินาที คุณก็จะได้รับไฟล์ PDF กลับคืนมา

ส่วนที่ห้าของชุดบทความที่ให้รายละเอียดเกี่ยวกับโปรโตคอล MIDI

หนึ่งในสามองค์ประกอบของโปรโตคอล MIDI คือข้อกำหนดรูปแบบการจัดเก็บข้อมูล (ฉันขอเตือนคุณว่าอีกสององค์ประกอบคือรูปแบบข้อความและข้อกำหนดอินเทอร์เฟซฮาร์ดแวร์) มีการกล่าวถึงรูปแบบข้อความในสามบทความแรกของชุด ตอนนี้ก็ถึงเวลาสำหรับรูปแบบการจัดเก็บข้อมูล ได้รับการเสนอโดยองค์กร MMA ในปลายปี พ.ศ. 2530 และเรียกว่าไฟล์ Standard MIDI (SMF)

วัตถุประสงค์ของไฟล์ MIDI คือเพื่อให้สามารถแลกเปลี่ยนกิจกรรม (นั่นคือ ข้อความ MIDI ที่มีการประทับเวลา) ระหว่างอุปกรณ์และโปรแกรมต่างๆ ก่อนที่จะมีไฟล์ MIDI มาตรฐาน การจัดเตรียมที่เตรียมไว้ในซีเควนเซอร์หนึ่งไม่สามารถโหลดลงในอีกซีเควนเซอร์ได้เนื่องจากรูปแบบที่เข้ากันไม่ได้ ไม่สามารถพูดได้ว่าเมื่อมีการถือกำเนิดของ SMF ผู้ผลิตซีเควนเซอร์ทุกรายจึงเปลี่ยนมาใช้รูปแบบนี้ มีสาเหตุหลายประการสำหรับเรื่องนี้ และเราจะพูดถึงพวกเขาในวันนี้ด้วย

เนื่องจากการจัดเก็บข้อมูลเกี่ยวข้องโดยตรงกับการออกแบบซีเควนเซอร์ เราจะกล่าวถึงเรื่องนี้โดยละเอียดมากขึ้น แต่จะเฉพาะในขอบเขตที่จำเป็นสำหรับการทำความเข้าใจ SMF เท่านั้น และไม่ต้องสงสัยเลยว่าเราจะอุทิศบทความถัดไปในซีรีส์นี้ให้กับซีเควนเซอร์

กิจกรรม
มีการเรียกข้อความ MIDI พร้อมการประทับเวลา เหตุการณ์- สามารถใช้หน่วยต่างๆ เพื่อระบุเวลาได้ เช่น เครื่องหมายถูก แรงกระตุ้นภายใน เวลาในรูปแบบ SMPTE ฯลฯ สิ่งสำคัญคือต้องเข้าใจความแตกต่างพื้นฐานระหว่างเหตุการณ์และข้อความ ข้อความ “คงอยู่” เป็นเวลาเสี้ยววินาทีแบบเรียลไทม์ - ตั้งแต่ช่วงเวลาที่แหล่งที่มาสร้างขึ้นจนถึงช่วงเวลาที่ข้อความมาถึงเพื่อดำเนินการกับผู้รับ สามารถจับได้ระหว่างการส่งสัญญาณผ่านสาย MIDI ในรูปแบบของชุดพัลส์ เหตุการณ์คือข้อมูลจำนวนไม่กี่ไบต์ที่บันทึกไว้ในหน่วยความจำของอุปกรณ์ ซึ่งข้อความจะถูกสร้างขึ้นในอนาคตตามเวลาที่กำหนด

ตัวอย่างเช่น หน่วยความจำซีเควนเซอร์อาจจัดเก็บเหตุการณ์บันทึกย่อที่มีการประทับเวลา 100 มิลลิวินาทีนับจากเริ่มเล่น คุณสามารถแก้ไขเหตุการณ์นี้ได้ในสองมิติ: ขั้นแรก เปลี่ยนพารามิเตอร์ของข้อความ MIDI เอง (ในกรณีนี้คือระดับเสียงหรือไดนามิกของโน้ต) และประการที่สอง ย้ายโน้ตไปตามแทร็ก นั่นคือ เปลี่ยนเวลาดำเนินการ ของข้อความ

เหตุการณ์จะปรากฏในหน่วยความจำซีเควนเซอร์เมื่อมีการบันทึกข้อความ MIDI เมื่อคุณกดปุ่มบันทึก ซีเควนเซอร์จะเปิดเครื่องสร้างพัลส์ฮาร์ดแวร์ (ติ๊ก) และเริ่ม "ฟัง" อินพุต MIDI ที่ระบุ ตัวอย่างเช่น เมื่อคุณกดแป้น ข้อความอินพุตจะเป็น "เล่นโน้ต" ซีเควนเซอร์ดู - ใช่ ข้อความมาถึงในวันที่ 20 และเขียนลงในหน่วยความจำด้วยเครื่องหมาย 20 หลังจากนั้นไม่กี่วินาทีพวกเขาก็ปล่อยกุญแจ - ข้อความ "ลบบันทึก" มาถึง เครื่องกำเนิดภายในในขณะนั้น โบกมือ 64 เห็บอย่างสนุกสนานไปที่ซีเควนเซอร์ ซีเควนเซอร์บันทึกข้อความด้วยป้ายกำกับ 64 ตอนนี้เรากำลังเผชิญกับสองเหตุการณ์ - เปิดหมายเหตุ และ ปิดบันทึก ในระหว่างการเล่น เครื่องกำเนิดพัลส์จะเปิดอีกครั้ง เมื่อขีดที่ 20 ใกล้เข้ามา ข้อความ Note On จะถูกส่งไปยังเอาต์พุต MIDI ของซีเควนเซอร์ และข้อความ Note Off จะถูกส่งไปยังขีดที่ 64 เราบันทึกแล้วเล่นกลับการกระทำของนักแสดง!

แน่นอนว่าสิ่งเดียวกันนี้สามารถทำได้แบบ "ออฟไลน์" กล่าวคือ ไม่จำเป็นต้องแสดงสด โดยการคลิกเมาส์ในตำแหน่งที่ต้องการบนแทร็ก (และเลือกระยะเวลาของโน้ตล่วงหน้า) เราจะสร้างภาพก่อนหน้าในหน่วยความจำของซีเควนเซอร์

ประเภทหน่วยความจำ
ตอนนี้เป็นเวลาที่จะใช้คำศัพท์คอมพิวเตอร์ที่น่ากลัวสองคำ: หน่วยความจำหลักและรอง หน่วยความจำหลัก (หรือภายใน) คือหน่วยความจำซีเควนเซอร์ที่บันทึกข้อความและจัดเก็บเหตุการณ์ไว้ตลอดการทำงาน เนื้อหาของหน่วยความจำนี้จะถูกรีเซ็ตเมื่อปิดเครื่อง การตีความนี้เหมาะสมกว่าสำหรับซีเควนเซอร์ฮาร์ดแวร์ ในซอฟต์แวร์ซีเควนเซอร์ หน่วยความจำหลักเป็นเพียง RAM ของคอมพิวเตอร์ หากต้องการจัดเก็บเนื้อหาของหน่วยความจำหลักเป็นเวลานาน จะใช้หน่วยความจำรองหรือสื่อบันทึกข้อมูล นี่อาจเป็นฟล็อปปี้ดิสก์ ฮาร์ดไดรฟ์ สมาร์ทการ์ด ฯลฯ

จำนวนหน่วยความจำหลักในซีเควนเซอร์ฮาร์ดแวร์และเวิร์กสเตชัน (ฉันขอเตือนคุณว่าเวิร์กสเตชันเป็นตัวสร้างโทนเสียงและซีเควนเซอร์ในหนึ่งกล่อง) มักจะแสดงเป็นจำนวนบันทึกย่อที่เก็บไว้ (เช่น 200,000) บางครั้งระดับเสียงจะแสดงออกมาในเหตุการณ์ ซึ่งในกรณีนี้คุณต้องใช้ความระมัดระวัง - โน้ตหนึ่งตัวต้องใช้สองเหตุการณ์ (การกดและปล่อยปุ่ม) เพื่อจัดเก็บ และการหมุนวงล้อระดับเสียงหรืออาฟเตอร์ทัชสามารถสร้างเหตุการณ์ได้มากถึง 100 เหตุการณ์ขึ้นไป มันเกิดขึ้นที่ความจุหน่วยความจำของซีเควนเซอร์แสดงเป็นหน่วยคอมพิวเตอร์ดั้งเดิม - กิโลไบต์ แต่สิ่งนี้ก็ไม่สะดวกเช่นกัน - เหตุการณ์หนึ่งสามารถครอบครองจำนวนไบต์ที่แตกต่างกัน (ตั้งแต่ห้าถึงหลายโหล)

ในซอฟต์แวร์ซีเควนเซอร์สมัยใหม่ จำนวนหน่วยความจำหลักไม่ค่อยเป็นปัญหาสำหรับทุกคน แม้แต่ในเครื่องที่มี RAM ขนาด 128 MB คุณก็สามารถลืมข้อจำกัดใดๆ เมื่อทำงานกับข้อมูล MIDI ได้ นอกจากนี้ ยังมีซีเควนเซอร์ที่สามารถเล่นการเรียบเรียงจากดิสก์ได้โดยตรง โดยไม่ต้องโหลดลงในหน่วยความจำหลัก (และบันทึกด้วย) ซึ่งโดยทั่วไปจะลบความแตกต่างระหว่างหน่วยความจำทั้งสองประเภท

ในหน่วยความจำรอง โดยทั่วไปข้อมูลจะถูกเขียนลงในไฟล์ ซีเควนเซอร์ส่วนใหญ่มีรูปแบบปิดของตัวเองสำหรับไฟล์นี้ ซึ่งทำให้ยากต่อการแลกเปลี่ยนการจัดเตรียมที่สร้างขึ้นในอุปกรณ์หรือโปรแกรมที่แตกต่างกัน ก่อนหน้านี้เคยกล่าวไว้ว่านี่คือเหตุผลหลักที่ทำให้เกิด SMF

การวัดเวลา
ที่จริงแล้ว ไม่มี "เห็บ" ภายในซีเควนเซอร์ มีตัวจับเวลาฮาร์ดแวร์ที่สร้างพัลส์ด้วยความถี่คงที่อย่างเคร่งครัด (เช่น ทุกไมโครวินาที) การบังคับให้นักดนตรีวัดเวลาเป็นไมโครวินาทีถือเป็นการเยาะเย้ยครั้งใหญ่ เช่นเดียวกับในหน่วยเรียลไทม์อื่นๆ (วินาที นาที) นักดนตรีคุ้นเคยกับการคิดในหน่วยวัดและจังหวะ และการแสดงเวลาเป็นหน่วยสัมพันธ์ (ระยะเวลาของโน้ต) ขึ้นอยู่กับจังหวะปัจจุบัน

“ไม่มีปัญหา” ผู้ผลิตตอบ “ให้พวกเขาวัดตามที่เห็นสมควร” หน่วยการวัดขั้นต่ำเท่านั้นที่จะไม่ใช่ระยะเวลาที่ 32 แต่เป็นเครื่องหมายถูกที่มีเงื่อนไข (หน่วยมีขนาดเล็กลงดังนั้นตัวอย่างเช่นหนึ่งระยะเวลาสามสิบวินาทีสามารถมี 48 เห็บ) เนื่องจากตั้งแต่ยุคคลาสสิกมีการวัดจังหวะด้วยจำนวนควอเตอร์ต่อนาที (BPM, ครั้งต่อนาที) เราจึงตัดสินใจใช้หนึ่งในสี่เป็นระยะเวลาหลักและระบุจำนวนเห็บต่อไตรมาส - PPQN (หมายเหตุพัลส์ต่อไตรมาส) . ยิ่ง PPQN มีขนาดใหญ่ ความละเอียดของซีเควนเซอร์ก็จะยิ่งดียิ่งขึ้น และยิ่งสามารถจับเวลาข้อความในระหว่างการบันทึกและส่งออกไปยังเอาต์พุต MIDI ในระหว่างการเล่นได้แม่นยำยิ่งขึ้น ซีเควนเซอร์ส่วนใหญ่อนุญาตให้คุณตั้งค่า PPQN ได้ตามต้องการ เช่น จาก 32 ถึง 1,536 ติ๊กต่อไตรมาส (ซีเควนเซอร์สมัยใหม่ - สูงสุด 15,360 PPQN)

เครื่องหมายถูกเป็นหน่วยที่ขึ้นอยู่กับจังหวะ ยิ่งจังหวะเร็วเท่าใด ช่วงเวลาระหว่างเครื่องหมายถูกในหน่วยเรียลไทม์ก็จะยิ่งสั้นลง ช่วงเวลานี้สามารถพบได้โดยใช้สูตรในรูป 1.

ตัวอย่างเช่น ด้วยจังหวะ 120 BPM และความละเอียด 96 PPQN เห็บจะเกิดขึ้นทุกๆ 5.208 มิลลิวินาที ที่ความละเอียดและจังหวะเท่ากันที่ 180 BPM ช่วงเวลาระหว่างขีดจะลดลงเหลือ 3.472 ms ซีเควนเซอร์จะนับติ๊กอย่างไรหากตัวจับเวลาภายในของมันเต้นเป็นจังหวะทุกๆ ไมโครวินาที ใช่ มันง่ายมาก: ขึ้นอยู่กับจังหวะปัจจุบันและการแก้ไขไตรมาส ตรงตามสูตรที่ระบุทุกประการ เนื่องจากหนึ่งมิลลิวินาทีประกอบด้วย 1,000 ไมโครวินาที ในตัวอย่างสุดท้าย ซีเควนเซอร์จะสร้างขีดถัดไปเมื่อได้รับพัลส์ 3472 ครั้งจากตัวจับเวลา

เมื่อความละเอียดสูงไม่สมเหตุสมผล
หากซีเควนเซอร์และเครื่องกำเนิดโทนเสียง“ อยู่ภายใต้หลังคาเดียวกัน” (เวิร์กสเตชันหรือคอมพิวเตอร์ที่มีซอฟต์แวร์ซีเควนเซอร์และซินธิไซเซอร์บนการ์ดเสียงหรือซินธิไซเซอร์เสมือน) ดังนั้นความละเอียดภายในของระบบดังกล่าวอาจมีขนาดใหญ่โดยพลการ (จำนวน 15360 PPQN น่าประทับใจ) ซึ่งช่วยให้สามารถซิงโครไนซ์ข้อมูล MIDI และเสียงกับความแม่นยำของตัวอย่างได้ แต่ทันทีที่เราเชื่อมต่อซีเควนเซอร์และเครื่องกำเนิดโทนเสียงด้วยสาย MIDI ผ่านอินเทอร์เฟซ MIDI ความละเอียดสูงก็จะไม่เกี่ยวข้อง

ทำไม ฉันขอเตือนคุณว่าหนึ่งไบต์จะถูกส่งผ่านอินเทอร์เฟซ MIDI ภายใน 320 ไมโครวินาที ซึ่งหมายความว่า ตัวอย่างเช่น ข้อความเกี่ยวกับการกดโน้ต (ประกอบด้วยสามไบต์) จะถูกส่งเป็นเวลา 960 μs หรือเกือบหนึ่งมิลลิวินาทีทั้งหมด ทีนี้ลองจินตนาการว่าโน้ตสองตัวถูกตั้งโปรแกรมไว้ในซีเควนเซอร์ที่จังหวะ 120 BPM และความละเอียด 2048 PPQN โดยมีช่วงเวลาสองขีดระหว่างกัน ในหน่วยเรียลไทม์คือ 488 ไมโครวินาที ดังนั้น: เครื่องกำเนิดโทนจะไม่สามารถรับโน้ตที่สองได้ 488 ไมโครวินาทีหลังจากครั้งแรก แต่ในความเป็นจริงหลังจาก 960 ไมโครวินาทีเท่านั้น ดังนั้นเขาจะดำเนินการมันหลังจากไม่ใช่สองครั้ง แต่เกือบสี่ครั้ง

ดังนั้นข้อสรุป: เมื่อทำงานผ่านอินเทอร์เฟซ MIDI (เมื่อแยกซีเควนเซอร์และตัวสร้างโทนเสียง) ความละเอียดของซีเควนเซอร์ที่มากกว่าหนึ่งขีดต่อ 960 ไมโครวินาทีไม่สมเหตุสมผล หากต้องการทราบว่า PPQN จะมีค่าเท่าใด คุณสามารถใช้สูตรในรูปนี้ 2.

ในตารางในรูป 3 แสดงค่า PPQN สำหรับจังหวะที่แตกต่างกัน ซึ่งเกินนั้นไม่สมเหตุสมผล

ตำแหน่งของเหตุการณ์บนไม้บรรทัดเวลาระบุไว้ในซีเควนเซอร์ ซึ่งโดยปกติจะอยู่ในรูปแบบ "bars: beats: ขีด" เช่น 22:3:152 นั่นคือ: วัดที่ยี่สิบวินาที, จังหวะที่สาม, ขีดที่ 152 จากจุดเริ่มต้นของจังหวะที่สาม หลักการนับเวลานี้ (คำภาษาอังกฤษคือ Timebase) เรียกว่าดนตรี เนื่องจากนักดนตรีคุ้นเคยและสะดวก โปรดทราบว่าในการทำงานในรูปแบบนี้ คุณต้องทราบลายเซ็นเวลาปัจจุบัน นั่นคือ แท่งหนึ่งมีกี่จังหวะ และแต่ละจังหวะมีค่าเท่ากับเท่าใด

ดังนั้น ในลายเซ็นเวลา 4/4 จังหวะจะเท่ากับหนึ่งในสี่ และการวัดประกอบด้วยสี่จังหวะ ด้วยความละเอียด 384 PPQN จะมี 384 เห็บในหนึ่งจังหวะ และ 1,536 เห็บในแต่ละการวัด (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 ).

ดังนั้น ในการกำหนดตำแหน่งของเหตุการณ์ในหน่วยเรียลไทม์ตามจังหวะ: รูปแบบจังหวะ: ติ๊ก คุณจำเป็นต้องรู้พารามิเตอร์สามตัว: จังหวะปัจจุบัน ลายเซ็นเวลา และความละเอียดเป็นขีดต่อไตรมาส (PPQN)

มีความเป็นไปได้อีกอย่างหนึ่งสำหรับการนับเวลา เมื่อตำแหน่งของเหตุการณ์บนแทร็กแสดงเป็นหน่วยสัมบูรณ์ที่ไม่ขึ้นอยู่กับจังหวะ ซึ่งส่วนใหญ่มักจะอยู่ในรูปแบบเวลา SMPTE - "ชั่วโมง: นาที: วินาที: เฟรม" หลักการกำหนดเวลานี้เรียกว่า "อิงตามรหัสเวลา" (อิงตามรหัสเวลา, สัมบูรณ์) ความจำเป็นเกิดขึ้นเมื่อซีเควนเซอร์ทำงานร่วมกับเครื่องบันทึกเทปหรืออุปกรณ์ฟิล์ม/วิดีโอ จะสะดวกกว่าในการตัดต่อด้วยวัสดุภาพยนตร์ วิดีโอ และเสียง โดยระบุตำแหน่งของจุดเริ่มต้นและจุดสิ้นสุดของการบันทึก โดยอ้างอิงถึงสเกลสัมบูรณ์ แทนที่จะวัดและจังหวะ

ในกรณีนี้ พิกัดของเหตุการณ์บนไม้บรรทัดเวลาจะขึ้นอยู่กับจังหวะปัจจุบัน ดังนั้น ที่จังหวะ 120 BPM จังหวะแรกของการวัดครั้งที่สองสามารถมีเวลา SMPTE 00:00:02:00 น. และที่จังหวะ 60 BPM - 00:00:04:00 น. เมื่อเหตุการณ์อยู่ภายในเฟรม (ระหว่างวินาที) พิกัดของเหตุการณ์จะแตกต่างไปตามรูปแบบเฟรมที่แตกต่างกัน (จำนวนเฟรมต่อวินาที) คุณสามารถอ่านเพิ่มเติมเกี่ยวกับรหัสเวลา SMPTE และ MIDI ได้ในบทความก่อนหน้าในชุดนี้

ปริมาณความยาวผันแปรได้
พอจะพูดนอกเรื่องโคลงสั้น ๆ ได้แล้ว ตอนนี้หน้าที่ของเราคือการทำความเข้าใจรูปแบบการจัดเก็บข้อมูล และปัญหาแรกที่นักพัฒนา SMF เผชิญคือวิธีการจัดเก็บเวลาของกิจกรรม

มีสองตัวเลือกที่นี่: เก็บเวลาสำหรับแต่ละกิจกรรมตั้งแต่ต้นเพลง หรือจากกิจกรรมสุดท้ายก่อนหน้านั้น (บนช่องเดียวกัน) อย่างไรก็ตาม ตัวเลือกแรกไม่สมเหตุสมผล เนื่องจากส่วนใหญ่แล้วช่วงเวลาระหว่างเหตุการณ์จะน้อย เหตุการณ์ข้างเคียงมีเวลาดำเนินการใกล้เคียงกัน ดังนั้น ในข้อความที่มีสามบันทึก บันทึกแรกอาจมีเวลา เช่น 22:3:152 บันทึกที่สอง - 22:3:244 บันทึกที่สาม - 22:3:288 ในการจัดเก็บหมายเลขเหล่านี้ (แปลเป็นขีดตั้งแต่ต้นเพลง) คุณต้องจองอย่างน้อยสี่ไบต์สำหรับแต่ละหมายเลข หากคุณทำตามเส้นทางที่สอง แทนที่จะบันทึกตัวเลขขนาดใหญ่สามตัว คุณสามารถบันทึกตัวเลขเริ่มต้นขนาดใหญ่ตัวหนึ่ง (22:3:152) ตามด้วยตัวเลขขนาดเล็กสองตัว ความแตกต่างระหว่างเครื่องหมายตัวแรกและตัวที่สอง และโน้ตตัวที่สองและสาม (ในกรณีนี้คือ 92 และ 44) หนึ่งไบต์ก็เพียงพอแล้ว แต่ปัญหายังคงอยู่: ขึ้นอยู่กับเหตุการณ์ จะต้องจัดสรรจำนวนไบต์ที่แตกต่างกันเพื่อประหยัดเวลา

หาก SMF ได้รับการพัฒนาในปัจจุบัน (และแม้แต่โดย Microsoft ซึ่งโดยทั่วไปไม่ค่อยใส่ใจกับขนาดของไฟล์และหน่วยความจำที่ต้องการ) พวกเขาก็คงจะเมินปัญหานี้ไป เราจัดสรรฟิลด์คงที่เพื่อประหยัดเวลา เช่น 8 ไบต์ต่อเหตุการณ์ และไม่ได้รับผลกระทบใดๆ อย่างไรก็ตาม ในปี 1988 หน่วยความจำหลัก (RAM) มีราคาแพงมาก ทุกไบต์ถูกนับ และหน่วยความจำรอง (ดิสก์มีเดีย) มีปริมาณที่พอเหมาะมาก ดังนั้น นักพัฒนา SMF จึงต้องการสร้างรูปแบบที่กะทัดรัดที่สุดเท่าที่จะเป็นไปได้

ก็ตัดสินใจเก็บเอาไว้ เวลาเดลต้านั่นคือความแตกต่างระหว่างเหตุการณ์นี้กับเหตุการณ์ก่อนหน้า (หรือจุดเริ่มต้นของเพลง) ตัวอย่างเช่น หากเหตุการณ์แรก - การเล่นโน้ต C ของอ็อกเทฟแรก - เกิดขึ้นที่ 40 ขีดจากจุดเริ่มต้นของเพลง เวลาเดลต้าของมันจะเท่ากับ 40 หากสี่ขีดต่อมาโน้ต F จะถูกเล่น จากนั้นเวลาเดลต้าจะเท่ากับ 4 หากเหตุการณ์สองเหตุการณ์เกิดขึ้นพร้อมกัน หนึ่งในนั้นจะถูกกำหนดเวลาเดลต้าเท่ากับศูนย์ หากเหตุการณ์เกิดขึ้นที่จุดเริ่มต้นของเพลงพอดี จะมีเวลาเดลต้าเป็นศูนย์ด้วย อย่างไรก็ตาม เหตุการณ์ถัดไปสามารถเกิดขึ้นได้ภายในหนึ่งชั่วโมงครึ่ง (นั่นคือ หลังจากผ่านไปหลายล้านขีด) ในกรณีนี้จะเป็นอย่างไร? ท้ายที่สุดจำเป็นต้องบันทึกหน่วยความจำและไม่ควรจัดสรรฟิลด์คงที่ขนาดหลายไบต์สำหรับเวลาเดลต้า

ที่เรียกว่า ปริมาณความยาวแปรผัน- วิธีนี้เป็นวิธีที่สะดวกในการเขียนจำนวนเต็มจากน้อยไปหามากที่สุด โดยไม่ต้องจัดสรรจำนวนไบต์คงที่ให้กับตัวเลข บิตของหมายเลขเดิมถูกบรรจุเป็นหนึ่งไบต์ขึ้นไป แต่ละไบต์ประกอบด้วยเจ็ดบิต (ขวา บิต 0 ถึง 6) บิตที่สำคัญที่สุดในไบต์คือบิตบริการ ไบต์ทั้งหมดในซีรีส์ ยกเว้นไบต์สุดท้าย ต้องมีไบต์หนึ่ง ไบต์สุดท้ายต้องมีศูนย์ ตัวอย่างบรรจุภัณฑ์หลายรายการแสดงไว้ในรูปที่ 1 4.

ตัวอย่างเช่น คุณต้องบรรจุตัวเลข 64 (เลขฐานสิบหก 0x40) ลงในรูปแบบความยาวผันแปรได้ ในรูปแบบไบนารี หมายเลขนี้เขียนเป็น 0100 0000 มีเพียงเจ็ดบิตที่มีนัยสำคัญ ดังนั้นตัวเลขนี้จึงถูกบรรจุเป็นหนึ่งไบต์โดยไม่มีการเปลี่ยนแปลง - 0100 0000 (ซึ่งเป็นไบต์สุดท้ายของชุดด้วย) บิตที่สำคัญที่สุดคือ 0 .

ตอนนี้หมายเลขคือ 128 (0x80) ในรูปแบบไบนารี่จะเขียนเป็น 1,000 0000 บิตที่มีนัยสำคัญมีแปดบิต ดังนั้นทุกอย่างจะไม่พอดีกับไบต์เดียว คุณต้องแยกออกเป็นสองส่วน ไบต์แรกต้องมีหนึ่งในบิตที่สำคัญที่สุด ไบต์ที่สอง (ซึ่งเป็นไบต์สุดท้ายของชุดข้อมูล) ต้องมีศูนย์ ในไบต์ที่สอง เราวางบิตที่มีนัยสำคัญน้อยที่สุดเจ็ดบิตของตัวเลขเดิม เราจะได้ 0 000 0000 เราวางบิตที่เหลือหนึ่งบิต (หนึ่ง) ไว้ทางด้านขวาของไบต์แรก - เราจะได้ 1,000 0001 ผลก็คือ หมายเลข 0x80 เขียนเป็นสองไบต์: 0x81 0x00 การแกะกล่องออกนั้นง่ายมาก เราไม่ทราบล่วงหน้าว่ามีกี่ไบต์ในชุดข้อมูล เราอ่านไบต์แรก - 1,000 0001 บิตบริการที่สำคัญที่สุด (1) บ่งชี้ว่านี่ไม่ใช่ไบต์สุดท้ายของซีรีส์ แต่มีไบต์มากกว่า เราทิ้งหน่วยบริการโดยเหลือเจ็ดบิต - 000 0001 อ่านไบต์ที่สอง - 0000 0000 บิตบริการที่สำคัญที่สุด (0) บ่งชี้ว่านี่คือไบต์สุดท้ายของซีรีส์ (นั่นคือมีเพียงสองไบต์ใน ชุด). บิตการบริการถูกยกเลิก เหลืออีกเจ็ดบิต - 000 0000 เราเพิ่มเจ็ดบิตที่แยกจากไบต์แรกทางด้านซ้ายเราจะได้ 000 0001 000 0000 เมื่อทิ้งศูนย์หกตัวแรกเราจะได้หมายเลขที่ต้องการ 1,000 0000 (0x80)

ดังนั้นวิธีการเปลี่ยนความยาวช่วยให้คุณสามารถจัดสรรจำนวนไบต์ที่แตกต่างกันสำหรับตัวเลขที่แตกต่างกัน: สำหรับตัวเลขในช่วงตั้งแต่ 0 ถึง 127 - หนึ่งไบต์จาก 128 ถึง 16383 - สองไบต์เป็นต้น จำนวนสูงสุดที่แสดงในลักษณะนี้โดยหลักการแล้วไม่จำกัด อย่างไรก็ตาม ใน SMF ความยาวรันถูกจำกัดไว้ที่สี่ไบต์ (สามไบต์ที่มีชุดบิตที่สำคัญที่สุด และอีกหนึ่งไบต์สิ้นสุดด้วยศูนย์) เป็นผลให้เวลาเดลต้าสูงสุดอาจเป็น 0x0FFFFFFF (หรือ 268,435,455 เห็บ) ซึ่งที่จังหวะ 500 BPM และความละเอียด 96 PPQN คือประมาณสี่วัน เกินพอ!

ในรูปแบบความยาวผันแปรของ SMF ไม่เพียงระบุเวลาเดลต้าเท่านั้น แต่ยังระบุความยาวของเหตุการณ์บางอย่างด้วย

รูปแบบไฟล์การแลกเปลี่ยน (IFF)
โครงสร้างของไฟล์ MIDI มาตรฐานเกือบทั้งหมดยืมมาจากรูปแบบ IFF (Interchange File Format) ซึ่งพัฒนาขึ้นในปี 1985 โดย Electronic Arts นี่คือรูปแบบการจัดเก็บข้อมูลและการแลกเปลี่ยนที่ทำให้ชีวิตง่ายขึ้นสำหรับทั้งผู้ใช้และนักพัฒนาซอฟต์แวร์มาเกือบยี่สิบปี Electronic Arts ไม่เพียงแต่จัดเตรียมเอกสารแบบเปิดเท่านั้น แต่ยังมีซอร์สโค้ด C สำหรับการอ่านและเขียนไฟล์ IFF อีกด้วย

รูปแบบ IFF เข้ากันได้แบบย้อนหลังและขยายได้ ประการแรกหมายความว่าโปรแกรมเวอร์ชันใหม่สามารถอ่านไฟล์ที่สร้างโดยเวอร์ชันก่อนหน้าได้อย่างง่ายดาย ประการที่สอง คุณไม่จำเป็นต้องสร้างรูปแบบใหม่เพื่อจัดเก็บข้อมูลเพิ่มเติม คุณเพียงแค่ต้องป้อนส่วนขยายของคุณเองลงใน IFF โครงสร้างของรูปแบบช่วยให้โปรแกรมจากผู้ผลิตหลายรายที่ไม่มีข้อตกลงทางธุรกิจที่เกี่ยวข้องสามารถแลกเปลี่ยนข้อมูลได้ ทั้งหมดนี้ทำให้ผู้ใช้มีความสุข โดยที่ข้อมูลที่บันทึกไว้ในรูปแบบ IFF จะไม่เชื่อมโยงกับรูปแบบปิดของระบบอีกต่อไป และสามารถใช้ข้อมูลในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ที่รองรับ IFF ได้

ไฟล์ IFF คือชุดของข้อมูลที่จัดระเบียบเพื่อให้โปรแกรมต่างๆ ที่ไม่เกี่ยวข้องสามารถอ่านได้ ในทางกลับกัน โปรแกรมอาจจัดเก็บข้อมูลเฉพาะใน IFF ที่มีความหมายเฉพาะกับตัวมันเองเท่านั้น โครงสร้าง IFF ช่วยให้ทำสิ่งนี้ได้ง่าย โปรแกรมอื่นๆ ที่ไม่รู้วิธีจัดการข้อมูลดังกล่าวสามารถเพิกเฉยได้โดยไม่กระทบต่อการอ่านเนื้อหาหลัก

ไฟล์ IFF มีหลายประเภท ตัวอย่างเช่น ไฟล์ ILBM และ GIFF มีข้อมูลกราฟิก ไฟล์ SMUS มีโน้ตดนตรี ไฟล์ AIFF และ WAVE มีเสียงดิจิทัล

ไฟล์ IFF ประกอบด้วยองค์ประกอบที่คล้ายกันที่เรียกว่าบล็อก บล็อกคือโครงสร้างข้อมูลที่ประกอบด้วยตัวระบุตัวอักษร (อักขระ ASCII สี่ตัว) ขนาดบล็อก (สี่ไบต์) และข้อมูลเอง (รูปที่ 5) เป็นการสะดวกที่จะคิดว่าบล็อกเป็นเชลล์ที่ข้อมูลถูก "ห่อ" ข้อมูลสามารถประกอบด้วยอะไรก็ได้: กราฟิก ข้อความ ภาพเคลื่อนไหว เสียง ชุดของวัตถุ 3 มิติ และอื่นๆ

บล็อกในไฟล์ IFF สามารถซ้อนกันได้ รูปที่. 6. ที่จริงแล้ว ไฟล์ IFF เป็นเพียงบล็อกระดับบนสุดที่ประกอบด้วยบล็อกอื่น ๆ อย่างน้อยหนึ่งบล็อกอยู่ภายใน หลักการจัดเก็บข้อมูลนี้ช่วยให้คุณสามารถ "รวม" ข้อมูลที่แตกต่างกันหลายรายการไว้ในไฟล์ได้ รวมถึงไฟล์ IFF หลายไฟล์ ซึ่งชวนให้นึกถึงระบบไฟล์ภายในไฟล์ จริงอยู่ที่การจัดระเบียบข้อมูลที่ซ้อนกันมีข้อเสียเปรียบประการหนึ่ง - ไฟล์จะตีความและแยกบล็อกออกจากไฟล์ได้ยาก

ไฟล์ IFF ส่วนใหญ่มีบล็อกระดับบนสุดพร้อมตัวระบุ "FORM" รวมถึงบล็อกอื่น ๆ (รูปที่ 7) ข้อมูลเดียวในบล็อก FORM คือสี่ไบต์ที่อธิบายประเภทไฟล์ (เช่น "ILBM", InterLeaved Bit Map) ด้านหลังจะมีบล็อกที่ซ้อนกัน เช่น "BMHD" (ส่วนหัวของรูปภาพ), "CMAP" (จานสี) และ "BODY" (ตัวพิกเซลเอง) ชื่อของบล็อกและรูปแบบข้อมูลถูกสร้างขึ้นโดยผู้พัฒนาไฟล์ประเภทเฉพาะ โปรแกรมอื่นๆ หากพบบล็อกที่มีชื่อไม่คุ้นเคย ก็สามารถข้ามบล็อกนั้นได้อย่างปลอดภัย โดยจะมีฟิลด์ที่ประกอบด้วยความยาวของบล็อกชี้นำ

ข้อมูลตัวเลขทั้งหมดในไฟล์ IFF จะถูกจัดเก็บไว้ในลำดับบิ๊กเอนด์ กล่าวคือ ไบต์ที่สำคัญที่สุดของตัวเลข (MSB) จะถูกเก็บไว้ก่อน จากนั้นจึงจัดเก็บไบต์ที่มีนัยสำคัญน้อยที่สุด มีการกล่าวถึงรายละเอียดเพิ่มเติมในแถบด้านข้าง บล็อกภายในไฟล์จะต้องเริ่มต้นด้วยไบต์คู่เสมอ หากบล็อกก่อนหน้ามีจำนวนไบต์เป็นเลขคี่ บล็อกนั้นจะถูกเติมด้วยศูนย์ไบต์เพื่อให้เท่ากัน

ฉันควรบันทึกจากจุดสิ้นสุดใด
หน่วยความจำคอมพิวเตอร์ประกอบด้วยเซลล์ ซึ่งแต่ละเซลล์บรรจุได้หนึ่งไบต์ ในการเข้าถึงเซลล์ (เขียนหรืออ่านไบต์) โปรเซสเซอร์จะใช้สิ่งที่เรียกว่า ที่อยู่ในใจ. นี่เป็นเพียงจำนวนเต็มที่กำหนดให้กับเซลล์โดยระบบปฏิบัติการ (ผู้เชี่ยวชาญด้านคอมพิวเตอร์จะยกโทษให้ฉันสำหรับการทำให้เข้าใจง่ายนี้) ในชีวิตจริง หนึ่งไบต์มักจะไม่เพียงพอ แม้แต่ในการจัดเก็บจำนวนเต็ม ก็มีการใช้คำ กล่าวคือ กลุ่มของสองไบต์ คำสองหรือสี่คำ (สี่หรือแปดไบต์ตามลำดับ โปรดดูรายละเอียดเพิ่มเติมในส่วนแรกของวงจร) นั่นคือตัวเลขจะถูกเก็บไว้ในไบต์ที่อยู่ติดกันหลายไบต์

ในรูป รูปที่ 8 แสดงวิธีที่เป็นไปได้สองวิธีในการวางไว้ในหน่วยความจำ โดยใช้คำคู่เป็นตัวอย่าง วิธีแรกคือการจัดเก็บไบต์ในหน่วยความจำตามลำดับ ซึ่งเป็นไบต์ที่สำคัญที่สุดที่ที่อยู่ต่ำสุด นั่นคือที่ที่อยู่ N MSB ของคำสูงจะถูกเก็บไว้ จากนั้น LSB ของคำสูง (N + 1), MSB ของคำต่ำ (N + 2), LSB ของคำต่ำ (N + 3) วิธีนี้มักเรียกว่า บิ๊กเอนด์(หรือ "การวางตำแหน่งไบต์โดยตรง") ในวิธีที่สอง ทุกอย่างตรงกันข้าม ไบต์สูงจะถูกเก็บไว้ที่ที่อยู่สูงสุด: LSB ของคำต่ำ (N), MSB ของคำต่ำ (N + 1), LSB ของคำสูง (N + 2 ), MSB ของคำสูง (N + 3) . วิธีนี้มักเรียกว่า เด็กน้อย- "การวางตำแหน่งไบต์ย้อนกลับ"

นั่นคือความแตกต่างคือ "จากจุดสิ้นสุดใด" (สิ้นสุด) ค่าหลายไบต์จะถูกจัดเก็บ คำว่า "big-endian" และ "little-endian" ถูกเสนอไว้ในบทความหนึ่งในประเด็นนี้ โดยอ้างอิงถึงหนังสือ "Gulliver's Adventures" ของ Jonathan Swift ดังที่คุณทราบความเคลื่อนไหวของ Big-Endians เกิดขึ้นใน Lilliput ซึ่งไม่ต้องการปฏิบัติตามพระราชกฤษฎีกาของจักรพรรดิซึ่งสั่งให้ไข่ต้มควรหักจากปลายแหลมเท่านั้น ในโลกคอมพิวเตอร์ การต่อสู้ระหว่างคนใหญ่หรือคนเล็กนั้นดูคล้ายกันมาก

ผู้สนับสนุน little-endian โต้แย้งว่าการเรียงลำดับไบต์ของหน่วยความจำช่วยให้คำนวณค่าหลายไบต์ได้ง่ายขึ้น เนื่องจากไบต์ที่มีนัยสำคัญน้อยที่สุดที่เพิ่มเข้าไปก่อนจะถูกเก็บไว้ในที่อยู่ที่ต่ำ

รูปแบบ little-endian ใช้ในโปรเซสเซอร์ที่เข้ากันได้กับ Intel ตั้งแต่ Intel 8080 ไปจนถึง Intel Pentium IV การจัดวางโดยตรง (big-endian) - ในโปรเซสเซอร์ Sun Spark, Motorola 68000 (กลุ่มผลิตภัณฑ์แรกๆ ของคอมพิวเตอร์ Apple) และโปรเซสเซอร์ RISC จำนวนมาก แต่โปรเซสเซอร์ PowerPC และ Intel Itanium เข้าใจรูปแบบข้อมูลทั้งสองพร้อมกัน (บางครั้งเรียกว่า "bi-endian")

อย่างไรก็ตาม สิ่งที่สำคัญไม่ได้อยู่ที่วิธีที่คอมพิวเตอร์จัดเก็บข้อมูล "ภายใน" มากนัก แต่อยู่ที่วิธีการจัดเก็บข้อมูล "ภายนอก" ในรูปแบบไฟล์ต่างหาก จากมุมมองเชิงปฏิบัติสิ่งนี้สำคัญกว่ามาก ตัวอย่างเช่น หากคำว่า "UNIX" ถูกจัดเก็บไว้ในไฟล์โดยระบบ big-endian (เป็นคำแบบไบต์คู่ 2 คำ) ระบบ little-endian จะอ่านเป็น "NUXI" ในศัพท์เฉพาะทางคอมพิวเตอร์ สิ่งนี้เรียกว่า “ปัญหา NUXI” ปัญหาที่คล้ายกันอาจเกิดขึ้นเมื่อบันทึกภาพกราฟิก เนื่องจากสีถูกเข้ารหัสโดยใช้ตัวเลขหลายไบต์ ตัวอย่างเช่น ไฟล์ Adobe Photoshop และ JPEG ใช้ big-endian ในขณะที่ไฟล์ GIF และ BPM ใช้ little-endian

รูปแบบไฟล์ MIDI มาตรฐาน (SMF) "ข้ามแพลตฟอร์ม" ใช้วิธี big-endian ซึ่งหมายความว่าไบต์ที่สำคัญที่สุดของคำ (MSB) จะถูกจัดเก็บก่อน

โครงสร้างเอสเอ็มเอฟ
ไฟล์ MIDI มาตรฐาน เช่น ไฟล์ IFF ประกอบด้วยบล็อก (ชิ้น) บล็อกมีสองประเภท: Header Chunk และ Track Chunk ไฟล์ SMF สามารถมีบล็อกส่วนหัวได้เพียงบล็อกเดียวและบล็อกแทร็กตั้งแต่หนึ่งบล็อกขึ้นไป บล็อกมีโครงสร้าง IFF ทั่วไป: สี่ไบต์แรกเป็นตัวระบุ สี่ไบต์ถัดไปคือความยาวของบล็อกในหน่วยไบต์ ไม่รวมไบต์ประเภท/ความยาวแปดไบต์ ตัวระบุบล็อกส่วนหัวคืออักขระสี่ตัว "MThd" ตัวระบุบล็อกแทร็กคือสี่อักขระ "MTrk" โครงสร้างนี้จะช่วยให้สามารถกำหนดประเภทบล็อกใหม่ได้ในอนาคต และบล็อกที่ไม่คุ้นเคยสามารถละเว้นได้โดยง่ายตามความยาวของบล็อก ข้อกำหนด SMF เตือนว่า: "ควรเตรียมโปรแกรมเมื่อพบบล็อกประเภทที่พวกเขาไม่รู้จัก เพื่อละเว้น"

บล็อกส่วนหัวประกอบด้วยข้อมูลทั่วไปเกี่ยวกับไฟล์ บล็อกแทร็กประกอบด้วยสตรีมข้อความ MIDI พร้อมการประทับเวลา นอกจากนี้ ไฟล์ MIDI ยังเก็บข้อมูลเพิ่มเติมที่จำเป็นสำหรับซีเควนเซอร์ เช่น จังหวะ ลายเซ็นเวลา คีย์ การตั้งค่าเครื่องเมตรอนอม และอื่นๆ ข้อมูลนี้ไม่ได้ถูกส่งผ่านอินเทอร์เฟซ MIDI และเหตุการณ์ที่ก่อตัวขึ้นจะเรียกว่าเหตุการณ์เมตา

ไฟล์ MIDI จะเริ่มต้นด้วยบล็อกส่วนหัวเสมอ ตามด้วยบล็อกแทร็กตั้งแต่หนึ่งบล็อกขึ้นไป (รูปที่ 9) นั่นคือไฟล์ MIDI มาตรฐานใด ๆ เริ่มต้นด้วยตัวอักษรสี่ตัว "M", "T", "h", "d" ซึ่งหมายความว่าไฟล์ MIDI ไม่เป็นไปตามข้อกำหนด IFF (ซึ่งกำหนดให้ไฟล์ที่เข้ากันได้กับ IFF ทุกไฟล์เริ่มต้นด้วยบล็อกระดับบนสุดหนึ่งในสามประเภท - "FORM", "CAT" หรือ "LIST") ยังมีข้อแตกต่างอื่นๆ: SMF ไม่สามารถมีบล็อกที่ซ้อนกัน และความยาวของบล็อกไม่จำเป็นต้องเท่ากัน อย่างไรก็ตาม การแปลง SMF เป็นไฟล์ที่เข้ากันได้กับ IFF นั้นทำได้ง่าย การแพดบล็อกที่มีความยาวคี่ (ถ้ามี) ด้วยไบต์เป็นศูนย์ และวางเนื้อหาทั้งหมดในบล็อก FORM ก็เพียงพอแล้ว การดำเนินการที่คล้ายกันนี้ใช้ในรูปแบบ RMID ที่เสนอโดย Microsoft (ดูแถบด้านข้าง)


คุณมาที่นี่เพราะคุณมีไฟล์ที่มีนามสกุลไฟล์ที่ลงท้ายด้วย .smf ไฟล์ที่มีนามสกุลไฟล์ .smf สามารถเปิดใช้งานได้โดยแอปพลิเคชันบางประเภทเท่านั้น อาจเป็นไปได้ว่าไฟล์ .smf จะเป็นไฟล์ข้อมูลแทนที่จะเป็นเอกสารหรือสื่อ ซึ่งหมายความว่าพวกเขาไม่ได้ตั้งใจที่จะดูเลย

a .smf file คืออะไร?

ไฟล์ในรูปแบบ SMF มีข้อมูลเสียงพร้อมเอฟเฟกต์ และรูปแบบไฟล์นี้รวมเข้ากับเทคโนโลยีและฟังก์ชันการทำงานที่คล้ายคลึงกันกับไฟล์ที่มีนามสกุล MID แทร็กเสียงที่มีนามสกุล .smf สามารถเล่นได้โดยใช้แอปพลิเคชัน Apple QuickTime และโปรแกรมมัลติมีเดียนี้มีเวอร์ชันที่เข้ากันได้กับระบบที่ใช้ Microsoft Windows นอกเหนือจากเวอร์ชันอื่นที่พัฒนาขึ้นสำหรับผู้ใช้ Mac สมาคมผู้ผลิต MIDI ได้รวมข้อกำหนด MIDI เข้ากับรูปแบบไฟล์ SMF ในระหว่างการพัฒนา ซึ่งหมายความว่าไฟล์ SMF ยังสามารถประกอบด้วยแทร็กที่แตกต่างกันจากแทร็กเสียงต่างๆ ที่จัดเก็บไว้ในไฟล์ SMF หลายไฟล์ ซึ่งหมายความว่าไฟล์ในรูปแบบ .smf สามารถรวมและแปลงเป็นแทร็กเสียงเดียวในรูปแบบยอดนิยมที่สามารถดูและใช้กับไฟล์อื่น ๆ ได้มากขึ้น ซอฟต์แวร์พัฒนาการนำเสนอวิดีโอและเอกสารดิจิทัล แอปพลิเคชั่นมัลติมีเดีย และเครื่องเล่นเสียงดิจิทัล วิธีนี้ช่วยให้ผู้ใช้สามารถเพิ่มเอฟเฟ็กต์ให้กับแต่ละแทร็กแยกกัน และทำการแก้ไขกับเอฟเฟกต์อื่น ๆ ก่อนที่จะรวมเข้าด้วยกันเพื่อเล่นเป็นแทร็กเสียงเดียว เอฟเฟ็กต์และการแก้ไขบางส่วนอาจรวมถึงการปรับระดับเสียงและระดับเสียง การบิดเบือนและเสียงก้อง การแพนกล้อง การแก้ไขจังหวะ และอื่นๆ มีแอปพลิเคชันของบริษัทอื่นที่สามารถแปลงไฟล์ SMF เป็นรูปแบบ MIDI ที่กว้างขึ้นเพื่อรองรับความเข้ากันได้ข้ามสำหรับแอปพลิเคชันแก้ไขเสียงเพิ่มเติม

เปิดไฟล์ .smf ได้อย่างไร?

เปิดไฟล์ .smf หรือไฟล์อื่นๆ บนพีซีของคุณ โดยดับเบิลคลิก หากตั้งค่าการเชื่อมโยงไฟล์ของคุณอย่างถูกต้อง แอปพลิเคชันที่ใช้เปิดไฟล์ .smf ของคุณจะเปิดขึ้น คุณอาจต้องดาวน์โหลดหรือซื้อแอปพลิเคชันที่ถูกต้อง อาจเป็นไปได้ว่าคุณมีแอปพลิเคชันที่ถูกต้องบนพีซีของคุณ แต่ไฟล์ .smf ยังไม่เชื่อมโยงกับแอปพลิเคชันดังกล่าว ในกรณีนี้ เมื่อคุณพยายามเปิดไฟล์ .smf คุณสามารถบอก Windows ได้ว่าแอปพลิเคชันใดที่เหมาะกับไฟล์นั้น จากนั้นเป็นต้นมา การเปิดไฟล์ .smf จะเป็นการเปิดแอปพลิเคชันที่ถูกต้อง

แอปพลิเคชันที่เปิดไฟล์ .smf

โปรแกรมเล่น QuickTime ของ Apple

โปรแกรมเล่น QuickTime ของ Apple

Apple QuickTime Player เป็นซอฟต์แวร์เครื่องเล่นมัลติมีเดียที่จัดการไฟล์หลากหลายรูปแบบตั้งแต่ภาพถ่ายดิจิทัลไปจนถึงภาพพาโนรามา เสียงไปจนถึงวิดีโอ รวมถึงการโต้ตอบ โปรแกรมเล่นมัลติมีเดียนี้ใช้ได้กับคอมพิวเตอร์ Mac OS X และคอมพิวเตอร์ Windows รุ่นที่ใหม่กว่า ผลิตภัณฑ์ซอฟต์แวร์ของ Apple นี้มีชุดพัฒนาซอฟต์แวร์หรือ SDK ซึ่งพร้อมให้บริการแก่สาธารณะตราบใดที่สมัครเป็นสมาชิกกับ Apple Developer Connection หรือ ADC มีเฟรมเวิร์ก QuickTime ซึ่งเข้ากันได้กับแอปพลิเคชันเครื่องเล่นฟรีอื่นๆ ซึ่งมีฟังก์ชันต่างๆ มากมาย ซึ่งรวมถึงการเข้ารหัสเสียงและวิดีโอ การแปลงรหัสของไฟล์เดียวกัน การถอดรหัสด้วยตัวเลือกในการส่งสตรีมที่ถอดรหัสแล้วไปยังระบบย่อยของกราฟิกหรือระบบย่อยของเสียง และสถาปัตยกรรมปลั๊กอินส่วนประกอบเพื่อรองรับตัวแปลงสัญญาณอื่นๆ (บริษัทอื่น เช่น DivX) ซอฟต์แวร์เวอร์ชันล่าสุดคือ QuickTime Player 7 ซึ่งสามารถดาวน์โหลดได้ฟรีสำหรับคอมพิวเตอร์ Mac และ Windows

คำเตือน

ระวังอย่าเปลี่ยนชื่อนามสกุลบน .smf files หรือไฟล์อื่นใด สิ่งนี้จะไม่เปลี่ยนประเภทไฟล์ เฉพาะซอฟต์แวร์แปลงพิเศษเท่านั้นที่สามารถเปลี่ยนไฟล์จากไฟล์ประเภทหนึ่งไปเป็นอีกประเภทหนึ่งได้

นามสกุลไฟล์คืออะไร?

นามสกุลไฟล์คือชุดอักขระสามหรือสี่ตัวที่ส่วนท้ายของชื่อไฟล์ ในกรณีนี้ นามสกุลไฟล์ .smf. จะบอกคุณว่าเป็นไฟล์ประเภทใด และบอก Windows ว่าโปรแกรมใดบ้างที่สามารถเปิดไฟล์นั้นได้ Windows มักจะเชื่อมโยงโปรแกรมเริ่มต้นเข้ากับนามสกุลไฟล์แต่ละไฟล์ ดังนั้นเมื่อคุณดับเบิลคลิกที่ไฟล์ โปรแกรมจะเปิดขึ้นโดยอัตโนมัติ เมื่อโปรแกรมนั้นไม่อยู่บนพีซีของคุณแล้ว บางครั้งคุณอาจได้รับข้อผิดพลาดเมื่อคุณพยายามเปิดไฟล์ที่เกี่ยวข้อง