Help us understand the problem. What is going on with this article?

【動物会話】カラスとの会話に向けて動画+カラス拡声やってみた♬

More than 1 year has passed since last update.

最後はフィールドでカラスと会話したいので、まずは動画にカラスの音声を乗っける作業をやってみた。しかも、カラス声が小さいので大きくしてみた。
参考は見つかりますが、結構みなさん苦労されているようで、ウワンの環境だと動きませんでした。
【参考】
pythonで音声処理
動画からの音声抽出と動画への音声結合

とりあえずの目標

1.犬・猫の音声認識
2.動物の音声認識
3.犬の種類・猫の種類の認識
4.犬・猫・カラスの声にそれぞれの声で反応を返す
5.犬・猫・カラスの話を翻訳して、人の声で返すと翻訳して返す
。。。
最終目標;「動物と日常会話ができるようになる」

やったこと

・適当な動画の用意
・音声を拡声する
・AVI動画と合体する

・適当な動画の用意

まず、カラスがいいかもだけど、とにかく動画を取って格納しました。
コードは参考のものを使いしました。
ただし、コーデックは'XVID'に変更しています。OpenCVで遊んでみた♬

【参考】
動画を扱う@OpenCV

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID') #'XVID' #'MJPG'
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        frame = cv2.flip(frame,0)
        # write the flipped frame
        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()

・音声を拡声する

Youtubeのカラス音声って録音すると小さいのでこのままでは使えないということで、拡声する必要があります。
ということで、参考①を参考に以下のようなコードを記載しました。
プログラムは上から一つずつ実行していく感じです。
最初の部分はとりあえずffmpegが使えるか程度のコードです。
これで、aviファイルをまんまaviファイルに出力できます。

import os, sys
import subprocess

input_file='output.avi'
output_file='output1.avi'
bitrate=40
channel=1
cmd = "ffmpeg -y -i {} -ab {}k -ac {} {}".format(input_file, bitrate, channel, output_file)
resp = subprocess.check_output(cmd, shell=True)

次がある意味肝心なところです。音声を読込、base_soundとしてmp3で保存します。
ここで読込はwavファイルにも対応していました。
※もちろん出力もwavファイル対応しています

import pydub
from pydub import AudioSegment
wavfile='karasu-miyama_out.wav'
base_sound = AudioSegment.from_file(wavfile, format="wav")  # 音声を読み込み input.mp3, format="mp3"
length_seconds = base_sound.duration_seconds  # 長さを確認
base_sound.export("karasu-miyama_out.mp3", format="mp3")  # 保存する

以下、音量の調整をします。
また、参考①では音量の長さや効果音追加、音声合成などを実施して、追加する場所まで指定しています。
※今後使いますが、今回は音量のみ拡大して張り付けます。
ということで、以下で張り付けます。

from pydub.utils import db_to_float, ratio_to_db
#ratio = 0.8  # 0.8倍の音量にしたい
#quiet_sound = base_sound + ratio_to_db(ratio)

delta = ratio_to_db(50)  # 音量を0.8倍にしたい
sound_loud = base_sound + delta  # 音量を調節 sound_base + delta
result_ratio = sound_loud.rms / base_sound.rms  #sound_base.rms
print(result_ratio)  # 0.7998836532867947が返ってきた
sound_loud.export("karasu-miyama_out1.mp3", format="mp3")  # 保存する

・AVI動画と合体する

この部分は、参考②の以下のコードで実行できました。
ここで参考②に記載がありますが、mp4でないとコーデックで怒られます。
※aviではできませんでした。また音声はwavファイルではできませんでした。

import moviepy.editor as mp
clip_output = mp.VideoFileClip(output_file).subclip()
clip_output.write_videofile(output_file.replace('.avi', '.mp4'), audio='karasu-miyama_out1.mp3')

結果

とりあえず、Youtubeに上げておきます
【カラスに変更するまでの期間限定】

まとめ

・動画にカラスの音声を拡声して張り付けた

カラスを人を受け入れるのであればこれでいいけど、そんなことは無いので、
とりあえず近々
・カラスの絵に変更して、カラスの動作と調整したいと思う

MuAuan
2020年目標;いい記事を書く 記事350いいね1500フォロワー150 2019年の実績/目標 記事275/300いいね1035/1000フォロワー97/100 1/7/2019 記事219いいね784フォロワー76 2018年の実績/目標 記事140/200いいね423/500フォロワー48/50 7/8/2018 記事90いいね227フォロワー25
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした