[發(fā)明專利]基于對節(jié)記譜法的盲文樂譜自動排版方法及裝置有效
| 申請?zhí)枺?/td> | 201610044996.5 | 申請日: | 2016-01-22 |
| 公開(公告)號: | CN105719626B | 公開(公告)日: | 2019-06-21 |
| 發(fā)明(設(shè)計)人: | 黃河燕;周強;沈鑫;劉敏;孟德純 | 申請(專利權(quán))人: | 華建宇通科技(北京)有限責(zé)任公司;北京理工大學(xué) |
| 主分類號: | G10H1/00 | 分類號: | G10H1/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100083 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 記譜 盲文 樂譜 自動 排版 方法 裝置 | ||
1.一種基于對節(jié)記譜法的盲文樂譜自動排版方法,其特征在于:包括以下內(nèi)容:
根據(jù)五線譜的節(jié)拍信息,為了保證盲文樂譜編輯過程的排版,記錄輸出盲文樂譜每小節(jié)的范圍,在該范圍內(nèi)的修改皆認為是該小節(jié)內(nèi)部的修改,使排版計算過程僅針對該小節(jié)進行;對每一小節(jié),對應(yīng)左右手采用2行排版,一行對應(yīng)右手,一行對應(yīng)左手,且右手在前,左手在后;
排版時,根據(jù)本行容納的盲文樂譜最大方數(shù)m,當(dāng)一行僅能容納一個小節(jié)的盲文時,一行內(nèi)只寫一個小節(jié),否則,在多個小節(jié)之間以一空方隔開,在行首增加左右手標(biāo)記,在左右手標(biāo)記前增加小節(jié)序數(shù)和行號,小節(jié)序數(shù)添加在右手標(biāo)記前,行號添加在左手標(biāo)記前;當(dāng)一行可以寫多個小節(jié)時,在左右手對應(yīng)的盲文樂譜中短的內(nèi)容后面追加補足標(biāo)記,補足少的方數(shù),以使對應(yīng)小節(jié)的左右手盲文樂譜內(nèi)容對齊;當(dāng)一行容納不下一個小節(jié)的盲文時,即單個小節(jié)需要占用一行或多行,通過以下規(guī)則輸出該節(jié)內(nèi)容:
如果一小節(jié)內(nèi)左右手都換行且每拍僅需一行時,則右手在上左手在下依次輸出各拍內(nèi)容,即k行輸出右手第一拍,k+1行輸出左手第一拍,k+2行輸出右手第二拍,k+3行輸出左手第二拍,直至輸出完成;
如果一小節(jié)內(nèi)左右手都換行但有的拍需要多行輸出時,仍然按照右手在上左手在下依次輸出各拍內(nèi)容,遇到一拍多行時要使該拍的內(nèi)容連續(xù)輸出,即右或左手第n拍需要多行輸出,k行輸出第一行,k+1行輸出第二行直至輸出完成,再根據(jù)當(dāng)前是右手則在下一行輸出對應(yīng)的左手拍,當(dāng)前是左手則在下一行輸出下一拍右手;
如果一小節(jié)內(nèi)左右手僅一只手盲文需要換行,則先輸出右手內(nèi)容,輸出完后再輸出左手內(nèi)容,無論哪手需要多行,都連續(xù)輸出;即右或左手第n節(jié)需要多行輸出,k行輸出第一行,k+1行輸出第二行直至輸出完成,再根據(jù)當(dāng)前是右手則在下一行輸出對應(yīng)的左手節(jié),當(dāng)前是左手則在下一行輸出下一節(jié)右手;
輸出后,在該節(jié)的第一行前增加對應(yīng)的左右手標(biāo)記,并在右手標(biāo)記前增加小節(jié)數(shù),左手標(biāo)記前增加行號;其它非連續(xù)輸出單手樂譜的行前增加對應(yīng)的左右手標(biāo)記,左右手標(biāo)記前增加小節(jié)未完標(biāo)記對應(yīng)左右手最后一拍所在的行以前的各行結(jié)尾處添加小節(jié)未完標(biāo)記
2.根據(jù)權(quán)利要求1所述的一種基于對節(jié)記譜法的盲文樂譜自動排版方法,其特征在于,所述補足標(biāo)記當(dāng)需要補足的方數(shù)小于5時采用空方,否則采用空方之間若干個的方式作為占位符,使兩行中相同序號的節(jié)起始位置相同。
3.根據(jù)權(quán)利要求1所述的一種基于對節(jié)記譜法的盲文樂譜自動排版方法,其特征在于,包括以下過程:
(1)記每行能容納的盲文方數(shù)為n;
(2)獲取當(dāng)前行五線譜翻譯后的盲文樂譜,這些樂譜由兩個長度為M的字符串集合組成,分別對應(yīng)左手和右手,每個集合中的一項對應(yīng)一小節(jié)內(nèi)容,集合內(nèi)順序與小節(jié)在樂譜中順序相同,每小節(jié)內(nèi)容又包含若干個盲文字符串,每個字符串對應(yīng)一拍樂譜,按照拍順序排列;
(3)排版引擎從上述字符串集合中逐個讀取各小節(jié)盲文,設(shè)讀取的小節(jié)數(shù)為i,當(dāng)前輸出盲文行為j;
(4)如果i<M,則繼續(xù),否則跳轉(zhuǎn)到(15);
(5)如果j行無內(nèi)容,則繼續(xù),否則跳轉(zhuǎn)到(12);
(6)根據(jù)當(dāng)前輸出小節(jié)i的相關(guān)信息獲取本行容納的盲文樂譜最大方數(shù)m;
(7)計算該小節(jié)左右手盲文總長度,獲取其中最大的盲文長度為l,如果l<=m,則繼續(xù),否則跳轉(zhuǎn)到(11);
(8)將該小節(jié)的小節(jié)數(shù)盲文、行數(shù)盲文個數(shù)的空方、右手標(biāo)記盲文依次輸出到j(luò)行,該小節(jié)小節(jié)數(shù)盲文個數(shù)的空方、行數(shù)盲文、左手標(biāo)記盲文依次輸出到j(luò)+1行;
(9)將該小節(jié)右手各拍盲文字符串依次輸出到j(luò)行,該小節(jié)左手各拍盲文字符串依次輸出到j(luò)+1行;
(10)將i遞增1,跳轉(zhuǎn)到(4);
(11)對超過m的盲文樂譜進行換行處理,跳轉(zhuǎn)到(10);
(12)獲取j和j+1行所剩盲文空方數(shù)取兩者最小值a,由于要判斷后面是否要追加小節(jié),而兩小節(jié)之間需要一個空方分隔,所以m=a-1;如果m等于0,則繼續(xù),否則跳轉(zhuǎn)到(14);
(13)j遞增2,跳轉(zhuǎn)到(6);
(14)計算該小節(jié)左右手盲文總長度,獲取其中最大的盲文長度為l,如果l<=m,進行小節(jié)補齊后跳轉(zhuǎn)到(9),否則跳轉(zhuǎn)到(13);
(15)讀取指針指向下一行五線譜,如果還有數(shù)據(jù)則跳轉(zhuǎn)到(2),否則繼續(xù);
(16)將j初始化為0,依次輸出各盲文行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華建宇通科技(北京)有限責(zé)任公司;北京理工大學(xué),未經(jīng)華建宇通科技(北京)有限責(zé)任公司;北京理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610044996.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





