মানসিক বিষয়বস্তু অপসারণ করতে প্যারামেট্রিকভাবে বক্তৃতা হ্রাস করুন


12

আমি আর বা মতলবতে পরামর্শ গ্রহণ করতে পেরে খুশি, তবে আমি নীচে যে কোডটি উপস্থাপন করছি তা কেবলমাত্র আর-র।

নীচে সংযুক্ত অডিও ফাইলটি দু'জনের মধ্যে কথোপকথনের একটি সংক্ষিপ্ত অংশ। আমার লক্ষ্যটি তাদের বক্তৃতাটিকে বিকৃত করা যাতে সংবেদনশীল বিষয়বস্তুটি অচেনা হয়ে যায়। অসুবিধাটি হ'ল আমার এই বিকৃতিটির জন্য কিছু প্যারাম্যাট্রিক স্থান প্রয়োজন যা 1 থেকে 5 পর্যন্ত বলতে দেয় যেখানে 1 হল 'অত্যন্ত স্বীকৃত আবেগ' এবং 5 হ'ল 'স্বীকৃত আবেগ'। আর এর মাধ্যমে এটি অর্জনে আমি তিনটি উপায় ব্যবহার করতে পারি বলে ভেবেছিলাম।

এখান থেকে 'হ্যাপি' অডিও তরঙ্গ ডাউনলোড করুন

এখান থেকে 'রাগান্বিত' অডিও তরঙ্গ ডাউনলোড করুন

প্রথম পদ্ধতির শব্দটি শোনার মধ্য দিয়ে সামগ্রিক স্বজ্ঞাততা হ্রাস করা হয়েছিল। এই সমাধানটি নীচে উপস্থাপন করা হয়েছে (তার পরামর্শগুলির জন্য @ কার্ল-উইথফটকে ধন্যবাদ) এটি বক্তৃতাটির বোধগম্যতা এবং সংবেদনশীল বিষয়বস্তু উভয়ই হ্রাস করবে, তবে এটি অত্যন্ত 'নোংরা' পদ্ধতির - প্যারাম্যাট্রিক স্থান পাওয়ার পক্ষে এটি সঠিক করা শক্ত, কারণ আপনি কেবলমাত্র যে দিকটি নিয়ন্ত্রণ করতে পারবেন সেখানে শব্দের প্রশস্ততা (ভলিউম) রয়েছে।

require(seewave)
require(tuneR)
require(signal)
h <- readWave("happy.wav")
h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to 2 sec
n <- noisew(d=2,f=44100)#create 2-second white noise
h.n <- h + n #combine audio wave with noise
oscillo(h.n,f=44100)#visualize wave with noise(black)
par(new=T)
oscillo(h,f=44100,colwave=2)#visualize original wave(red)

এখানে চিত্র বর্ণনা লিখুন

দ্বিতীয় পন্থাটি হ'ল একরকম শব্দের সামঞ্জস্য করা, কেবলমাত্র নির্দিষ্ট ফ্রিকোয়েন্সি ব্যান্ডগুলিতে বক্তৃতাটিকে বিকৃত করা। আমি ভেবেছিলাম আমি আসল অডিও তরঙ্গ থেকে প্রশস্ততা খামটি বের করে, এই খামটি থেকে শব্দ উত্পন্ন করতে এবং তারপরে শব্দের অডিও তরঙ্গে পুনরায় প্রয়োগ করে এটি করতে পারি। নীচের কোডটি দেখায় যে এটি কীভাবে করা যায়। এটি শব্দের চেয়ে পৃথক কিছু করে, শব্দটিকে ক্র্যাকিং করে, তবে এটি একই বিন্দুতে ফিরে যায় - আমি এখানে কেবলমাত্র শব্দের প্রশস্ততা পরিবর্তন করতে সক্ষম।

n.env <- setenv(n, h,f=44100)#set envelope of noise 'n'
h.n.env <- h + n.env #combine audio wave with 'envelope noise'
par(mfrow=c(1,2))
spectro(h,f=44100,flim=c(0,10),scale=F)#spectrogram of normal wave (left)
spectro(h.n.env,f=44100,flim=c(0,10),scale=F,flab="")#spectrogram of wave with 'envelope noise' (right)

