Serenade of Peaceful Joy

Serenade of Peaceful Joy (Chinese: 清平乐; pinyin: Qīngpíng Yuè), or previously known as Held in the Lonely Castle, is a 2020 Chinese period drama loosely based on Milan Lady's novel of the same name. It is directed by Zhang Kaizhou, and stars Wang Kai as Emperor Renzong of Song and Jiang Shuying as Empress Cao.[2] The series airs on Hunan TV starting April 7, 2020.[3]

Serenade of Peaceful Joy
Also known asHeld in the Lonely Castle
GenreHistorical period drama
Based on孤城闭 Gucheng Bi
by Milan Lady
Written byZhu Zhu
Directed by
  • Zhang Kaizhou
Starring
Ending theme"Searching Light" (寻光) by Zheng Yunlong[1]
Country of originChina
Original language(s)Chinese
No. of episodes69
Production
Executive producer(s)Hou Hongliang
Production location(s)Hengdian World Studios, Wuyi
Camera setupMultiple-camera setup
Running time40-45 minutes
Production company(s)
  • Daylight Entertainment (Dongyang) Television Ltd
  • China Wit Media Co. Ltd
Release
Original networkHunan TV
Picture format1080i (HDTV)
Audio formatStereo
Original releaseApril 7, 2020

Synopsis

When Zhao Zhen discovers his biological mother is not the Empress Dowager Liu E, but her maid Li Lanhui, he arranges a marriage between his beloved daughter Princess Fukang and the Li family’s son Li Wei as compensation for his lack of filial piety. In the political arena, Zhao Zhen strives to maintain a balance of power between the conservative and progressive factions after the Qingli reforms experiences a significant backlash from the former.

Inside the palace, Emperor Renzong faces the dutiful Empress Cao, the troublesome Zhang Mihan, and the gentle Lady Miao. As time passes, all of his sons don't survive past childhood and he is left without a male heir.

Outside the palace, Huirou’s married life with Li Wei is far from pleasant – displeased with her foolish and boring husband, and annoyed by her prying in-laws, Huirou develops an even closer relationship with her eunuch Liang Huaiji. After a serious dispute with her husband’s family, Huirou knowingly breaks the law by charging back to the palace the same night with the help of Huaiji.

The next day, conservative official Sima Guang presents a scathing memorial to Zhao Zhen, heavily criticising Huirou for her selfishness and violation of imperial etiquette. Zhao Zhen had always encouraged freedom of speech and supported a supervisory system that would maintain disciplinary surveillance over bureaucrats and royalty, and must ultimately choose between his daughter’s happiness and the stability of government.[4]

Cast

Main

  • Wang Kai[2] as Zhao Zhen
    • A benevolent and merciful emperor who would bring about one of the most economically and culturally prosperous eras of the Song Dynasty. However, he encounters much backlash from conservative officials while trying to implement the progressive Qingli Reforms.
  • Jiang Shuying[5] as Empress Cao
    • An empress who abides by her duties but is distrusted by the emperor due to the power her relatives wield in court.

Supporting

Royal family

  • Ren Min as Zhao Huirou
    • Zhao Zhen's beloved daughter Princess Fukang. She is unable to deal with the suffocating atmosphere in the Princess manor, where Li resides as well, and develops romantic affections towards her eunuch Huaiji. Refusing to swallow the insults from her in-laws, she charges back to the palace one night with the help of Huaiji, and her rebellious actions lead to an uproar in the government.
  • Wu Yue as Liu E
  • Wang Churan as Noble Consort Zhang
    • A woman who is always ready to stir up trouble in the inner palace in order to gain the emperor's affections. She is one of the best dancers in the palace and met Zhao Zhen as a child and fell in love with him ever since. All of her daughters passed away at a young age, and her mental health is affected greatly.
  • Xu Lingyue as Lady Miao, Noble Consort
    • The mother of Zhao Huirou and the childhood lover of Zhao Zhen.
  • Lu Yanqi as Lady Dong
  • Liu Zihe as Lady Yu
  • Wang Yuchao as Emperor Yingzong of Song
  • Yang Yue as Empress Gao
  • Xiao Yifen as Ninth Princess
  • Qian Jin as Tenth Princess
  • Zhao Da as Zhao Yuanyan
  • Kang Qunzhi as Princess of Wei
  • Lu Xing as Li Wei
    • Princess Fukang's husband.

Production

Principal photography commenced on 5 January 2019 at Hengdian World Studios.[6]

Casting

On 8 November 2018, Wang Kai was announced as the male lead, and the director confirmed that the focus of the drama would be on the emperor's reign, while still keeping the original romance between Princess Huirou and Liang Huaiji intact.[7] On 7 December 2018, the rest of the cast was announced.[5] In May 2019, the drama wrapped up filming and announced guest appearances by several actors.[8]

Original soundtrack

The Original Soundtrack album (清平乐 电视剧原声带) was released on April 30, 2020, and was produced by Meng Ke and Lu Liang.[9] The compilation album of the drama ending themes (清平乐 电视剧片尾曲合辑) was released on May 1, 2020 and was produced by Dong Yingda.[10]

No.TitleLyricsMusicSingerLength
1."Wish Song《愿歌行》" (Opening theme)Zhang Jingyi, Zhu ZhuLiu XuandouHu Xia3:44
2."Seeking Light《寻光》" (Ending theme)Dong Yingda, Zhu ZhuDong YingdaZheng Yunlong4:07
3."Two Flying Birds《双飞燕》" (Ending theme)Zhu Zhu, Dong YingdaDong YingdaCui Zige3:48
4."Tender Peach《桃夭》"Zhang JingyiLiu XuandouShuang Sheng4:21
5."Wind of the Horse《以风为马》"Zhang JingyiLiu XuandouYe Xuanqing4:51

Ratings

  • Highest ratings are marked in red, lowest ratings are marked in blue
Hunan Satellite TV CSM59 City ratings[11]
Air date Ratings (%) Audience share (%) Timeslot Rank
2020.4.7 2.294 7.91 2
2020.4.8 2.216 7.57 3
2020.4.9 2.365 8.01 3
2020.4.10 2.562 8.15 1
2020.4.11 2.45 7.74 1
2020.4.12 2.751 9.31 1
2020.4.13 2.562 8.77 1
2020.4.14 2.699 9.27 1
2020.4.15 2.798 9.62 1
2020.4.16 2.69 9.23 1
2020.4.17 2.292 7.46 2
2020.4.18 2.123 6.71 3
2020.4.19 2.684 9.04 1
2020.4.20 3.068 10.53 1
2020.4.21 2.742 9.6 1
2020.4.22 2.793 9.66 1
2020.4.23 2.935 10.55 1
2020.4.25 1.926 6.43 2
2020.4.26 2.874 10.31 1
2020.4.27 2.428 8.78 1
2020.4.28 2.397 8.68 1
2020.4.29 2.316 8.49 2
2020.4.30 2.615 9.54 1
2020.5.1 2.407 8.80 1
2020.5.2 1.834 6.78 2
2020.5.4 2.592 9.37 1
2020.5.5 2.552 9.23 1
2020.5.6 2.458 9.08 1
2020.5.7 2.26 8.31 1
2020.5.8 2.741 9.55 1
2020.5.9 1.521 5.53 3
2020.5.10 1.573 5.87 3
2020.5.11 2.032 7.54 2
2020.5.12 2.184 8.27 1
2020.5.13 1.938 7.15 2
2020.5.14 2.147 7.92 1
2020.5.15 1.806 6.38 3
2020.5.16 1.890 6.91 2
2020.5.17 2.198 8.08 2
2020.5.18 2.563 9.79 1
gollark: HOW?!
gollark: WHY(JIT) is capable of arbitrary IO.
gollark: Er, you'd need to sandbox it.
gollark: ```python#!/usr/bin/env python3import argparseimport subprocessimport randomimport stringparser = argparse.ArgumentParser(description="Compile a WHY program using WHYJIT.")parser.add_argument("input", help="File containing WHY source code")parser.add_argument("-o", "--output", help="Filename of the output executable to make", default="./a.why")parser.add_argument("-O", "--optimize", help="Optimization level", type=int, default="0")args = parser.parse_args()def randomword(length): letters = string.ascii_lowercase return ''.join(random.choice(letters) for i in range(length))def which(program): proc = subprocess.run(["which", program], stdout=subprocess.PIPE) if proc.returncode == 0: return proc.stdout.replace(b"\n", b"") else: return Nonedef find_C_compiler(): compilers = ["gcc", "clang", "tcc", "cc"] for compiler in compilers: path = which(compiler) if path != None: return pathdef build_output(code, mx): C_code = f"""#define QUITELONG long long intconst QUITELONG max = {mx};int main() {{ volatile QUITELONG i = 0; // disable some "optimizations" that RUIN OUR BEAUTIFUL CODE! while (i < max) {{ i++; }} {code}}} """ heredoc = randomword(100) devnull = "2>/dev/null" shell_script = f"""#!/bin/shTMP1=/tmp/ignore-meTMP2=/tmp/ignore-me-tooTMP3=/tmp/dont-look-here cat << {heredoc} > $TMP1{C_code}{heredoc}sed -e '1,/^exit \$?$/d' "$0" > $TMP3chmod +x $TMP3$TMP3 -x c -o $TMP2 $TMP1chmod +x $TMP2$TMP2exit $?""".encode("utf-8") with open(find_C_compiler(), "rb") as f: return shell_script + f.read()input = args.inputoutput = args.outputwith open(input, "r") as f: contents = f.read() looplen = max(1000, (2 ** -args.optimize) * 1000000000) code = build_output( contents, looplen ) with open(output, "wb") as out: out.write(code)```
gollark: I mean, it uses (y, x) coordinates, if I remember correctly!

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.