java实现粤语歌曲0243填词法

粤语歌曲填词法

一、前言

转化成数字歌。对每个音符,提供配合广东话声调的字,选出成为歌词。可以在网上创作,或下载到自己电脑中使用。
在这里插入图片描述
简谱 3656536,歌词 落花满天蔽月光。 唱起来配合乐曲音调。这叫做‘叶韵’,又叫做‘协音’。
如果随便拿句说话来唱,譬如‘我下昼要去买餸’,唱起来会变成‘饿虾昼腰去卖鬆’。七个字里有五个字不能配合乐曲音调,这叫做‘拗音’。要尽量避免歌词拗音,听众容易知道原来的字,不太逆耳的,有时也可以接受。不要因为微小拗音就放弃最好的词句。

二、代碼

@Override
    public String[] createTianci(String content) throws Exception {
        String result[] = new String[2];
        String record = "";
        String record2 = "";
        String[] characters = new String[content.length()];
        record+=content+"\r\n\r\n";
        for (int m = 0; m < content.length(); m++) {
            characters[m] = String.valueOf(content.charAt(m));
            Map<String,Object> map = new HashMap<>();
            map.put("eq_name", characters[m]);
            SongYueyu songYueyu = songYueyuService.getOne(map);
            if(songYueyu!=null){
                String yy = songYueyu.getY2();
                String yy2 = songYueyu.getY2();
                Map<String,Object> map2 = new HashMap<>();
                map2.put("eq_y2", yy2);
                map2.put("noteq_name", characters[m]);
                List<SongYueyu> songYueyu2s = songYueyuService.list(map2);
                String yy3 = "~";
                if(songYueyu2s.size()>0){
                    for (SongYueyu songYueyu3 : songYueyu2s){
                        yy3+= songYueyu3.getName()+"‘";
                    }
                }
                record+=yy+" ";
                record2+=yy3+"~ \r\n";
            }else {
                record+="?"+" ";
            }
        }
        result[0] = record;
        result[1] = record2;


        return result;
    }

在这里插入图片描述

广东话歌曲填词,须具备三项基本能力:

  1. 对音乐旋律和节奏,能够感应它要表达的情感,而产生共鸣。

这方面的知识和能力,不在本文讨论范围内。况且,对音乐无动于中的人,相信也不会有兴趣填词。

  1. 对中文有充份认识,能写流利和有文采的文字。

最好是熟读和背诵大量诗词散文,灵活模仿运用。再不然就要懂得修辞学,留心使用。这方面的知识,从古代的文心雕龙,到现代的歌词修辞学,都很容易在图书馆或互联网上寻到。这也不在本文讨论范围内。

  1. 能讲广东话,能判断字的广东读音是否合符乐曲音调。

一、母语不是粤语(或不精通粤语)可否完成粤语填词?二、非粤语母语者的填词人王久平,所创作的粤语歌词,唱起来不太顺口;母语是粤语的词作者林夕,国语作词作品却屡有佳作。原因为何?

我们先回答第一个问题。其他语言不知道,但是粤语必须要精通,如果不掌握粤语,则无法填粤语歌词。
能观察到这个现象,说明你对歌曲填词的倚声填词,因曲发声的概念开始有所觉察了。因为粤语歌曲填词,对于歌词声调与旋律音高的绝对和相对的对应关系,都有着极低的容错率,换句话说,如果哪一个字或哪一个词语的调型,与此处旋律音高的走向不相一致的话,那么这首歌将是一首错误的歌。

粤语声调是九声六调,调值、调型的分布如下。从下图可以直观地观察到每一个声调的走势。

粤语九声六调调值图1

粤语九声六调调值表2
例如说粤语的第二声,调值是35,走势是向上升起的,那么在填入乐曲时,这个乐曲旋律的音高,应该是相对上升的。以《富士山下》为例,我们先来看5612123/5612121这两个乐句

凡是标注绿色箭头的字,在旋律音高都呈现出向上的趋势,如:你(nei5),我(ngo5),雨(jyu5),彼(bei2)这几个字,对照上文的两个调值表可以知道,这几个字在粤语声调中分别为第二声,第五声,第二声和第五声的调值特点即为向上扬起。那么将这几个字填入这样的旋律中,就是正确的。
再举一个反面例子,《笑纳》中的这一句粤语歌词,填词人非粤语母语者。

