autosp - hướng dẫn tham khảo, tùy chọn, ví dụ về lệnh


TÊN

autosp - bộ tiền xử lý để tạo các lệnh giãn cách nốt nhạc cho các bản nhạc MusiXTeX

TÓM TẮT

autosp [-v | --version | -h | --help]

autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]

SỰ MIÊU TẢ

Chương trình này giúp tạo điểm MusiXTeX dễ dàng hơn bằng cách chuyển đổi các lệnh (không chuẩn) có dạng \anotes ... \en thành một hoặc nhiều lệnh giãn cách nốt thông thường (\notes \Notes \NOtes ...), được xác định bởi các giá trị nốt thực tế, với các lệnh giãn cách \sk được chèn khi cần thiết. Mã hóa cho toàn bộ thước đo có thể được nhập từng phần một mà không cần quan tâm đến các thay đổi về khoảng cách nốt trong phần hoặc các yêu cầu về khoảng cách của các phần khác.

Ví dụ, nếu áp dụng cho


    \anotes\qa J\qa K&\ca l\qa m\ca n\en 

autosp tạo


    \Notes\qa J\sk\qa K\sk&\ca l\qa m\sk\ca n\en

Thông thường, lệnh \anotes tạo ra một số lệnh giãn cách ghi chú thông thường.

Nếu đối số infile không có phần mở rộng .aspc, đầu vào được lấy từ infile.aspc nếu tệp đó tồn tại.

Nếu đối số tệp ngoài không có phần mở rộng .tex, đầu ra sẽ được gửi tới tệp ngoài.tex. Nếu không cung cấp đối số outfile, đầu ra sẽ chuyển đến infile.tex (hoặc infile.ltx nếu gặp phải khai báo \documentclass).

Đối với các lệnh \anotes, ngắt dòng và dấu cách có thể đi trước các phân đoạn ghi chú, cho phép định dạng nguồn linh hoạt hơn; các ngắt dòng và khoảng trắng sẽ được loại bỏ khỏi đầu ra.

Ví dụ,


  \anotes
    \ibl0K0\qb0K\nbbl0\qb0{.K}\tbbbl0\tbbl0\tql0L&
    \ibbl1m{-2}\qb1{.m}\tbbbl1\tbbl1\qb1l\tql1k\en

được chấp nhận và tạo ra


  \notesp\ibl0K0\qb0K&\ibbl1m{-2}\qb1{.m}\en
  \nnotes\sk&\tbbbl1\tbbl1\qb1l\en
  \notesp\nbbl0\qb0{.K}&\tql1k\en
  \nnotes\tbbbl0\tbbl0\tql0L&\sk\en

Nếu tùy chọn -l ( --log ) được sử dụng, nhật ký infile.alog rất chi tiết sẽ được tạo.

Nếu tùy chọn -d ( --chấm) được sử dụng, ghi chú tia chấm có dạng \qb{n }{.p} không được cung cấp thêm dung lượng; người ta cho rằng ghi chú tiếp theo sẽ được dịch chuyển bởi lệnh giống như \roff hoặc lệnh giãn cách như \qsk hoặc \hqsk. Các lệnh dạng \qlp{p}, \qlpp{p}, ..., \qpb{n}{ p} và \qppb{n}{p} luôn cách nhau như đã chỉ ra.

Nếu chỉ có một khuông nhạc, các thanh nghỉ toàn thanh liên tiếp sẽ được hợp nhất thành một thanh nghỉ nhiều thanh. Phần còn lại tập trung vào ô nhịp có thể được mã hóa bằng cách sử dụng ký hiệu \def\atnextbar tiêu chuẩn nhưng lệnh không chuẩn \Cpause (hoặc \Cp) trong đoạn ghi chú cũng tạo ra phần còn lại tập trung vào ô nhịp.

Các lệnh giãn cách \sk và \bsk trong nguồn sẽ bị loại bỏ, nhưng không bỏ qua các lệnh bỏ qua "nhỏ" \hsk, \qsk, \tqsk, \hqsk hoặc \qqsk hoặc các lệnh bỏ qua "lùi" nhỏ \hbsk, \bqsk, \bsk, hoặc \bhsk. Ngoài ra, các lệnh không chuẩn \Qsk, \HQsk \TQsk và \Qsk trong nguồn tạo ra các bước bỏ qua "toàn cầu"; tức là, ảnh hưởng của \qqsk, \hqsk, \tqsk hoặc \qsk, tương ứng, trong mọi nhân viên. Những điều này đảm bảo rằng các nhân viên vẫn được đồng bộ hóa nếu cần thêm khoảng cách trong bất kỳ (các) nhân viên nào.

Bỏ qua toàn cầu cũng có thể đạt được trong các chuỗi mã hóa tập thể bằng cách sử dụng tối đa bốn dấu phẩy liên tiếp để có được hiệu ứng của \QQsk, \HQsk, \TQsk hoặc \Qsk, tương ứng. Bỏ qua toàn cầu \tqsk (hoặc, đối với dấu hai chấm, \qsk) được tự động chèn vào trước các dấu ngẫu nhiên ('^', '_', '=', '<', '>') trên các ghi chú mã hóa tập thể (ngoại trừ khi ghi chú trước là "ảo"; tức là bỏ qua). Nếu khoảng cách bổ sung tự động này không cần thiết trong một số ngữ cảnh, thì có thể tránh được khoảng cách này bằng cách thay thế ngẫu nhiên trong chuỗi mã hóa tập thể bằng bất kỳ lệnh ngẫu nhiên rõ ràng nào: \sh , \fl, \na, \smallsh, \bigsh, v.v. Nếu khoảng cách tự động không đủ, khoảng cách có thể được tăng lên bằng cách thêm đủ dấu phẩy hoặc sử dụng lệnh ghi chú thông thường thay vì \anotes.

Một đoạn ghi chú có thể hoàn toàn trống, nhưng nếu một đoạn ghi chú phải bắt đầu bằng hoặc chứa một "dấu cách", thì giá trị ghi chú của khoảng trống đó phải được làm rõ bằng một lệnh có dạng \ha{*}, \qa{.*}, \qa{*}, \ca{*}, v.v.

Từ phiên bản 2017-06-14, hiệu ứng của lệnh gọi \TransformNotes được bộ xử lý trước autosp triển khai. Điều này cho phép sử dụng musixlyr trong các bản nhạc autosp; musixlyr.tex không tương thích với triển khai musixtnt.tex của \TransformNotes.

Tất cả các lệnh MusiXTeX thông thường khác đều được xuất chính xác như đã cho trong đầu vào.

HOẠT ĐỘNG

autosp xác định khoảng cách cho ghi chú thông thường từ chính lệnh ghi chú; Ví dụ,

+
\qa, \qu, \ql, \qp 

kết quả là

\NOtes; 
+

\ca, \cu, \cl, \ds

kết quả là

\Notes; 

và như thế. Khoảng cách cho các ghi chú được chiếu theo tia được xác định bởi bội số của tia, sao cho \ib... dẫn đến \Notes, \ibb... dẫn đến \notes, v.v.

Việc mã hóa tập hợp các chuỗi nốt (bao gồm cả dấu ngẫu nhiên và dấu chấm) được xử lý bằng cách mở rộng chuỗi thành một chuỗi các lệnh nốt riêng lẻ.

autosp chia tỷ lệ nốt theo giá trị kích thước nhạc cụ có liên quan.

HẠN CHẾ

autosp giả định rằng & và | (chứ không phải \nextinstrument và \nextstaff) được dùng để phân tách dụng cụ và nhân viên.

Appoggiaturas và ghi chú ân sủng được nhận dạng bằng cách sử dụng \tinynotesize; khoảng cách ghi chú là 1,45\elemskip được sử dụng. Nếu điều này không phù hợp và không thể sửa chữa bằng một bước nhỏ, có thể sử dụng lệnh \vnotes với bất kỳ khoảng cách mong muốn nào.