এখানে চিত্র বর্ণনা লিখুন

চূড়ান্ত পন্থা এটি সমাধানের মূল বিষয় হতে পারে তবে এটি বেশ জটিল। শ্যানন এট আল দ্বারা বিজ্ঞানে প্রকাশিত প্রতিবেদনে এই পদ্ধতিটি পেয়েছি (1996) । তারা বর্ণালি হ্রাসের বেশ কৌতুকপূর্ণ প্যাটার্ন ব্যবহার করেছেন, এমন কিছু অর্জন করতে যা সম্ভবত বেশ রোবটিক মনে হয়। তবে একই সময়ে, বর্ণনা থেকে, আমি ধরে নিয়েছি তারা সম্ভবত আমার সমস্যার উত্তর দিতে পারে এমন সমাধান খুঁজে পেয়েছে। গুরুত্বপূর্ণ তথ্যটি রেফারেন্স এবং নোটগুলির পাঠ্য এবং নোট number এর দ্বিতীয় অনুচ্ছেদে রয়েছে- পুরো পদ্ধতিটি সেখানে বর্ণিত হয়েছে। এ পর্যন্ত এটির প্রতিরূপ দেওয়ার আমার প্রচেষ্টা ব্যর্থ হয়েছে তবে পদ্ধতিটি কীভাবে করা উচিত তার ব্যাখ্যা সহ একত্রে আমি যে কোডটি সন্ধান করতে পেরেছি তা নীচে is আমি মনে করি প্রায় সব ধাঁধা আছে, কিন্তু আমি এখনও কোনওভাবে পুরো ছবিটি পেতে পারি না।

###signal was passed through preemphasis filter to whiten the spectrum 
#low-pass below 1200Hz, -6 dB per octave
h.f <- ffilter(h,to=1200)#low-pass filter up to 1200 Hz (but -6dB?)

###then signal was split into frequency bands (third-order elliptical IIR filters)
#adjacent filters overlapped at the point at which the output from each filter 
#was 15dB down from the level in the pass-band
#I have just a bunch of options I've found in 'signal'
ellip()#generate an Elliptic or Cauer filter
decimate()#downsample a signal by a factor, using an FIR or IIR filter
FilterOfOrder()#IIR filter specifications, including order, frequency cutoff, type...
cutspec()#This function can be used to cut a specific part of a frequency spectrum

###amplitude envelope was extracted from each band by half-wave rectification 
#and low-pass  filtering
###low-pass filters (elliptical IIR filters) with cut-off frequencies of:
#16, 50, 160 and 500 Hz (-6 dB per octave) were used to extract the envelope

###envelope signal was then used to modulate white noise, which was then 
#spectrally limited by the same bandpass filter used for the original signal

তাহলে ফলাফলটি কেমন শোনাবে? এটি গর্জনের মধ্যে কিছু হওয়া উচিত, একটি কোলাহলপূর্ণ ক্র্যাকিং, তবে এত রোবোটিক নয়। সংলাপটি কিছুটা বোধগম্যভাবে থেকে যায় তবে ভাল হবে। আমি জানি - এগুলি কিছুটা স্বার্থগত, তবে সে সম্পর্কে চিন্তা করবেন না - বন্য পরামর্শ এবং আলগা ব্যাখ্যা খুব স্বাগত।

তথ্যসূত্র:

  • শ্যানন, আরভি, জেং, এফজি, কামাথ, ভি।, উইগনস্কি, জে।, এবং একেলিড, এম। (1995)। প্রাথমিকভাবে টেম্পোরাল ইঙ্গিত সহ স্পিচ স্বীকৃতি। বিজ্ঞান , 270 (5234), 303. http://www.cogsci.msu.edu/DSS/2007-2008/ শ্যানন / স্টেম্পোরাল_কুইজ.পিডিএফ থেকে ডাউনলোড করুন

