Skip to content

Commit

Permalink
Merge pull request #160 from DanielSWolf/feature/maintenance
Browse files Browse the repository at this point in the history
Maintenance
  • Loading branch information
DanielSWolf authored Jan 7, 2025
2 parents 364a5d4 + 7f4f042 commit 78c0f64
Show file tree
Hide file tree
Showing 20 changed files with 139 additions and 104 deletions.
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Config file for generic text editors.

root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = tab
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.{yml,yaml}]
indent_style = space
indent_size = 2
2 changes: 0 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
* text=auto

# Use Git LFS for binary files
*.wav filter=lfs diff=lfs merge=lfs -text
*.flac filter=lfs diff=lfs merge=lfs -text
Expand Down
33 changes: 16 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,32 @@ jobs:
fail-fast: false
matrix:
include:
- description: Windows / Visual Studio
- description: Windows - Visual Studio
os: windows-2019
cmakeOptions: '-G "Visual Studio 16 2019" -A x64'
publish: true
- description: macOS / Xcode
os: macos-10.15
- description: macOS - Xcode
os: macos-13
cmakeOptions: ""
publish: true
- description: Linux / GCC
- description: Linux - GCC
os: ubuntu-20.04
cmakeOptions: "-D CMAKE_C_COMPILER=gcc-10 -D CMAKE_CXX_COMPILER=g++-10"
publish: true
- description: Linux / Clang
- description: Linux - Clang
os: ubuntu-20.04
cmakeOptions: "-D CMAKE_C_COMPILER=clang-12 -D CMAKE_CXX_COMPILER=clang++-12"
publish: false
env:
BOOST_ROOT: ${{ github.workspace }}/lib/boost
BOOST_URL: https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2/download
BOOST_URL: https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2/download
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
lfs: true
- name: Restore Boost from cache
uses: actions/cache@v2
uses: actions/cache@v4
id: cache-boost
with:
path: ${{ env.BOOST_ROOT }}
Expand All @@ -57,11 +57,6 @@ jobs:
cd build
cmake ${{ matrix.cmakeOptions }} ..
cmake --build . --config Release --target package
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: binaries
path: build/*.zip
- name: Run tests
shell: bash
run: |
Expand All @@ -70,17 +65,21 @@ jobs:
else
./build/rhubarb/runTests
fi
- name: Upload artifacts
if: ${{ matrix.publish }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.description }}
path: build/*.zip
release:
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
with:
name: binaries
uses: actions/download-artifact@v4
- name: Create GitHub release draft
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
draft: true
files: "*.zip"
Expand Down
150 changes: 76 additions & 74 deletions LICENSE.md

Large diffs are not rendered by default.

43 changes: 32 additions & 11 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
= Rhubarb Lip Sync
:toc:
:icons: font

:A: Ⓐ
:B: Ⓑ
:C: Ⓒ
Expand Down Expand Up @@ -27,7 +31,7 @@ Rhubarb Lip Sync integrates with the following applications:
* *Vegas Pro* by Magix (see <<vegas,below>>)
* *Visionaire Studio* (see https://www.visionaire-studio.net/forum/thread/mouth-animation-using-rhubarb-lip-sync[external link])

In addition, you can use Rhubarb Lip Sync's command line interface (*CLI*) to generate files in various <<outputFormats,output formats>> (<<tsv,TSV>>/<<xml,XML>>/<<json,JSON>>).
In addition, you can use Rhubarb Lip Sync's command line interface (*CLI*) to generate files in various <<outputFormats,output formats>> (<<tsv,TSV>>/<<xml,XML>>/<<json,JSON>>).

== Demo video

Expand Down Expand Up @@ -117,11 +121,11 @@ This shape is also used as an in-between when animating from {C} or {D} to {F}.

=== General usage ===

Rhubarb Lip Sync is a command-line tool that is currently available for Windows and OS X.
Rhubarb Lip Sync is a command-line tool that is currently available for Windows, macOS, and Linux.

* Download the https://github.com/DanielSWolf/rhubarb-lip-sync/releases[latest release] and unzip the file anywhere on your computer.
* Call `rhubarb`, passing it an audio file as argument and telling it where to create the output file. In its simplest form, this might look like this: `rhubarb -o output.txt my-recording.wav`. There are additional <<options,command-line options>> you can specify in order to get better results.
* Rhubarb Lip Sync will analyze the sound file, animate it, and create an output file containing the animation. If an error occurs, Rhubarb Lip Sync will instead print an error message to `stderr` and exit with a non-zero exit code.
* Download the https://github.com/DanielSWolf/rhubarb-lip-sync/releases[latest release] for your operating system and unpack the file anywhere on your computer.
* On the command-line, call `rhubarb`, passing it an audio file as argument and telling it where to create the output file. In its simplest form, this might look like this: `rhubarb -o output.txt my-recording.wav`. There are additional <<options,command-line options>> you can specify in order to get better results.
* Rhubarb Lip Sync will analyze the sound file, animate it, and create an output file containing the animation. If an error occurs, it will instead print an error message to `stderr` and exit with a non-zero exit code.

[[options]]
=== Command-line options ===
Expand Down Expand Up @@ -191,9 +195,9 @@ _Default value: 24_
! X ! rest
!===

*Caution*: This mapping is only applied when exporting, _after_ the recording has been animated. To control which mouth shapes to use, use the <<extendedShapes,`extendedShapes`>> option _with the alphabetic names_.
*Caution:* This mapping is only applied when exporting, _after_ the recording has been animated. To control which mouth shapes to use, use the <<extendedShapes,`extendedShapes`>> option _with the alphabetic names_.

*Tip*: For optimal results, make sure your mouth drawings follow the guidelines in the <<mouth-shapes>> section. This is easier if you stick to the alphabetic names instead of the Preston Blair names. The only situation where you _need_ to use the Preston Blair names is when you're using OpenToonz, because OpenToonz only supports the Preston Blair names.
*Tip:* For optimal results, make sure your mouth drawings follow the guidelines in the <<mouth-shapes>> section. This is easier if you stick to the alphabetic names instead of the Preston Blair names. The only situation where you _need_ to use the Preston Blair names is when you're using OpenToonz, because OpenToonz only supports the Preston Blair names.

|===

Expand Down Expand Up @@ -376,12 +380,29 @@ Rhubarb Lip Sync uses Semantic Versioning (SemVer) for its command-line interfac

As a rule of thumb, everything you can use through the command-line interface adheres to SemVer. Everything else (i.e., the source code, integrations with third-party software, etc.) does not.

[[building-from-source]]
== Building from source

To use Rhubarb Lip Sync on Windows, macOS, or Linux, you can just download the binary release for your operating system. If you want to modify the code or use Rhubarb on a less-common operating system, this section describes how to build it yourself.

You'll need the following software installed:

* CMake 3.10+
* A C{plus}{plus} compiler that supports C{plus}{plus}17 +
(Rhubarb Lip Sync is regularly built using Visual Studio 2019, Xcode 14, GCC 10, and Clang 12.)
* A current version of Boost
* JDK 8.x (for building Rhubarb for Spine)

Then, follow these steps:

. Create an empty directory `/build` within the Rhubarb repository
. Move to the new `/build` directory
. Configure CMake by running `cmake ..` +
Optionally, pass flags for setting the generator, compiler etc.. For working examples, see `.github\workflows\ci.yml`.
. Build Rhubarb Lip Sync by running `cmake --build . --config Release`

== I'd love to hear from you!

Have you created something great using Rhubarb Lip Sync? -- *https://twitter.com/RhubarbLipSync[Let me know on Twitter]* or *send me an email* at +++&#100;&#119;&#111;&#108;&#102;&#064;&#100;&#097;&#110;&#110;&#097;&#100;&#046;&#100;&#101;+++!

Do you need help? Have you spotted a bug? Do you have a suggestion? -- *https://github.com/DanielSWolf/rhubarb-lip-sync/issues[Create an issue!]*

'''

https://www.jetbrains.com/[image:img/resharper-cpp.svg[]] https://www.jetbrains.com/[JetBrains] have been kind enough to supply me with a free Open Source license of https://www.jetbrains.com/resharper-cpp/[ReSharper C++].
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/cards/001.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/cards/002.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/cards/003.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/cards/004.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/cards/005.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0201.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0202.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0203.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0204.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0205.wav
Binary file not shown.
Binary file modified rhubarb/lib/pocketsphinx-rev13216/test/data/wsj/n800_440c0206.wav
Binary file not shown.
Binary file not shown.
Binary file modified rhubarb/lib/sphinxbase-rev13216/test/regression/chan3.2chan.wav
Binary file not shown.
Binary file modified rhubarb/lib/sphinxbase-rev13216/test/regression/chan3.wav
Binary file not shown.
Binary file not shown.

0 comments on commit 78c0f64

Please sign in to comment.