SuperAPI AI Directory

mc-workflow

Agents & models

View repository

Updated 10-15 23:42

About this skill

Music Composition Workflow & Routing (作曲编曲工作流与路由)

For any composition/arrangement request, read this skill first, then decide which other one to read.

The output of this libraryis not audio, it is an ARR-SPEC(arrangement specification sheet). The audio is generated by the backend; the specification sheet determines what it looks like and how to accept it.

The fundamental stance of this library: AI flavor is not a timbre problem, it isthat no one has made choices. The entire process is a machinethat forces choices to be made。


0. Thirty-second positioning: where should I go

What you want to do now Go to
Start a song from scratch §1 Stage table, start from S0. ★ S2a must be read first mc-development then fill in material and form[].development, filling in only according to the schema's field descriptions will write each section as a new scene
Already have a brief, need to produce a specification sheet S1–S4 of §1 (S2 is now split into S2a material and development, S2b harmony)
Specification sheet is written, need to generate S5 of §1 + mc-render-compile
Generation came back, something is off §4 Diagnostic path
Don't know which skill a certain problem belongs to §2 Whole-library boundary table
lint fails §3.2
Need to hand off to lyric writing, mixing, editing, etc. other departments / other people §5 External interfaces
Need to verify: whether the chosen skill is correct, which of two versions is better, whether the backend followed through §6 Three verification methods
Need to blend two styles(rap + Chinese style, city pop + EDM…) ★ §2.4

1. Stage table S0–S7

Each stage has clear deliverables and gates. If the gate is not passed, you may not enter the next stage.

Stage What to do Deliverable Gate Primary skill
S0 Concept Turn the brief into "do only one thing" intent four items All four items complete,borrow may not write only the song title This skill §3.1
S1 Skeleton Set key, meter, tempo, form table meta + form Sections connect end to end;may not all be multiples of 8 mc-form、mc-harmony、mc-arrangement-arch
S2a Material and development Set the theme motif, which section the original statement is in, what each section does with it material + form[].development Read first mc-development then fill in; motif and stated_in are non-empty; every section's development is filled in; sections filled with new are not more than half mc-development、mc-melody
S2b Melody and harmony Write the main melody, chord progression, necessary counterpoint form[].harmony + harmony_letters Both notations must be present; at least one section has a non-diatonic chord mc-melody、mc-harmony、mc-progressions、mc-modulation、mc-counterpoint
S3 Instrumentation Who is present, when they enter and exit, what frequency band they occupy arrangement all sections Energy curvemust have a descent; at least one instrument exits early; at least one subtraction event mc-arrangement-arch、mc-orchestration、mc-texture-layering、mc-rhythm-section、mc-sound-design
S4 Vocal and Mix Intent How to sing, how to place the soundstage vocal + mix_intent Dynamicsdifferent section by section; chorusvaries with each pass; width takes at least two values mc-vocal-direction、mc-mix-intent
S5 Compilation spec sheet → inputs for each backend render.* Self-check against the 20 items in §3.0; fix the ones that fail or write down the reason mc-render-compile、mc-symbolic-score
S6 Generation Run the backend, take multiple versions Audio According to backends.yaml 's honors determine which fields can be counted on mc-render-compile
S7 Acceptance compute first, then listen compliance rate + AI-flavor flags Look at two things separately first: whether the backend complied, and whether the finished product has machine fingerprints; the ears step in after that mc-ai-tell-audit

1.1 ★ Three steps whose order must not be skipped

  1. intent If not aligned, do not write form —— this is the only hard gate in the entire process
  2. If the 17 items fail, do not compile —— failure means the spec isn't finished, not nitpicking. ★ Self-check item by item per §3.0,do not write a lint script for this
  3. If the compliance rate fails, do not rework by ear —— change the spec and regenerate first; the ears are the last small step

Item 3 is the easiest to break. "It sounds wrong to me, let me tweak the mix"—— at that moment you go fromspec-drivenback tofeel-driven, and feel-driven output cannot be reproduced, cannot be A/B'd, and cannot accumulate.

1.2 How the ears intervene (after S7)

Listen only after the compliance rate passes, and do it this way:Shuffle A/B → pairwise comparison → listen to the same pair twice to see if the conclusion is stable. Two passes are not extra caution: the auditory system changes its own processing strategy under repeated exposure, and the same sound may yield different conclusions the second time; this kind of judgment is naturally prone to irreproducibility (p0251-p0252). Two inconsistent conclusions = the difference does not exist, don't change it.

If a long time separates the two listens, also guard against the opposite bias: the ears gradually adapt to timbre changes under sustained exposure, and the more you listen the more the two versions seem the same, making it easy to misjudge a real difference as "nonexistent" (p0342).Leave a gap between the two judgments, don't switch back and forth continuously, which guards against both at once.


2. Whole-library boundary table

Every decision has exactly one owner. When unsure, consult this table.

2.1 Look up by question

Question Owner
What is this song supposed to do this skill S0
What form to use, how long the sections are mc-form(music theory) + mc-arrangement-arch(asymmetry and energy)
How to write the melody, singability mc-melody
How to choose chords, how to voice them mc-harmony
Look up a ready-made progression mc-progressions
How to modulate mc-modulation
What the rhythm pattern is mc-rhythm-groove
How voices become independent, how to avoid parallels mc-counterpoint
How a motif grows into a section, how a section grows into a song mc-development(L1); the melody itself is in mc-melody, the paragraph function is in mc-form
when instruments enter and exit, the energy curve mc-arrangement-arch
which instrument to use, blended timbres mc-orchestration
how to divide the frequency bands, who competes with whom, foreground/midground/background mc-texture-layering
whether it sounds human, how the bass and kick drum pair up mc-rhythm-section
how to make the synth timbre mc-sound-design
how the vocals sing, how to add harmony mc-vocal-direction
how to place the soundstage, who makes way for whom mc-mix-intent
how this style should be done mc-style-*(L3)
how the spec sheet becomes a prompt mc-render-compile
need to output ABC / MIDI / MusicXML mc-symbolic-score
where the generated stuff looks like AI mc-ai-tell-audit
find a breakdown of a real work mc-case-studies

2.2 The six groups of boundaries most easily confused (★ memorize each one)

A ⇄ B Boundary
mc-form ⇄ mc-arrangement-arch form governs what the musical form is (music theory), arrangement-arch governs why this song is cut this way (decision)
mc-rhythm-groove ⇄ mc-rhythm-section groove governs what the rhythm itself is, rhythm-section governs how to play it out like a human
mc-texture-layering ⇄ mc-mix-intent texture's solution is "rewrite" (change register/reduce notes/alternate), mix-intent's solution is "remix" (frequency/sidechain/dynamics). What can be solved by rewriting must not be left to mixing
mc-orchestration ⇄ mc-sound-design orchestration governs real instruments and blending, sound-design governs the design of synthesized timbres
mc-sound-design ⇄ sound (sound effects, Foley) This library's sound-design ismusical timbre; the film/TV sense of "sound design" (sound effects/Foley/space) issoundthis function's business, same name but different thing
This library ⇄ lyric writing Everything about lyrics is lyric writing's business, including lyric-melody alignment (fuwari, jiamari, daoji, xieyin)—that is the lyric process; this library reads the same song's lyrics (meta.upstream.lyrics), for who defines and who reads the shared six fields see §5.1

2.4 ★ Style blending: not blending evenly, but signing off dimension by dimension

★ Boundaries are division of labor, not prohibitions. The purpose of isolation is to make every choice have someone signing off on it, not to lock the style down. When writing a J-Pop spec, borrowing a city pop ura chord along the way, or when writing Chinese style the bass goes hip-hop 808—as long as in style_layers / fusion_note you write a line saying why, it is a legitimate blend;slight crosstalk is completely acceptable, what really needs to be guarded against is "no one chose it, it just defaulted to looking like that."

Contamination isolation ≠ prohibition of blending. The difference between the two is only one thing:

Blending is a written-down choice; contamination is no one choosing. A rap + Chinese style song (such as Silence Wang's "Peach Blossom Fan") is completely valid—provided the spec sheet can statewhich dimension belongs to whom。

Method:meta.style_layers fill in a division-of-labor table (schema §1.1.1), one base + several overlay, for each layer write clearly which owns dimensions it covers:

Dimension "Peach Blossom Fan"-style division (illustrative)
harmony、melody、color_instruments Chinese style (pentatonic melody, folk instrument samples as color layer)
(for the complete division of labor see mc-style-hiphop §8.1)
groove、low_end、vocal_delivery_verse hip-hop (groove, 808, verse flow)
vocal_delivery_chorus、form Chinese style chorus singing, structure is still verse-chorus

★ owns isa closed set, you can only choose from these fourteen: harmony melody groove low_end fill_policy instrumentation color_instruments timbre arrangement_hook vocal_delivery(can be split into vocal_delivery_verse / vocal_delivery_chorus) form mix. If the thing to be assigned is not in the table, assign it to the closest one, and in fusion_note write a sentence of explanation,do not invent names。

Three rules(self-check for rule 18):

  1. Each dimension has only one owner—both layers claim groove = two default values stacked together, and neither was chosen
  2. Each layer owns at least one dimension—otherwise it was merely read and had no effect
  3. fusion_note say in one sentence why this combination holds—if you cannot say it, it is forced

How to use each L3's transplant table: what overlay brings in is exactly the items marked in its transplant table as "cannot be moved / will be recognized"— that is the distinctiveness you want. But each item moved in must be signed off in owns , and check whether the base style's transplant table allows giving up that dimension (for example, city pop's transplant table says "rushed bass can be moved", so when the base is city pop, groove giving it to someone else requires second thoughts).

On routing: a mixed brief shouldread all named L3 skills, and this does not count as contamination; readingnot namedstyles is what does.

2.3 Things not belonging to this package

Content Which function it belongs to
EQ frequencies, compression ratios, reverb parameters, bus chain, mastering Sound (mixing, mastering); this package only provides mix_intent this intent
Film/TV sound effects, Foley, ambience, spatial design Sound(recording, sound effects)
Score structure that follows the picture, cue sheet, spotting Scoring(writing music for the picture)
Lyric writing, rhyming, imagery, narrative person Lyric writing。★ Three cases for lyrics: userdid not mention lyrics → may or may not produce them; if produced, note in checks.exemptions that "lyrics did not go through the lyric-writing process"; user explicitly wantspure music / light music / instrumental → do not add a single word, leavevocal blank; userexplicitly wants lyrics → lyrics must be produced; if there are lyrics for the same song (meta.upstream.lyrics), follow them; if not, write according to this library's mc-vocal-direction and record the exemption. When only indicating vocal rhythm (rap flow, chorus syllable count), use placeholder syllables (da-da / la-la) or X marks
Commercial process (compe, demo vocals, copyright, revenue split) Not done

3. ARR-SPEC: the only handoff artifact of this library

The complete specification is in this skill directory's ARR-SPEC.schema.md(v1.0), blank template ARR-SPEC.template.yaml, backend capability profile backends.yaml。 ★ Before writing the spec sheet, Read the template first and fill in according to its field names—in practice, if the agent does not look at the template, it will invent its own fields (intent.scene/borrow、push_pull written as a string). (These three files are all the "formats" delivered with this library—apart from Reading them, no tools are needed.)

3.1 One thing, four uses

Use How to use
External handoff This is the one for mixers, musicians, lyricists, and other departments (§5)
AB test subject Change one field → regenerate → compare.Variables controllable
Compilation source mc-render-compile Compile it into a Suno prompt / YuE input / MIDI
Acceptance baseline Compare what comes back field by field against it, to see how much the backend followed through

★ The second and fourth are key:Without a spec sheet there is no controllable experiment, and without a controllable experiment you can only rely on feeling.

3.0 ★ The 20-point self-check after writing

This library does not require any tools on the user's machine—no lint, no scripts, no assumption of Python or Node. After writing the spec sheet, go through the following 20 points one by one yourself, and write the results into checks.self_audit。 ★ These are criteria, not iron laws: if a point fails, either change it, or write in one sentence why this song should be this way. A deviation with a written reason is a legitimate choice;None of them will "block" the later compilation. ★ Do not write scripts just to check (an agent has actually been observed doing this, wasting many rounds)—all 20 points can be judged with your eyes.

# Self-check question Corresponding field
1 intent Are all four items filled in?reference_pair Exactly 2 items and each item states "which point is borrowed"? intent
2 Each section's start_bar end-to-start connected? (previous section start + bars = next section start) form
3 At least one section's bars is not a multiple of 8? form[].bars
4 energy_curve 's key set == form 's id set? (no more, no less) energy_curve
5 Does the energy curve decrease at least once? energy_curve
6 subtraction_events ≥ 1? subtraction_events
7 Each instrument has entry; at least one exit is not end? roster
8 arrangement_hook.what non-empty? hooks
9 Does at least one non-Intro/Outro section have an out-of-key chord or modulation marker? form[].harmony
10 fill_policy.bars is not an arithmetic sequence with common difference 4? groove
11 push_pull At least one item offset_ms ≠ 0, and each item is a {part, offset_ms, note} dictionary? groove
12 width_map At least two values? mix_intent
13 style_prompt non-empty and without epic/emotional/beautiful;section_tags if manually filled, consistent with form section count and order (derived from form[].name , may be left unfilled)? render.suno
14 Σbars × 每小节拍数 ÷ tempo × 60 and target_duration deviation ≤ 10%? meta
15 When there are vocals, dynamics_by_section at least two values? (skip for instrumental works) vocal
16 When there are vocals, chorus_variation non-empty? (skip for instrumental works) vocal
17 For multiple styles: exactly one base; each dimension has only one owner; each layer has at least one dimension;fusion_note non-empty? meta.style_layers
18 material.motif and stated_in non-empty; each section's development filled in;new no more than half; at least one section repeat or recap; chorus repetitions are not all new? material form[].development
19 Chord spellings all ASCII, suffixes in a closed set (maj7 m7b5 dim, do not write △ ø ° ♭ ♯ ×)? form[].harmony_letters harmony
20 key is "tonic major/minor";mode within the enumeration; section names within the closed set;subtraction_events[].at is {section, bar_offset} Isn't this structure a sentence? meta form[].name subtraction_events

YAML self-check(where agents most often write it wrong):

  • List fields (roster / sound_stage / push_pull / emotional_arc …) - {…} entries belowcannot have note: keys attached—for comments use same-level xxx_note: or #
  • Space after colon; quote values containing colons; indent consistently with two spaces

3.2 What to do if the self-check fails

Failing items usually point to a skill you haven't read, not something to force-fill:

Failing item Most likely which skill wasn't read
1 (intent incomplete) S0 in §1 of this skill—go back and think it through, don't force-fill
2, 3, 14 (sections and duration) mc-arrangement-arch §4
4, 5 (energy curve) mc-arrangement-arch §2
6 (subtraction events) mc-arrangement-arch §3
7 (arrangement entry and exit) mc-arrangement-arch §5
8(arrangement_hook) mc-arrangement-arch §7
9 (harmonic monotony) mc-harmony、mc-modulation
10, 11 (fill and groove) mc-rhythm-section §3、§8
12 (constant width) mc-mix-intent §2
13 (incomplete compilation) mc-render-compile
15, 16 (vocals) mc-vocal-direction §1、§4

Exemption rules: write into checks.exemptions,must include a reason. Silently skipping = not finished.

3.3 ★ Default value comparison table for generation backends

Backends drift toward the left column when given no instructions. The corresponding ARR-SPEC fields exist precisely to pull them back.

Backend default tendency Counter field lint
Sections equal length, all multiples of 8 form[].bars #3
Energy monotonically rising to the end energy_curve #5
Instruments all laid out from the start roster[].entry —
All instruments sounding from start to finish roster[].exit #7
Only adding, never subtracting subtraction_events #6
A transition every 4 bars fill_policy.bars #10
All parts strictly aligned to the grid groove.push_pull #11
Vocals at one intensity throughout vocal.dynamics_by_section #15
Chorus copied verbatim each time vocal.chorus_variation #16
Vocal pitch perfectly in tune vocal.pitch_policy Manual item
Stereo width constant throughout the track mix_intent.width_map #12
Dynamics flattened mix_intent.dynamics Manual item
No non-vocal hook hooks.arrangement_hook #8
Duration always 3:30 meta.target_duration #14

4. Diagnostic path: generation comes back wrong

Check in this order, don't jump by intuition.

听着"像 AI"
 └─ 先分开两个问题:后端照做了没有(照做率)、成品有没有机器指纹(AI 味旗标)
     ├─ 照做率低  → 后端没照做
     │   ├─ 查 backends.yaml:这个字段该后端 honors 是 none 吗?
     │   │   └─ 是 → 不是它的错。换后端(YuE2 控制力最强)或接受
     │   └─ 否 → 编译问题,查 mc-render-compile
     └─ 照做率高但仍像 AI → 规格本身不够
         └─ 走 mc-ai-tell-audit 的清单

4.1 Specific symptom → skill

Symptom Check first
Flat, no ups and downs mc-arrangement-arch §2 energy curve
Muddy, murky mc-texture-layering §4 → Check sustained notes first, don't blame the drums first
Lead not standing out mc-texture-layering §3 four depth clues
Mechanical, too precise mc-rhythm-section §2 + mc-vocal-direction §4
Sounds okay but not memorable mc-arrangement-arch §7 —— arrangement_hook is it empty
Second chorus same as the first mc-arrangement-arch §6 + mc-vocal-direction §1④
Vocals buried in the accompaniment Check pitch first(mc-vocal-direction §4.1), then check frequency bands
Bass disappears on mobile mc-sound-design §6 difference tones
Ending very abrupt / fades out and that's it mc-arrangement-arch §8 three kinds of endings
Technically clean but emotionally wrong mc-mix-intent §3.1 —— mood Is it not written

4.2 ★ The two numbers must not be conflated

What is asked How it is calculated
Compliance rate How much the backend did according to the spec Compare field by field against the spec by listening/looking; for the 0–100 reference line see §6.3
AI-flavor flag Whether the finished product has machine fingerprints mc-ai-tell-audit checklist, counted independently

Something with a compliance rate of 100 can be completely full of AI flavor—that means the spec was written like AI. Conversely, a compliance rate of 40 but good-sounding means the backend did well on its own, but younot reproducible。


5. External interface

This library manages the composition and arrangement decisions for one song(key, tempo, sections, harmony, thematic material, who enters and exits when, energy curve, how to sing, what the mix must achieve), and the output is ARR-SPEC. It does not assume who the downstream is or what tools they use; externally it goes only through the spec sheet: the fields handed over, the upstream fields read if present (§5.2),messages(§5.3). How to understand the fields:ARR-SPEC.schema.md §5。

Function Not belonging to this library Handed over
Lyric writing How the lyrics are written: rhyme, imagery, narrative person; how the words are set to notes (syllable splitting, extra syllables, inverted tones, co-articulation) Shared six fields (§5.1);vocal.phrasing/breath_points、hooks.vocal_hook、intent.emotional_arc、form[].melody_register
Sound (mixing, mastering) EQ frequency points, compression ratio, reverb parameters, bus chain, mastering; recording; sound effects and foley in the film/TV sense mix_intent(write intent only),roster、depth_map、spectrum_budget、subtraction_events、vocal.pitch_policy/stacking;deliverable includes stems when handing over stems
Scoring (writing music for picture) Structure that follows the picture: spotting, cue sheet, which frame to enter from meta.tempo/tempo_map/target_duration、form[].start_bar/bars、material、hooks.arrangement_hook、energy_curve
Editing stage Placing the music onto the picture: where to cut, shorten, seams The same time fields as above,subtraction_events、stems

Shot design reads tempo and section times when playing back to picture; after handing over, any later change must first be written as a message; for pre-commercial licensing see backends.yaml of license(production and on-site). For the convention for converting measures to seconds see schema §5.1.

5.1 The six fields shared with the other side of the song

form[].id / form[].bars / form[].name / meta.tempo / meta.key / vocal.persona. Both sides use the same set of section ids.

  • Whoever goes first decides. Music first, lyrics later: this library decides and writes it into its own fields. Lyrics first, music later: read it in as-is from meta.upstream.lyrics.shared and use it as a locked item; the word count and sentence patterns of the lyrics in turn constrain form[].bars。
  • When going later, do not change these six items. If the lyrics cannot fit into these measures, or cannot be sung at this key or tempo, write a messages(to: lyrics), stating which item to change and why; once the other party accepts and changes its own spec sheet, this library reads it again.
  • When there is only music and no lyrics side, these six items are decided by this library itself.

Full rules and original text: schema §5.4.

5.2 Upstream: read if present

meta.upstream.brief/lyrics/picture It does not matter who it comes from: read it if present (the shared six items when lyrics come first and music later are locked items); if absent, follow this library's own analysis—S0 starts from the brief, if there are no lyrics follow the three cases in §2.3, and if there is no picture duration set the duration yourself. Already filled upstream fields are not rewritten; on conflict, write this library's fields truthfully, then write a message to the function it came from.

5.3 messages: how to send and receive

  • Receive: Read at S0 kickoff and before every spec change to: music , hand it to the owner of the field indicated by about (§2.1); if the spec was changed accepted, if the spec was not changed rejected,reply write what was changed or the reason.
  • Send: e.g. {from: music, to: sound, about: "mix_intent.dynamics", says: "D 段比 C2 低 6 dB 是唯一的大落差,母带请留住", status: open};to take lyrics sound editing shot-design writing production。
  • Do not wait: if no reply is received, treat it as none;open does not block self-check, does not stop the stage, and is handed over as-is at delivery.

6. Three verification methods

6.1 When choosing skills, check against the boundary table

Before starting, list the skills this song needs to read, and check two things against §2 and each skill's boundary table:

  1. Whether what should be read was read: every decision to be made in the brief has an owner selected
  2. Whether what should not be read got mixed in —— especially the L3 style layer,reading one extra style skill that was not named is the easiest way to bring its default values into this song(a named mix does not count, see §2.4)

This is why every skill must have a "Boundary: what is not this skill's responsibility" table—— that table is for looking at when choosing skills, not just for people to read.

6.2 Text-layer AB

Finalize the evaluation table before looking at the results. Change one field → regenerate → blind compare. Look at the results only after finalizing, otherwise you will unconsciously adjust the evaluation criteria toward the one you have already seen.

Before comparing loudness, align the level first, then compare content: as long as the sound is louder, the ear tends to think it is better, and this bias will quietly turn the judgment of "which field had an effect" into "which version is louder" (p0299-p0300). If the loudness or overall density of the two generated versions is not aligned, level these two first before making a paired comparison, otherwise the effect of the field itself will be overshadowed by the loudness difference.

6.3 Calculate first, then listen (compliance rate)

See S7 in §1 and §4.2.

★ Zero-point calibration(reference value, for understanding the magnitude, not a delivery threshold): take a City Pop spec (112 BPM, 10 sections, 114 bars) and compare it with three unrelated, well-produced Chinese-language finished tracks, scoring by weighted fields gives 63–66, so we treat 82 / 70 as the reference line for "well complied / barely", not 60. When comparing field by field, the compliance rate is a judgment after comparison, and does not need to be calculated as a number.


7. Directory map

随包发布(用户拿到的就是这些,全是文本):
  skills/<27 个 skill>/SKILL.md, reference.md
  skills/mc-workflow/ARR-SPEC.schema.md      ★ 规格单定义(v1.0)
  skills/mc-workflow/ARR-SPEC.template.yaml  空模板
  skills/mc-workflow/backends.yaml           ★ 各后端的 honors 声明
  skills/mc-workflow/example-*.yaml          填好的示例(citypop / 混合 / 反面样本)

8. Self-check after finishing a song

  • intent The four items arethought up, not filled in just to pass lint
  • The 20 items in §3.0 were checked one by one, and reasons were written for any that were not passed
  • Every field can statewhich skill's which sectiondecided it
  • The generated results were compared field by field, and it is known which items are honors: none not expected in the first place
  • Ran mc-ai-tell-audit
  • The ear islastto intervene, and the A/B conclusion is consistent across two passes

Appendix: Why this library is layered this way

The criterion for splitting libraries/skills is that all four things are different: handoff artifact, judge, corpus, evaluation method. Split by process, not by knowledge domain.

Therefore:

  • "Harmony" is aknowledge domain, but it is split into mc-harmony(when writing) and mc-progressions(when checking)—— because these are two separate processes
  • "city pop" is astyle, and its drum pattern does not go into mc-rhythm-section, it goes into mc-style-citypop-rnb—— because "playing like a human" and "playing like city pop" are two separate processes
  • "Mixing" spans three layers: intent is in mc-mix-intent, rewriting-type solutions are in mc-texture-layering, parameters are a matter ofmixing——because their judges are different (composition judgment / arrangement judgment / engineering judgment)

Appendix: Sources

  • Howard & Angus, Acoustics and Psychoacoustics(Acoustics and Psychoacoustics)——§1.2 Two psychoacoustic bases for listening twice: repeated listening changes the auditory system's processing strategy, and continuous exposure brings about auditory adaptation. Page numbers are from the Chinese translation.
  • Roey Izhaki《Mixing Audio》(The Mixing Guide)——§6.2 The loudness bias it warns about: louder versions are easily judged as "better," unrelated to differences in the content itself. Page numbers are from that book. For the bibliographies cited by the other skills in this library, see their respective "Appendix: Sources."