Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

-> 中文Readme

ScoreDraft

ScoreDraft is a music/singing synthesizer that provides a Python based score authoring interface.

Historically, there have been changes in the design goal of ScoreDraft. The software was originally intendend to be used for music experiments such as just intonation. For the initial design, I was intending to use text files as the means of authoring, i.e., the C++ program reads a text file, parse the notes and generates an audio file. However, after using Python as a script layer, it has shown very much benefit comparing to text parsing. So I moved quickly to Python.

I became interested in extending ScoreDraft for singing synthesis, simliar to Vocaloid and UTAU, but using script. Since then singing synthesis has become the focus of development. In the first stage, I implemented a simple voice synthesizing engine that generates a voice note by note from individual voice samples. This engine is called "KeLa", named after the famous video on Bilibili. In the second stage, I built a new engine makes use of voice-banks made for UTAU, including CVVC and VCV voice-banks. The new engine is called "UtauDraft". The name only indicates the intension to be compatible with UTAU voice banks.

I'm not sure where ScoreDraft will go in the furture. From here I'm building a big set of utilities to allow different kinds all waveforms to be generated and mixed together through scripts.

The following example shows how easily a piece of musical sound can be generated using ScoreDraft.

importScoreDraftfromScoreDraft.Notesimport*doc=ScoreDraft.Document()
seq=[do(),do(),so(),so(),la(),la(),so(5,96)]
doc.playNoteSeq(seq, ScoreDraft.Piano())
doc.mixDown('twinkle.wav')

About Copying

I'm intending to make all my source-code contribution to GitHub totally free to use.

ScoreDraft is now formally available under MIT license.

With

Dependecies

Source code under /ScoreDraft_local/SF2Instrument is based on TinySoundFont, Copyright (C) 2017 Bernhard Schelling (https://github.com/schellingb/TinySoundFont)

Exclusions

The above licenses only apply to the source code within the repository. Binaries under /python_test are not included in the license. Including (not limited to):

  • Dlls from Qt5 are in LGPL license
  • Audio samples from

https://freewavesamples.comhttp://utau.vocalover.com/

have their own licenses.

Users are on their own responsibility to properly use binaries under /python_test.

DON'T USE THE CONTENT OF THIS REPOSITORY TO DO ANY BAD THINGS. THE AUTHOR OF SCOREDRAFT DOES NOT HAVE ANY RESPONSIBILITY IN SUCH CASE. NO WARRANTY OF ANY KIND FROM THE AUTHOR.

Repository Contents

First please check:

/python_test 

directory.

The above directory contains the whole Python layer of ScoreDraft. Since the core functions are implemented in C++, I also pre-deployed binaries built for Windows x64 and Linux Amd64 in that directory, so users of these systems can have a really quick evaluation without building ScoreDraft from source code.

These files are being dynamically updated as the development progresses. In that way I think there will be no need to make any formal releases. Audio sample files will be kept at small scale here. Users can extend that part themselves.

Sub-directories:

/python_test/ScoreDraft: the ScoreDraft package /python_test/ScoreDraft/Extensions: binary extensions
/python_test/ScoreDraft/InstrumentSamples: audio samples for InstrumentSampler extension
/python_test/ScoreDraft/PercussionSamples: audio samples for PercussionSampler extension
/python_test/ScoreDraft/KeLaSamples: audio samples for KeLa voice engine /python_test/ScoreDraft/UTAUVoice: deploy your UTAU voice-banks here, the UtauDraft voice engine will use
/python_test/zh_TTS: a simple Chinese TTS demo using pypinyin + ScoreDraft 

Examples:

/python_test/Hello.py: the simplest example
/python_test/piano_test.py: test of instrument sampler
/python_test/percussion_test.py: test of percussion sampler
/python_test/FlyMeToTheMoon.py: fly me to the moon in just-intonation
/python_test/FlyMeToTheMoon_eq.py: fly me to the moon in equal-temperment
/python_test/NaushikaRequiem.py: Naushika Requiem using a simple voice, with accompany
/python_test/KeLaTest.py: a test using the Jin-Ke-La voice bank
/python_test/GePi.py: a 10 minute rendering of the Pi song using GePing voice-bank
/python_test/GePi_unlimited.py: unlimited real-time generation/playback of the Pi song. /python_test/RapTest.py: test of the the Rap function by singing Chinese Peoms. Need the full-set of "GePing" voice-bank
/python_test/tang300.py: the database for RapTest.py
/python_test/CVVCTest.py: a test using a English CVVC voice-bank, specifically:
[kasaneteto, English Voicebank (CVVC) Voicebank](http://kasaneteto.jp/en/voicebank.html)
/python_test/CVVCTest2.py: a test using a CVVCChinese voice-bank, specifically:
[三色あやかCVVChinese V1.0](https://bowlroll.net/file/53297)
/python_test/VCVTest.py: a test using a Tsuro style Chinese VCV voice-bank, specifically:
[綰儿] (http://lindayana.lofter.com/waner)
/python_test/uta_test.py: a test using Japanese voice-banks, specifically:
a. the "uta" voice-bank that comes with UTAU
b. [三色あやか 連続音V2.0](https://bowlroll.net/file/69898)
/python_test/XiaYYTest.py: a test using XiaYuYao voice-bank, which is a special form of CVVCChinese. [XiaYuYao](http://www.voicemith.com/download.html)

Contents outside of python_test are basically C++ source-code files managed with CMake, which are used to build the binaries.

Usage Introduction

English introduction

http://scoredraft.org/index.php/introduction-to-scoredraft/

Chinese introduction (中文使用介绍):

http://scoredraft.org/index.php/scoredraft-introduction-zh/

About building

To build ScoreDraft from source-code, you need to install:

  • CMake 3.0+
  • Python3
  • Qt5 (Needed by "QtPCMPlayer“ and "Meteor" extensions. You can remove them from /CMakeLists.txt if you don't need them. Then you don't need Qt5)
  • CUDA (Optionally needed by UtauDraft, can be disabled by setting "USE_CUDA" to false in /UtauDraft/CMakeLists.txt)

Run CMake to generate makefiles/project files for your system and build. You are recommanded to:

  • use the /build directory as you building directory
  • use /python_test as your CMAKE_INSTALL_PREFIX

About

ScoreDraft is a simple music/singing synthesizer that provides a Python based score authoring interface, aiming at generating and mixing all kinds of waveform using script.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages