Голос FreeTTS без выхода Raspberry PI Bluetooth-динамик - PullRequest
0 голосов
/ 03 января 2019

Запустите простую программу на Raspberry PI. При подключении к монитору через динамики я могу получить голос, говорящий через динамики HDMI. Однако я хочу, чтобы голос выводился через динамики Bluetooth. Подключенные динамики Bluetooth воспроизводятся, когда я воспроизводю некоторые аудиофайлы, но когда я запускаю программу FreeTTS, звук выводится через аудио HDMI или без наушников и подключается только к динамикам Bluetooth, выход вообще не выводится. Я думаю, может быть, он пытается воспроизвести звук по умолчанию, так как он воспроизводится через динамики HDMI, даже если в меню аудио выбран Bluetooth. Вот основной код, с которого я начал.

Voice voice;
VoiceManager voiceManager = VoiceManager.getInstance();
voice = voiceManager.getVoice(voiceName);
voice.allocate();
voice.speak(text);

Я пробовал дополнения, но пока ничего не получалось. Я подумал, что мне может понадобиться подключить какой-нибудь AudioPlayer, но я не смог заставить работать потоковую передачу по умолчанию. Мне нужно, чтобы звук воспроизводился немедленно. Есть мысли?

1 Ответ

0 голосов
/ 04 января 2019

Оказалось, что это не проблема программирования, а просто настройка.Мне нужно было настроить sound.properties для Java, чтобы использовать звук ALSA.Как только они будут установлены, FreeTTS выводит правильный звук, как и ожидалось (в моем случае это динамик Bluetooth).

javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider

Просто поместите это в файл sound.properties (где-то в папке jdk / jvm: find / -name sound.properties).Уже должно быть уничтожено в существующем файле, если не просто добавить его туда.

Так как я использовал Bluetooth и мне нужно было немного микшировать, я в конечном итоге также начал использовать pulseaudio, что привело к другим трудностям, но этовсе еще применяется для получения звука Java, работающего и в этом случае.

...