mirror of
https://github.com/pstrueb/piper.git
synced 2026-06-01 09:27:02 +00:00
Fix -f
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
*
|
||||
!VERSION
|
||||
!Makefile
|
||||
!src/cpp/
|
||||
!local/en-us/lessac/low/en-us-lessac-low.onnx
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ RUN mkdir -p "lib/Linux-$(uname -m)/piper_phonemize" && \
|
||||
tar -C "lib/Linux-$(uname -m)/piper_phonemize" -xzvf -
|
||||
|
||||
# Build piper binary
|
||||
COPY Makefile ./
|
||||
COPY VERSION Makefile ./
|
||||
COPY src/cpp/ ./src/cpp/
|
||||
RUN make
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
LIB_DIR := lib/Linux-$(shell uname -m)
|
||||
VERSION := $(cat VERSION)
|
||||
DOCKER_PLATFORM ?= linux/amd64,linux/arm64,linux/arm/v7
|
||||
|
||||
piper:
|
||||
mkdir -p build
|
||||
@@ -12,4 +13,4 @@ clean:
|
||||
rm -rf build/ dist/
|
||||
|
||||
docker:
|
||||
docker buildx build . --platform 'linux/amd64,linux/arm64,linux/arm/v7' --output 'type=local,dest=dist'
|
||||
docker buildx build . --platform '$(DOCKER_PLATFORM)' --output 'type=local,dest=dist'
|
||||
|
||||
+14
-8
@@ -195,7 +195,7 @@ int main(int argc, char *argv[]) {
|
||||
while (getline(cin, line)) {
|
||||
auto outputType = runConfig.outputType;
|
||||
auto speakerId = voice.synthesisConfig.speakerId;
|
||||
std::optional<filesystem::path> outputPath;
|
||||
std::optional<filesystem::path> maybeOutputPath = runConfig.outputPath;
|
||||
|
||||
if (runConfig.jsonInput) {
|
||||
// Each line is a JSON object
|
||||
@@ -207,7 +207,7 @@ int main(int argc, char *argv[]) {
|
||||
if (lineRoot.contains("output_file")) {
|
||||
// Override output WAV file path
|
||||
outputType = OUTPUT_FILE;
|
||||
outputPath =
|
||||
maybeOutputPath =
|
||||
filesystem::path(lineRoot["output_file"].get<std::string>());
|
||||
}
|
||||
|
||||
@@ -238,14 +238,20 @@ int main(int argc, char *argv[]) {
|
||||
// Generate path using timestamp
|
||||
stringstream outputName;
|
||||
outputName << timestamp << ".wav";
|
||||
outputPath = runConfig.outputPath.value();
|
||||
outputPath->append(outputName.str());
|
||||
filesystem::path outputPath = runConfig.outputPath.value();
|
||||
outputPath.append(outputName.str());
|
||||
|
||||
// Output audio to automatically-named WAV file in a directory
|
||||
ofstream audioFile(outputPath->string(), ios::binary);
|
||||
ofstream audioFile(outputPath.string(), ios::binary);
|
||||
piper::textToWavFile(piperConfig, voice, line, audioFile, result);
|
||||
cout << outputPath->string() << endl;
|
||||
cout << outputPath.string() << endl;
|
||||
} else if (outputType == OUTPUT_FILE) {
|
||||
if (!maybeOutputPath || maybeOutputPath->empty()) {
|
||||
throw runtime_error("No output path provided");
|
||||
}
|
||||
|
||||
filesystem::path outputPath = maybeOutputPath.value();
|
||||
|
||||
if (!runConfig.jsonInput) {
|
||||
// Read all of standard input before synthesizing.
|
||||
// Otherwise, we would overwrite the output file for each line.
|
||||
@@ -259,9 +265,9 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
// Output audio to WAV file
|
||||
ofstream audioFile(outputPath->string(), ios::binary);
|
||||
ofstream audioFile(outputPath.string(), ios::binary);
|
||||
piper::textToWavFile(piperConfig, voice, line, audioFile, result);
|
||||
cout << outputPath->string() << endl;
|
||||
cout << outputPath.string() << endl;
|
||||
} else if (outputType == OUTPUT_STDOUT) {
|
||||
// Output WAV to stdout
|
||||
piper::textToWavFile(piperConfig, voice, line, cout, result);
|
||||
|
||||
Reference in New Issue
Block a user