autosp hỗ trợ x-tuplets được giới thiệu bằng \xtuplet{x} hoặc \xxtuplet{x:y} và <bộ ba được giới thiệu bằng cách sử dụng bất kỳ lệnh nào sau đây (bất kể mọi định nghĩa lại của \txt hoặc \tuplettxt):


  \triolet
  \uptrio
  \downtrio
  \uptuplet
  \downtuplet

autosp giả định rằng một x-tuplet sẽ được phát trong (x-1)/x thời lượng rõ ràng của x-tuplet. Vì vậy, ví dụ, một liên ba ở quãng tám được cho là được chơi trong thời gian của một nốt đen. Nếu giả định này không hợp lệ, x-tuplet phải được mã hóa rõ ràng bằng cách sử dụng lệnh \vnotes thích hợp; xem thước đo đầu tiên của barant2.aspc để biết ví dụ về x-tuplet không chuẩn: bộ 5 của nốt thứ 64 với thời lượng dự kiến là sáu thứ 64.

Trong một số bản nhạc đa nhịp điệu, chữ số \txt có thể bị dịch chuyển, ngay cả khi bản thân các nốt được đặt cách nhau chính xác. Trong những trường hợp này, có thể chặn đầu ra thông thường của \txt bằng cách sử dụng các lệnh không chuẩn \Triolet (không đối số) hoặc \Xtuplet{k}\ và đặt một chữ số vào đúng vị trí bằng cách sử dụng \zcn (nghĩa là\zcharnote).

autosp có thể xử lý các bộ x đồng thời trong nhiều khuông với điều kiện là các giá trị x và tổng thời lượng của nốt giống hệt nhau.

Trong một số bản nhạc baroque, đặc biệt là của J.S. Bach, nốt thứ mười sáu trong chùm tia được xếp theo chiều dọc với nốt thứ ba của bộ ba nốt thứ tám ở một khuông nhạc khác (ngụ ý rằng chúng phải được phát ra đồng thời); ví dụ.,


    \ibl0L0\qb0{.L}\tqql0L

sẽ được chơi như thể ký hiệu


    \uptrio{b}10\ql L\hroff{\cl L}

Mã hóa sau đây sẽ căn chỉnh nốt thứ mười sáu được chiếu bằng nốt thứ ba của một bộ ba trong khuông nhạc khác:


    \ibl0L0\qb0{.L}\hbsk\tqql0L

và, tương tự, đối với bộ ba nốt thứ mười sáu:


    \ibbu0J0\qb0{.J}\hbsk\nqqqu0J\qb0{.J}\hbsk\tqqqu0J

Nói chung, macro do người dùng xác định không được xử lý hoặc mở rộng; tuy nhiên, định nghĩa của các hình thức


    \def\atnextbar{\znotes ... \en}

tạo các định nghĩa có tính đến \TransformNotes.

Tất cả các nhân viên được cho là có cùng một đồng hồ đo; xem kinder2.aspc để biết ví dụ về cách giải quyết vấn đề này.

autosp có thể không hiệu quả đối với nhạc có nhiều giọng nói trong một khuông nhạc. Có thể nên sử dụng một khuông nhạc riêng cho từng giọng nói, để tránh \anotes khi cần thiết hoặc bỏ qua một số giọng nói nhất định ban đầu và thêm chúng vào tệp TeX kết quả.

VÍ DỤ

Xem các tệp quod2.aspc, kinder2.aspc, geminiani.aspc và barsant2.aspc để biết điểm số phù hợp để nhập vào autosp. Có thể sử dụng chương trình tex2aspc để chuyển đổi điểm số MusiXTeX "cũ" sang định dạng .aspc.

XEM THÊM

msxlint(1) tex2aspc(1)

musixdoc.pdf

TÁC GIẢ

Chương trình và trang hướng dẫn này được viết bởi Bob Tennent .