একটি সহজ পদ্ধতি হ'ল (শব্দ + 1.0) এর সাথে ভয়েসটি গুন, তার ফলে গুন করা। তবে আরেকটি প্রশ্ন: আপনি কী করার চেষ্টা করছেন? আপনার ওভারলাইং লক্ষ্য কী, যখন ভয়েসগুলি অনির্বচনীয় করে তোলে?

1
কেন কেবলমাত্র noisy <- audio + k*white_noiseবিভিন্ন মানের জন্য কেন আপনি চান তা করেন না? অবশ্যই মাথায় রেখে, "স্বচ্ছ" এটি অত্যন্ত বিষয়ভিত্তিক। ওহ, এবং আপনি সম্ভবত একটি একক এলোমেলো-মান ফাইলের white_noiseমধ্যে মিথ্যা সম্পর্কের কারণে কোনও কাকতালীয় প্রভাব এড়াতে কয়েক ডজন বিভিন্ন নমুনা চান । audionoise

শেষ পর্যন্ত আমি শ্রুতিগত তথ্যের নির্ভরযোগ্যতা প্যারামেট্রিকভাবে হ্রাস করতে চাই, যাতে সঠিকভাবে বিচার ম্যানিপুলেটেড অডিও ক্লিপের বিভিন্ন স্তরের জন্য পৃথক হতে পারে। যথার্থতা রায়টি আবেগের জন্য হবে - কথোপকথনটি খুশি হোক বা রাগান্বিত হোক। সমস্যাটি হ'ল দীর্ঘ বক্তৃতার উচ্চারণের (আমার উপরে থাকা ক্লিপটির মতো) মানসিক বিষয়গুলি পরিচালনা করা অত্যন্ত কঠিন is লোকেরা এটি একক স্বর দিয়ে করে তবে পুরো বাক্য নয়। সুতরাং আমি প্রশ্নটি সাধারণীকরণের সিদ্ধান্ত নিয়েছি এবং অডিও তথ্যের পুরো বর্ণালীকে প্যারামেট্রিকভাবে অবজ্ঞার উপায়টি বের করব।

@ কার্লভিটথফট আপনার সমাধানটি কেবলমাত্র শব্দের প্রশস্ততা সামঞ্জস্য করে এবং যেমনটি আমি বলেছিলাম - আমার এমন কিছু প্রয়োজন যা সংকেতের সাথে শব্দকে মিশ্রিত করে। আমার কাছে সাদা গোলমালের বিভিন্ন নমুনার প্রয়োজনের পরামর্শটি +1 করুন - যা আপনি উল্লেখ করেছেন তেমন কোনও পার্থক্য থাকতে পারে।

আচ্ছা ... আমি এখানে অজ্ঞতার আবেদন করছি: দুটি মিশ্রিত "মিশ্রণ" এর গাণিতিক সংজ্ঞা কী? আমি নির্লজ্জভাবে ধরেই নিয়েছিলাম যে, একটি প্রোগ্রামযোগ্য ফিল্টারটির অস্তিত্বকে বাদ দিয়ে, আপনি সময়ের-নমুনা প্রশস্ত দুটি ভেক্টরের সাথে যা করতে পারেন সেগুলি যুক্ত করা উচিত।

উত্তর:


11

আমি আপনার আসল প্রশ্নটি পড়েছি এবং আপনি কী পাচ্ছেন তা পুরোপুরি নিশ্চিত ছিল না তবে এটি এখন বেশ পরিষ্কার। আপনার সমস্যাটি হ'ল ব্যাকগ্রাউন্ড গোলমাল খুব বেশি থাকলেও আপনার বিদ্যমান প্রচেষ্টা কেবল সীমিত সাফল্যের মধ্যেই মস্তিষ্ক স্পিচ এবং আবেগ বাছাইয়ের ক্ষেত্রে অত্যন্ত ভাল।

আমি মনে করি আপনি যা চান তা পাওয়ার মূল চাবিকাঠি হ'ল সংবেদনশীলতা বোঝায় এমন সংস্থাগুলি থেকে যেগুলি সংবেদনশীলতাগুলি প্রকাশ করে সেগুলি থেকে বেশিরভাগই পৃথক the আমি এর আশেপাশে কিছু অভিজ্ঞতা পেয়েছি (আসলে আমার ডিগ্রি প্রবন্ধটি একই বিষয়ের উপর ছিল) তাই আমি চেষ্টা করব এবং কিছু ধারণা দেব।

