Commit 14862022 authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen
Browse files

Fixing merge problem

parents acd97fc5 2a9b8809
Copyright 2015-2017 Institute of Technical Acoustics, RWTH Aachen University
Copyright 2015-2017 Institute of Technical Acoustics (ITA), RWTH Aachen University
Any usage and distribution is prohibited, unless explicitly granted by the authors.
\ No newline at end of file
Licensed under the Apache License, Version 2.0 (the "License");
you may not use files of this project except in compliance with the License.
You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
\ No newline at end of file
......@@ -6,8 +6,19 @@ created using a factory method and exposes the IVACore abstract class methods. M
### License
Copyright 2015-2017 Institute of Technical Acoustics, RWTH Aachen University. Any usage and distribution is prohibited, unless explicitly granted by the authors.
See [License](LICENSE.md) file for more information
Copyright 2015-2017 Institute of Technical Acoustics (ITA), RWTH Aachen University
Licensed under the Apache License, Version 2.0 (the "License");
you may not use files of this project except in compliance with the License.
You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
### Additional software
......
......@@ -66,3 +66,4 @@ OrientationYPR = -45, -19.1, 0
#DataFileName = $(VADataDir)/LSEQ/KleinHummel/ls16_eq_nDFT_1025.daff
# ITA Laboratory for Virtual Acoustics (VRLab) audio hardware setup
# by Michael Kohnen
# Outputs: logical groups of output audio hardware
[Output:HOAIdeal]
Description = Equiangular placed loudspeaker
Enabled = true
Devices = LS1, LS2, LS3, LS4, LS5, LS6, LS7, LS8, LS9, LS10, LS11, LS12, LS13, LS14, LS15, LS16, LS17, LS18, LS19, LS20, LS21, LS22, LS23, LS24, LS25
[OutputDevice:LS1]
Type = LS
Channels = 1
Position = 0,1,-6.1232e-17
[OutputDevice:LS2]
Type = LS
Channels = 2
Position = 0,-0.44216,-0.89694
[OutputDevice:LS3]
Type = LS
Channels = 3
Position = -0.32687,0.19947,0.92378
[OutputDevice:LS4]
Type = LS
Channels = 4
Position = 0.98721,0.069029,-0.14369
[OutputDevice:LS5]
Type = LS
Channels = 5
Position = 0.77885,0.44862,0.43833
[OutputDevice:LS6]
Type = LS
Channels = 6
Position = -0.48015,-0.48095,0.73358
[OutputDevice:LS7]
Type = LS
Channels = 7
Position = 0.17993,-0.90665,-0.3816
[OutputDevice:LS8]
Type = LS
Channels = 8
Position = -0.23215,-0.93862,0.25516
[OutputDevice:LS9]
Type = LS
Channels = 9
Position = 0.65248,0.73868,-0.16918
[OutputDevice:LS10]
Type = LS
Channels = 10
Position = 0.60413,0.15673,-0.78132
[OutputDevice:LS11]
Type = LS
Channels = 11
Position = -0.11457,0.23328,-0.96564
[OutputDevice:LS12]
Type = LS
Channels = 12
Position = 0.35422,0.12681,0.92653
[OutputDevice:LS13]
Type = LS
Channels = 13
Position = 0.80741,-0.26818,0.52552
[OutputDevice:LS14]
Type = LS
Channels = 14
Position = -0.95081,0.28724,-0.116
[OutputDevice:LS15]
Type = LS
Channels = 15
Position = 0.16237,0.75622,-0.63385
[OutputDevice:LS16]
Type = LS
Channels = 16
Position = 0.59325,-0.79266,0.14052
[OutputDevice:LS17]
Type = LS
Channels = 17
Position = 0.10299,0.75008,0.65328
[OutputDevice:LS18]
Type = LS
Channels = 18
Position = -0.85196,0.069728,0.51895
[OutputDevice:LS19]
Type = LS
Channels = 19
Position = -0.48217,-0.76556,-0.42595
[OutputDevice:LS20]
Type = LS
Channels = 20
Position = 0.72077,-0.48095,-0.49917
[OutputDevice:LS21]
Type = LS
Channels = 21
Position = -0.57288,0.75007,0.33045
[OutputDevice:LS22]
Type = LS
Channels = 22
Position = -0.89509,-0.44532,0.022394
[OutputDevice:LS23]
Type = LS
Channels = 23
Position = -0.71173,-0.11269,-0.69335
[OutputDevice:LS24]
Type = LS
Channels = 24
Position = 0.21394,-0.61262,0.76088
[OutputDevice:LS25]
Type = LS
Channels = 25
Position = -0.53917,0.66038,-0.52268
\ No newline at end of file
......@@ -5,13 +5,18 @@
[Output:VRLAB_LS_ALL]
Description = ITA VRLab setup using all available broadband loudspeaker (O300 & O110)
Enabled = false
Devices = LS_FL, LS_FR, LS_RR, LS_RL, LS_TF, LS_TR, LS_TB, LS_TL, LS_BF, LS_BR, LS_BB, LS_BL
[Output:VRLAB_VLS_ALL]
Description = ITA VRLab setup using all available broadband loudspeaker (O300 & O110)
Enabled = true
Devices = LS_FL, LS_FR, LS_RL, LS_RR, LS_TF, LS_TR, LS_TB, LS_TL, LS_BF, LS_BR, LS_BB, LS_BL
Devices = LS_FL, LS_FR, LS_RR, LS_RL, LS_TF, LS_TR, LS_TB, LS_TL, LS_BF, LS_BR, LS_BB, LS_BL, LS_VU, LS_VD
[Output:VRLAB_LS_HORIZONTAL]
Description = ITA VRLab setup using loudspeaker ring in horizontal plane at user's head elevation
Enabled = true
Devices = LS_FL, LS_FR, LS_RL, LS_RR
Devices = LS_FL, LS_FR, LS_RR, LS_RL
[Output:VRLAB_LS_STEREO]
Description = ITA VRLab simple stereo setup
......@@ -178,3 +183,21 @@ Channels = 21, 22
Type = HP
Description = Sennheiser wirless headphones
Channels = 23, 24
[OutputDevice:LS_VU]
Type = LS
Description = K&H O110D, no16, rear-left
Channels = 15
#Position = 0.0, 2.0, 0.0
#OrientationYPR = -45, -15, 0
Position = 0, 2, 0
OrientationYPR = -45, -19.1, 0
#DataFileName = $(VADataDir)/LSEQ/KleinHummel/ls16_eq_nDFT_1025.daff
[OutputDevice:LS_VD]
Type = LS
Description = K&H O110D, no16, rear-left
Channels = 16
Position = 0.0, -2.0, 0.0
OrientationYPR = -45, -19.1, 0
#DataFileName = $(VADataDir)/LSEQ/KleinHummel/ls16_eq_nDFT_1025.daff
\ No newline at end of file
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
......@@ -17,7 +17,7 @@
#include <string>
#include <vector>
#if ( defined WIN32 ) && !( defined VACORE_STATIC )
#if ( defined WIN32 ) && !( ( defined VACORE_STATIC ) || ( defined VA_STATIC ) )
#ifdef VACORE_EXPORTS
#define VACORE_API __declspec( dllexport )
#else
......
/*
* ---------------------------------------------------------------------------------
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institut of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* ---------------------------------------------------------------------------------
* --------------------------------------------------------------------------------------------
*/
#ifndef IW_VACORE_CORE_FACTORY
......
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA), 2015-2017
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
......
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA), 2015-2017
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
......
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA), 2015-2017
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
......
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA), 2015-2017
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
#ifndef __VA_REFERENCEABLE_OBJECT_H__
#define __VA_REFERENCEABLE_OBJECT_H__
#ifndef IW_VACORE_REFERENCEABLE_OBJECT
#define IW_VACORE_REFERENCEABLE_OBJECT
#include <VACoreDefinitions.h>
#include <VAException.h>
......@@ -169,4 +169,4 @@ private:
};
#endif // __VA_REFERENCEABLE_OBJECT_H__
#endif // IW_VACORE_REFERENCEABLE_OBJECT
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A
* VVV VVV AAA Virtual Acoustics (VA)
* VVV VVV AAA Real-time auralisation for virtual reality
* VVV VVV AAA
* VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA), 2015-2017
* VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de)
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2017
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
......
......@@ -60,7 +60,7 @@ CVAAudiofileSignalSource::CVAAudiofileSignalSource( const std::string& sFileName
}
else
{
VA_WARN( "VABufferSignalSource", "More than one channel in file '" << sFileName << "' found, using first." );
VA_WARN( "BufferSignalSource", "More than one channel in file '" << sFileName << "' found, using first." );
m_sfAudioBuffer = sfFileBuffer;
for( int i = 0; i < m_sfAudioBuffer.channels(); i++ )
......@@ -96,10 +96,10 @@ void CVAAudiofileSignalSource::SetPlaybackAction( int iPlayStateAction )
m_iRequestedPlaybackAction = iPlayStateAction;
break;
case IVACore::VA_PLAYBACK_ACTION_NONE:
VA_WARN( "CVAAudiofileSignalSource", "Ignoring playback action '" << iPlayStateAction << "' (NONE)" );
VA_WARN( "AudiofileSignalSource", "Ignoring playback action '" << iPlayStateAction << "' (NONE)" );
break;
default:
VA_ERROR( "CVAAudiofileSignalSource", "Could not apply unkown playback action '" << iPlayStateAction << "'" );
VA_ERROR( "AudiofileSignalSource", "Could not apply unkown playback action '" << iPlayStateAction << "'" );
break;
}
......@@ -250,7 +250,7 @@ const float* CVAAudiofileSignalSource::GetStreamBlock( const CVAAudiostreamState
if( m_pBufferDataSource->GetLoopMode() == false )
{
m_iCurrentPlayState = IVACore::VA_PLAYBACK_STATE_STOPPED; // Attention, directly modifying member, only OK here.
VA_INFO( "CVAAudiofileSignalSource", "Playback stop transition forced during locked scene." );
VA_INFO( "AudiofileSignalSource", "Playback stop transition forced during locked scene." );
}
}
break;
......@@ -315,7 +315,7 @@ const float* CVAAudiofileSignalSource::GetStreamBlock( const CVAAudiostreamState
if( m_iCurrentPlayState != iNewPlaybackState && !bSyncMod )
{
VA_INFO( "CVAAudiofileSignalSource", "Playback transition from '" << GetStateString( m_iCurrentPlayState ) << "'" <<
VA_INFO( "AudiofileSignalSource", "Playback transition from '" << GetStateString( m_iCurrentPlayState ) << "'" <<
" to '" << GetStateString( iNewPlaybackState ) << "'" );
assert( iNewPlaybackState != IVACore::VA_PLAYBACK_STATE_INVALID );
......
......@@ -216,7 +216,7 @@ const float* CVAMachineSignalSource::GetStreamBlock( const CVAAudiostreamState*
for( int i=0; i<m_sbOut.length(); i++ )
{
if( m_sbOut[i] > 1.0f || m_sbOut[i] < -1.0f )
VA_WARN( "CVAMachineSignalSource", "high energy detected" );
VA_WARN( "MachineSignalSource", "high energy detected" );
}
return m_sbOut.data();
......
......@@ -83,7 +83,7 @@ const float* CVATextToSpeechSignalSource::GetStreamBlock( const CVAAudiostreamSt
delete m_pFrameToDelete;
m_pFrameToDelete = NULL;
}
//VA_INFO("CVATextToSpeechSignalSource", "TTS to VA_PLAYBACK_ACTION_STOP");
//VA_INFO("TextToSpeechSignalSource", "TTS to VA_PLAYBACK_ACTION_STOP");
}
}
......@@ -124,7 +124,7 @@ std::string CVATextToSpeechSignalSource::GetStateString() const
void CVATextToSpeechSignalSource::Reset()
{
VA_WARN("CVATextToSpeechSignalSource", "Reset is not yet implemented.");
VA_WARN("TextToSpeechSignalSource", "Reset is not yet implemented.");
}
CVAStruct CVATextToSpeechSignalSource::GetParameters( const CVAStruct& oArgs ) const
......@@ -134,7 +134,7 @@ CVAStruct CVATextToSpeechSignalSource::GetParameters( const CVAStruct& oArgs ) c
#ifndef VACORE_WITH_TTS_SIGNAL_SOURCE
oRet[ "error" ] = "TTS signal sources not activated in your VACore";
VA_WARN( "CVATextToSpeechSignalSource", "TTS signal sources was requested but is not activated in your VACore" );
VA_WARN( "TextToSpeechSignalSource", "TTS signal sources was requested but is not activated in your VACore" );
#else
/*
......@@ -146,7 +146,7 @@ CVAStruct CVATextToSpeechSignalSource::GetParameters( const CVAStruct& oArgs ) c
auto it = m_Visemes.find(id);
if (it == m_Visemes.end()){
VA_WARN("CVATextToSpeechSignalSource", "Visemes for requested id \"" + id + "\" do not exist.");
VA_WARN("TextToSpeechSignalSource", "Visemes for requested id \"" + id + "\" do not exist.");
oRet["visemes"] = "";
return oRet;
}
......@@ -187,12 +187,12 @@ CVAStruct CVATextToSpeechSignalSource::GetParameters( const CVAStruct& oArgs ) c
if (oArgs.IsEmpty())
{
oRet["info"] = "see VATextToSpeechSignalSource.h documentation for SetParameters() for usage information";
VA_INFO("CVATextToSpeechSignalSource", "GetParameters called with empty argument, see VATextToSpeechSignalSource.h documentation for SetParameters() for usage information.");
VA_INFO("TextToSpeechSignalSource", "GetParameters called with empty argument, see VATextToSpeechSignalSource.h documentation for SetParameters() for usage information.");
return oRet;
}
oRet["info"] = "Unknown parameters! see VATextToSpeechSignalSource.h documentation for SetParameters() for usage information";
VA_INFO("CVATextToSpeechSignalSource", "Unknonwn parameters: " + oArgs.ToString());
VA_INFO("TextToSpeechSignalSource", "Unknonwn parameters: " + oArgs.ToString());
#endif
return oRet;
......@@ -201,7 +201,7 @@ CVAStruct CVATextToSpeechSignalSource::GetParameters( const CVAStruct& oArgs ) c
void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
{
#ifndef VACORE_WITH_TTS_SIGNAL_SOURCE
VA_WARN( "CVATextToSpeechSignalSource", "TTS signal sources was requested but is not activated in your VACore" );
VA_WARN( "TextToSpeechSignalSource", "TTS signal sources was requested but is not activated in your VACore" );
#else
/*
......@@ -210,7 +210,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
if (oParams.HasKey("prepare_text")){
if (!oParams["prepare_text"].IsString()){
VA_WARN("CVATextToSpeechSignalSource", "No Text given!");
VA_WARN("TextToSpeechSignalSource", "No Text given!");
return;
}
std::string sText = oParams["prepare_text"];
......@@ -227,7 +227,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
std::string id = "tmp";
if (!oParams.HasKey("id") || !oParams["id"].IsString()){
if (!direct_playback){
VA_WARN("CVATextToSpeechSignalSource", "No id is given for the prepare speech request, the user application has to give an unique id.");
VA_WARN("TextToSpeechSignalSource", "No id is given for the prepare speech request, the user application has to give an unique id.");
return;
}
}
......@@ -235,7 +235,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
id = oParams["id"];
if (m_Visemes.find(id) != m_Visemes.end() && id.compare("tmp")!=0){
VA_WARN("CVATextToSpeechSignalSource", "The id \""+id+"\" was used before, make sure you do not overwrite anything still needed.");
VA_WARN("TextToSpeechSignalSource", "The id \""+id+"\" was used before, make sure you do not overwrite anything still needed.");
}
......@@ -257,7 +257,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
#endif
CPRC_abuf* buf = CPRCEN_engine_channel_speak(TTSEngine::getInstance().getEngine(), chan, sText.c_str(), sText.length(), true);
if (buf == NULL){
VA_WARN("CVATextToSpeechSignalSource", "Cannot create an audio file, probably no voice is available!");
VA_WARN("TextToSpeechSignalSource", "Cannot create an audio file, probably no voice is available!");
return;
}
......@@ -292,7 +292,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
SetParameters(oParams_play);
}
VA_INFO("CVATextToSpeechSignalSource", "VA creatted audio, to say \"" + sText + "\", with id: \"" + id + "\"");
VA_INFO("TextToSpeechSignalSource", "VA creatted audio, to say \"" + sText + "\", with id: \"" + id + "\"");
return;
}
......@@ -309,7 +309,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
if (oParams["play_speech"].IsString())
id = oParams["play_speech"];
else
VA_WARN("CVATextToSpeechSignalSource", "play_speech does not hold an identificator for the speech to be played, use \"tmp\"");
VA_WARN("TextToSpeechSignalSource", "play_speech does not hold an identificator for the speech to be played, use \"tmp\"");
//pAudioFile = new CVAAudiofileSignalSource("D:/work/tts.wav", GetSampleRate(), GetBlocklength());
//pAudioFile->SetIsLooping(true);
......@@ -326,7 +326,7 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
auto it = m_AudioSampleFrames.find(id);
if (it == m_AudioSampleFrames.end() || it->second==NULL){
VA_WARN("CVATextToSpeechSignalSource", "There is no audio created for id: \"" + id + "\"");
VA_WARN("TextToSpeechSignalSource", "There is no audio created for id: \"" + id + "\"");
return;
}
......@@ -349,12 +349,12 @@ void CVATextToSpeechSignalSource::SetParameters( const CVAStruct& oParams )
m_Visemes[id] = "";
}
VA_INFO("CVATextToSpeechSignalSource", "Play TTS for id: \"" + id + "\"");
VA_INFO("TextToSpeechSignalSource", "Play TTS for id: \"" + id + "\"");
return;
}
VA_WARN( "CVATextToSpeechSignalSource", "Could not interpret parameters for text-to-speech signal source setter method, use empty getter for help." );
VA_WARN( "TextToSpeechSignalSource", "Could not interpret parameters for text-to-speech signal source setter method, use empty getter for help." );
#endif
}
......@@ -376,12 +376,12 @@ void CVATextToSpeechSignalSource::VisemeProcessing(CPRC_abuf * abuf, void * user
float endTime = 0.0f;
if (abuf == NULL){
VA_WARN("CVATextToSpeechSignalSource", "The buffer is NULL, cannot extract visemes!");
VA_WARN("TextToSpeechSignalSource", "The buffer is NULL, cannot extract visemes!");
return;
}
if (userdata == NULL){
VA_WARN("CVATextToSpeechSignalSource", "The userdata viseme string is NULL, cannot extract visemes!");
VA_WARN("TextToSpeechSignalSource", "The userdata viseme string is NULL, cannot extract visemes!");
return;
}
......@@ -397,7 +397,7 @@ void CVATextToSpeechSignalSource::VisemeProcessing(CPRC_abuf * abuf, void * user
end = CPRC_abuf_trans_end(trans); /* End time in seconds */
label = CPRC_abuf_trans_name(trans); /* Label, type dependent */
if (CPRC_abuf_trans_type(trans) == CPRC_ABUF_TRANS_PHONE) {
//VA_INFO("CVATextToSpeechSignalSource", "Phoneme: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
//VA_INFO("TextToSpeechSignalSource", "Phoneme: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
//visemes_time->first.append( "\t<viseme start=\"" + to_string_with_precision(start+visemes_time->second) + "\" articulation=\"1\" type=\"" + PhonemeToViseme(label) + "\" />\n");
std::string viseme = std::string("\t<lips ")
+ "viseme=\"" + TTSEngine::getInstance().PhonemeToViseme(label) + "\" "
......@@ -411,13 +411,13 @@ void CVATextToSpeechSignalSource::VisemeProcessing(CPRC_abuf * abuf, void * user
endTime = end;
}
/*else if (CPRC_abuf_trans_type(trans) == CPRC_ABUF_TRANS_WORD) {
VA_INFO("CVATextToSpeechSignalSource", "Word: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
VA_INFO("TextToSpeechSignalSource", "Word: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
}
else if (CPRC_abuf_trans_type(trans) == CPRC_ABUF_TRANS_MARK) {
VA_INFO("CVATextToSpeechSignalSource", "Marker: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
VA_INFO("TextToSpeechSignalSource", "Marker: " + std::to_string(start) + " " + std::to_string(end) + " " + label);
}*/
else if (CPRC_abuf_trans_type(trans) == CPRC_ABUF_TRANS_ERROR) {
VA_INFO("CVATextToSpeechSignalSource", "ERROR: could not retrieve transcription at "+ std::to_string(i));
VA_INFO("TextToSpeechSignalSource", "ERROR: could not retrieve transcription at "+ std::to_string(i));
}
}
data->lastEnd += endTime;
......@@ -444,11 +444,11 @@ void CVATextToSpeechSignalSource::TTSEngine::Init(){
SetAdditionalVoicePath(CEREVOICE_VOICES_PATH);//this is defined by the FindVCereVoice cmake script, but cannot be used e.g. for deployed VAServers
for (std::string voices_path : m_VoicePaths){
VA_INFO("CVATextToSpeechSignalSource", "CereVoice voices are searched in \"" + voices_path + "\"");
VA_INFO("TextToSpeechSignalSource", "CereVoice voices are searched in \"" + voices_path + "\"");
VistaFileSystemDirectory voicesDir(voices_path);
if (!voicesDir.Exists()){
VA_WARN("CVATextToSpeechSignalSource", "The voices directory does not exist!");
VA_WARN("TextToSpeechSignalSource", "The voices directory does not exist!");
continue;
}
......@@ -460,7 +460,7 @@ void CVATextToSpeechSignalSource::TTSEngine::Init(){
std::string licence_file = name.substr(0, suffix_pos) + ".lic";