第一句歌词的粤语拼音为“撑(caang1)伞(saan3)接(zip3)落(lok6)花(fa)”
这一句的调型排列图应该是 55-33-33-22-55,如果把这个调值的排列顺序放进钢琴卷帘里,以直观的图片来表现,应该是如此

再看这个乐句的简谱旋律的钢琴窗,有一些时值很短的装饰音,可以忽略。

将二者对比起来看

红色为歌词声调的走向,绿色为旋律音高的走向,可以看出,两个走向相当不一致,甚至是互相违背的。因此这句粤语歌词是相当不正确的。

可见,要填粤语歌词,必须要懂得将一个字或词语,填到它应该适用的位置,必须要非常严格地“对号入座”,这种对应就叫做“词曲协音”,如果稍微有一些对应失当,那么就是“不协音”,不协和的歌词与乐曲,就是失败的,错误的,不正确的。
但很可惜,并不是每一个填词的人都具备这样的知识储备,或者说没有对陌生语言的领域的敬畏之心、谦逊之心,因此市面上有非常大量的并不正确的粤语歌,如《野狼disco》、《大风吹》、《秒针》,其粤语部分都是错误的。
当然,其实在粤语填词的更早些年代,如上世纪六七十年代,其实也是有许多粤语歌曲并不讲究“协音”的,例如“《初恋》这首歌中“爱恋没经验,今天初发现”的“今天”两字,或者《上海滩》中“万里滔滔江水永不休”的“滔滔”两字。因为粤语填词的“协音”要求,确实是逐渐发展得严格起来的,在更早一些时候,我们对粤语歌曲填词尚未有作出这样的要求。而且,其实在不影响听众理解的情况下,这两个词语,是可以结合上下文语境做出理解的,比如,虽然“今天”这两个字的发音与旋律相违背,但我们只需要听到“初发现”这三个字,就可以大致猜出前面的两个字。又如,“滔滔”两个字的走向虽然与乐曲不一致,但后文听到“江水”也能够推测出前文的“滔滔”。因此,为数不多的“不协音”并不会影响听众的理解,也就无可厚非。
所以其实我们所说的“协音”是一种相对的关系,而非绝对的关系。衡量粤语歌曲是否正确的标准,是需要置身于整个环境来听的。
但可怕的是,较多的母语非粤语的填词人,在写粤语歌词时,想当然地使用了普通话的语法和词汇,寄希望于歌手用粤语的发音,来将歌曲完善成为一首“粤语歌”。这是非常傲慢的一种做法。因为语音词汇语法是构成一门语言的三个要素,三者缺一不可。对填词人来说,掌握语言的运用犹如打下基础,而创作则像是更高阶的一种技能。不夯实地基,就去好高骛远,那么哪怕只是一两句,也会非常奇怪。

第二个问题,非粤语母语者的填词人王久平,所创作的粤语歌词,唱起来不太顺口;母语是粤语的词作者林夕,国语作词作品却屡有佳作。原因为何?
首先我们要确认的问题,是“是不是”,而非“为什么”。
我没有遍阅林夕所有作品,但阅读林夕作品的数量,较常人应该更多一些。林夕的填词作品,其实也有相当多的“行货”。在他浩如烟海的众多作品之中,“经典”“佳作”“行货”的比例,我个人认为是,1:2:7 这样的比例(评判标准比较私人,纯属个人意见,如有偏颇请见谅)而在国语作品之中产生的“佳作”,相比起粤语作品之中产生的“佳作”,数量和质量都相差悬殊。所以坦白说,我不认同林夕的国语作品是“佳作频出”的这个观点。
但如果要与非粤语母语者去填粤语词相比的话,你的观察是有道理的。
因为在同等的条件下(年龄、学习能力、悟性相当的情况),国语母语者的人学习粤语的学习成本,远远大于粤语母语者学习国语的学习成本。而国语母语者学粤语的回报率,远远低于粤语母语者学国语的回报率。因为粤语与国语在语音、语法、词汇方面的差异和区隔,已经相当大了。
我们分开学习成本和回报率两个角度来讨论。首先是学习成本:
现行的现代汉语的操语者,如果在母语后再去习得一门新的语言(如粤语),需要克服的难点,一个是粤语语音中极难发音的一些声韵母,一个是粤语独有的语法和语序,一个是粤语中独有的新奇词汇,一个是非常难以获得的语言环境(粤语的使用范围已定)。对于母语是现代汉语的人来说,察觉粤语语音中的某些音节已经是非常困难的事情。比如,她们很难听得出高平和低平的区别,高升和中升的区别,也很难发得出(oeng)这个韵母,或(ng)这个声母,更难发出韵尾是(ktp)的切音。用大白话说,就是母语里没有这些。