আপনার দুটি নমুনা খুব সংবেদনশীল কথার উদাহরণ হিসাবে বিবেচনা করুন, তারপরে "আবেগহীন" উদাহরণ কী হবে তা বিবেচনা করুন। আমি এখনই সর্বোত্তমভাবে ভাবতে পারি কম্পিউটারটি "স্টিফেন হকিং" টাইপ ভয়েসেস তৈরি করে। সুতরাং, যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি তাদের মধ্যে পার্থক্যগুলি বুঝতে এবং কীভাবে আপনার নমুনাগুলি বিকৃত করবেন ধীরে ধীরে একটি কম্পিউটার উত্পন্ন আবেগহীন ভয়েসের মতো হয়ে উঠতে পারে তা নির্ধারণ করুন।

আমি বলতে পারি যে আপনি যা চান তা পেতে দুটি প্রধান প্রক্রিয়াটি পিচ এবং সময়ের বিকৃতির মাধ্যমে হয় কারণ প্রচুর সংবেদনশীল বিষয়বস্তু বক্তৃতাটির প্রসার এবং তালের মধ্যে থাকে। সুতরাং, চেষ্টা করার মতো হতে পারে এমন কয়েকটি জিনিস সম্পর্কে একটি পরামর্শ:

  1. একটি পিচ বিকৃতি ধরণের প্রভাব যা পিচটি বাঁকায় এবং প্রবণতা হ্রাস করে। এটি এন্টারেস অটোটুন যেভাবে কাজ করে সেখানে একইভাবে করা যেতে পারে যেখানে আপনি ধীরে ধীরে স্থির মানটির দিকে আরও বেশি করে বাঁকে যতক্ষণ না এটি সম্পূর্ণ একঘেয়েমি।

  2. একটি সময়-প্রসারিত প্রভাব যা বক্তৃতার কিছু অংশের দৈর্ঘ্য পরিবর্তন করে - সম্ভবত ধ্রুবক ভয়েসড ফোনস যা বক্তৃতার ছন্দটি ভেঙে দেবে।

এখন, আপনি যদি এই পদ্ধতির যে কোনওটির কাছে যাওয়ার সিদ্ধান্ত নিয়েছেন তবে আমি সত্যবাদী হব - তারা ডিএসপিতে প্রয়োগ করা এতটা সোজা নয় এবং এটি কোডের কয়েকটি লাইন হতে চলেছে না। সিগন্যাল প্রক্রিয়াজাতকরণ বুঝতে আপনার কিছু কাজ করা দরকার। আপনি যদি প্রো-টুলস / লজিক / কিউবেস এবং অ্যান্টারেস অটোটুনের একটি অনুলিপি সহ কাউকে চেনেন তবে সম্ভবত নিজের মতো করে কিছু করার চেষ্টা করার আগে এটির আপনার প্রভাব রয়েছে কিনা তা সম্ভবত দেখার চেষ্টা করা উপযুক্ত।

আমি আশা করি এটি আপনাকে কিছু ধারণা দেয় এবং কিছুটা সহায়তা করে। আমি যদি আরও কিছু বলেছি তার মধ্যে আমার কিছু ব্যাখ্যা করার দরকার পড়ে তবে আমাকে জানান।


আপনার পরামর্শের জন্য ধন্যবাদ রেডি সময়সীমা দুর্ভাগ্যবশত কোনও বিকল্প নয়, কারণ এমন একটি শর্ত থাকবে যা আমি তাদের ভিডিও তথ্যের সাথে উপস্থাপন করব, তাই আমার পরিবর্তিত বক্তৃতাটি মূলের মতো দৈর্ঘ্য হিসাবে রাখা উচিত। পিচ বিকৃতি একটি আকর্ষণীয় পদ্ধতির - আপনি এই পদ্ধতিটি আরও ভালভাবে ব্যাখ্যা করার জন্য কোনও প্রকাশিত রেফারেন্স জানেন?
এসিডে জিক

