Abstract: A melody harmonization apparatus is disclosed which can determine and produce available chords as many as there are for each segment (e.g., bar) of a given melody. In determining available chords, the apparatus does not need excessive constraints or merely hypothesized assumptions with respect to a melody under analysis such as no change of key throughout the melody and particular tonal musical effect or function of last melody notes. In an embodiment, a set of chord candidates are scanned. Each chord candidate is tentatively assumed available for a melody segment of interest. Then melody tones in that melody segment are analyzed and identified in a forward reasoning by exploring a network of musical knowledge of classifying melody tone functions or characters based on the tentative assumption while checking local melodic waves or movements.