Faire parler la Raspberry

eSpeak로 Raspberry Pi가 텍스트를 읽도록하는 방법.

업데이트 됨 5 11월 2019 - 0 코멘트 - , , ,

ⓘ 이 기사는 자동 도구를 사용하여 부분적으로 또는 전체적으로 번역되었을 수 있습니다. 이로 인해 발생할 수있는 오류에 대해 사과드립니다.

컴퓨팅에서 사용자 인터페이스 문제는 아마도 가장 복잡한 문제 중 하나 일 것입니다. 즉, 이름 지정 및 캐시 무효화 …

컴퓨터에서 사람에게 정보를 제공하는 가장 쉬운 방법은 일반적으로 비전을 사용하는 것입니다. 그러나이를 위해서는 부피가 크고 비싸기 때문에 온보드 사용에 적합하지 않은 화면이 필요합니다.

이 튜토리얼에서는 텍스트 투 스피치라고하는 eSpeak 소프트웨어를 사용하여 Raspberry Pi가 텍스트를 말하도록하여 사용자의 시각보다는 청각을 사용하는 방법을 살펴 봅니다.

Raspberry Pi를 말하는 하드웨어

Raspberry Pi가 말하도록하려면 다음 장비가 필요합니다.

Raspberry Pi에 eSpeak 설치

Raspberry Pi를 말하기 위해 오픈 소스 텍스트 음성 변환 소프트웨어 인 eSpeak 소프트웨어를 사용합니다.

eSpeak의 원리는 다음과 같습니다. 텍스트 (문자열, 파일 등)를 제공하고 음소 (말하는 언어를 구성하는 가장 작은 소리)로 분할 한 다음 전체 세트를 사용합니다. 이러한 음소를 실제 사운드 파일로 변환하는 기술.

Raspberry Pi에 eSpeak를 설치하려면 이미 리포지토리에 있기 때문에 매우 간단합니다. 따라서 리포지토리를 업데이트하고 eSpeak 설치를 요청하면됩니다.

sudo apt update
sudo apt install espeak -y

eSpeak로 문장 읽기

이제 eSpeak가 설치되었으므로 첫 번째 문장을 읽을 수 있습니다. 그러나 그 전에 스피커에 도달하기 위해 Raspberry Pi의 잭 포트에서 사운드가 출력되는지 확인합니다.

이렇게하려면 sudo raspi-config 명령을 실행 한 다음 "고급 옵션", "오디오", "Force 3.5mm ( '헤드폰') 잭", 마지막으로 "마침"으로 이동합니다.

우리는 폴더를 만들 것입니다 espeak 사용자 디렉토리에서 오디오 파일을 다운로드하고 재생하여 모든 것이 올바르게 작동하는지 확인합니다.

mkdir /home/pi/espeak
cd /home/pi/espeak
wget https://raspberry-pi.fr/download/espeak/test.mp3 -O test.mp3
ffplay -nodisp test.mp3

C 메이저 음계가 연주되는 것을 들어야합니다.

이제 스피커가 작동하고 있음을 알았으므로 eSpeak에 "산딸기가 할아버지의 의자에 앉아 있습니다."라는 문구를 말하도록 요청할 것입니다. 이를 위해 아래 명령을 사용합니다.

espeak -a 200 -v fr+f3 "Les framboises sont perchées sur le tabouret de mon grand-père." --stdout | aplay

이것은 우리에게 이와 같은 것을 제공합니다 …

네, 목소리가 끔찍하지만 나중에 개선 할 것입니다.

이해하기 위해 명령을 약간 살펴 보겠습니다.

  • espeak espeak 프로그램 시작
  • -a 200 사운드에 사용할 볼륨을 나타냅니다. 범위는 0에서 200까지이며 기본적으로 100입니다.
  • -v fr+f3 사용할 언어를 알려줍니다. fr 프랑스어에 해당하고 +f3 eSpeak에서 제안한 여성 음성의 세 번째 변형을 사용하고자 함을 나타냅니다. 텍스트에 언어 코드를 적용하는 것을 잊지 마십시오.
  • 따옴표 안의 문장은 eSpeak에서 사용하는 문장입니다. 대신, 우리는 텍스트 파일을 자연스럽게 읽도록 요청할 수도 있습니다. -f le_chemin/du/fichier.txt.
  • --stdout 오디오를 직접 재생하는 대신 생성 된 데이터를 터미널의 표준 출력으로 보내야한다고 eSpeak에 알립니다.
  • | aplay eSpeak에 의해 생성 된 출력이 eSpeak에 의해 생성 된 Wave 형식의 오디오 파일을 재생하는 프로그램 인 aplay 프로그램의 입력으로 리디렉션됨을 나타냅니다. 대신 우리는 > mon_fichier.wav 오디오 출력을 파일에 저장합니다.

보시다시피, 소리를 재생하는 것은 eSpeak가 아니라 aplay입니다. 그 이유는 매우 간단하며 일부 버전의 경우 Raspberry Pi에서 espeak가 도청되었습니다.

몇 줄의 이야기 버그.
그리고 내 친구, 우리가 "벌레"라고 부르는 것 …