1
আপনি যা চান তা করতে পিচটি বক্তৃতা স্থানান্তর করা দুটি পর্যায়ে জড়িত থাকবে - প্রথমত বর্তমান মৌলিক ফ্রিকোয়েন্সি প্রোফাইলটি স্থাপনের জন্য বক্তৃতার বিশ্লেষণ, দ্বিতীয়ত পিচ শিফট। বিশ্লেষণটি মোটামুটি সোজা এবং বেশ কয়েকটি পদ্ধতি কার্যকর যা কার্যকর। পিচ স্থানান্তর আরও জটিল - আমি প্রকাশিত রেফারেন্সের জন্য এইএস জার্নালটি অনুসন্ধান করার চেষ্টা করব (জেএইএস ভলিউম 47 সংখ্যা 11 পৃষ্ঠা 119 পৃষ্ঠা 922-936; নভেম্বর 1999 দেখে মনে হচ্ছে এটি কার্যকর হতে পারে)। যেমনটি আমি আগে বলেছি, আপনি এখানে কিছু জটিল জটিল প্রক্রিয়াকরণে প্রবেশ করছেন এবং এটি অবশ্যই অটোটুনের সাথে প্রথমে চেষ্টা করার পক্ষে উপযুক্ত হবে।
24'12 পুনরায়

2
রিডিয়েতে ভাল পরামর্শ রয়েছে, তবে আমি কেবল উল্লেখ করব যে পিচ শিফটিং স্পিচের জন্য, আমি ফেজ ভোদার বা কোনও ফ্রিকোয়েন্সি ডোমেন পদ্ধতির সুপারিশ করব না - পিএসওএলএ (পিচ-সিঙ্ক্রোনাস ওভারল্যাপ অ্যাড) যাওয়ার একটি ভাল উপায় কারণ এটি একটির জন্য আরও ভাল শোনাবে ভয়েসের মতো মনোফোনিক ফেজ-লকড যন্ত্র।
schnarf

4

আমি আপনাকে কিছু সঙ্গীত উত্পাদনের সফ্টওয়্যার পাওয়ার পরামর্শ দিই এবং আপনার পছন্দটি কার্যকর করার জন্য এটি খেলুন। কেবলমাত্র তখনই আপনাকে প্রোগ্রামগতভাবে এটি সমাধান করার বিষয়ে চিন্তা করা উচিত। (যদি আপনার সংগীত সফ্টওয়্যারটি কোনও কমান্ড লাইন থেকে কল করা যায়, তবে আপনি এটিকে আর বা ম্যাটল্যাব থেকে কল করতে পারেন)।


অন্য একটি সম্ভাবনা যা নিয়ে আলোচনা করা হয়নি তা হ'ল স্ট্রিং তৈরির জন্য টেক্সট সফটওয়্যারটিতে স্পিচ ব্যবহার করে আবেগকে সম্পূর্ণভাবে সরিয়ে ফেলা, তারপরে স্প্রিং সফ্টওয়্যারটিকে সেই স্ট্রিংটিকে একটি রোবোট ভয়েসে পরিণত করার জন্য পাঠ্য থেকে পাঠানো। দেখুন /programming/491578/how-do-i-convert-speech-to-text এবং /programming/637616/open-source-text-to-speech-library

এটি নির্ভরযোগ্যভাবে কাজ করার জন্য আপনাকে সম্ভবত স্পিকারটি সনাক্ত করার জন্য প্রথম সফ্টওয়্যারটির প্রশিক্ষণ দিতে হবে।


আমার মূল ফাইলগুলি ফিল্টার করা দরকার তাই পাঠ্য থেকে স্পিচ দুর্ভাগ্যবশত সত্যিই কোনও বিকল্প নয়, যদিও আমি সাধারণ বক্তৃতা এবং সিন্থেটিক বক্তৃতার মধ্যে কিছু মোড়ক দৃষ্টান্ত সম্পর্কে ভাবতে পারি।
এসিডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.