而一个粤语母语者要学习国语,学习成本是相对较低的(和国语母语者学粤语相比)。首先,语音方面,粤语母语者学习国语时,虽然确实有一些难度(如粤语中只有翘舌音没有平舌音、粤语中没有汉语第三声),但对比起来难度已经较小了;其次词汇方面,有些词虽然在粤语地区有独特叫法,但国语的叫法他们也能够接受。如香港习惯的某些称呼,草莓-士多啤梨,土豆-薯仔,手机-电话,充电宝-尿袋,粤语母语者同时能够理解这些国语的叫法;最后,在语法方面,即便是略有不同的语序,也能够在表达出来以后,令国语母语者理解。
然后是回报率:
国语母语者要学粤语到一个令粤语操语者能够听懂的地步,基本上要把粤语说得七七八八,大差不差,即,能够把粤语的语素以一个有组织的形式构成完整的句子或段落。这样,粤语操语者才能够听懂。而粤语母语者说国语,即便不太完整,不太正确,甚至“夹生”,我们作为国语母语者也能通过前后文,语境等场外因素大致听懂(如蔡少芬、古天乐、黎诺懿等)

这两种情况总结起来,其实就是国语母语者学习粤语的投入和回报情况,不如粤语母语者学习国语的投入和回报情况乐观。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/101947.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE4 植物生长

这个可以改变SplineMesh朝向

android 输入法demo

背景&#xff1a; 一个简单的android输入法demo&#xff0c;支持输入png、gif&#xff0c;jpeg、webp等格式。 此示例演示如何编写一个应用程序&#xff0c;该应用程序接受使用 Commit Content API 从键盘发送的丰富内容&#xff08;例如图像&#xff09;。 用户通常希望通过表…

推荐一本AI+医疗书:《机器学习和深度学习基础以及医学应用》,附21篇精选综述

当代医学仍然存在许多亟待解决的问题&#xff0c;比如日益增加的成本、医疗服务水平的下降...但近几年AI技术的发展却给医疗领域带来了革命性的变化&#xff0c;因此AI医疗迅速兴起。 从目前已知的成果来看&#xff0c;人工智能在医学领域的应用已经相当广泛&#xff0c;智能诊…

AJAX学习笔记1发送Get请求

传统请求有哪些方式,及缺点 传统请求有哪些? 1.直接在浏览器地址栏上输入URL. 2.点击超连接. <a href"/上下文/请求地址">超链接请求</a> ---->相对路径 <a href"http://www.baidu.com">超链接请求</a> ---->绝对路…

【Python】PySpark

前言 Apache Spark是用于大规模数据&#xff08;large-scala data&#xff09;处理的统一&#xff08;unified&#xff09;分析引擎。 简单来说&#xff0c;Spark是一款分布式的计算框架&#xff0c;用于调度成百上千的服务器集群&#xff0c;计算TB、PB乃至EB级别的海量数据…

知识图谱实战应用26-基于知识图谱构建《本草纲目》的中药查询与推荐项目应用

大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用26-基于知识图谱构建《本草纲目》的中药查询与推荐项目应用,本文通过Py2neo连接到知识图谱数据库,系统实现了中药的快速查询、关系分析、智能推荐和知识展示等功能。用户可以输入中药的名称或特征进行查询,系统将从知…

分页功能实现

大家好 , 我是苏麟 , 今天聊一聊分页功能 . Page分页构造器是mybatisplus包中的一个分页类 . Page分页 引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</ver…

【LeetCode每日一题】——274.H指数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 排序 二【题目难度】 中等 三【题目编号】 274.H指数 四【题目描述】 给你一个整数数组 ci…

linux系统中串口驱动框架基本分析(经典)

第一&#xff1a;区分不同的终端类型 串行端口终端&#xff08;/dev/ttySn&#xff09; 串行端口终端&#xff08;Serial Port Terminal&#xff09;是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。 有段时间这些串行端口设备通常被称为终…

Python:列表推导式

相关阅读 Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 列表推导式使得创建特定列表的方式更简洁。常见的用法为&#xff0c;对序列或可迭代对象中的每个元素应用某种操作&#xff0c;用生成的结果创建新的列表&#xff…

Python—匹配字段

1. 「概述」 在日常开发中&#xff0c;经常需要对数据中的某些字段进行匹配&#xff0c;但这些字段可能存在微小的差异。例如&#xff0c;同一个招聘岗位的数据中&#xff0c;省份字段可能有“广西”、“广西壮族自治区”和“广西省”等不同的写法。为了处理这些情况&#xff…

(数字图像处理MATLAB+Python)第十章图像分割-第四,五节:分水岭分割和综合案例

文章目录 一&#xff1a;分水岭分割&#xff08;1&#xff09;原理&#xff08;2&#xff09;程序 二&#xff1a;综合案例&#xff1a;答题卡图像分割&#xff08;1&#xff09;设计思路&#xff08;2&#xff09;各模块设计&#xff08;3&#xff09;代码 一&#xff1a;分水…

three.js(二):webpack + three.js + ts

用webpackts 开发 three.js 项目 webpack 依旧是主流的模块打包工具;ts和three.js 是绝配&#xff0c;three.js本身就是用ts写的&#xff0c;ts可以为three 项目提前做好规则约束&#xff0c;使项目的开发更加顺畅。 1.创建一个目录&#xff0c;初始化 npm mkdir demo cd de…

第五章 树与二叉树 二、二叉树的定义和常考考点,WPL的算法

一、定义 二叉树可以用以下方式详细定义&#xff1a; 二叉树是由节点构成的树形结构&#xff0c;每个节点最多可以有两个子节点。每个节点有以下几个属性&#xff1a; 值&#xff1a;存储该节点的数据。左子节点&#xff1a;有一个左子节点&#xff0c;如果没有则为空。右子节…

Visual Studio 2017安装和项目配置

目录 前言1. What、Why and How1.1 What1.2 Why1.3 How 2. 安装3. 创建新项目4. 配置OpenCV库4.1 下载opencv安装包4.2 配置系统环境变量4.3 VS项目环境配置4.4 总结 5. 已有项目添加6. Tips6.1 常用快捷键6.2 字体和颜色选择6.3 配置编译路径 结语下载链接参考 前言 最近因为项…

【STM32教程】第二章 通用输入输出口GPIO

资料下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1hsIibEmsB91xFclJd-YTYA?pwdjauj 提取码&#xff1a;jauj 1. GPIO的基本结构 1.1 概述 GPIO&#xff08;General Purpose Input Output&#xff09;意思是通用输入输出口可配置为8种输入输出模式&a…

I IntelliJ IDEA 2023.2 最新解锁方式,支持java20

在 IntelliJ IDEA 2023.1 中&#xff0c;我们根据用户的宝贵反馈对新 UI 做出了大量改进。 我们还实现了性能增强&#xff0c;从而更快导入 Maven&#xff0c;以及在打开项目时更早提供 IDE 功能。 新版本通过后台提交检查提供了简化的提交流程。 IntelliJ IDEA Ultimate 现在支…

【Terraform学习】使用 Terraform创建DynamoDB添加项目(Terraform-AWS最佳实战学习)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

Django静态文件媒体文件文件上传

文章目录 一、静态文件和媒体文件1.在django中使用静态文件实践2.在django中使用媒体文件 二、文件上传单文件上传实践多文件上传 一、静态文件和媒体文件 媒体文件: 用户上传的文件&#xff0c;叫做media 静态文件:存放在服务器的css,js,image,font等 叫做static1.在django中…

Docker(三) 创建Docker镜像

一、在Docker中拉取最基本的Ubuntu系统镜像 搜索Ubuntu镜像 Explore Dockers Container Image Repository | Docker Hub 下载镜像 docker pull ubuntu:22.04 二、在镜像中添加自己的内容 使用ubuntu镜像创建容器 docker run -it ubuntu:20.04 /bin/bash 在容器中创建了一个文…