eSpeak를 직접 말하려고하면 Raspberry Pi 사운드 서버 인 Alsa와 관련된 오류가 발생합니다. 따라서 가장 간단한 해결책은 데이터를 aplay에 보내는 것입니다. 결국 그것은 작동하고 그게 중요한 전부입니다.

Raspberry에 MBROLA를 설치하여 eSpeak의 음성을 향상 시키십시오.

보시다시피 eSpeak에서 생성 된 음성은 절대적으로 더럽습니다. 당황하지 마십시오.이를 개선 할 수있는 해결책이 있습니다.

기사의 시작 부분에서 eSpeak는 음성 언어를 구성하는이 소리 조각을 생성 할 수 있다고 언급했습니다. 그리고이 음소를 읽고 발음 할 수있는 다른 프로그램이 있다는 것이 밝혀졌습니다. eSpeak보다 더 설득력이 있습니다!

우리의 경우, 우리는 음성 합성을위한 거대한 데이터베이스를 설계하는 것을 목표로하는 벨기에 Mons의 Polytechnic Faculty가 시작한 세계적인 협력 프로젝트 인 MBROLA 소프트웨어를 사용할 것입니다.

이상하게도 MBROLA 소프트웨어는 Raspbian 저장소에서 사용할 수 없지만 언어 데이터는 사용할 수 있습니다. 이것은 이러한 언어 데이터의 설치를 불가능하게 만드는 결과를 가져옵니다.

Kevin Hart조차도 버그가 있다고 생각합니다!
뭐야?

걱정하지 마세요. 솔루션이 있습니다! 사실, 좋은 영혼은 Raspberry Pi 자신을위한 MBROLA 패키지를 만들 수있을만큼 친절했기 때문에 사이트에 거울을 만들기로 결정했습니다.

따라서 아래 명령을 사용하여이 패키지를 다운로드하고 설치합니다.

cd ~/espeak
wget https://raspberry-pi.fr/download/espeak/mbrola3.0.1h_armhf.deb -O mbrola.deb
sudo dpkg -i mbrola.deb

이제 MBROLA가 설치되었으므로 필요한 언어 파일을 다운로드 할 수 있습니다. 그래서 나를 위해 그것은 mbrola-fr1, 그것은 첫 번째 프랑스어 음성을 말하는 것입니다. 사용자의 언어에 맞게 명령을 조정하십시오.

sudo apt install mbrola-fr1 -y

지금해야 할 일은 이전 eSpeak 주문을 받아 음소를 생성하고 MBROLA에서 읽도록 조정하는 것입니다. 아래 명령이 제공됩니다.

espeak -a 200 -v mb-fr1 -s 150 "Les framboises sont perchées sur le tabouret de mon grand-père." --stdout | aplay

아래 오디오를 제공합니다.

물론 우리는 항상 그것이 로봇이라고 느낍니다. 그러나 여전히 최고가 있음을 인정하십시오!

이전과 동일한 설정 중 일부를 찾을 수 있지만 두 가지 변경 사항이 있습니다.

  • -v mb-fr1 MBROLA를 사용하여 오디오 파일을 생성 함을 나타냅니다. mb, 그리고 프랑스어 음성 번호 1 -fr1.
  • -s 150 분당 150 단어의 속도로 파일을 생성 할 때를 나타냅니다. 기본값은 165이지만 적어도 프랑스어의 경우 약간 빠릅니다.

이전과 마찬가지로 파일을 생성하거나 txt 파일에서 텍스트를 읽는 등의 명령을 수정할 수 있습니다.

이러한 명령을 RFID 태그 읽기 등과 같은 것들과 결합하면 비교적 완전한 인터페이스를 가진 차량 내 시스템을 쉽게 만들 수 있습니다.

물론 우리는 여전히 인간의 목소리와는 거리가 멀고 Common Voice 프로젝트의 일부로 개발 된 Mozilla의 TTS와 같은 더 나은 "텍스트 음성 변환"엔진이 있다는 것을 알고 있습니다. 그럼에도 불구하고 MBROLA와 eSpeak는 사용 편의성, 실행 속도 및 효율성 사이에서 좋은 절충안을 제공합니다.

공유
뉴스 레터
저자 :
Raspberry Pi FR
Raspberry Pi 커뮤니티에 가입
35 달러짜리 컴퓨터는 이미 천만 부 판매
새로운 RASPBERRY PI 4 구입
관련 튜토리얼
Raspbian France가 이름을 변경하고 Raspberry Pi FR이됩니다! 새로운 라즈베리 파이 3B의 출시, 어떤 새로운, 어떤 가격, 어디 그것을 구입? 직렬 포트를 사용하여 인터넷없이 Raspberry Pi에 연결합니다. Raspberry Pi와 함께 RFID 리더를 사용하십시오. 왜 할머니가 아닌 프랑스 정보에 비트코인을 설명해야 합니까?
댓글이 없습니다
공유
뉴스 레터 가입
뉴스 레터를 구독하십시오.
이 기사가 마음에 드 셨나요?
구독하고 최신 정보를 받아보세요!