Monday 14 August 2017

Cpan เฉลี่ยเคลื่อนที่


How-To Geek How-To Geek Ive รับทำสิ่งเช่นนี้เป็นเวลานานเริ่มต้นภายใต้ MSDOS และคุณไม่จำเป็นต้องรอการสร้างตัวอย่าง Win10 สร้างเพื่อให้ได้รุ่นของ Bash คำถามคือเหตุผลที่คุณอาจต้องการ ความพยายามส่วนใหญ่ที่ฉันเคยเห็นคือมุ่งเน้นไปที่นักพัฒนาซอฟต์แวร์ที่ต้องการให้เครื่องมือของ GnuLinux สามารถใช้ในการพัฒนาภายใต้ Windows ได้ Cygwin มีเจตนาที่จะย้ายเครื่องมือของ GnuLinux ไปยัง Win32 แทนที่จะเขียนใหม่ทุกอย่างเพื่อใช้ Windows APIs แทนการเรียกระบบระบบที่ไม่ได้ใช้งานพวกเขาใช้งานชั้นความเข้ากันได้ของ POSIX ที่ห่อหุ้มเป็น DLL มากรหัส nix สร้างออกจากกล่องโดยใช้ GCC ภายใต้ Cygwin เพราะเชื่อมโยงกับ DLL และเห็นระบบนิสัยประจำคาดว่าจะ ทำงานได้ดี แต่ใช้ความเร็วอย่างรุนแรงเนื่องจากความแตกต่างระหว่างวิธี nix และ Windows ทำสิ่งต่างๆเช่นปัญหาเกี่ยวกับกระบวนการ forking และเมื่อคุณอยู่ภายใต้ Cygwin คุณจะอยู่ในสภาพแวดล้อมบรรทัดคำสั่งที่เข้ากันได้กับ nix และต้องใช้เป็นตัวคั่นเส้นทางและ - เป็นตัวควบคุมตัวเลือกและข้ามผ่านห่วงต่างๆเมื่อโต้ตอบกับคำสั่งดั้งเดิมที่ไม่ได้ทำให้เกิดผลเสีย อีกทางเลือกหนึ่งคือความพยายามของ ATampT UWin ซึ่งเป็นสภาพแวดล้อมแบบโอเพนซอร์สที่ใช้วิธีการคล้ายกับ Cygwin ในการใช้ชั้นที่เข้ากันได้โดยมีพอร์ตของเปลือก Korn เป็นจุดศูนย์กลาง โครงการนี้จัดทำขึ้นโดย Korn Shell ผู้สร้าง Dr. David Korn) โครงการ MinGW และ MSYS ร่วมกันใช้วิธีการอื่นสร้างสิ่งต่างๆผ่านทาง GCC เพื่อใช้ runtimes ของ Windows และมีคำสั่ง nix มากมายที่สามารถใช้งานได้เช่นเดียวกับเวอร์ชันของ GCC กำหนดค่าเพื่อคอมไพล์ให้เป็นไบนารีของ Windows แบบดั้งเดิม ฉันมีมันบนเดสก์ทอปของฉันภายใต้ Win7 การใช้งาน bash กับเพื่อน ๆ ที่ฉันเคยเห็นเป็นส่วนหนึ่งของ Git for Windows ติดตั้งและคุณจะได้รับ Git DVCS สำหรับ Windows และชุดโปรแกรมอรรถประโยชน์ GnuLinux ใน Windows ที่สร้างขึ้นรวมถึง bash Bash สามารถมีได้จากแหล่งข้อมูลต่างๆเช่น tcsh, zsh และอื่น ๆ แต่เวอร์ชันเหล่านี้จะขึ้นอยู่กับโค้ดเก่า สิ่งที่น่าสนใจเกี่ยวกับความพยายามนี้ไม่ใช่การทุบตีต่อการเพิ่มไลบรารีของ Windows ให้การสนับสนุนที่ทำให้สามารถใช้ทุบตีได้ ขณะนี้ Id bash โทรและเพื่อนหลักฐานของแนวคิดแสดงให้เห็นถึงความเป็นไปได้ การดูความสามารถในการเรียกใช้แอพพลิเคชันกราฟิกของ Ubuntu ภายใต้วินโดวส์ลงไปจะไม่เป็นเรื่องแปลกใจ (มีโครงการที่กำลังจะได้รับสภาพแวดล้อมเดสก์ท็อป KDE ภายใต้ Windows โดยใช้ Cygwin ซึ่งจริงๆแล้วเดสก์ท็อป KDE สำหรับ Windows กลับมาในวัน WinXP ดังนั้นจึงสามารถทำได้อย่างแน่นอน) Powershell ช่วยให้สามารถเข้าถึงกรอบทั้งหมด Win32 และ native ห้องสมุด ดังนั้นฉันจะไม่พูดว่า bash ดีกว่ามาก Chris เขียนว่ามีข้อ จำกัด อยู่ที่นี่ นี้ทำงานเคยชินกับซอฟต์แวร์เซิร์ฟเวอร์และมันเคยชินทำงานกับซอฟต์แวร์กราฟิก ดี, ปรากฎว่าอย่างน้อยซอฟต์แวร์กราฟิกบางอย่างสามารถทำเพื่อทำงานกับ it. Neowin มีบทความโดย Andrew Stevenson แสดงที่มีคน gui ตามปรับปรุง vi (vim) ทำงานผ่านเปลือก bash ใน Windows 10 ฉันไม่รู้ว่า GNOME ปพลิเคชันจะทำงานบนหน้าต่างเพราะมันจะเทียบเท่ากับสองขนาดของ oses บนฮาร์ดดิสก์และที่ wouldnt จะมีประโยชน์มากบวก MS มีความสนใจในการทำสิ่งที่เป็นไปได้ที่ไม่มีสิ่งเดียวที่พวกเขารักที่จะทำจะรวม Linux ลงใน Windows เซิร์ฟเวอร์เพื่อรับชิ้นใหญ่ของเค้กในพื้นที่เซิร์ฟเวอร์ Alejandro Lengua Vega ฉันใช้ Windows 10, Home Edition อาจเป็นปัญหาที่ฉันไม่สามารถมองเห็นนี้เป็นเป็นคุณลักษณะจริงสำหรับผู้ใช้โดยเฉลี่ย แต่ฉันทั้งหมดสามารถเห็นนี้ใน Windows Server อาจไม่ใช่ใน 2012R2 แต่ใน Server 2016 ซึ่งยังไม่ได้มีการเปิดตัว แต่เป็นเคอร์เนลเดียวกันกับ 10 ดังนั้นอาจมีจุดมุ่งหมายเพื่อพัฒนา ฉันค่อนข้างแน่ใจว่า Microsoft ไม่มีส่วนได้เสียในการเรียกใช้แอพพลิเคชัน Linux บน Windows เมื่อมี Windows เทียบเท่ากับ 1000 ตัวแล้ว ไม่ว่าจะเป็นวิธีใดก็ตาม เมื่อเห็นว่าพวกเขาสนับสนุน UNIXLinux บน Hyper-V อย่างเต็มที่พวกเขากำลังพยายามที่จะรวมกลุ่มผู้ชมระดับ Professional และผู้ใช้ Linux Desktop ขึ้นมา ฉันสงสัยว่าเป้าหมายของพวกเขาคือการย้ายเข้าไปในพื้นที่ UNIX ลงที่ถนน คิด LAMP บน Server 2016 ขอบคุณ Chris สำหรับการเขียนขึ้น ฉันสามารถติดตั้ง Ubuntu บนเครื่อง Win10 ของฉันได้ แต่ฉันไม่ทราบวิธีเปลี่ยนไดเร็กทอรีกับไดรฟ์เครือข่ายที่แมป ฉันสามารถทำ cd mntcWindows ไปที่ C: Windows แต่ไม่สามารถไปที่ไดรฟ์เครือข่ายใด ๆ ภายใต้ mnt theres เฉพาะโฟลเดอร์ c. 3.2 Muscript เป็นภาษาสำหรับการเรียงลำดับเพลงและสคริปต์ Perl หรือสคริปต์ Lua ซึ่งแปลภาษานี้ลงใน PostScript หรือลงใน Encapsulated PostScript หรือ MIDI หรือลงใน MusicXML และมีสคริปต์ muscriptps2svg แปล muscript เป็น SVG Muscript ถูกเขียนขึ้นโดย Peter Billam เพื่อจัดเรียงองค์ประกอบของตัวเองและการจัดเรียงมันเริ่มต้นชีวิตเป็นสคริปต์ awk และได้มีการประกาศไปทั่วโลกในปี 1996 ความสามารถในการกำหนดตัวแปรได้รับการแนะนำในรุ่น 3.1 ใหม่รุ่นปัจจุบันของ muscript เป็น 3.2p เป็นภาษาที่มีทั้งภาษา Perl และ Lua รายละเอียดเกี่ยวกับการดาวน์โหลดและติดตั้ง muscript เกี่ยวกับประเด็นเรื่องขนาดหน้าจะสิ้นสุดลง เครื่องมือบางอย่างสำหรับการจัดการไฟล์ muscript หลังจากประวัติการเปลี่ยนแปลงและรายการของการปรับปรุงที่นำเสนอ มีบางคำแนะนำบางส่วนของซอฟต์แวร์ฟรีเรียงลำดับเพลงอื่น ๆ ในไดเร็กทอรีที่แยกต่างหากมีตัวอย่างบางส่วนที่มีให้คุณเริ่มต้นด้วยไวยากรณ์ของ muscript ภาษา muscript ได้รับการออกแบบขึ้นในรูปแบบของ eqn และ pic เพื่อสะท้อนถึงวิธีที่นักดนตรีหนึ่งคนอาจอธิบายคะแนนในรายละเอียดผ่านทางโทรศัพท์ไปยังนักดนตรีคนอื่น ภาษามีขนาดกะทัดรัดและหน้าเพลงสามารถอธิบายได้ไม่เกินกว่าหน้าของข้อความ ascii ในความเป็นจริงกับการปฏิบัติเพียงเล็กน้อยนักดนตรีสามารถมองเห็น - อ่านคะแนนในรูปแบบ muscript ของ การป้อนข้อความของ Muscript ประกอบด้วยคำสั่งหลายคำสั่งส่วนใหญ่จะแยกเป็นเส้น เครื่องหมายทับขวาเป็นอักขระสุดท้ายบนบรรทัดจะดำเนินการต่อคำสั่งต่อไปในบรรทัดถัดไป อธิบายหน้าของเพลงใน muscript สอดคล้องกับวิธีที่คุณเขียนหน้าเว็บเพื่อให้คุณวาดคานแล้วค่อยๆวาดแต่ละ stave จากนั้นแต่ละแถบที่คุณกรอก clefs บันทึกย่อ ฯลฯ แต่ละหน้าประกอบด้วยหลาย ระบบ แต่ละอันประกอบด้วยหนึ่งหรือมากกว่าหนึ่งบาร์ แต่ละอันประกอบไปด้วยหนึ่งหรือหลายคาน แต่ละที่มีหนึ่งหรือมากกว่าหนึ่งบันทึกหรือคำ BoundingBox ถ้าบรรทัดแรกในไฟล์คือ np .: boundingbox 65 53 แล้ว muscript จะสร้างผลลัพธ์ในรูปแบบ Encapsulated PostScript (EPS), 65 จุดและ 53 จุดในตัวอย่างนี้ ผลลัพธ์ EPS นี้สามารถแทรกลงในเอกสารคำหรือเอกสารการเผยแพร่เดสก์ท็อปหรือสามารถแปลงเป็นรูปแบบ JPG และใช้ในเว็บเพจได้ ดูสคริปต์ eps2jpg และ eps2png และไฟล์ kdf. txt ในตัวอย่าง บรรทัดแรกในแต่ละหน้าดึงระบบของ staves ตัวอย่างเช่นชิ้นทั่วไปสำหรับขลุ่ยเชลโล ฯลฯ อาจเป็น: 12 ระบบ 202020202020202020202020 ตัวเลขระหว่าง slashes คือความสูงของแต่ละ stave ในจุด หรือชิ้นทั่วไปสำหรับเปียโนอาจเป็น 6 ระบบ 20-40-2020-40-2020-40-2020-40-2020-40-2020-40-20 ตัวเลขระดับกลาง (40 ที่นี่) เป็นความสูงของช่องว่างระหว่าง คานหาม เส้นประทำให้เส้นด้ายเข้าร่วมระหว่าง staves ดังนั้นส่วนเปียโนของโซนาตาไวโอลินอาจเป็น: 4 ระบบ 14 30 20-40-2014 30 20-35-2014 30 20-40-2014 30 20-42-20 มีช่องโหว่ที่ตามมาในระบบและอาจเป็นได้ ใช้เพื่อสงวนพื้นที่เช่นสำหรับโน้ตต่ำลงบนบรรทัดบัญชีแยกประเภทหลาย ช่องว่างด้านบนที่สงวนไว้เหนือระบบแรกจะแสดงด้วยตัวเลขก่อนเครื่องหมายทับแรกเช่น 2 ระบบ 80 13 30 19-40-19 13 30 19-40-19 30 หากมีระบบที่ระบุน้อยกว่าที่จำเป็นแล้วให้ใช้กล้ามเนื้อที่ทำซ้ำเมื่อจำเป็นที่สุด ยกตัวอย่างเช่นระบบทาสี 12 ชิ้นสามารถเขียนได้: 12 ระบบ 19 ชื่อใช้ชื่อย่อ Blurb Blurb ไวยากรณ์และพิมพ์ด้วยตัวพิมพ์ใหญ่หนาตรงกลางด้านบนของหน้า หมายเลขหน้าหมายเลขหน้าใช้ไวยากรณ์ pagenum 7 พิมพ์ลงในมุมด้านบนสุดซึ่งเป็นตัวเลขหน้าคี่ที่พิมพ์ด้านขวาบนแม้ตัวเลขจะปรากฏที่ด้านบนซ้าย หากไม่ได้ระบุหมายเลขไว้ (เช่น pagenum) หมายเลขจะเพิ่มโดยอัตโนมัติจากหมายเลขหน้าก่อนหน้านี้ ส่วนหัวใช้ไวยากรณ์ blab blurred เหล่านี้พิมพ์ด้วยตัวอักษรตัวเอียงเล็ก ๆ ที่มุมด้านบนสุดมุมด้านบนตรงข้ามกับหมายเลขหน้า หากไม่มีหน้าหมายเลขบนหน้าปัจจุบันคุณสามารถใช้คำสั่ง lefthead และ righthead ที่ชัดเจน หากโน้ตสูงบนเสาติดตั้งด้านบนกับส่วนหัวและชื่อแล้ววางช่องว่างไว้ข้างหน้าของระบบด้านบนเช่นเดียวกับในตัวอย่างถัดไป ส่วนท้ายด้านซ้ายใช้ไวยากรณ์ blab leftfoot blub ถูกพิมพ์ด้วยตัวอักษรตัวเอียงเล็ก ๆ ที่มุมล่างซ้าย ส่วนท้ายด้านขวาใช้ไวยากรณ์ Blab blf แบบขวาและพิมพ์เป็นรูปเอียงเล็ก ๆ ที่มุมล่างขวา หากมีโน้ตต่ำบนฐานล่างของระบบด้านล่างกำลังผสมกับส่วนท้ายแล้วให้วางช่องว่างท้ายลงในระบบต่ำสุดเช่น ข้อมูลจำเพาะของระบบเหล่านี้เป็นแบบถาวร ดังนั้นถ้ากล้ามเนื้อทำงานในตอนท้ายของหน้าเว็บจะใช้ข้อกำหนดใหม่สำหรับหน้าใหม่ (ยกเว้นว่าจะเพิ่มจำนวนหน้าและไม่ได้พิมพ์ชื่อซ้ำอีก แต่นำชื่อไปใช้กับส่วนหัวด้านใน) จากนั้นเมื่อระบบได้รับการตั้งค่าคำสั่งง่ายๆหลังจากคำสั่งสิ่งแรกคือการวาด barlines สำหรับเรื่องนี้ muscript ต้องรู้จำนวนบาร์และระยะห่างของพวกเขา ตัวอย่างเช่นสำหรับสี่แท่ง: 4 บาร์ 1 1.2 1 1 ที่นี่ตัวเลขระหว่างเส้นเป็นสัดส่วนของความยาวของแถบ ในตัวอย่างข้างต้นแถบที่สองเห็นได้ชัดว่าต้องการพื้นที่มากกว่าที่อื่น ๆ หากเพียงส่วนหนึ่งของแถบต้องยืด (อาจเป็นเพราะมีจำนวนมาก semiquavers) แล้วคุณใส่มากกว่าหนึ่งหมายเลขในแถบ ตัวอย่างเช่นถ้ามีห้าแท่ง แต่ไตรมาสที่สองของแถบที่สี่ต้องการเนื้อที่เพิ่มขึ้นคุณสามารถใช้: 5 บาร์ 2 2 2 0.5 0.7 0.5 0.5 2 ข้อกำหนดเหล่านี้เป็นข้อกำหนดถาวร ดังนั้นถ้ากล้ามเนื้อวิ่งออกจากจุดสิ้นสุดของระบบระบบจะใช้ข้อกำหนดใหม่สำหรับระบบใหม่ เมื่อกล้ามเนื้อทำงานออกสัดส่วนก็ขอสงวนพื้นที่พิเศษสำหรับ clef ที่จุดเริ่มต้นของเส้น นอกจากนี้คุณยังสามารถสำรองพื้นที่สำหรับลายเซ็นเวลาและลายเซ็นที่สำคัญในตอนต้นของบรรทัด (โปรดทราบว่าพื้นที่สงวนนี้ แต่ไม่ได้วาดอะไรที่จะวาดในภายหลัง) ตัวอย่างเช่น: 4 bars 3b 44 1 1.2 1 1 ให้ดับเบิ้ลบาร์ปรากฏและทำเครื่องหมายซ้ำ ๆ ด้วย 5 bars 10 9: 11 10 9 เครื่องหมาย Segno (จะใช้คำสั่ง Dal Segno ในภายหลัง) จะแสดงด้วย Segno 5 bars 10: Segno 3b 44 11 10 9 ถ้ามีจำนวนน้อยกว่าบาร์ที่ต้องการให้กล้ามเนื้อทำซ้ำ คนสุดท้ายเมื่อจำเป็น ตัวอย่างเช่นสามารถเขียนแถบที่เว้นระยะเท่ากันได้ 11 แบบ: 11 บาร์ 2 68 12 12 จากเวอร์ชัน 2.7g สามารถปิดใช้งานบรรทัดสุดท้ายได้ ซึ่งสามารถใช้สำหรับเพลงที่ไม่มีบาร์เช่น 1 บาร์ 50 หรือเพื่อแบ่งแถบระหว่างสองระบบ 3 บาร์ 16 16 8 จากนั้นเมื่อตั้งค่าเส้นขอบแล้วคำสั่งง่ายๆจะทำให้ muscript เริ่มเรียงพิมพ์ แถบถัดไปภายในระบบปัจจุบัน ตั้งแต่เวอร์ชัน 2.3 คุณสามารถติดตามหมายเลขด้วยเพื่อบอก MIDI เกี่ยวกับจังหวะภายในแถบดูส่วน MIDI ด้านล่าง หลังจากคำสั่งคุณกรอกข้อมูลใน staves (ของแถบปัจจุบัน) ทีละรายการ (หรือเพียงอย่างเดียว) เป็น 1 และครั้งที่สองคือ 2 เป็นต้นตัวเลขเหล่านี้สามารถตามด้วยหรือเพื่อกำหนดทิศทางต้นกำเนิดนี้จะมีประโยชน์มากถ้าสองเสียงร่วมกันหนึ่ง stave หนึ่งหางขึ้นและหนึ่งหาง - ลง. ตัวอย่างเช่นชิ้นส่วนเปียโนอาจเริ่มต้น Clefs และลายเซ็นคีย์เป็นแบบต่อเนื่อง ภายในจำนวนไม้เท้าที่ระบุ Muscript จะจดจำพวกเขาจากแถบไปยังแถบและพิมพ์ซ้ำโดยอัตโนมัติเมื่อเริ่มต้นระบบใหม่ กุญแจสำคัญคือเสียงแหลม อัลโต อายุและเบส มีให้เลือกเช่นกันคือ 8 เท่า treble8vab และเบส 8va bass8vab ซึ่งทำให้เล็กกว่าด้านบนหรือด้านล่างของโน้ต 8 เพื่อบ่งบอกถึงเครื่องมือที่มีการแปลงหนึ่งคู่ clefs สามารถเกิดขึ้นภายในแถบเช่นเดียวกับที่จุดเริ่มต้น clefspace clefspace ไม่มีอะไรพิมพ์ แต่ขอสงวนหนึ่ง clefs ความกว้างของพื้นที่นี้จะมีประโยชน์สำหรับการจัดวางส่วนอื่น ๆ เมื่อมีการเปลี่ยนแปลงที่เกิดขึ้นในส่วนหนึ่ง ดังที่คุณเห็นจากตัวอย่างข้างต้น clefspace ไม่จำเป็นต้องอยู่ที่จุดเริ่มต้นของบรรทัดคำสั่งว่ามันมีข้อดีอยู่เสมอดังนั้นจึงขอสงวนพื้นที่ต่อไป Key ลายเซ็นจะเขียนเพียงแค่เป็น 1 3b 4 เป็นต้นลายเซ็นพิเศษ 0 หมายถึงการกลับไปที่ Cmaj และจะพิมพ์สัญญาณธรรมชาติที่จำเป็นในการยกเลิกลายเซ็นคีย์ก่อนหน้านี้ ลายเซ็นที่สำคัญสามารถเกิดขึ้นได้ที่จุดเริ่มต้นของแถบและก่อนลายเซ็นเวลา (ถ้ามี) ลายเซ็นเวลาจะเขียนเป็นเศษส่วนเช่น 24. 68. 128 เป็นต้นลายเซ็นเวลาจะเกิดขึ้นได้ที่จุดเริ่มต้นของบาร์และหลังจากลายเซ็นคีย์ (ถ้ามี) จากนั้นเราจะสามารถเริ่มเขียนจังหวะและโน้ต (และคำแนะนำ MIDI ในช่อง) จังหวะที่เขียนด้วยไวยากรณ์ภาษาอังกฤษสั้นหรือในรูปแบบตัวเลขระหว่างประเทศ เส้นโค้ง (de: doppelte Taktnote) ถูกเขียนขึ้นในไวยากรณ์ทั้งสอง: บันทึกย่อของ Triplet จะเขียนด้วยสามตัวอย่างเช่น qua3 หรือ 83 บันทึกย่อของ Duplet จะเขียนด้วยสองตัวอย่างเช่น cro2 หรือ 42 (สอง crotchets duplet สามครั้ง quavers ปกติ) Quadruplets เขียนด้วยสี่เช่น qua4 หรือ 84 (สี่ quadruplet quavers สาม quavers ปกติสุดท้าย) Quintuplets จะเขียนด้วยห้าเช่น smq5 หรือ 165 (ห้า quintuplet semiquavers ล่าสุดหนึ่ง crotchet ปกติ) Septuplets จะเขียนด้วยเจ็ดเช่น smq7 หรือ 167 (เจ็ดตัวคั่นด้วยเซ็ตอัพเล็ตล่าสุดหนึ่งคร็อทเก็ตตามปกติ) บันทึกจุดที่เขียนด้วยจุดเช่น นาที หรือ 2. หรือ qua3 หรือ 83. บันทึกย่อจุดสองจุดเขียนด้วยจุดสองจุดเช่น min .. or 2 .. Tremolandi มีหรือหรือส่วนต่อท้ายเช่น จุดต่ำสุดแบ่งเป็น semiquavers เป็น min หรือ 2. และโน้ต tremolandi ที่เข้าร่วมด้วยคานแบบโน้ตย่อ Brille-Bass (เช่นเครื่องประดับ) มีตัวเลือก s ที่ท้ายเช่น smq-s หรือ 16-s หรือ qua3. - s หรือ 163. - s จังหวะยังคงใช้ได้สำหรับโน้ตและส่วนที่เหลือทั้งหมดใน stave จนกว่าจะเปลี่ยน พักและว่างส่วนที่เหลืออยู่ตรงกลางของบันไดเป็นส่วนที่เขียนได้ส่วนที่เหลือสามารถเคลื่อนไปที่ส่วนบนโดยการพักผ่อนหรือโดยการพักผ่อนหรือพักผ่อนเป็นต้นหรือให้อยู่ในแนวล่างโดยการพักผ่อนหรือโดยการพักผ่อนหรือพักผ่อน ฯลฯ พื้นที่ว่างบนไม้เนื้อแข็งจะถูกเขียนว่างเปล่าโดยค่าเริ่มต้น Quavers, Semiquavers และ Demisemiquavers จะได้หาง ตัวอย่างเช่น: 8 F 16 A G คุณสามารถเริ่มต้นลำแสงที่มีอักขระได้จากด้านบนของสตริงโน้ตหรือจบด้วยอักขระทางขวาที่ท้าย ในแต่ละแท่งไม้คานจะคอยติดตามคานสองอันสำหรับบันทึกย่อแบบก้านและอีกอันหนึ่งสำหรับลำต้นเพื่อให้แน่ใจว่าโน้ตทั้งหมดที่คุณต้องการให้เข้าร่วมด้วยลำแสงเดียวกันมีทิศทางลำต้นเดียวกัน ตัวอย่างเช่น: 8 F 16 A G กันโดยค่าเริ่มต้น tremolando minim จะทำให้มี tremolando น้อย ๆ ข้ามก้านของมัน คุณสามารถเริ่มต้นลำแสงด้วยหรือจบด้วยด้านบนและสิ่งนี้จะรวมสอง tremolando minims เพื่อสร้าง Brille-Bass ตัวอย่างเช่น: 2 G F A อยู่ตรงกลางของแต่ละ clef มีค. หมายเหตุนี้เขียนขึ้น c. และบันทึกด้านบนจะถูกเขียน c d eb en f f g g bb b c b และอื่น ๆ ขึ้นไป b แล้วต่อด้วย c. ในทำนองเดียวกันบันทึกด้านล่าง c คือ B B B A A B G F F E E B D C C B B B A และอื่น ๆ ลงไปที่ C แล้วต่อด้วย B และ A ดังนั้นในแต่ละ clef คุณสามารถเขียนช่วงของเกือบห้าโอห์มที่ไม่มีสัญญาณ 8va แฟลต, สิ่งมีชีวิตเล็ก ๆ น้อย ๆ , สัตว์เลื้อยคลาน, รองเท้าแตะสองชั้นและคู่ - คมถูกเขียนขึ้น b. . n bb และหลังจากบันทึกเช่นเดียวกับพวกเขากำลังเด่นชัด ในกรณีที่มีอุบัติเหตุและเครื่องหมายแปดลงบนโน้ตตัวเดียวกันสัญญาณเสียงแปดแฉกต้องเป็นอันดับแรกเช่น Ab ในคอร์ดที่มีโทนเสียงข้างเคียงอยู่บนก้านใบหนึ่งโน้ตโน้ตจะต้องถูกย้ายข้ามไปอีกด้านหนึ่งของก้านใบ นี้ทำด้วย x ตัวอย่างเช่น: 2 60C D x G62 Semibreves มีไม่มี note-stems และ x จะเลื่อนไปทางขวาเสมอ ถ้าโน้ตตัวหนึ่งอยู่ใกล้เคียงกับโน้ตในเสียงที่แตกต่างกันหนึ่งเสียงต้องเลื่อนไปทางขวาพร้อมกับลำต้นของมัน (ดังนั้นถ้าโน้ตเป็นส่วนหนึ่งของคอร์ดคอร์ดทั้งหมดจะเปลี่ยนไปทางขวา) ซึ่งทำด้วย r ตัวอย่างเช่น: หากเสียงข้างเคียงทั้งสองมีอุบัติเหตุจะช่วยเพิ่มความชัดเจนในการเปลี่ยนความผิดพลาดโดยบังเอิญ นี้จะทำกับ l ตัวอย่างเช่น: โดยค่าเริ่มต้นลำต้นขึ้นถ้าโน้ตอยู่ต่ำกว่าเส้นศูนย์มิฉะนั้นพวกเขาลงไป ค่าเริ่มต้นนี้สามารถเปลี่ยนเป็น all-up หรือ all-down โดยใช้คำสั่ง stave เช่น. 1 หรือ 1 ย่อมาจากบันทึกย่อของแต่ละคนสามารถบังคับด้วย a หรือหลังจากลงในบันทึกย่อเช่น 8 A, BCD 16 c BAG Ties รวมกันสองบันทึกย่อของสนามเดียวกันเป็นโน้ตเดียวที่เขียนด้วยวงเล็บ () slurs เชื่อมโยงลำดับของบันทึกลงในวลีไพเราะหนึ่งส่วนใหญ่ legato เล่นที่พวกเขาเขียนด้วย curlie วงเล็บ - ผูกและ slurs จะพิมพ์เดียวกัน แต่มีการจัดการที่แตกต่างกันโดย MIDI ความสัมพันธ์ระหว่างโน้ตเริ่มต้นด้วย (1 หรือ (3 หรือ (5 หรือ (7 หรือ (9 และเสร็จสิ้นในภายหลังด้วยไม้เดียวกัน) 1 หรือ) 3 หรือ 5 หรือ) 7 หรือ 9 ตามลำดับ (2 หรือ (4 หรือ (6 หรือ (8 และเสร็จสิ้นในบันทึกภายหลังในเดียวกันกับไม้เท้า) 2 หรือ) 4 หรือ 6 หรือ) 8 ตามลำดับ ข้อความที่ขีดเส้นใต้โน้ตจะเริ่มต้นด้วยหรือหรือหรือหรือเสร็จสิ้นในภายหลังในแถบเดียวกันกับ 1 หรือ 3 หรือ 5 หรือ 7 หรือ 9 ตามลำดับ ข้อความด้านล่างโน้ตเริ่มต้นด้วยหรือหรือหรือและเสร็จสิ้นในภายหลังในแถบเดียวกันกับ 2 หรือ 4 หรือ 6 หรือ 8 ตามลำดับ โดยค่าเริ่มต้นความสัมพันธ์และ slurs จะสิ้นสุดลงใกล้กับ note-blob ถ้าคุณต้องการให้ปลายด้านบนขึ้นด้านบนของลำต้นขึ้นให้แทรกหนึ่งหรือมากกว่าระหว่างวงเล็บและจำนวน หรือถ้าคุณต้องการให้วางลงล่างใต้ก้านล่างให้แทรกหนึ่งหรือมากกว่าระหว่างวงเล็บและจำนวน ตัวอย่างเช่นความสัมพันธ์ที่สิ้นสุดโดยไม่ต้องเริ่มต้นจะถือว่าเริ่มต้นที่แถบที่ใกล้ที่สุดคู่หรือที่จุดเริ่มต้นของบรรทัดหากไม่มีสองแถบในทาง copes กับโน้ตถูกผูกติดอยู่ในแถบเวลาที่สอง ตัวเลือกที่แนบกับโน้ตจะปรากฏขึ้นโดยคั่นด้วยเครื่องหมาย s หลังจากความสัมพันธ์ใด ๆ หรือการสบประมาทและก่อนเครื่องหมายสิ้นสุดคานหรือสัญญาณท้าย ตัวอย่างเช่น: 4 ส่วนที่เหลือ B - 2 c (1 - tr-fermata 43 c) 1 B - I3 ข้อความที่พิมพ์ได้สามารถป้องกันได้โดยการดับเบิ้ลคำพูดเช่น - I sf or - s 3 - 4 Trills ที่มีร่องรอยบนแบนเป็นธรรมชาติหรือมีความคมขึ้นจะแสดงด้วย trb trn หรือ tr ตัวเลือกหลายตัวในโน้ตเดียวกันจะพิมพ์ตามลำดับเริ่มต้นใกล้กับ stave และย้ายออกไป ตัวเลือกว่างเปล่าไม่พิมพ์อะไร แต่เพียงแค่ปล่อยช่องว่างที่ตัวเลือกจะถูกพิมพ์นี้สามารถใช้เพื่อหลีกเลี่ยงตัวเลือกที่ขัดแย้งกับสิ่งต่างๆเช่นสเลิร์น ตัวเลือกที่ว่างเปล่าทำงานเหมือนกับตัวเลือกว่างเปล่าเพื่อให้ A-blank-blank-s4 สามารถเขียนเป็น A --- s4 ตัวเลือกได้โดยค่าเริ่มต้นพิมพ์เหนือ stave สามารถพิมพ์ด้านล่าง stave ได้โดยการใส่เครื่องหมายจุลภาค (.) ลงในตัวเลือกแต่ละตัวเช่น 4 B, -. 2 c, (1-tr - fermata, Crescendo และ diminuendo ภายในโน้ตสามารถเกิดขึ้นได้ด้วยตัวเลือก - cre และ - dim ขณะนี้ไม่ส่งผลกระทบต่อผลลัพธ์ที่พิมพ์ออกมาพวกเขาปรับตัวควบคุมการแสดงผล MIDIs ลงในโน้ต MIDI-channel การแสดงออก พารามิเตอร์ (cc11) เริ่มต้นบันทึกย่อแต่ละตัวที่ระดับ 100 และสามารถเปลี่ยนแปลงได้ตั้งแต่ 0 ถึง 127 ตัวอย่างเช่น 2. c - cre20 สร้างการถดถอยปานกลางหรือ 2. c - cre20-dim30 จะมีค่า crescendo สำหรับครึ่งแรก ของบันทึกย่อตามด้วย diminuendo ที่แรงขึ้นเล็กน้อยในช่วงครึ่งหลังคุณสามารถใช้ตัวเลข 0 ตัวอย่างเช่น: 2. c - dim0-dim20 จะสร้างโน้ตที่จางหายไปในช่วงครึ่งหลังของเพลงเปียโนจะใช้แป้นเหยียบแบบเปียโน , หรือ retaken ด้วยตัวเลือก - P และปล่อยออกมาพร้อมกับ - ตัวเลือก sostenuto-pedal ถ่ายหรือ retaken ด้วย - Sos ตัวเลือกและนำออกใช้กับ - Sos และ Una-Corda-pedal ถูกถ่ายด้วย - Una และปล่อยออกมาพร้อมกับ - Tre Words สามารถพิมพ์ออกมาเหนือแถบด้านบนในแถบหรือในช่องว่างระหว่างคานหรือใต้ฐานล่าง nt: บิตแรกของคำสั่งคือตัวอักษรหรือสอง r หมายถึงตัวอักษรปกติฉันหมายถึงตัวเอียงตัวหนา b หมายถึงตัวหนาตัวอักษรฉันหมายถึงตัวเอียงตัวเอียงหนาและสามารถตามด้วยตัวเลือกซึ่งหมายความว่าเล็กหรือ l ซึ่งหมายถึง ใหญ่. ขนาดแบบอักษรเหล่านี้จะสัมพันธ์กันตามสัดส่วนความสูงของฐานข้อมูลโดยเฉลี่ยในระบบปัจจุบัน การเข้ารหัสอักขระ ISO-8859-1 เป็นที่เคารพนับถือเช่น พิมพ์ octal 374 เป็น Uuml (U-umlaut) การเข้ารหัสอักขระ UTF-8 ยังเป็นที่ยอมรับ แต่สำหรับอักขระภายในชุดอักขระ ISO-8859-1 (เนื่องจากข้อ จำกัด PostScript) และสำหรับ Oelig ที่ถูกแม็พกับ Oe ระยะห่างแนวตั้ง: ตัวอักษรเหล่านี้จะสามารถติดตามได้ทันที ( ไม่มีช่องว่าง) ด้วยเลขทศนิยมที่กำหนดตำแหน่งแนวตั้งของคำเป็นสัดส่วนของช่องว่างของช่องว่าง ช่องว่างถัดไปคือตัวคั่นและส่วนที่เหลือของคำสั่งคือข้อความที่จะพิมพ์ ถ้าคำสั่งปรากฏขึ้นหลังจากที่ แต่ก่อนที่ stave แรก จากนั้นคำที่จะถูกพิมพ์ออกมาเหนือเสาแรกในระบบตัวเลขจะแสดงตำแหน่งแนวตั้งเหนือเส้นบนสุดเป็นสัดส่วนความสูงของเสาอากาศด้านบน ถ้าคำสั่งปรากฏขึ้นระหว่างสอง staves จากนั้นคำที่จะพิมพ์ระหว่าง staves จำนวนแสดงตำแหน่งแนวตั้งเหนือเส้นล่างเป็นสัดส่วนของช่องว่าง stave ถ้าคำสั่งดังกล่าวปรากฏขึ้นหลังจากขั้นตอนสุดท้าย แต่ก่อนหน้าถัดไป แล้วคำที่จะพิมพ์ภายใต้บันไดด้านล่างในระบบตัวเลขแสดงตำแหน่งแนวตั้งอยู่ใต้เส้นด้านล่างเป็นสัดส่วนของความสูงของฐานด้านล่าง การเว้นระยะห่างแนวนอนของข้อความส่วนใหญ่ทำโดยตัวเลขที่ขึ้นต้นด้วยจุดทศนิยมและตามด้วยตัวเลขหนึ่งสองหรือสามหลัก ตัวเลขเหล่านี้จะถือว่าเป็นคำสงวนไว้ภายในสตริงข้อความและจะเว้นวรรคข้อความต่อไปนี้เพื่อเริ่มต้นที่สัดส่วนของความกว้างของแท่ง ช่องว่างระหว่างคำข้อความหรือก่อนคำแรกจะปรากฏขึ้นเช่นนี้และสามารถใช้สำหรับการเว้นระยะห่างได้เช่นเดียวกับใน Freu หรือใน bl1.1 ก่อนดูตัวอย่าง: ภายใน muscript มีคำสั่ง MIDI สามแบบ ได้แก่ คำสั่ง Global ซึ่งมีผลต่อ Staves คำสั่ง New Bar ซึ่งควบคุมจังหวะและคำสั่ง In-A-Stave ที่มีผลต่อ Stave เพียงอย่างเดียว (เช่น 1 หรือ 2) นอกจากนี้ MIDI ยังเกี่ยวข้องกับตัวเลือก note - cre และ - dim ซึ่งจะมีการเปลี่ยนแปลงของไดนามิกภายในโน้ต คำสั่ง MIDI ทั่วโลกความคิดเห็นต่อท้ายสามารถนำมาใช้โดยตัวอักษรและจะถูกละเว้นโดย muscript midi channel 2 bank 87,65 patch 56 คำสั่งนี้จะทำให้ Synthesizer เลือก Bank MSB87 LSB65 และกำหนด Patch 56 ให้กับช่อง MIDI 2 คำว่า Patch เป็น MIDI-speak สำหรับเสียงของอุปกรณ์เฉพาะ คำสั่งนี้มักจะมาใกล้ด้านบนของไฟล์ muscript ช่อง - หมายเลขสามารถเป็นได้ตั้งแต่ 0 ถึง 15 (ยกเว้น 9 ใน General-MIDI สงวนไว้) แพทช์หมายเลขสามารถเป็นได้ตั้งแต่ 0 ถึง 127 เลขที่ธนาคาร - เลขที่สองส่วนคั่นด้วยเครื่องหมายจุลภาค (ไม่มีช่องว่าง) ส่วนที่หนึ่งคือ MSB (มากที่สุดไบต์สำคัญ) และที่สองคือ LSB (อย่างน้อยไบต์สำคัญ) ไบต์สามารถเป็นได้ตั้งแต่ 0 ถึง 127 เนื่องจากเวอร์ชัน 3.1g LSB สามารถละเว้นได้ (synths จำนวนมากไม่สนใจ อย่างไรก็ตาม). โดยปกติแล้วซินเนอร์ของคุณจะอยู่ในโหมด General-MIDI ซึ่งมาตรฐาน General-MIDI จะกำหนดขึ้นโดยทั่วไปแล้วซิมของคุณจะอยู่ในโหมด General-MIDI ตัวเลขเฉพาะสำหรับตราสารทั่วไป เช่น 0 เป็นแกรนด์เปียโน 25 กีตาร์อะคูสติกสายเหล็ก 65 แซ็กโซโฟนอัลโต ฯลฯ ช่อง General-MIDI 9 สงวนไว้สำหรับเสียงกระทบ ถ้า synth ของคุณอยู่ในโหมด Patch จากนั้นคุณควรตั้งค่าเพื่อรับฟังช่องใดช่องหนึ่ง (โปรดทราบว่า synth ของคุณอาจกำหนดหมายเลขช่อง 1-16) แล้ว muscript จะสามารถใช้ช่องดังกล่าวได้และคุณจะสามารถเล่น Patch ได้ในครั้งเดียว Patch mode ไม่ใช่ multi-timbral :-( ถ้า synth ของคุณอยู่ใน Performance mode หวังว่าคุณจะได้เลือก Performance แล้วและกำหนดค่าของมัน (หรือชิ้นส่วน) ปรึกษาคู่มือการใช้งาน synth ของคุณสำหรับรายละเอียด midi channel 2 vibrato 60 rate 40 delay 70 นี้ขอให้ synth ปรับพารามิเตอร์ Vibrato บนช่อง 2 ในตัวเลขทั้งหมดนี้ 50 หมายถึงค่าเริ่มต้นของการตั้งค่า vibrato ของ Patch นี้ , 100 หมายถึงค่าสูงสุดและ 0 ค่าต่ำสุดสำหรับการเปลี่ยนแปลง note-by-note ในระดับความลึกของ vibrato มีคำสั่ง In-Stave ที่สอดคล้องกัน midi channel 5 pan 80 reverb 45 chorus 90 ขอให้ synth ไปหา Pan Channel-5 80 (45) Reverb และเพิ่ม Effect Chorus หนัก (90) หมายเลข pan-number สามารถเป็นได้ตั้งแต่ 0 (เต็มซ้าย) ถึง 100 (เต็มขวา) สำหรับ note-by - หมายเหตุการเปลี่ยนแปลงมีคำสั่ง In-Stave ที่สอดคล้องกัน reverb-numer อาจเป็น 0 (dr y) ถึง 50 (ค่าเริ่มต้น) ถึง 100 (มีเสียงสะท้อนมากที่สุด) การร้องพร้อมกัน - หมายเลขสามารถตั้งแต่ 0 ถึง 100 midi channel 5 patch 73 transpose 12 นี่จะแปลงบันทึกทั้งหมดในช่อง 5 ขึ้นหนึ่งคู่ (สิบสอง semitones) สำหรับการเปลี่ยนแปลงแบบโน้ตโดยการจดบันทึกโน้ตบนแท่งเดียว มีคำสั่ง In-Stave ที่สอดคล้องกัน midi gm 2 นี้จะบังคับให้ synth เป็นโหมด General-MIDI (ดูด้านบน), General-MIDI-2 ในตัวอย่างนี้ ค่าที่เป็นไปได้อื่น ๆ คือ gm 1 สำหรับ General-MIDI-1 หรือ gm off ซึ่งทำให้ synth เป็นหนึ่งในโหมดที่ไม่ใช่ General-MIDI ให้ดูที่คู่มือ synth เพื่อดูรายละเอียดเพิ่มเติม คำสั่ง gm 1 และ gm 2 ไม่สามารถใช้ได้กับคำสั่ง bank ดังกล่าวข้างต้น ดู: wikipedias การเปรียบเทียบมาตรฐาน MIDI midi pause 3.9 หยุดการทำงานชั่วคราวในไฟล์ 3.9 วินาทีในตัวอย่างนี้เช่นคุณอาจใช้แยกการเคลื่อนไหวสองหรือสองเพลงออก การหยุดชั่วคราวเช่น. 02 หรือ 0.04 วินาทีสามารถใช้เป็นอุปกรณ์ที่แสดงออกมาระหว่างแถบต่างๆได้เช่นเดียวกับ luftpause ในดนตรีคลาสสิก คำสั่งนี้มีประโยชน์เฉพาะระหว่างแถบไม่ใช่ระหว่าง staves ที่ต่างกันในแถบเดียวกัน midi cents -100 temperament kirnberger คำสั่งนี้ตั้งค่าการปรับแต่งและอารมณ์ให้เหมาะกับลักษณะนิสัย A415 และ Kirnberger ในตัวอย่างนี้ (เป็นทางเลือกสำหรับดนตรีบาโรก) เซนต์สามารถตั้งแต่รุ่น 3.1u เป็นตัวเลขใด ๆ ตัวอย่างเช่น -100 หมายถึง semitone down (A415), 250 หมายถึง semitones สองและครึ่ง เซนต์เป็นคำสั่งส่วนกลาง (เรียกใช้ระบบ GM2 Master Fine Tuning และ Master Coarse Tuning sysexes) และใช้กับทุกช่อง นิสัยสามารถเป็นได้ทั้ง (ค่าเริ่มต้นซึ่งเครื่องหมายจุลภาคที่ขาดหายไปมีการแบ่งปันโดยทั้งหมดสิบสองเศษ) หรือ vanbiezen (เครื่องหมายจุลภาคที่ขาดหายไปจะถูกใช้ร่วมกันระหว่างหกในห้าของ FCGDAEB) หรือ kirnberger (เครื่องหมายจุลภาคจะแบ่งใช้กันระหว่างสี่เศษ CGDAE และ CE จะสมบูรณ์แบบ) midi barlines และ midi barlines off หาก barlines ถูกเปิดใช้งานแล้ว mark-events จะถูกใส่เข้าไปใน MIDI output เพื่อทำเครื่องหมาย barlines midi off และ midi on คำสั่งเหล่านี้จะเปลี่ยนเป็น midi output off และ on และเป็นประโยชน์ในการปราบปรามแถบครั้งแรกหรือสำหรับการตรวจทานในขณะพิมพ์ชิ้นส่วน (เพื่อที่จะไม่ต้องฟังทั้งชิ้นทุกครั้งที่คุณบันทึกและทำ ).MIDI New-Bar Commands คำสั่ง new bar เป็นที่บอก MIDI เกี่ยวกับจังหวะ แรกมาลายเซ็นเวลา (นี้เป็นเพียง MIDIs เข้าใจลายเซ็นเวลาที่มันไม่ได้พิมพ์) แล้วความยาวของบาร์ในวินาที ตัวอย่างเช่นคำสั่ง new bar สำหรับชิ้นงานในเวลา 44 ที่ 120 beatsmin อาจเป็นดังนี้: 44 2.0 ในคำสั่ง bars เราสามารถระบุความยาวของส่วนต่างๆของแถบได้ ตัวอย่างเช่นถ้าเราต้องการ ritardando เราอาจใช้: 44 0.5 0.54 0.6 0.68 นอกจากนี้ยังสามารถนำมาใช้เพื่อสร้าง quavers swung ใน jazz หรือ ineacutegale quavers ในเพลงบาร็อคหรือในเพลงไอริชหรือสำหรับ wales วอลเลย์ของชาวเวียนนา ตัวอย่างเช่น Jig ชาวไอริชอาจเริ่มต้น: 68 .19 .14 .17 .19 .14 .17 1 เสียงแหลม 2 68 8 A B A A F D Upbeats หรือในแถบทั่วไปที่มีความยาวต่างกันจะต้องได้รับความยาวพิเศษเฉพาะกิจ ตัวอย่างเช่น: 14 .55 1 เบส 2b 4 F 44 2.2 1 2 B 4 A B นอกจากนี้คุณยังสามารถระบุจังหวะในการเต้นต่อนาที Muscript ตัดสินใจว่าจังหวะหมายถึงการให้คำปรึกษากับลายเซ็นเวลา ใน 24 หรือ 34 หรืออะไรก็ตาม 4 แล้วจังหวะเป็น crotchet และใน 22 หรือ 32 หรืออะไร 2 แล้วชนะเป็น minim แต่ใน 38 หรือ 68 หรือ 98 ฯลฯ จังหวะเป็นวงเล็บเหลี่ยมในขณะที่ใน 28 หรือ 48 หรือ 58 หรือ 78 ฯลฯ จังหวะเป็น quaver ในทำนองเดียวกันสำหรับ 316 หรือ 616 หรือ 916 (Muscript ยังคงต้องรู้เรื่องเวลาดังนั้นคุณจึงยังคงมีแถบที่กำหนดไว้เมื่อความยาวแตกต่างกันออกไป) ข้อมูลจังหวะนี้เป็นข้อความที่จำแนกได้จากแถบไปยังแถบและใช้ใหม่โดยอัตโนมัติ In-A-Stave คำสั่ง MIDI คำสั่งเหล่านี้เป็นคำสั่งหนึ่งคำ (ไม่มีช่องว่าง) ที่สามารถผสมระหว่างโน้ตและจังหวะในเส้น stave พวกเขาเปลี่ยนการตั้งค่าสำหรับ stave เฉพาะ (เช่น 1 หรือ 2) พวกเขามีผลทันทีและยังคงใช้บังคับอยู่บนแถบเดียวกันในแถบที่ตามมา คำสั่งทั้งหมดเหล่านี้สามารถย่อตัวอักษรสามตัวแรกได้ cha2 หรือ cha35 นี่ตั้งช่อง midi เป็น 2 ในตัวอย่างแรก ช่อง General-MIDI 9 สงวนไว้สำหรับชุดจังหวะเช่น drumkits, percussion ฯลฯ ถ้าหมายเลขช่องอื่น ๆ ของคุณหวังว่าคุณจะได้กำหนด patch ไว้แล้ว หาก synth ของคุณอยู่ในโหมด Patch คำสั่งนี้ต้องระบุช่องทางเดียวกันกับที่ synth กำลังฟังดูที่โหมด Patch ด้านบน ตั้งแต่ 3.1v stave เดียวสามารถปล่อยบันทึกหลายช่องทางไปยังช่อง 3 และ 5 ในตัวอย่างที่สอง นี้จะช่วยให้เพิ่มขึ้นโดยอัตโนมัติสองเท่าของแพทช์ที่แตกต่างกันบนหนึ่ง stave เมื่อใช้ร่วมกับตัวเลือก midi-midi transpose ก็ยังช่วยให้เกิดการเสแสร้งได้ในระดับ octave เช่น: cello double โดย contrabass octave ลงหรือไวโอลินเพิ่มขึ้นเป็นสองเท่าโดย flute octave ข้างต้น tra-2 นี่เป็นสาเหตุให้โน้ตถูกสร้างขึ้น 2 semitones ต่ำกว่า notated ซึ่งเป็นสิ่งที่คุณอาจจะใช้บน stave สำหรับทรัมเป็ตใน Bb สำหรับ piccolo คุณอาจใช้ tra12 (เว้นแต่ youve ได้ให้มันเป็นเสียงแหลมสามเกลอ) vol73 หรือ vol10 หรือ vol-10 ชุดนี้จะตั้งระดับเสียงไว้ในช่วงตั้งแต่ 0 ถึง 127 (ปริมาณเริ่มต้นคือ 100) อนุญาตให้มีการเปลี่ยนแปลงปริมาตรที่เพิ่มขึ้นเช่น vol10 หรือ vol-5 ตัวเลือก G-emph ทำงานเหมือนกับ vol10 G vol-10 ยกเว้นว่าโน้ตตัวเลือกจะพิมพ์เป็นส่วนหนึ่งของคะแนนขณะที่คำสั่ง vol ไม่ได้ พิมพ์เป็นส่วนหนึ่งของการตีความ คำสั่ง vol ใช้พารามิเตอร์ความเร็ว MIDI เพื่อตั้งค่าการเปลี่ยนแปลงระดับเริ่มต้นของไดนามิกภายในโน้ตจะกระทำด้วยตัวเลือกบันทึกย่อ - cre และ - dim ซึ่งใช้ตัวควบคุมนิพจน์ MIDIs leg99 นี่เป็นการตั้งค่า legato เป็น 99 ในตัวอย่างนี้ leg100 ผลิตแบบเต็มรูปแบบที่คุณสามารถทำได้จริงเกินกว่า 100 ที่ผลิตได้มากกว่า legato legato เริ่มต้นคือ 85 ประเภทของสื่อกลาง deacutetacheacute ตัวเลือก note - stacc ช่วยลด legato notes ลงครึ่งหนึ่ง vib80 นี้จะกำหนดความลึกของ vibrato เป็น 80 หรือ 50 ในตัวอย่างเหล่านี้ ดังที่กล่าวมาในส่วน MIDI ทั่วโลก 50 หมายถึงการตั้งค่าความลึกของไวทอลเริ่มต้นของ Patch นี้และ 100 แสดงถึงความเป็นไปได้สูงสุด pan73 หรือ pan10 หรือ pan-10 การใส่ช่องนี้ เช่นเดียวกับในส่วน MIDI สากลกะทะสามารถตั้งช่วงตั้งแต่ 0 (ซ้าย) ถึง 50 (ศูนย์) ถึง 100 (ด้านขวา) แต่จะอนุญาตให้มีการเปลี่ยนแปลงที่เพิ่มขึ้นเช่นกันเช่น pan10 หรือ pan-5 bend73 หรือ bend1 หรือ bend-10 ช่วงนี้จะลดช่องโดยใช้คำสั่ง MIDI pitchwheel เส้นโค้งสามารถอยู่ในช่วงตั้งแต่ 0 (โดยค่าเริ่มต้น 2 semitones down) ถึง 50 (ปรับปกติ) เป็น 100 (โดยค่าเริ่มต้น 2 semitones up) เช่นการเปลี่ยนแปลงที่เพิ่มขึ้นเช่นกัน bend2 หรือ bend-1 cc73108 พารามิเตอร์นี้จะตั้งค่าตัวแปรควบคุมการเปลี่ยนแปลง MIDI ในตัวอย่างนี้ตัวควบคุม 73 (โจมตีเวลา) ถูกตั้งค่าเป็น 108 (0..127) Be aware that the actual effect that these CC parameters have on the sound is often quite synthesiser-dependent. Any line beginning with is treated as a comment, and will appear as a comment in the PostScript output. In - midi mode it appears as a MIDI marker event at the start of the current bar. Since version 3.1h. two mode-dependent, conditional comments are introduced. Any line beginning with P is ignored as a comment except in PostScript-mode, when it just gets those two characters stripped of and is treated as a normal line. Likewise, any line beginning with M is ignored as a comment except in MIDI-mode, when it gets those two characters stripped of and is treated as a normal line. This allows a line to be given a PostScript-version to be printed in the score, and a MIDI-version (e. g. ornamented) to be performed. Otherwise, any line beginning with is treated as a comment, and ignored completely. Output can be generated for various page sizes: Auto only works as long as the output remains in PostScript form if it is translated into PDF the autodetect power is lost and the page size becomes fixed by the translation process. Therefore, if you want to generate PDF to publish scores globally, you should use the - compromise option. See also the a42us utility script. As from version 3.2h, muscript is available in two implementations, one in Perl . and a new translation into Lua . The intention is to support both, and keep their version-numbers in sync. It must be said that the Lua version runs more than twice as fast. The current version of muscript for Perl is available by http at pjb. aumuscriptmuscript. To install it, save it to disc, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Youll also need to install the MIDI and the Text::ParseWords modules from cpan. org The current version of muscript for Lua is available by http at pjb. aumuscriptmuscriptlua. To install it, save it to disc, rename it muscript and move it into your PATH, make it executable, and if necessary edit the first line to reflect where lua is installed on your system. Youll also need to install the MIDI. lua module, eg: luarocks install midi All these files are now on git and can be downloaded by: git clone githubpeterbillammuscript Various tools exist to manipulate muscript input and PostScript output and MIDI output. To install one of the scripts, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Tools for handling muscript input: 8va This simple filter transposes up or down the octave. For example, in vi . 8va raises the current bar one octave, or. 8vab lowers the current bar one octave. 8vab This transposes down the octave. (It is the same file as 8va its behaviour changes according to the name under which it is invoked.) transpose This filter transposes up or down a given number of semitones. It now handles keysignatures, and persistence of accidentals within a bar. เช่น. this would transpose its input up seven semitones: transpose 7 There is a - k option to force a keysignature onto the input. เช่น. in vi . this would transpose the current line down 3 semitones, considering it to have a 4-flats keysig even if thats not explicit in the current line (i. e. if it was set earlier in the file): . transpose -3 - k 4b There is also a - a option which generates output without a keysig, using accidentals only, e. g. transpose 2 - a There is also a - s option to transpose only one stave. เช่น. this might convert a piece for flute and piano, into a piece for Bb-clarinet and piano: transpose 2 - s 1 tempo This filter changes the midi tempo of a muscript file by a fixed proportion. It has no effect on the PostScript output. For example, tempo 1.05 speeds a piece up by 5 percent. Or, tempo 0.95 makes a piece 5 percent slower. เช่น. to generate multiple practice-versions of a piece, with different tempi: 4hands2score This converts muscript for piano-four-hands (i. e. with one player reading the left-hand page and the other reading the right-hand page) into a single score, for example for feeding into muscript - midi for proofreading. muscript2video This converts muscript into an. avi video ready for uploading into youtube . You will have to repaginate the file specially to the 1280x720 format. It generates a soundtrack using muscript - midi feeding into timidity . and typesets each page using muscript and eps2jpg and synchronises the page-turns with the soundtrack. Then it uses mencoder to convert the. jpg files to the. avi file. This program was used to generate the Youtube - videos, for example, of the Trio with Guitar Tools for handling PostScript output: muscriptps2svg This script converts PostScript (or EPS) output produced by muscript (2.8i or greater) into SVG (Scaleable Vector Graphics) format. It has a - p option to convert a particular page. It needs the SVG Perl module, available from search. cpan. org eps2jpg and eps2png When the input file contains a boundingbox command, then muscript will generate Encapsulated-PostScript (EPS) output, which can be inserted into word-processing or desktop-publishing documents. The Perl script eps2jpg converts this EPS into JPG format (with a white background), which can be used in web pages especially if they also have white backgrounds. Or when called under the name eps2png it converts the EPS into PNG format. Or when called with the - t option it converts the EPS into PNG format with a transparent background, which can be used in web pages even if they have non-white backgrounds. eps2jpg and eps2png are the same script, so you can download just one and use ln to link it to the other. They produce their output on stdout. so you can redirect it wherever you want it. See perldoc pgn2jpg or perldoc pgn2png a42us This converts the muscript PostScript output from A4 page size to US Letter page size. There is also a a42us - c option which generates the global-distribution compromise format (A4 width and Letter height). See also PageSize. Tools for handling MIDI output: midiecho Simulates a tape-delay reverb on a particular MIDI-channel by issuing repeated noteon events with diminishing volume. midiedit Edits a MIDI file in a human-readable text-format. mididump Dumps a MIDI file contents in a human-readable text-format. midisox Midisox is a tool for working on MIDI files, with a calling interface modelled, as far as possible, on that of SoX . which is a well-established tool for working on audio files. Future Enhancements Titles should not be tied to the top of the page at system-layout time, vertical space should be allocated for titles. Dynamics, e. g. as note-options, should be recognised by MIDI. Hairpin-style crescendo and diminuendo marks. In close chords, the necessary note-heads might be placed automatically on the wrong side of the stem, instead of manually with an x . Beams, Ties and Slurs should be able to join notes on different staves within the same system. Beams should be able to join stem-up with stem-down notes. Turns need sharps flats and naturals, both above and below MIDI should interpret trills, mordents, turns, fermata and repeats. Syntax is needed for 8va and 8vab, and 1st and 2nd-time bars, so that MIDI can handle them too. What is really needed is an ftp archive of scores in PostScript . so that anyone can print them out and use them. I think it should standardise on gzipped files, and encourage the submission of A4 and USLetter versions of everything. Of course the composers would have to be dead more than 70 years (or the pieces would have to be publicly copiable and redistributable) and someone would have had to re-typeset the pieces. The reward is immortality, a permanent priceless contribution, no less. The way to further the musical art is to make the scores freely and permanently available. End of soapbox. You might also want to check out Lilypond . a program which generates PDF and MIDI output. The input text language is called mudela . Included is a utility musicxml2ly which imports MusicXML. MusicXML is a widely adopted music-interchange format. MuseScore is a WysiWig music typesetter which also does drum-notation and guitar-tablature and will import MusicXML JFugue . an open-source library for programming music in Java, can read and write both MIDI and MusicXML. FreeDots translates MusicXML into Braille. Mup is shareware written in C, which takes text input and produces PostScript or MIDI. MusiXTeX . which forms the infrastructure for a great deal of related software abc . designed primarily for folk and traditional tunes such as Irish, English and Scottish, which can be written on one stave in standard classical notation M-Tx . a music-from-text language that operates as a front end to PMX, which in turn is a front end to MusiXTeX musixlyr . a MusiXTeX extension for convenient lyrics handling PMX is a pre-processor for MusiXTex. It can also output a MIDI file. A version is available for MacOS. noteedit is a GUI utility to translate between Mup, MusiXTeX, PMX and Lilypond formats, and can import MIDI and MusicXML files. music-notation. infoencompmusnotationformats. html and ace. acadiau. cascoreothers. htm inkguides is a collection of PostScript and GhostScript resourcesExifTool is also available as a stand-alone Windows executable and a Macintosh OS X package . (Note that these versions contain the executable only, and do not include the HTML documentation or other files of the full distribution above.) The stand-alone Windows executable does not require Perl. Just download and un-zip the archive then double-click on exiftool(-k).exe to read the application documentation, drag-and-drop files and folders to view meta information, or rename to exiftool. exe for command-line use. Runs on all versions of Windows. The OS X package installs the ExifTool command-line application and libraries in usrlocalbin. After installing, type exiftool in a Terminal window to run exiftool and read the application documentation. Read the installation instructions for help installing ExifTool on Windows, Mac OS X and Unix systems. Powerful, fast, flexible and customizable Supports a large number of different file formats Reads EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. FlashPix. AFCP. ID3 and more. Writes EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. AFCP and more. Reads and writes maker notes of many digital cameras Decodes a riddle wrapped in a mystery inside an enigma Numerous output formatting options (including tab-delimited, HTML, XML and JSON) Multi-lingual output (cs, de, en, en-ca, en-gb, es, fi, fr, it, ja, ko, nl, pl, ru, sv, tr, zh-cn or zh-tw) Geotags images from GPS track log files (with time drift correction) Generates track logs from geotagged images Shifts datetime values to fix timestamps in images Renames files and organizes in directories (by date or by any other meta information) Extracts thumbnail images, preview images, and large JPEG images from RAW files Copies meta information between files (even different-format files) Readswrites structured XMP information Deletes meta information individually, in groups, or altogether Sets the file modification date (and creation date in Windows) from EXIF information Supports alternate language tags in XMP. PNG. ID3. Font. QuickTime. ICC Profile. MIE and MXF information Processes entire directory trees Creates text output file for each image file Creates binary-format metadata-only (MIE) files for metadata backup Automatically backs up original image when writing Organizes output into groups Conditionally processes files based on value of any meta information Ability to add custom user-defined tags Support for MWG (Metadata Working Group) recommendations Recognizes thousands of different tags Tested with images from thousands of different camera models Advanced verbose and HTML-based hex dump outputs If you find the need to use find or awk in conjunction with ExifTool, then you probably havent discovered the full power of ExifTool. Read about the - ext. - if. - p and - tagsFromFile options in the application documentation. (This is common mistake number 3 .) In my experience, nothing but nothing is as complete, powerful, and flexible as Phil Harveys exiftool. Ive never seen anything thats in the same ballpark for power. - dpreview forum While there are a lot of image tools available, nothing comes close for accessingupdating the metadata like ExifTool - mergs blog Fast, reliable and amazingly comprehensive. - CPAN ratings . the one piece of free software that gets the most detailed exif data of any tool Ive found. - gnome mail archives ExifTool makes every other EXIF reader (and writer) than Ive seen, including the camera manufacturers readers, look lame. - photo Nikon forum Insanely great tool with a long learning curve. - Adobe Forums . its super awesome, its super reliable and after many years of development its still being updated - PW999 blog . it is the mother of all EXIF utilities the BFG of meta-data extraction the Pan Galactic Gargle Blaster of EXIF tools. This thing will suck the last bit of metadata out of whatever image file you throw at it - Open Photography Forums . it is total fucking gibberish to me. - Reddit Linux Questions ExifTool can R ead, W rite andor C reate files in the following formats. Also listed are the support levels for EXIF, IPTC, XMP, ICCProfile and other metadata types for each file format. (preview image written after JPEG EOI) 1 All trailers except Samsung and PreviewImage also have RW support in TIFF images. Requires Perl 5.004 or later. No other libraries or software required, but some optional Perl modules may be added to enable certain ExifTool features (for details, see the DEPENDENCIES section of the README file included in the full distribution). Windows users: A stand-alone Windows executable version of ExifTool is available which doesnt require Perl. You can also use the pure Perl version if you already have Perl installed. (You can get a good, free Perl interpreter from activeperl .) Everyone else (Mac, Unix, etc): Dont worry, you already have Perl installed. The exiftool application provides a convenient command-line interface for the Image::ExifTool Perl package (both included in the full distribution). Once you have downloaded and extracted the distribution, you can immediately run exiftool (without building or installing) by typing DIR exiftool FILE (or perl DIR exiftool FILE in Windows), where DIR is the exiftool directory and FILE is the name of an image file, including directory name. Read the installation instructions or the README file included in the full distribution for help installing ExifTool. Many command-line options are available to allow you to access a wide range of features. Run exiftool with no arguments for a complete list of available options with examples . Running in Windows i) From the command line: The Perl application ( exiftool ) is run by typing perl exiftool . Alternately, you may be able to rename it to exiftool. pl and type exiftool. pl , but this requires that the proper Windows associations have been made for the the. pl extension. The stand-alone version ( exiftool(-k).exe ) should be renamed to exiftool. exe to allow it to be run by typing exiftool at the command line. If the exiftool executable ( exiftool. pl or exiftool. exe ) is not in the current directory or your system PATH, then its directory must be specified on the command line (eg. by typing c:pathtoexiftoolexiftool. pl or c:pathtoexiftoolexiftool ). Note that when typing commands in the cmd. exe shell, you should use double quotes instead of single quotes as shown in some examples. ii) Stand-alone version in the Windows GUI: Double-click on exiftool(-k).exe to read the application documentation, or drag-and-drop files and folders to run exiftool on the selected files. Simple options may be added inside brackets in the name of the stand-alone executable. (But note that the characters :ltgt may not be used because they are invalid in Windows file names.) In this way, the behaviour of the drag-and-drop application can be customized. For example: Verbose and HtmlDump Output The Verbose ( - v ) and HtmlDump ( - htmlDump ) options print additional information that can be very useful for debugging or when decoding new tags. A tag name is a handle that is used to refer to a specific piece of meta information. Tag names are entered on the command line with a leading - , in the order you want them displayed. Case is not significant. The tag name may be prefixed by a group name (separated by a colon) to identify a specific information type or location. A special tag name of All may be used to represent all tags, or all tags in a specified group. For example: A complete list of ExifTool Tag Names accompanies this documentation. As well, current lists of available tag names and writable tag names may be obtained using the exiftool - list and - listw options. But perhaps the easiest way to determine a tag name is to use the - s option to print the tag names instead of descriptions for all information in a file. It may also be helpful to use the - G option to display the group names, and the - H or - D option to print the numerical tag IDs for reference. Tag names sometimes differ from their descriptions. Use the - s command-line option to see the actual tag names instead of the descriptions shown when extracting information. When extracting information, tags will not appear in the output unless they exist in the file, even if they are specified on the command line. The - f option may be used to force all specified tags to be displayed (not including tags specified with wildcards or by - GROUP:all ). Information for a given tag name may occur in multiple locations within a single file. By default these duplicate tags are suppressed, but the - a option may be used to extract all tags. Tag names may be suffixed by a character to disable the print conversion on a per-tag basis. See the - n option in the application documentation for more information. Shortcut tags represent one or more other tags, and are used like any other tag when reading, writing or copying information. ExifTool defines a few shortcut tags in the Image::ExifTool::Shortcuts module, and allows users to define their own shortcuts in a configuration file called. ExifToolconfig in their home directory or exiftool application directory. Here is a simple example that defines two shortcuts: In this example, MyShortcut is a shortcut for the CreateDate, ExposureTime and Aperture tags, and MyAlias is a shortcut for FocalLengthIn35mmFormat. The current shortcuts may be listed with the - list option..ExifToolconfig file may also be used to define new tags. For more information about the configuration file, see the sample configuration file included with the ExifTool distribution. Windows tip: You may have difficulty generating a filename beginning with a . in the Windows GUI, but it can be done with the rename command at the cmd. exe prompt. ExifTool classifies tags into groups in five different families. These groups are: 0 (Information Type) AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, H264, HTML, ICCProfile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, SVG, SigmaRaw, Stim, Theora, Torrent, VCard, Vorbis, XML, XMP, ZIP 1 (Specific Location) AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible, CIFF, Canon, CanonCustom, CanonRaw, CanonVRD, Casio, Chapter, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICCProfile, ICCProfile, ID3, ID3v1, ID3v1Enh, ID3v22, ID3v23, ID3v24, IFD0, IFD1, IPTC, IPTC, ISO, ITC, InteropIFD, JFIF, JPEG, JPEG-HDR, JVC, Jpeg2000, KDCIFD, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MXF, MakerNotes, MakerUnknown, Matroska, MediaJukebox, MetaIFD, Microsoft, Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm, Pa nasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track, VCalendar, VCard, Version0, Vorbis, XML, XMP, XMP-DICOM, XMP-GPano, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-swf , XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP Audio, Author, Camera, Document, ExifTool, Image, Location, Other, Preview, Printing, Time, Unknown, Video 3 (Document Number) Sets tag value from contents of specified file dagger See the Writer Limitations for some limitations of this feature. Quotes are required around VALUE if it contains spaces or other special characters, and around the whole argument if the lt syntax is used (to prevent shell redirection). A special feature allows the print conversion to be disabled on a per-tag basis by suffixing any tag name (including all ) with the character. This has the same effect as the - n option, but for a single tag. See the - n option in the application documentation for more details. Note: Changes to PDF files are reversible because the original metadata is never actually deleted from these files. See the PDF Tags documentation for details. Group Priorities ExifTool prioritizes the following types of meta information when writing: Many tag names are valid for more than one of these groups. If a group name is not specified when writing information, then the information is added only to the highest priority group for which the tag name is valid (however, the information is updated in all groups where the tag already existed). The priority of the groups is given by the list above. Specifically, this means that new information is added preferentially to the EXIF group, or to the IPTC group if no corresponding EXIF tag exists, or finally to the XMP group. Alternatively, information may be written to a specific group only, bypassing these priorities, by providing a group name for the tag. The Writing Meta Information section above gave the syntax rules for exiftool command-line arguments to do this. Any family 0, 1 or 2 group name may be used when writing information, although not all groups are writable. The - tagsFromFile Option A special ExifTool option allows copying tags from one file to another. The command-line syntax for doing this is - tagsFromFile SRCFILE . Any tags specified after this option on the command line are extracted from source file and written to the destination file. If no tags are specified, then all writable tags are copied. This option is very simple, yet very powerful. Depending on the formats of the source and destination files, some of tags read may not be valid in the destination file, in which case they arent written. This option may also be used to transfer information between different tags within a single image or between different images. See the - tagsFromFile option in the application documentation for more details. ExifTool will not rewrite a file if it detects a significant problem with the file format. ExifTool has been tested with a wide range of different images, but since it is not possible to test it with every known image type, there is the possibility that it will corrupt some files . Be sure to keep backups of your files. Even though ExifTool does some validation of the information written, it is still possible to write illegal values which may cause problems when reading the images with other software. So take care to validate the information you are writing. ExifTool is not guaranteed to remove metadata completely from a file when attempting to delete all metadata. For JPEG images, all APP segments (except Adobe APP14. which is not removed by default) and trailers are removed which effectively removes all metadata, but for other formats the results are less complete: JPEG - APP segments (except Adobe APP14 ) and trailers are removed. TIFF - XMP, IPTC and the ExifIFD are removed, but some EXIF may remain in IFD0. PNG - Only iTXt, tEXt and zTXt chunks (including XMP) are removed. PDF - The original metadata is never actually removed. PS - Only some PostScript and XMP may be deleted. MOVMP4 - Only XMP is deleted. RAW formats - It is not recommended to remove all metadata from RAW images because this will likely remove some proprietary information that is necessary for proper rendering of the image. Some antivirus software has been known to cause problems for the Windows version of ExifTool. Norton Antivirus may delete ExifTool when it is run, Windows Defender may slow down launching of ExifTool or hang it altogether, and Bitdefender Antivirus may block ExifTool from writing files. Presumably this is due to the way the ExifTool package for Windows works -- it unpacks executable files into a temporary directory and runs from there, which apparently may be seen as a threat by antivirus software. A work-around is to add ExifTool to the exclusion list of the antivirus software. Adobe Camera Raw and DNG Converter 9.5.1 fail to recognize edited Samsung SRW images from some models (NX30, NX300, NX2000 and EK-GN120). This problem was fixed for the NX models in ExifTool 10.26, but remains for the EK-GN120 In Windows . ExifTool will not process files with Unicode characters in the file name . This is due to an underlying lack of support for Unicode filenames in the Windows standard C IO libraries. This deficiency was addressed in ExifTool 9.79, and ExifTool now supports Windows Unicode file names with some exceptions. See the WINDOWS UNICODE FILE NAMES section of the application documentation for details. Memory available to ExifTool in the Windows EXE version is limited to a few hundred MB. This limitation has been known to cause unreasonably long processing times (almost 7 minutes) for some large EPS files ( 200 MB) which are processed much faster by the Perl version (lt 6 seconds). Apple Spotlight and Preview (OS X 10.8.5) and Adobe Photoshop CC (version 14.0) ignore XMP in PNG images if it comes after the image data, which is where ExifTool adds new XMP. This should be considered as a bug in the Apple and Adobe software since XMP is allowed to exist after the image data according to the XMP and PNG specifications. ExifTool 9.40 provides the PNGEarlyXMP API option to allow writing XMP before the IDAT chunk, but there are caveats associated with its use There is a bug in the Apple RAW file support (OS X 10.4.11) which prevents some edited Pentax PEF images from being displayed properly. Other software such as the Pentax Silkypix software and dcraw have no problems with these images. This bug is fixed in OS X 10.5.4 There is a bug in a number of Adobe utilities which causes some edited Sony ARW images to be displayed with the wrong tone curve. This problem has been observed in Photoshop CS4 Camera Raw 5.6, DNG Converter 5.6 and Lightroom 2.6 with ARW images from the A500, A550, A700, A850 and A900. Other software such as the Sony IDC utility, Apple RAW utilities, dcraw and Capture One have no problems with edited images. This bug is fixed in Camera Raw 6.3 and LR 3.3 Some ExifTool options ( - if. - p. and copying arguments like - DSTTAGltSTR ) have the ability to execute Perl code from within command-line arguments. This may be a security problem if ExifTool is executed from another application that blindly passes untrusted file names on the command line (since they may be interpreted as ExifTool options if they begin with a dash). To be secure, the calling application must ensure that input file names do not start with a dash (U002D) or a Unicode minus sign (U2212). The easiest way to accomplish this is to prefix input file names with a known directory name, eg.).FILENAME . Have you ever forgotten to set the datetime on your digital camera before taking a bunch of pictures ExifTool has a time shift feature that makes it easy to apply a batch fix to the timestamps of the images (eg. change the Date Picture Taken reported by Windows Explorer). Say for example that your camera clock was reset to 2000:01:01 00:00:00 when you put in a new battery at 2005:11:03 10:48:00. Then all of the pictures you took subsequently have timestamps that are wrong by 5 years, 10 months, 2 days, 10 hours and 48 minutes. To fix this, put all of the images in the same directory ( DIR ) and run exiftool: The example above changes only the DateTimeOriginal tag, but any writable date or time tag can be shifted, and multiple tags may be written with a single command line. Commonly, in JPEG images, the DateTimeOriginal, CreateDate and ModifyDate values must all be changed. For convenience, a shortcut tag called AllDates has been defined to represent these three tags. So, for example, if you forgot to set your camera clock back 1 hour at the end of daylight savings time in the fall, you can fix the images with: Note: Not all datetime information is covered by the AllDates shortcut. Specifically, the filesystem datetime tags are not included, and this command will reset FileModifyDate to the current datetime as it should when the file is modified, unless either the - P option is used, or FileModifyDate is set to something else. To shift FileModifyDate along with the other tags, add - FileModifyDate-1 to the command above. By writing a new value to the FileName andor Directory tags, files can be renamed andor moved to different directories. This can be a very powerful tool in combination with the - d (date format) option for organizing images by datetime. For example, the following command renames all images in directory DIR according to the individual files creation date in the form YYYYmmddHHMMSS. ext . Or a new directory can be specified by setting the value of the Directory tag. For example, the following command moves all images originally in directory DIR into a directory hierarchy organized by yearmonthday: Read here for more details about this powerful feature. There is a significant overhead in loading ExifTool, so performance may be greatly improved by taking advantage of ExifTools batch processing capabilities (the ability to process multiple files or entire directories with a single command) to reduce the number of executed commands when performing complex operations or processing multiple files. dagger One exiftool user documented a 60x speed increase by processing a large number of files with a single command instead of running exiftool separately on each file. Also, the - execute option may be used to perform multiple independent operations with a single invocation of exiftool, and together with the - stayopen option provides a method for calling applications to avoid this startup overhead . It has also been observed that the loading time of ExifTool for Windows increases significantly when Windows Defender is active. Disabling Windows Defender may speed things up significantly. The processing speed of ExifTool can be improved when extracting information by reducing the amount of work that it must do. Decrease the number of extracted tags by specifying them individually ( - TAG ) or by group ( - GROUP:all ), and disable the composite tags ( - e ) and the print conversions ( - n ) if these features arent required. Note that the exclude options ( - x or --TAG ) are not very efficient, and may have a negative impact on performance if a large number of tags are excluded individually. The - fast option can significantly increase speed when extracting information from JPEG images which are piped across a slow network connection. However, with this option any information in a JPEG trailer is not extracted. For more substantial speed benefits, - fast2 may be used to also avoid extracting MakerNote information if this is not required. When writing, avoid copying tags (with - tagsFromFile ) or using the - if or - fileOrder option because these will add the extra step of extracting tags from the file. Without these the write operation is accomplished with a single pass of each file. dagger However, note that when the - csv option is used, information from all files is buffered in memory before the CSV output is written. This may be very memory intensive and result in poor performance when reading a large number of files in a single command. The exiftool script provides a command-line interface to the Image::ExifTool Perl library module which is part of the ExifTool distribution. The Image::ExifTool module can be used in any Perl script to provide easy access to meta information. Here is an example of a very simple script that uses Image::ExifTool to print out all recognized meta information in a file: Note that some tag values may be returned as SCALAR references indicating binary data. The simple script above does not handle this case. Below are some free utilities which take advantage of the ExifTool engine: ExifTool GUI for Windows. GUI for viewing meta information with some editing features Metadata. View, edit, extract, copy metadata metadata Auto ISO Tool. GUI front-end for ExifTool to patch Canon ISO information GeoSetter. Utility for showing and changing geo data of image files ExifMixer. GUI extension for the exiftool command-line interface AvPicFaceXmpTagger. Write Picasa 3.5 face recognition information as XMP to your images FileTagSleuth. MP3, ID3 and EXIF viewer PhotoMove. Automatically move photos to directories or folders based on Exif date taken GUI2 for ExifTool. An ExifTool GUI with built-in editor and browser AutoJpegTrunk. Tool to remove all metadata from JPEG images AdvancedRenamer. Rename files and folders from metadata Proxel EXIF Tool. Photoshop plugin based on ExifTool EXIFCopy. Copy all EXIF information between files Random Photo Screensaver. Photo screensaver with metadata display PicaGeoTag. Geolocate your photos Download a stand-alone droplet to extract preview images from RAW files (thanks to Brett Gross) Download three droplets to extract information exiftool must be installed (thanks to Rob Lewis) MacMetaMod. Droplet for adding Keywords to images GPSPhotoLinker. Geotagging on the Mac PhotoGPSEditor and PhotoInfoEditor. Geocoding utilities MetaDataMover (source ): GUI-based automator utility for movingrenaming images CS1ToCR2. Utility that uses Sony GPS-CS1 log files to add GPS information to CR2 images Geotagger. Droplet for inserting GPS coordinates in your photos Raw Photo Processor. Raw converter for Mac OS X GraphicConverter. Full-featured image editor noteworthy, but not free GeoTag. Geotagging application for iPhone and OS X ImageFuser. Fuses multiple exposures of a scene into one image with improved detailexposure GeoNamesTagger. Docklet to easily update image metadata with location specific information SetEXIFData. Addmodify EXIF data in images rawimage: A kfile plugin and thumbnail image handler for RAW formats Hugin. Panorama photo stitcher FotoPreProcessor. PyQt4-based frontend for exiftool to graphically edit metadata ExZenToo. Script for basic ExifTool GUI using Zenity PDFMted. A set of bash scripts for easy viewing and editing of PDF metadata exiftool-zsh-completion. zsh completion for exiftool ImageIngester. Windows and Mac OS X image workflow automator gpsPhoto. Geotag your images from a GPS (GPX) track log renrot. Perl utility to perform various processing tasks on images GPicSync. WindowsLinux utility to geocode photos from a GPX track log and create KML files FlickFleck. Tool to transfer images from memory card, rotate, rename, and organize by date Geotag. Open source Java-based geotagging application PhotoGrok. Java-based GUI front-end for ExifTool to display images organized by any EXIF tag XnView. View and convert graphic files Mapivi. Open-source and cross-platform picture manager ResourceSpace. Open source digital asset management system fixcorruptednef. Utility to fix Nikon D4D600D800D800E NEF images corrupted by Nikon Transfer 1 pyExifToolGUI. Python-based graphical frontend for ExifTool MDQC. AVPreserve tool for metadata quality control across large numbers of digital assets FastPhotoTagger. Add metadata to images (requires Java runtime engine) Digi-libris. Metadata centric software for the automatic organization of your own catalogue FreezeFrame. Photovideo library manager (requires Java 8) Jeffreys Geoencoding Plugin for Lightroom. Geoencode your photos from within Lightroom Metadata Wrangler. Strip selected metadata components from images as they are exported ExifMeta. Make all exif metadata available in Lightroom for lib filtering and smart collections FullMetaExport. Export JPEG images from Lightroom with full metadata LensTagger. Add EXIF information like aperture and focal length for manual lenses DeAspect: Remove aspect ratio information from DNG, CR2 and ORF images to restore full image PhotoStation-Upload-Lr-Plugin. Export photos from LR directly to a Synology PhotoStation C ExifTool. Performance-oriented C interface for the exiftool application (by Phil Harvey) Download sample AppleScript to extract tags into AppleScript record (thanks to Rob Lewis) Download example of a simple Visual C wrapper for exiftool (thanks Mark Borg and 406432979026124) Download C version of simple exiftool wrapper (thanks Willem Semmelink) Download Visual Basic 6.0 example script v1.01 for reading tags with exiftool (thanks Michael Wandel) Sample VB subroutine to extract a preview image (thanks Claus Beckmann) tagInfoSql. SQLite database of ExifTool tag repository, including Perl script (thanks Wernfried) ExifToolIO. NET wrapper for ExifTool, optimized for speed (using VB) ExifToolWrapper. NET wrapper for ExifTool (using C) MiniExiftool. Ruby library wrapper for ExifTool exiftoolr. Ruby wrapper for ExifTool pyexiftool. Python wrapper for ExifTool PyExifInfo. Another Python wrapper for ExifTool PHPExiftool. PHP wrapper for ExifTool (in development) ExifToolPHPStayOpen. ExifTool PHP fast processing script using - stayOpen and Gearman Moss. Collection of Java utilities which includes an exiftool interface im4java. Java interface to ImageMagick, ExifTool, and other image utilities Java ExifTool. Enhanced Java Integration for ExifTool J-ExifTool. Open-source, cross platform Java7 library to readwrite Exif tags in images exiftool-vendored. Blazing-fast, cross-platform Node. js access to ExifTool How to call ExifTool from Delphi. by Bogdan Hrastnik There is still much unknown information in the maker notes for many camera models. (To see this information, run exiftool with the - U option.) In this area, ExifTool is very much a collaborative effort, and development relies heavily on the input from camera owners to help decode new meta information. If you manage to figure out what any of it means, send me an e-mail (phil at owl. phy. queensu. ca) and Ill add your new discoveries to ExifTool . Many thanks to all who have helped so far. Thanks to everyone who has sent in bug reports, comments, or suggestions, and special thanks to the following people for their valuable input andor additions to the code: Malcolm Wotton for his help with the D30 Custom Functions David Anson for his help sorting out binary file problems on Windows Leon Booyens for his suggestions Dan Heller for his bug reports, detailed suggestions and guidance Wayne Smith for his help figuring out the Pentax maker notes Michael Rommel for his bug fixes and additions to the Canon maker notes Joseph Heled for help figuring out some of the Nikon D70 maker notes Joachim Loehr for adding the Casio type 2 maker notes Greg Troxel for his suggestions and for adding ExifTool to pkgsrc Thomas Walter for figuring out some Nikon tags Brian Ristuccia for more information about some Nikon tags Christian Koller for decoding the 20D custom functions Matt Madrid for his testing and feedback Tom Christiansen for his help decoding some Nikon tags Markku Haumlnninen for h elp decoding tags for the Olympus E-1 Frank Ledwon for decoding many new Olympus tags Robert Rottmerhusen for decoding many tricky Nikon lens data tags Michael Tiemann for decoding a number of new Canon tags Albert Bogner for his image samples, testing and useful suggestions Rainer Houmlnle for decoding a number of new Canon 5D tags Nilesh Patel for his help with the web page layout Jens Duttke for his suggestions, bug reports and help decoding new tags Dave Nicholson for decoding new tags in Pentax and Canon maker notes Bogdan Hrastnik for his feedback, decoding efforts, user support and ExifTool GUI Igal Milchtaich for decoding many Sony A100 tags Laurent Clevy for his work analyzing Canon RAW images Warren Hatch for decoding many Nikon tags Jos Roost for decoding many Sony tags for various models Iliah Borg and LibRaw for decoding many raw development tags This is free software you can redistribute it andor modify it under the same terms as Perl itself . ExifTool is free, but due to popular request I am providing a way for those who feel the need to send me some money. It is really not necessary, but thank you very much if you decide to make a contribution: If you have any comments, suggestions or questions, please post to the ExifTool Forum so other people may benefit from your experiences. (I check the forum at least as often as my email.) Otherwise, if you must contact me directly, my e-mail address is on the first line of the README file in the full distribution. ขอบคุณ - Phil Harvey

No comments:

Post a Comment