A Simulation of AODV and GPSR Routing Protocols in VANET Based on Multimetrices

Vehicular Ad hoc Networks (VANETs), a subsection of Mobile Ad hoc Networks (MANETs), have strong future application prospects. Because topology structures are rapidly changing, determining a route that can guarantee a good Quality of Service (QoS) is a critical issue in VANETs. Routing is a critical component that must be addressed in order to utilize effective communication among vehicles. The purpose obtained from this study is to compare the AODV and GPSR performance in terms of Packet Delivery Ratio, Packet Drop Ratio, Throughput, and End-to-End Delay by applying three scenarios, the first scenario focuses on studying these protocols in terms of QoS while changing the number of vehicles at a constant speed of 40Km/h, and for the second scenario changing the speed value while keeping a constant number of vehicles which is 100, the third involves changing the communication range at a constant speed and vehicle number. This study represents a foundation for researchers to help elaborate on the strength and weaknesses of these two protocols. OMNeT++ in conjunction with SUMO is used for simulation.

I. INTRODUCTION
With the increasing number of vehicles on the road, traffic congestion and accidents have become major global challenges. Road traffic accidents are among the top ten causes of death worldwide, based on the World Health Organization, with losses estimated at more than one and a quarter million lives and fifty million nonfatal injuries each year [1], and these statistics are expected to rise unless a prevention mechanism is implemented. Meanwhile, congested traffic reduces transportation efficiency and impedes economic progress.
Given the aforementioned, vehicular ad hoc networks were attracting increased interest from governments, academic groups, and vehicle manufacturers in order to evolve as the heart of the ongoing development of the intelligent transportation system. Vehicular Ad hoc Networks (VANETs), a subsection of Mobile Ad hoc Networks (MANETs). Mobile nodes in VANETs are vehicles equipped with advanced equipment on board that travels on restricted routes (such as roads and lanes) to communicate with each other to exchange messages, via Vehicle-to-Vehicle (V2V) communication, as well as between vehicles and fixed roadside infrastructure Vehicle-to-Infrastructure (V2I) communications [2][3][4][5][6]. The WAVE and IEEE 802.11p standards are used in the Dedicated Short Range Communication (DSRC) protocol to allow low latency and high speed in V2I and V2V communications [7][8][9].
Vehicles in VANETs are able to communicate in the range of 100-1000m. As a result, the design of these networks includes two communication units: (a) An onboard unit (OBU) (b) a roadside unit (RSU), OBUs are installed within vehicles, whereas RSUs are stationary nodes positioned near a street intersection or traffic signal. To spread messages, RSUs serve as an access point, while vehicles serve as a router, source, or destination [10].
VANETs [11,12] are made up of a wireless network of vehicles that can exchange messages with one another to assist the application [13,14] of novel traffic services ranging from commercial applications, and traffic management to entertainment and safety.
To improve the efficiency and reliability of routing in VANET, many routing protocols have been suggested. These protocols are designed to improve throughput while minimizing packet loss. However, due to the extreme mobility of nodes, which makes the network topology dynamic and causes link disconnections frequently, routing protocols in VANET is a complex and not easy task. In this situation, the features of the network heavily influence the routing protocol selection. As a result, a single routing | 67 protocol is insufficient to address the needs of all network types.
VANETs have numerous issues, including routing protocols, security, connectivity, privacy, and service quality. This research will examine two famous routing protocols in VANETs AODV (Ad hoc On-demand Distance Vector) and GPSR (Greedy Perimeter Stateless Routing) by using OMNeT ++ network simulation and two frameworks INET, Veins, and the traffic simulator SUMO for realistic simulation scenarios.
The rest of this work is structured as follows. Section II demonstrates the related work, section III briefly clarifies the VANET routing protocol and its classification. While section IV demonstrates the simulation environment. As in section V dive into the detailed result concerning the three scenarios and discuss each parameter apart. Lastly, section VI shows the conclusion and future work.

II. RELATED WORK
Many researchers have proposed and examined a variety of topology and position-based routing protocols. AODV protocol has been presented in [15] using SUMO, MOVE, and NS2 simulators, the result is analyzed using diverse parameters like Network Routing Load, Throughput, Packet Drop Rate, Jitter, and Average End-to-End Delay. While in [16] the AOVD is put in comparison with DSDV and OLSR using network simulator NS3, the simulation shows that AODV outperforms both DSDV and OLSR. In addition, in [17], the paper investigates the performance of various protocols to demonstrate this research paper reveals the routing technique that has greater performance in VANET's high mobility environment is a clustering routing protocol, which is proper for VANET.
In [18] authors investigate and study AODV and DSR routing protocols. Based on the simulation results, they concluded that a significant amount of work is required to achieve high-quality video streaming on VANET, and AODV has once again proven to be superior for video applications. Lastly, [19] makes a performance examination of the AODV and GPSR, the network simulation is split into three different scenarios, which are packet delivery ratio, delay of the first data packet, and normalized routing load for the city, and highway scenarios.

III. VANET ROUTING PROTOCOLS
A routing protocol is a mechanism that organizes communication between two nodes for the exchange of information, which includes route creation, redirection decisions, and recovery from routing failures. Numerous routing protocols have been utilized to meet the needs of VANET routing [20][21][22][23]. These routing protocols are categorized as showing in Fig.1.
This paper focuses on two types of routing protocols: (i) Topology-based routing and (ii) Position-based routing.

A. Ad hoc On-demand Distance Vector (AODV)
AODV is one of the extremely essential and broadly used on-demand routing protocols, and it is organized as a reactive protocol. When it is necessary, a route is built in this protocol. It keeps routes open for as long as the sources want them to [24,25]. The AODV method is summarized as a source node sending Route Request (RREQ) messages to surrounding nodes. The node responds to the sender node with Route Reply (RREP). If an error happens during transmission, a Route Error (RERR) message is returned to the sender node. If there is a node that needs to send data using the RREQ packet sent by the source, the route to the destination is identified. If there is an active route to the destination, the receiver will respond with an RREP packet [26,27]. Figure 2 shows AODV messaging. The AODV uses sequence numbers to prevent the same packet from being forwarded more than once. B. Greedy Perimeter Stateless Routing (GPSR) GPSR is a non-delay tolerant position-based routing protocol that uses the geographic position of the nodes to determine routing decisions. It is expected that every node be informed of its own geographical location via global positioning systems (GPS).
GPSR employs greedy forwarding and perimeter forwarding to move packets from source to destination. To share coordinates, the node sends a message to its neighbor node if they are inside the transmission range this is called greedy mode.
If no greedy forwarding route exists, the perimeter method is employed, and the situation is known as Local Maximum, the right-hand rule is used to forward the message to the nearest node on the right [28][29][30][31]. Figure 3 demonstrate the state-transition modes in GPSR protocol.

IV SIMULATION ENVIRONMENT
To examine the performance of the vehicular network, the following VANET environment is considered: 1. The scenario is implemented in a 3x6 Manhattan grid, with real-time integration of OMNeT++ and SUMO in urban streets. 2. The simulation is implemented without taking into account any barriers or distortion in signal transmission over a wireless channel while driving.    Table 1 provides a summary of traffic and simulation characteristics in an urban environment. In Table 2, a brief comparison between two famous mobility generators MOVE and SUMO is summarized. From the table it is noticed why SUMO was chosen for this study; the reason behind is because of its continuous development.
Also, Table 3 shows why the network simulator OMNeT++ was chosen instead of another simulator like NS2.

Using INET & Veins frameworks in OMNeT++
Using SUMO to set the requird parameters like (the number of nodes, the speed limites, ..etc.)

License Type
Open-source Open-source

V. SIMULATION RESULTS
This section describes the findings produced in an urban situation by employing the AODV and GPSR routing protocols.

A. The Impact of Changing the Number of Vehicles.
The AODV and GPSR performance can be described here with different numbers of nodes while maintaining a constant speed. The node speed is set at 40km/h in this case. Fig. 6(a) shows that the lower packet delivery ratio in AODV is due to a shortage of pass on nodes; most packets are missed and do not reach their destination; nevertheless, as node density increases, so performs in terms of packet delivery ratio so the AODV is better than GPSR.
In the case of GPSR, the packet delivery ratio is low with lower node density due to the increased potential of network splitting and the increased number of void zones. Because more intermediate nodes become available as the number of nodes grows, the packet delivery ratio value grows as well. AODV outperforms GPSR because the average value of the packet delivery ratio in AODV is greater than that of GPSR.
According to Fig. 6(b), as the number of nodes increases, the packet drop ratio decreases. This is due to the number of relay nodes increases, which greatly improves the process of packet delivery to the destination. Because the average value of the Packet Drop Ratio in AODV is less than that of GPSR, it outperforms GPSR. Fig. 6(c) shows that as the number of nodes (vehicles) increases, so does the throughput in both the AODV and GPSR, but in terms of compassion, the GPSR outperforms the AODV. As seen in Fig. 6(d), GPSR outperforms AODV in terms of end-to-end delay. In the case of AODV, as the vehicle's density increases, so does its end-to-end latency. The route discovery process that heads every data transmission to an unfamiliar destination is the cause of AODV's poor performance. In the case of GPSR betters AODV because the shortest path is chosen on a hop-by-hop basis in GPSR and can deliver at a lower latency.

B. The Impact of Changing the Vehicles Speed.
The AODV and GPSR performance can be determined by varying the speed of the vehicle while maintaining a constant number of nodes (vehicles). The vehicles were held at 100 in this case.
According to the results in Fig. 7(a), the GPSR exceeds the AODV, and increasing speed has a negative influence on PDR. This is since, in AODV, increasing the speed will lead to increasing the probability of connection failure, which also leads to packet loss. The performance of GPSR is further affected due to the increasing node mobility, as there are fewer surrounding nodes at higher speeds. In addition, as the speed of the node increases, the performance of GPSR reduces due to the network disconnection and path instability. Vehicle speed influences the accuracy with which nodes receive geographical information, hence affecting GPSR performance.
In Fig. 7(b), the packet drop ratio in GPSR is lower than AODV as the vehicle speed increase.
In Fig. 7(c), the GPSR outperforms the AODV in terms of throughput. However, as the speed increases, the value of the throughput decreases because the link failure and nodes become out of range more quickly. Figure 7(d) shows that GPSR outperforms AODV in terms of E2ED because GPSR has a lower E2ED than AODV. The effect of speed variation can be explained by stating that at lower speeds and fixed node density, AODV does not operate well due to congestion. The broken links resulting from increased speeds can easily explain this. On the other hand, at lower speeds, the end-to-end delay for GPSR is quite low, but as speed grows, it increases due to the existence of more possibilities of void zones, therefore the packet goes in perimeter forwarding mode. The right-hand rule is used to choose the next-hop neighbor in perimeter forwarding, which can result in inaccurate and long route selection.

C. The Impact of Changing the Communication Range.
The AODV and GPSR performance can be determined by varying the communication range value (100, 150, 200, 250, and 300) m, at a constant speed of 40km/h and putting the number of vehicles to 100 during the examination. Figure  8(a) shows the packet delivery ratio in both protocols, as noticed as the communication range value increase so as the packet delivery ratio for both AODV and GPSR, but it seems that AODV takes the leads in a small amount. Figure 8(b) demonstrate the end-to-end delay in AODV and GPSR protocols, which shows with increasing the value of communication range result in decreasing the delay because the probability of the neighboring node is high in both protocols, even though the GPSR outperform the AODV in the end-to-end delay. End-to-End Delay

VI. CONCLUSION AND FUTURE WORK
The performance of the AODV and GPSR was investigated in three scenarios.
(A) The first scenario involves varying the number of nodes (100, 200, 300, 400, and 500) at a constant speed of 40km/h in this situation; the AODV outperforms GPSR concerning the packet delivery ratio, whereas GPSR outperforms AODV in terms of E2ED. Since the association of a significant number of radio barriers in an urban environment, greedy forwarding is limited, resulting in a lower packet delivery ratio value for GPSR. The cause for superior E2ED is due to intermediate nodes has faster processing due to GPSR's proactive character as opposed to AODV's reactive nature.
(B) The second scenario involves varying the speed (20, 40, 60, 80, and 100) km/h at a constant vehicle value of 100. In this situation, the GPSR routing protocol outperforms the AODV about the packet delivery ratio and E2ED. Furthermore, as compared to AODV, the performance of GPSR is less vulnerable to increasing the number of nodes and speed, demonstrating its strength for scalability and mobility. GPSR is more beneficial for real-time communications because of its lower E2ED.
(C) The third scenario involves varying the communication range (100, 150, 200, 250, and 300) in [m], at a constant vehicle value of 100, and speed of 40km/h. In this term, the GPSR outperforms the AODV in terms of E2ED, because there is a high probability of nodes in the neighborhood as the communication range increases, leading to the greedy forwarding mode is possible, and vehicles do not have to enter in the perimeter mode.
As for future work, this study is established a very good foundation for selecting the proper protocol for development and enhancement in an intelligent way to extract a good QoS and better performance. The intelligent methods may involve fuzzy systems, a Genetic Algorithm (GA), or any bio-inspired algorithms.


A Lightweight Blockchain-Based IoT IdentityManagement Approach

Identity management is a fundamental feature of Internet of Things (IoT) ecosystem, particularly for IoT data access control. However, most of the actual works adopt centralized approaches, which could lead to a single point of failure and privacy issues that are tied to the use of a trusted third parties. A consortium blockchain is an emerging technology that provides a neutral and trustable computation and storage platform that is suitable for building identity management solutions for IoT. This paper proposes a lightweight architecture and the associated protocols for consortium blockchain-based identity management to address privacy, security, and scalability issues in a centralized system for IoT. Besides, we implement a proof-of-concept prototype and evaluate our approach. We evaluate our work by measuring the latency and throughput of the transactions while using different query actions and payload sizes, and we compared it to other similar works. The results show that the approach is suitable for business adoption.

Introduction
The Internet of Things (IoT) is a network of devices (e.g., sensors), where they communicate and interact with the surrounding. With the fast growth of applications and services designed for IoT, communication and interaction are becoming a challenge due to the massive number of connected devices and the lack of a robust dynamic identity management solution [1,2]. Identity management of things is allocating identifiers to IoT physical and logical entities from motion, and temperature sensors to scrolling and screen behavior trackers in phones enabling them to exchange data with the other entities effectively and securely, while taking the relationship and the lifecycle of entities, addressability, and authentication methods into consideration [3][4][5].
The identity management of things is a fundamental feature of IoT, notably many academic investigations proposed solutions and standards to tackle the different challenges of the IdM [6,7]. The conventional solutions mostly adopt a centralized architecture, which may lead to a single point of failure. On the other hand, scalability is another issue regarding the maintenance and infrastructure of identity management solutions.
A consortium blockchain is a permissioned blockchain that is composed of a group of participants that collaborates to set policies and manage all of the interactions in the BC network. Consortium blockchains are faster, highly scalable, and provide transaction privacy, as the participants authenticate to the system before performing any interaction; less energy consumption as compared to public blockchains, as it is less computationally complex and has pre-selected nodes controlling the consensus mechanism. Additionally, IoT devices and sensors need solutions with lower energy consumption [8] .
Integrating blockchain technology with identity management will be the solution for some prevalent issues, such as centralized governing of identities, which also leads to some security and availability issues, such as a single point of access and single point failure. Moreover, blockchain will eliminate the need for trusted third parties to perform checks on identities as the blockchain ledger is distributed across the consortium participants. The clients will have control over their personal information, as the data in BC are immutable, encrypted, and cannot be deleted. Many industry leaders are keen to adopt blockchain in order to enhance the privacy and security of their identity management infrastructure and to change their traditional business model or to build the economy of sharing concept. Despite this, the blockchain is not adequate for all businesses, and any unstructured or inadequate ready to use solution may lead to failure due to shifting the business strategy for centralizing to the decentralized concept.
The paper contribution is to propose a lightweight blockchain-based IoT identity management approach. First, we present our work architecture describing blockchain-based identity management and the associated protocol of registration, verification, and revocation. Our protocol addresses privacy and security issues in traditional centralized systems, and spotlights the concept of distributing the authority of an identity system to a group of organizations. Furthermore, we implement the proof-of-concept prototype and evaluate the approach of splitting the main functionalities of an identity management system to separated immutable ledgers and discussed the results. Finally, we give a detailed related work comparison and present our future research directions.
The remainder of this paper is organized, as follows. Section 2 discusses the related work. Section 3 presents the proposed blockchain-based identity management approach.Section 4 introduces the implementation of a proof-of-concept prototype. Section 5 presents and discusses the evaluation of used approach and conducts a detailed comparison with related work. Finally, Section 6 concludes the paper and highlights the future work.

Related Work
With the fast growth of the Internet of Things area, the role of identity management is expanding to cover sensors, actuators, and smart devices. The role is more about to grant access to IoT services and applications and to monitor sensors. Many scholars have undertaken the identity management of things area and proposed several models and frameworks in order to support the fast-growing IoT network.
A. Fongen [9] proposed a framework for authentication and integrity protection while using simple cryptography operation. The work discussed the tamperproof authentication and the trust model, while taking the lightweight IoT units into consideration. Zhao et al. [10] presented a novel asymmetric mutual identity authentication scheme for IoT-based on hash algorithms and elliptic curve cryptography technique. The structure focuses on two primary roles, the platform and a terminal node, while a certificate authority center is responsible for issuing and verifying all of the exchanged certificates. Bernabe et al. [11] tailored a novel holistic and privacy-preserving solution for the Internet of Things. They coped the authentication and access control systems with the claims-based approach. They also used the Idemix credential system to hide sensitive identity attributes.
The works that are mentioned above lack implementation and real-world use cases; besides, all of the papers adopted the traditional IdM centralized approach that has already shown weak security and privacy performance. Moreover, combining cryptography primitives with the existing solutions without taking into consideration that the IoT decentralized network architecture and requirements, such as guaranteeing secure communication between different IoT entities, assuring data privacy and integrity, and providing high availability when authenticating and authorizing IoT entities, will lead to a standstill.
On the contrary to the centralized approach, Lo et al. [12] reviewed many works regarding identity management models while using blockchain technology. According to their review, few articles proposed particular identity models to manage things, while most of the studies used PKI (Public Key Infrastructure) mechanism for implementation.
They also claimed that all of the reviewed identity models that are based on blockchain are not mature enough to back the IoT network.
Dorri et al. [13] investigated a case of using blockchain in a smart home where they considered high resource devices as miners, responsible for handling all intelligent home communication and preserving the private blockchain. The work audited the security, integrity, and availability of the framework.
Moreover, Sonnino et al. [14] proposed a selective disclosure credentials scheme framework in order to ensure confidentiality, authenticity, and availability. Mainly, the work tries to fill the privacy research gap by enabling selective disclosure credentials while using the cryptography primitives that are offered by Ethereum blockchain and chainspace protocol. Bao et al. [15] presented IoTchain; a three-tier blockchain-based IoT security architecture comprises an authentication, blockchain, and application layers that are designed to leverage many features, such as identity authentication, access control, and privacy protection. Brogan et al. [16] discussed the benefits of adopting the distributed ledger technology to advance the electronic healthcare domain. In this work, they discussed the need for using DLT in order to ensure the authenticity, integrity of the data generated from health, and wearable, embedded devices using IOTA protocol as a core technology of their work.
To the best of our knowledge, all of the reviewed blockchain-based identity management solutions and decentralized identity frameworks did not discuss the identity management functions and lifecycle of an entity inside the network, the interoperability, or entities' interaction in the network. Additionally, the public blockchain platforms used for implementation, such as Ethereum and IOTA protocol, are having some significant issues regarding scalability and security [17]. On the other hand, some reviewed work used simulators and not IoT real cases, which makes the results lack solidity.

Blockchain-Based Identity Management Architecture and Protocols
In this section, we first present the architecture for blockchain-based identity management and then presents the detailed protocol of the system.

Architecture
The Internet of Things is changing the era of digital identity drastically from usercentric to entity-centric [18,19], where identity management should focus on all entities participating in the IoT network. As all entities in the IoT have the same interaction ecosystem, the IoT identity management must be able to manage human-to-device, device-to-device, and device-to-application interactions and data exchange while taking into consideration the relationships between the different IoT entities, as shown in the Figure 1. All of the communication endpoints in the IoT ecosystem, such as users, smart things, and applications, should register and authenticate to the blockchain-based IDM. The blockchain-based IDM network is the backbone for the IoT system that formed by a defined consortium sharing the same industrial needs or business interests that are responsible for building and defining the network policies and governing the shared ecosystem. The blockchain-based IDM solution includes a consortium membership service and identity management protocol. The membership service is responsible for issuing and revoking authority certificates for the network components, such as BC admins, nodes, consensus ordering, and communication channels. Unlike the other works, our design aims to split the identity protocol into three phases identity registration, identity verification, and identity revocation, and each phase is taking place by issuing, resolving, or revoking unique identifiers as well as certificates to each entity. The identity protocol employs smart contracts to interact with the blockchain network. On the blockchain ledger, each block contains a set of identity transactions that are issued by the identity protocol. In addition to the decentralization, privacy, and security offered by DLT, our design goals include simplicity to provide an efficient protocol to meet the needs of all IoT organizations. Interoperability, to permit sharing sensors within and across organizations by following the decentralization standards. Extensibility, by employing only the main phases of an identity system on the top of the DLT structure, which can be tailored by all identity management of things models . Adopting a modular consortium blockchain architecture will help to match any use case in all domains, and it gives a greater degree of flexibility and resiliency. The consortium blockchain should provide essential architecture components to meet the need of a blockchain-based IDM, such as:

•
Identity protocol: several existing BC solutions use remote procedure call (RPC) as an identity service; all other solutions also make use of BC cryptography primitives to perform such services that lead to weak entities identity management. Designing an identity protocol on the top of the BC solution will help to manage the solution effectively and have more control regarding transaction types and transactions outcome. • Membership service: is a crucial component in the consortium blockchain network. Membership service is responsible for listing the defined participants, mapping the resources of the participants, and, most importantly, setting the roles and access privileges of the network resources, such as admins, nodes, ledgers, and communication channels. • Network policies: in order to form a solid structure of the consortium and to reach specific outcomes, all of the participants and the IoT entities should follow the endorsement policies that are defined by the network participants. Such arrangements provide robust governance over the network and assure transparency and enforce consortium decisions in order to reach the needed outcomes. • Smart contract: generates an executable logic in order to interact with the immutable blockchain record. Developing a refined smart contract will help to keep the records guarded and it reduces security concerns. Identically, governing and verifying the parameters of the smart contract by enforcing network endorsement policy before interacting with the ledger will make it less vulnerable. • Ordering service: consortium ordering service is a crucial component that is composed by the participants nodes, working collectively to form the setting that is responsible for performing the consensus process within the network, such as maintaining the list of organizations, admins, nodes that are allowed to be part of the consortium, while also validating and restricting smart contracts transactions.

Protocols
Each entity is registered to the blockchain network only one time, as the blockchain provides a unique identifier to each entity used globally, while authentication is to present one or more of entity credentials after registration for verification and the process is occurring each time that the entity interacting with the other entities. In the same manner, revocation is an infrequent function for all entities, and an entity holder can only revoke his identity one time, as shown in the Figure 2.

Identity Registration
The registration phase consists of providing participants a unique identifier ID and the tools that are needed to join the consortium network. The trusted admins manually register the different entities to answer the trust and credibility of the identity solution. An entity sends a request for registration; in a moment of receiving the query, the DLT platform runs the registration function that contains three main steps, checking the existence of the registered entity, assigning a unique ID, communicate the ID to the requester, as shown in Figure 3. After defining the needed data for registration by the consortium, each entity owner sends his essential identity credentials identity in f o which uniquely identifies a realistic Entity i usually in the form of text managed by the entity owner and encrypted by the private owner key in the DLT. The hash of identity in f o combined with DLT metadata form the unique identifier ID i .
Consequently, the identity i of an Entity i in the system is the combined ID i and the ledger address where the identity information is stored Address i .
In practice, we assume that updates of identity information may not accrue as the solution collects the essential information; in the same manner, the DLT address may also change. In order to keep track of the different addresses, we combine the new address to identity i to form an updated identity as follow.

Identity Verification
Identity verification or authentication is an essential feature in all identity systems, as it enables organizations to keep their networks secure by only permitting the authenticated entities to access the resources. As long as the entities registered to the network, authentication is the next step, where an entity is inspected by checking its credentials if matches in the distributed ledger. An entity sends an authentication request, and the platform checks the existence of the entity in the first place, then, if the entity exists in the ledger, the platform will record the request and send the authentication answer to the requester, as shown in Figure 4. Adopting the mechanism of digital certificates, the inspection process that is based on public key infrastructure technology, where the private key of the entity owner sign the authentication request before sending it, and the public key of the same entity is used in order to check the validity of the received request. The recorded transaction after a successful authentication contains the information of the requester identity in f o , the output of the transaction O, and the ledger state S.

Identity Revocation
The identity revocation is repealing entities from accessing to the network resources, as the consortium defines the revocation rules. The revocation is an infrequent function, our design uses a separate ledger that only contains the revoked identities, and, before any authentication operation, the network inspects the entity request by parsing the revocation ledger, as shown in Figure 4. Henceforth, the reason behind splitting the identity registration and identity revocation functions is to preserve the decentralized, simple, and extensible design architecture.

Implementation
In this section, we implement our architecture while using Hyperledger Fabric for the smart home scenario, where many services are designed in order to make use of the home sensors to improve the quality and efficiency of the assisted living environment. Our proposed model aims to support interoperability and cross-domain data exchange while using IoT devices and sensors, an identity model that is based on Hyperledger Fabric, which is a pluggable transactional network that delivers a high degree of flexibility, resiliency, and confidentiality. In the beginning, all of the smart home sensors should register to the blockchain identity solution by providing the necessary information, while, in the same manner, all of the services should roll onto the distributed identity network.

Fabric Consortium Network
Taking advantage of Hyperledger Fabric, a distributed operating system for permissioned blockchain, the proposed network infrastructure consists of four organizations, R1, R2, R3, and R4, which form the consortium and each organization participates with one peer node (P1, P2, P3, and P4) and one orderer node (O1, O2, O3, and O4) respectively, three channels of communication C1, C2, and C3, and three ledgers matching registration, authentication, and revocation, L1, L2, and L3, as shown in Figure 5. In the same manner, three smart contracts (chaincodes S1, S2, and S3) are responsible for executing the identity management functions in the network and two applications A1 and A2, which represent two services interact with the blockchain network.

Organization
The permissioned blockchain solutions maintain an access control layer in order to allow only identifiable participants or organizations to perform actions in the network. An organization itself manages a group of members and participants (nodes) in the network with the help of the membership service provider (MSP). Each organization has an MSP connected to the certificate authority (CA1, CA2, CA3, and CA4) responsible for issuing nodes credential and maintaining all of the participating nodes in the system, authenticating all of the interactions occurring in the network, and verifying the integrity of transactions typically by digital signatures. After recognizing the participating organization, a network initiator or a network configuration (NC) that formed by the organizations to define and control the network nodes, channels, and interactions.

Peers
Peers are primary elements of the blockchain network, as they host the ledgers and chaincodes. In the projected infrastructure, we have peer nodes (P1, P2, P3, and P4 ) that are responsible for connecting the application to the ledger and executing chaincodes following the endorsement policy that was defined by the consortium. Peers interact privately with each other and applications while using channels mechanism. Moreover, ordering service composed by orderer nodes (O1, O2, O3, and O4 ), called consensus mechanism, to manage and retain peer's ledger consistency. Hyperledger fabric separate consensus nodes from the peer's nodes to make it a modular design, less time consuming, and configurable by introducing the execute-order-validate architecture. Ordering service is central to this process, as it establishes the total order of all the transaction in fabric.

Channels
Every three organizations on the proposed infrastructure form a channel configuration (CC) that control a matching channel (C), for instance, R1, R2, and R3 form CC1, which controls the channel C1, while R2, R3, and R4 form CC2, which controls the channel C2, equally R1, R3, and R4 form CC3, which controls the channel C3. A channel in Hyperledger Fabric is a private communication tunnel between the network members; it assures high privacy and confidentiality of the data exchanged. Network members define the channels and the policies of each channel, and the participating peers, which lead to wholly separate ledgers, yet it is always possible to applications and Chaincodes to access different ledgers and establish communication between the different channels.

Chaincode (Smart Contract)
Hyperledger fabric introduced the concept of decentralized governance for a smart contract, where the consortium defines the parameters of the contract and verifies them before any interaction with the network (S). The consortium ledger only contains the necessary information to manage the identity of an entity, and the needed data are collected during the registration phase using the registration chaincode S1. Meanwhile, the authentication phase consists of accessing the data and verifying the authenticity of the entity using the authentication chaincode S2.

Experiment Setting
We implemented the identity model on the top of Hyperledger fabric, the distributed operating system for permissioned blockchains, in order to investigate our proposed identity design. In the experiment, we did not consider a large number of sensors and services as the Hyperledger fabric showed an excellent scalability performance [20]. We implement the solution in a virtual machine running Ubuntu with 24 GB of RAM and 12 vCPU Intel Xeon e5-2620 v2 2.10 GHz, and we use Golang language to write the chaincodes.

Payload Data
All of the sensors and services in the smart home have to register to the distributed identity network once and authenticate each time they react with another object. We attached the payload of sensor registration as shown in Figure 6, which is a JSON document that contains the essential information regarding the organization issued the document, owner, and associated sensor information. Another critical point is that only admins that are approved by the consortium can perform the registration procedure and the membership service provider (MSP) system in Hyperledger Fabric is responsible for creating users and administrators of the network.

Payload Size
We conduct four experiments to measure the invocation time and query time while using different payload size in two channels (registrations and authentication), while, in each experiment stage, we use trials of 100 transactions for each given payload size, as shown in Table 1. The table resumes the results of the four experiments, including the payload size, transaction action, the average time of the trials, minimum and maximum of the transaction latency, and throughput. The time that is required to execute-ordervalidate a transaction in fabric changes according to the payload size, the number of peers, orderers, and the endorsement policy. We can observe that the payload size is a critical fabric parameter that affects both transaction latency and throughput.

Invoke and Query Operations Cost
The transaction logic that is used in this work is simple and only covers the essential features of registration and authentication functions. Besides, the smart contract developed is not computer-intensive, in order to avoid any complexity, as it affects the operation time. In particular, the authentication transaction needs to fetch information from the registration ledger to match the credentials of the requester, which is the only dependency of the coded smart contract (chaincode).
In this experiment, we adopt 0.5 MB as a block size for maximizing the throughput of both registration transactions and authentication transactions, executing 100 trials for each action. The average time of registration invocation transactions is 170 (Ms), with a throughput of six transactions per second, as shown in Figure 7. Meanwhile, the average time of query transactions is 52.5 (Ms) with a throughput of 19 transactions per second, as shown in Figure 8. The average time of authentication invocation transactions is 145 (Ms), with a throughput of seven transactions per second, as shown in Figure 9. Meanwhile, the average time of query transactions is 49.5 (Ms) with a throughput of 20 transactions per second, as shown in Figure 10.

Discussion
In this paper, we proposed a distributed identity system that is based on consortium blockchain technology, and we implemented it while using hyperledger fabric platform. Our design consists of splitting the main functions of identity management, such as registration, authentication, and revocation in three separated ledgers that can communicate with each other and exchange information privately. The aim of splitting the ledgers is to meet the scalability of IoT fast-growing environment by ordering the transactions and minimizing the waiting time, for example, executing a registration transaction of sensor A and an authentication transaction of sensor B can take place simultaneously, as the ledgers and communication channels are separated.
From the experiment, the query time (reading from blockchain) is less then invocation time (writing on the blockchain), which can be another benefit of splitting the functions in different ledgers. For instance, when an authentication transaction initiated a query transaction will be executed in the registration ledger to check the existence of the object, as the results registration ledger only contains the registred object, which can save time from querying one ledger containing all of the information to querying a specific ledger containing a precise data.
Another critical point of splitting the ledgers is to minimize the payload size of the transaction as the experiment shows poor performance when invoking or querying a big block size. Hyperledger fabric transactions are of considerable size, because they carry certificate information. In the experiment, we used the unique object identifier in order to aggregate the information of different payloads of the same object.
Scalability in IoT is a pivotal performance aspect for meeting the fast-growing era. In our proposed solution, we split one primary ledger holding all identity transactions into three separate ledgers containing registration, authentication, and revocation transaction data. The aim of splitting the ledger is to allow simultaneous execution by design and reduce the payload size of thousands of transactions to support fast querying and invoking operations on the network. Moreover, consortium blockchain is faster, as it has fewer nodes to participate in ordering service and writing on the ledger. Besides, it provides better scalability, as it supports adding nodes on demand (modular design) and uses different consensus algorithms for better performance, as there is no double speeding problem to avoid or 51% attack and hard fork. However, consortium blockchain nature can be more toward centralizing some aspects, which constitutes manipulating the blockchain at a high level to meet the business needs and protect the network from malicious actors.
Besides the block size, the transaction success rate (TSR) is another critical parameter in a transactional system, like blockchain, in our experiment, the TSR is 100% as we executed 100 trials and all were successful. Equally, many other parameters may affect the transaction cost and the performance of blockchain-based identity management, such as:

•
The consensus protocol is a crucial component of the blockchain network, being responsible for completing overall system reliability between the consortium members. Hyperledger fabric features an ordering service that is responsible for transaction flow ordering and maintaining the list of the participated organization in each channel. The modularity and pluggable architecture of hyperledger fabric gives it the advantage of using different consensus algorithms, such as KAFKA, RAFT, and Practical Byzantine Fault Tolerant (PBFT), while each protocol may have a typical use case.
In the experiment, we used the Solo ordering for testing our implementation, but we cannot use it for production. • Geographic distribution of nodes is another important aspect, as it involves the network setup and the hardware configuration of each node. Such parameters may affect the transaction latency and throughput. In our experiment, we could not measure such parameters, as all of the nodes have the same network and configuration. • The type of database used for the world state store is not less important from the other parameters that can affect both transaction latency and throughout. Hyperledger Fabric, by default, uses LevelDB to store simple key-value pairs and it has many options to use for structured documents, such as relational data, JSON, graph store, or any other type of database, because fabric has a pluggable architecture.

Comparison with Related Works
Alongside the seven key aspects that are granted by adopting a blockchain-based identity management system, we compare our solution with related works based on the benchmarks for blockchain-based identity management systems [21]. Table 2 presents the comparison. For instance, Sonnino et al. [14] used Ethereum to evaluate their work that displayed fast transaction time. However, they noticed and considered the limitations of using Ethereum, such as high cost and transaction long latency, which is around 6 min. in the Ethereum production network. Brogan et al. [16] used the IOTA protocol in order to conduct their experiment where the transaction time took a few seconds for the block size of 500 characters. Moreover, IOTA analyzed as a centralized solution as the coordinator node (consensus node) is operated by the IOTA foundation, leading to a single point of failure. Bao et al. [15] used a simulator to evaluate their achievement. However, the reading and writing time take 6 to 9 s, which is not a good result for an IoT IdM solution supporting billions of devices. Similarly, Dorri et al. [8] also used a simulator to evaluate their work. They adopted 16 to 36 bytes transactions without including the payload the certificate data.
In our work, we used a permissioned blockchain to leverage a decentralized, secure, and fast solution. The average writing time of 1 MB transaction can take around 205 milliseconds, while the average reading time is 69 milliseconds. Although, we may still need to geographically distribute the blockchain nodes to different locations to obtain the estimates latency for a production network.

Conclusions and Future Works
This paper presents a lightweight identity management approach that is based on consortium blockchain for the internet of things. In the first place, we present the identity management design and architecture. We explain the different identity management functions that are covered in our design and the matching protocol, and discuss the identity life cycle inside the system. We discuss the principal characteristics for establishing IoT identity management at the top of the permissioned blockchain. Besides, we implement our solution and justify the use of private blockchain over the public one and discuss the different parts of the implementation. Moreover, we discuss the results of the experiment. We highlight the advantages of our identity model design, tackling the interoperability, and entities' interaction, also the advantages of using a permissioned blockchain to answer the scalability and security issues. We also provide a detailed comparison with related work. The results show that the approach is suitable for business adoption.
Future research and the milestones of implementing robust blockchain-based identity management will include: • Provide an automatic registration process by defining the level of trust: IoT is a fast-growing environment that connects people, sensors, services, and application in order to perform an infinite number of activities in the aim to simplify the surrounding and assist people life. Nowadays, each person may have more than one device, and each service may use thousands of connected sensors, which is making it difficult for a human to manage the large connected objects. Providing an automatic process to register the different objects is a must for meeting the fast growth of the IoT environment by defining a system that can calculate and define the trust level. In order to calculate the trust level of each entity, we see the entire life-cycle of the entity in the network, the authentication success rate, and the security updates received from the IoT vendors. • Multi-factor authentication using the concept of community validation: Increasing the security of blockchain identity management and protecting the identities of the different objects is a critical aspect, a multi-factor authentication method should take place utilizing the capabilities of blockchain to answer the security and privacy of the identities. The concept of community validation is about validating an entity by making use of other entities that may have similarities like location, function, using time, owner, and other parameters. Firstly, the consortium network will define the governance strategy and the verification methodes, and then the arbitrary entities will send random verification transactions and determine the authenticity of the entities based on received responses. • An identity lookup mechanism for searching sensors: The fast-growing number of IoT connected devices and sensors can be an issue when searching for devices and sensors while using different characteristics, such as location, function, time, and transducers (sensors or actuators). The IoT is designed to give personalized and flexible application and adapt to any changes by collecting data based on different scenarios to enhance to quality of provided services. The existing search mechanisms are centralized by design, which makes them not unfit for a decentralized architecture. Providing an identity lookup and resolver to search and query sensors based on different characteristics and scenarios in a decentralized fashion is a pivotal aspect in enabling the potential of IoT. Data Availability Statement: Not Applicable, the study does not report any data.

Conflicts of Interest:
The authors declare no conflict of interest.


extfieldsofstudy:
Computer Science
Mathematics

text:
Diffusion-Based Voice Conversion with Fast Maximum Likelihood Sampling Scheme

Voice conversion is a common speech synthesis task which can be solved in different ways depending on a particular real-world scenario. The most challenging one often referred to as one-shot many-to-many voice conversion consists in copying the target voice from only one reference utterance in the most general case when both source and target speakers do not belong to the training dataset. We present a scalable high-quality solution based on diffusion probabilistic modeling and demonstrate its superior quality compared to state-of-the-art one-shot voice conversion approaches. Moreover, focusing on real-time applications, we investigate general principles which can make diffusion models faster while keeping synthesis quality at a high level. As a result, we develop a novel Stochastic Differential Equations solver suitable for various diffusion model types and generative tasks as shown through empirical studies and justify it by theoretical analysis.

INTRODUCTION
Voice conversion (VC) is the task of copying the target speaker's voice while preserving the linguistic content of the utterance pronounced by the source speaker. Practical VC applications often require a model which is able to operate in one-shot mode (i.e. when only one reference utterance is provided to copy the target speaker's voice) for any source and target speakers. Such models are usually referred to as one-shot many-to-many models (or sometimes zero-shot many-to-many models, or just any-to-any VC models). It is challenging to build such a model since it should be able to adapt to a new unseen voice having only one spoken utterance pronounced with it, so it was not until recently that successful one-shot VC solutions started to appear.
Conventional one-shot VC models are designed as autoencoders whose latent space ideally contains only the linguistic content of the encoded utterance while target voice identity information (usually taking shape of speaker embedding) is fed to the decoder as conditioning. Whereas in the pioneering AutoVC model (Qian et al., 2019) only speaker embedding from the pre-trained speaker verification network was used as conditioning, several other models improved on AutoVC enriching conditioning with phonetic features such as pitch and loudness (Qian et al., 2020;Nercessian, 2020), or training voice conversion and speaker embedding networks jointly (Chou & Lee, 2019). Also, several papers (Lin et al., 2021;Ishihara & Saito, 2020;Liu et al., 2021b) made use of attention mechanism to better fuse specific features of the reference utterance into the source utterance thus improving the decoder performance. Apart from providing the decoder with sufficiently rich information, one of the main problems autoencoder VC models face is to disentangle source speaker identity from speech content in the encoder. Some models (Qian et al., 2019;Nercessian, 2020) solve this problem by introducing an information bottleneck. Among other popular solutions of the disentanglement problem one can mention applying vector quantization technique to the content information (Wu et al., 2020;Wang et al., 2021), utilizing features of Variational AutoEncoders (Luong & Tran, 2021; The model we propose in this paper solves the disentanglement problem by employing the encoder predicting "average voice": it is trained to transform mel features corresponding to each phoneme into mel features corresponding to this phoneme averaged across a large multi-speaker dataset. As for decoder, in our VC model, it is designed as a part of a Diffusion Probabilistic Model (DPM) since this class of generative models has shown very good results in speech-related tasks like raw waveform generation (Chen et al., 2021a;Kong et al., 2021) and mel feature generation (Popov et al., 2021;Jeong et al., 2021). However, this decoder choice poses a problem of slow inference because DPM forward pass scheme is iterative and to obtain high-quality results it is typically necessary to run it for hundreds of iterations (Ho et al., 2020;Nichol & Dhariwal, 2021). Addressing this issue, we develop a novel inference scheme that significantly reduces the number of iterations sufficient to produce samples of decent quality and does not require model re-training. Although several attempts have been recently made to reduce the number of DPM inference steps (Song et al., 2021a;San-Roman et al., 2021;Watson et al., 2021;Kong & Ping, 2021;Chen et al., 2021a), most of them apply to some particular types of DPMs. In contrast, our approach generalizes to all popular kinds of DPMs and has a strong connection with likelihood maximization. This paper has the following structure: in Section 2 we present a one-shot many-to-many VC model and describe DPM it relies on; Section 3 introduces a novel DPM sampling scheme and establishes its connection with likelihood maximization; the experiments regarding voice conversion task as well as those demonstrating the benefits of the proposed sampling scheme are described in Section 4; we conclude in Section 5.

VOICE CONVERSION DIFFUSION MODEL
As with many other VC models, the one we propose belongs to the family of autoencoders. In fact, any conditional DPM with data-dependent prior (i.e. terminal distribution of forward diffusion) can be seen as such: forward diffusion gradually adding Gaussian noise to data can be regarded as encoder while reverse diffusion trying to remove this noise acts as a decoder. DPMs are trained to minimize the distance (expressed in different terms for different model types) between the trajectories of forward and reverse diffusion processes thus, speaking from the perspective of autoencoders, minimizing reconstruction error. Data-dependent priors have been proposed by Popov et al. (2021) and Lee et al. (2021), and we follow the former paper due to the flexibility of the continuous DPM framework used there. Our approach is summarized in Figure 1.
Figure 1: VC model training and inference. Y stands for the training mel-spectrogram at training and the target mel-spectrogram at inference. Speaker conditioning in the decoder is enabled by the speaker conditioning network g t (Y ) where Y = {Y t } t∈[0,1] is the whole forward diffusion trajectory starting at Y 0 . Dotted arrows denote operations performed only at training.

ENCODER
We choose average phoneme-level mel features as speaker-independent speech representation. To train the encoder to convert input mel-spectrograms into those of "average voice", we take three steps: (i) first, we apply Montreal Forced Aligner (McAuliffe et al., 2017) to a large-scale multi-speaker LibriTTS dataset (Zen et al., 2019) to align speech frames with phonemes; (ii) next, we obtain average mel features for each particular phoneme by aggregating its mel features across the whole LibriTTS dataset; (iii) the encoder is then trained to minimize mean square error between output mel-spectrograms and ground truth "average voice" mel-spectrograms (i.e. input mel-spectrograms where each phoneme mel feature is replaced with the average one calculated on the previous step).
The encoder has exactly the same Transformer-based architecture used in Grad-TTS (Popov et al., 2021) except that its inputs are mel features rather than character or phoneme embeddings. Note that unlike Grad-TTS the encoder is trained separately from the decoder described in the next section.

DECODER
Whereas the encoder parameterizes the terminal distribution of the forward diffusion (i.e. the prior), the reverse diffusion is parameterized with the decoder. Following Song et al. (2021c) we use Itô calculus and define diffusions in terms of stochastic processes rather than discrete-time Markov chains.
The general DPM framework we utilize consists of forward and reverse diffusions given by the following Stochastic Differential Equations (SDEs): where t ∈ [0, 1], − → W and ← − W are two independent Wiener processes in R n , β t is non-negative function referred to as noise schedule, s θ is the score function with parameters θ andX is n-dimensional vector. It can be shown (Popov et al., 2021) that the forward SDE (1) allows for explicit solution: where I is n × n identity matrix. Thus, if noise follows linear schedule β t = β 0 + t(β 1 − β 0 ) for β 0 and β 1 such that e − 1 0 βsds is close to zero, then Law (X 1 ) is close to N (X, I) which is the prior in this DPM. The reverse diffusion (2) is trained by minimizing weighted L 2 loss: where p t|0 (X t |X 0 ) is the probability density function (pdf) of the conditional distribution (3) and At training, time variable t is sampled uniformly from [0, 1], noisy samples X t are generated according to the formula (3) and the formula (5) is used to calculate loss function L on these samples. Note that X t can be sampled without the necessity to calculate intermediate values {X s } 0<s<t which makes optimization task (4) time and memory efficient. A well-trained reverse diffusion (2) has trajectories that are close to those of the forward diffusion (1), so generating data with this DPM can be performed by samplingX 1 from the prior N (X, I) and solving SDE (2) backwards in time.
The described above DPM was introduced by Popov et al. (2021) for text-to-speech task and we adapt it for our purposes. We putX = ϕ(X 0 ) where ϕ is the encoder, i.e.X is the "average voice" mel-spectrogram which we want to transform into that of the target voice. We condition the decoder s θ = s θ (X t ,X, g t (Y ), t) on some trainable function g t (Y ) to provide it with information about the target speaker (Y stands for forward trajectories of the target mel-spectrogram at inference and the ones of the training mel-spectrogram at training). This function is a neural network trained jointly with the decoder. We experimented with three input types for this network: • d-only -the input is the speaker embedding extracted from the target mel-spectrogram Y 0 with the pre-trained speaker verification network employed in (Jia et al., 2018); • wodyn -in addition, the noisy target mel-spectrogram Y t is used as input; • whole -in addition, the whole dynamics of the target mel-spectrogram under forward diffusion {Y s |s = 0.5/15, 1.5/15, .., 14.5/15} is used as input.
The decoder architecture is based on U-Net (Ronneberger et al., 2015) and is the same as in Grad-TTS but with four times more channels to better capture the whole range of human voices. The speaker conditioning network g t (Y ) is composed of 2D convolutions and MLPs and described in detail in Appendix H. Its output is 128-dimensional vector which is broadcast-concatenated to the concatenation ofX t andX as additional 128 channels.

RELATED VC MODELS
To the best of our knowledge, there exist two diffusion-based voice conversion models: VoiceGrad (Kameoka et al., 2020) and DiffSVC (Liu et al., 2021a). The one we propose differs from them in several important aspects. First, neither of the mentioned papers considers a one-shot many-tomany voice conversion scenario. Next, these models take no less than 100 reverse diffusion steps at inference while we pay special attention to reducing the number of iterations (see Section 3) achieving good quality with as few as 6 iterations. Furthermore, VoiceGrad performs voice conversion by running Langevin dynamics starting from the source mel-spectrogram, thus implicitly assuming that forward diffusion trajectories starting from the mel-spectrogram we want to synthesize are likely to pass through the neighborhood of the source mel-spectrogram on their way to Gaussian noise. Such an assumption allowing to have only one network instead of encoder-decoder architecture is too strong and hardly holds for real voices. Finally, DiffSVC performs singing voice conversion and relies on PPGs as speaker-independent speech representation.

MAXIMUM LIKELIHOOD SDE SOLVER
In this section, we develop a fixed-step first-order reverse SDE solver that maximizes the loglikelihood of sample paths of the forward diffusion. This solver differs from general-purpose Euler-Maruyama SDE solver (Kloeden & Platen, 1992) by infinitesimally small values which can however become significant when we sample from diffusion model using a few iterations.
Consider the following forward and reverse SDEs defined in Euclidean space R n for t ∈ [0, 1]: Following Song et al. (2021c) we will call DPM (6) Variance Preserving (VP). For simplicity we will derive maximum likelihood solver for this particular type of diffusion models. The equation (1) underlying VC diffusion model described in Section 2 can be transformed into the equation (6-F) by a constant shift and we will call such diffusion models Mean Reverting Variance Preserving (MR-VP). VP model analysis carried out in this section can be easily extended (see Appendices D, E and F) to MR-VP model as well as to other common diffusion model types such as sub-VP and VE described by Song et al. (2021c).
The forward SDE (6-F) allows for explicit solution: for all 0 ≤ s < t ≤ 1. This formula is derived by means of Itô calculus in Appendix A. The reverse SDE (6-R) parameterized with a neural network s θ is trained to approximate gradient of the log-density of noisy data X t : where the expectation is taken with respect to noisy data distribution Law(X t ) with pdf p t (·) and λ t is some positive weighting function. Note that certain Lipschitz constraints should be satisfied by coefficients of SDEs (6) to guarantee existence of strong solutions (Liptser & Shiryaev, 1978), and throughout this section we assume these conditions are satisfied as well as those from (Anderson, 1982) which guarantee that pathsX generated by the reverse SDE (6-R) for the optimal θ * equal forward SDE (6-F) paths X in distribution.
The generative procedure of a VP DPM consists in solving the reverse SDE (6-R) backwards in time starting fromX 1 ∼ N (0, I). Common Euler-Maruyama solver introduces discretization error (Kloeden & Platen, 1992) which may harm sample quality when the number of iterations is small. At the same time, it is possible to design unbiased (Henry-Labordère et al., 2017) or even exact (Beskos & Roberts, 2005) numerical solvers for some particular SDE types. The Theorem 1 shows that in the case of diffusion models we can make use of the forward diffusion (6-F) and propose a reverse SDE solver which is better than the general-purpose Euler-Maruyama one in terms of likelihood.
The solver proposed in the Theorem 1 is expressed in terms of the values defined as follows: where n is data dimensionality, Var (X 0 |X t ) is the covariance matrix of the conditional data distribution Law(X 0 |X t ) (so, Tr(Var (X 0 |X t )) is the overall variance across all n dimensions) and the expectation E Xt [·] is taken with respect to the unconditional noisy data distribution Law(X t ).
Theorem 1. Consider a DPM characterized by SDEs (6) with reverse diffusion trained till optimality. Let N ∈ N be any natural number and h = 1/N . Consider the following class of fixed step size h reverse SDE solvers parameterized with triplets of real numbers where θ * is given by (8), t = 1, 1 − h, .., h and ξ t are i.i.d. samples from N (0, I). Then: (ii) Assume that the SDE solver (11) starts from random variableX 1 ∼ Law (X 1 ). If X 0 is a constant or a Gaussian random variable with diagonal isotropic covariance matrix (i.e. δ 2 I for δ > 0), then generative modelX is exact The Theorem 1 provides an improved DPM sampling scheme which comes at no additional computational cost compared to standard methods (except for data-dependent term in σ * as discussed in Section 4.3) and requires neither model re-training nor extensive search on noise schedule space. The proof of this theorem is given in Appendix C. Note that it establishes optimality of the reverse SDE solver (11) with the parameters (10) in terms of likelihood of discrete paths X = {X kh } N k=0 while the optimality of continuous model (6-R) on continuous paths {X t } t∈[0,1] is guaranteed for a model with parameters θ = θ * as shown in (Song et al., 2021c).
The class of reverse SDE solvers considered in the Theorem 1 is rather broad: it is the class of all fixed-step solvers whose increments at time t are linear combination ofX t , s θ (X t , t) and Gaussian noise with zero mean and diagonal isotropic covariance matrix. As a particular case it includes (1)) (the proof is given in Appendix B), so the optimal SDE solver significantly differs from general-purpose Euler-Maruyama solver only when N is rather small or t has the same order as h, i.e. on the final steps of DPM inference. Appendix G contains toy examples demonstrating the difference of the proposed optimal SDE solver and Euler-Maruyama one depending on step size.
The result (ii) from the Theorem 1 strengthens the result (i) for some particular data distributions, but it may seem useless since in practice data distribution is far from being constant or Gaussian. However, in case of generation with strong conditioning (e.g. mel-spectrogram inversion) the assumptions on the data distribution may become viable: in the limiting case when our model is conditioned on c = ψ(X 0 ) for an injective function ψ, random variable X 0 |c becomes a constant ψ −1 (c).

EXPERIMENTS
We trained two groups of models: Diff-VCTK models on VCTK (Yamagishi et al., 2019) dataset containing 109 speakers (9 speakers were held out for testing purposes) and Diff-LibriTTS models on LibriTTS (Zen et al., 2019) containing approximately 1100 speakers (10 speakers were held out). For every model both encoder and decoder were trained on the same dataset. Training hyperparameters, implementation and data processing details can be found in Appendix I. For mel-spectrogram inversion, we used the pre-trained universal HiFi-GAN vocoder (Kong et al., 2020) operating at 22.05kHz. All subjective human evaluation was carried out on Amazon Mechanical Turk (AMT) with Master assessors to ensure the reliability of the obtained Mean Opinion Scores (MOS). In all AMT tests we considered unseen-to-unseen conversion with 25 unseen (for both Diff-VCTK and Diff-LibriTTS) speakers: 9 VCTK speakers, 10 LibriTTS speakers and 6 internal speakers. For VCTK source speakers we also ensured that source phrases were unseen during training. We place other details of listening AMT tests in Appendix J. A small subset of speech samples used in them is available at our demo page https://diffvc-fast-ml-solver.github.io which we encourage to visit.
As for sampling, we considered the following class of reverse SDE solvers: where t = 1, 1 − h, .., h and ξ t are i.i.d. samples from N (0, I).
h and σ * t,h are given by (10)) it becomes maximum likelihood reverse SDE solver for MR-VP DPM (1-2) as shown in Appendix D. In practice it is not trivial to estimate variance of the conditional distribution Law (X 0 |X t ), so we skipped this term in σ * t,h assuming this variance to be rather small because of strong conditioning on g t (Y ) and just used We also experimented with Euler-Maruyama solver EM-N (i.e.κ t,h = 0,ω t,h = 0,σ t,h = √ β t h) and "probability flow sampling" from (Song et al., 2021c)

SPEAKER CONDITIONING ANALYSIS
For each dataset we trained three models -one for each input type for the speaker conditioning network g t (Y ) (see Section 2.2). Although these input types had much influence neither on speaker similarity nor on speech naturalness, we did two experiments to choose the best models (one for each training dataset) in terms of speaker similarity for further comparison with baseline systems. We compared voice conversion results (produced by ML-30 sampling scheme) on 92 source-target pairs. AMT workers were asked which of three models (if any) sounded most similar to the target speaker and which of them (if any) sounded least similar. For Diff-VCTK and Diff-LibriTTS models each conversion pair was evaluated 4 and 5 times respectively. Table 1 demonstrates that for both Diff-VCTK and Diff-LibriTTS the best option is wodyn, i.e. to condition the decoder at time t on the speaker embedding together with the noisy target mel-spectrogram Y t . Conditioning on Y t allows making use of diffusion-specific information of how the noisy target sounds whereas embedding from the pre-trained speaker verification network contains information only about the clean target. Taking these results into consideration, we used Diff-VCTK-wodyn and Diff-LibriTTS-wodyn in the remaining experiments.

ANY-TO-ANY VOICE CONVERSION
We chose four recently proposed VC models capable of one-shot many-to-many synthesis as the baselines: • AGAIN-VC (Chen et al., 2021b), an improved version of a conventional autoencoder AdaIN-VC solving the disentanglement problem by means of instance normalization; • FragmentVC (Lin et al., 2021), an attention-based model relying on wav2vec 2.0 (Baevski et al., 2020) to obtain speech content from the source utterance; • VQMIVC (Wang et al., 2021), state-of-the-art approach among those employing vector quantization techniques; As shown in , PPG-based VC models provide high voice conversion quality competitive even with that of the state-of-the-art VC models taking text transcription corresponding to the source utterance as input. Therefore, we can consider BNE-PPG-VC a state-of-the-art model in our setting.
Baseline voice conversion results were produced by the pre-trained VC models provided in official GitHub repositories. Since only BNE-PPG-VC has the model pre-trained on a large-scale dataset (namely, LibriTTS + VCTK), we did two subjective human evaluation tests: the first one comparing Diff-VCTK with AGAIN-VC, FragmentVC and VQMIVC trained on VCTK and the second one comparing Diff-LibriTTS with BNE-PPG-VC. The results of these tests are given in Tables 2 and  3 respectively. Speech naturalness and speaker similarity were assessed separately. AMT workers evaluated voice conversion quality on 350 source-target pairs on 5-point scale. In the first test, each pair was assessed 6 times on average both in speech naturalness and speaker similarity evaluation; as for the second one, each pair was assessed 8 and 9 times on average in speech naturalness and speaker similarity evaluation correspondingly. No less than 41 unique assessors took part in each test. Table 2 demonstrates that our model performs significantly better than the baselines both in terms of naturalness and speaker similarity even when 6 reverse diffusion iterations are used. Despite working almost equally well on VCTK speakers, the best baseline VQMIVC shows poor performance on other speakers perhaps because of not being able to generalize to different domains with lower recording quality. Although Diff-VCTK performance also degrades on non-VCTK speakers, it achieves good speaker similarity of MOS 3.6 on VCTK ones when ML-30 sampling scheme is used and only slightly worse MOS 3.5 when 5x less iterations are used at inference.  , BNE-PPG-VC has fewer mispronunciation issues than our model but synthesized speech suffers from more sonic artifacts. This observation makes us believe that incorporating PPG features in the proposed diffusion VC framework is a promising direction for future research. Table 3 also demonstrates the benefits of the proposed maximum likelihood sampling scheme over other sampling methods for a small number of inference steps: only ML-N scheme allows us to use as few as N = 6 iterations with acceptable quality degradation of MOS 0.2 and 0.1 in terms of naturalness and speaker similarity respectively while two other competing methods lead to much more significant quality degradation. Figure 2: CIFAR-10 images randomly sampled from VP DPM by running 10 reverse diffusion steps with the following schemes (from left to right): "euler-maruyama", "probability flow", "maximum likelihood (τ = 0.5)", "maximum likelihood (τ = 1.0)".

MAXIMUM LIKELIHOOD SAMPLING
To show that the maximum likelihood sampling scheme proposed in Section 3 generalizes to different tasks and DPM types, we took the models trained by Song et al. (2021c) on CIFAR-10 image generation task and compared our method with other sampling schemes described in that paper in terms of Fréchet Inception Distance (FID).
The main difficulty in applying maximum likelihood SDE solver is estimating data-dependent term E[Tr (Var (X 0 |X t ))] in σ * t,h . Although in the current experiments we just set this term to zero, we can think of two possible ways to estimate it: (i) approximate Var (X 0 |X t ) with Var (X 0 |X t = X t ): sample noisy data X t , solve reverse SDE with sufficiently small step size starting from terminal conditionX t = X t several times, and calculate sample variance of the resulting solutions at initial pointsX 0 ; (ii) use the formula (58) from Appendix C to calculate Var (X 0 |X t ) assuming that X 0 is distributed normally with mean and variance equal to sample mean and sample variance computed on the training dataset. Experimenting with these techniques and exploring new ones seems to be an interesting future research direction.
Another important practical consideration is that the proposed scheme is proven to be optimal only for score matching networks trained till optimality. Therefore, in the experiments whose results are reported in Table 4 we apply maximum likelihood sampling scheme only when t ≤ τ while using standard Euler-Maruyama solver for t > τ for some hyperparameter τ ∈ [0, 1]. Such a modification relies on the assumption that score matching network is closer to being optimal for smaller noise. Table 4 shows that despite likelihood and FID are two metrics that do not perfectly correlate (Song et al., 2021b), in most cases our maximum likelihood SDE solver performs best in terms of FID. Also, it is worth mentioning that although τ = 1 is always rather a good choice, tuning this hyperparameter can lead to even better performance. One can find randomly chosen generated images for various sampling methods in Figure 2.

CONCLUSION
In this paper, the novel one-shot many-to-many voice conversion model has been presented. Its encoder design and powerful diffusion-based decoder made it possible to achieve good results both in terms of speaker similarity and speech naturalness even on out-of-domain unseen speakers. Subjective human evaluation verified that the proposed model delivers scalable VC solution with competitive performance. Furthermore, aiming at fast synthesis, we have developed and theoretically justified the novel sampling scheme. The main idea behind it is to modify the general-purpose Euler-Maruyama SDE solver so as to maximize the likelihood of discrete sample paths of the forward diffusion. Due to the proposed sampling scheme, our VC model is capable of high-quality voice conversion with as few as 6 reverse diffusion steps. Moreover, experiments on the image generation task show that all known diffusion model types can benefit from the proposed SDE solver.

A FORWARD VP SDE SOLUTION
Since function γ −1 0,t X t is linear in X t , taking its differential does not require second order derivative term in Itô's formula: Integrating this expression from s to t results in an Itô's integral: or The integrand on the right-hand side is deterministic and belongs to L 2 [0, 1] (for practical noise schedule choices), so its Itô's integral is a normal random variable, a martingale (meaning it has zero mean) and satisfies Itô's isometry which allows to calculate its variance: Thus
( 27) C PROOF OF THE THEOREM 1 The key fact necessary to prove the Theorem 1 is established in the following Lemma 1. Let p 0|t (·|x) be pdf of conditional distribution Law (X 0 |X t = x). Then for any t ∈ [0, 1] Proof of the Lemma 1. As mentioned in (Song et al., 2021c), an expression alternative to (8) can be derived for θ * under mild assumptions on the data density (Hyvärinen, 2005;Vincent, 2011): where Law (X 0 ) is data distribution with pdf p 0 (·) and Law (X t |X 0 = x 0 ) has pdf p t|0 (·|x 0 ). By Bayes formula we can rewrite this in terms of pdfs p t (·) and p 0|t (·|x t ) of distributions Law (X t ) and Law (X 0 |X t = x t ) correspondingly: For any n-dimensional random variable ξ with finite second moment and deterministic vector a we have In our case ξ = ∇log p t|0 (X t |X 0 ) and a = s θ (X t , t), so E ξ − Eξ 2 2 is independent of θ. Thus Therefore, the optimal score estimation network s θ * can be expressed as for all t ∈ [0, 1] and x ∈ supp {p t } = R n .
As proven in Appendix A, Law (X t |X 0 ) is Gaussian with mean vector γ 0,t X 0 and covariance matrix (1 − γ 2 0,t ) I, so finally we obtain Now let us prove the Theorem 1.
Proof of the Theorem 1. The sampling scheme (11) consists in adding Gaussian noise to a linear combination ofX t and s θ * (X t , t). Combining (11) and the Lemma 1 we get where ξ t are i.i.d. random variables from standard normal distribution N (0, I) for t = 1, 1 − h, .., h. Thus, the distributionX t−h |X t is also Gaussian: which leads to the following formula for the transition densities of the reverse diffusion: Moreover, comparingμ t,h andν t,h with µ t−h,t and ν t−h,t defined in (9) we deduce that If we also wantμ t,h = µ t−h,t to be satisfied, then we should have i.e.ν t,h = ν t−h,t andμ t,h = µ t−h,t iffκ t,h = κ * t,h andω t,h = ω * t,h for the parameters κ * t,h and ω * t,h defined in (10).
As for the corresponding densities of the forward process X, they are Gaussian when conditioned on the initial data point X 0 : where coefficients µ t−h,t , ν t−h,t and σ t−h,t are defined in (9). This formula for Law (X t−h |X t , X 0 ) follows from the general fact about Gaussian distributions appearing in many recent works on diffusion probabilistic modeling (Kingma et al., 2021): if Z t |Z s ∼ N (α t|s Z s , σ 2 t|s I) and Z t |Z 0 ∼ N (α t|0 Z 0 , σ 2 t|0 I) for 0 < s < t, then This fact is a result of applying Bayes formula to normal distributions. In our case α t|s = γ s,t and σ 2 t|s = 1 − γ 2 s,t .
To get an expression for the densities p t−h|t (x t−h |x t ) similar to (39), we need to integrate out the dependency on data X 0 from Gaussian distribution Law (X t−h |X t , X 0 ): which implies the following formula: Note that in contrast with the transition densities (39) of the reverse processX, the corresponding densities (45) of the forward process X are not normal in general.
Our goal is to find parametersκ,ω andσ that maximize log-likelihood of sample paths X under probability measure with transition densitiesp. Put t k = kh for k = 0, 1, .., N and write down this log-likelihood: The last term does not depend onκ,ω andσ, so we can ignore it. Let R k be the k-th term in the sum above. Since we are free to have different coefficientsκ t,h ,ω t,h andσ t,h for different steps, we can maximize each R k separately. Terms R k can be expressed as From now on we will skip subscripts of µ, ν, σ,μ,ν,σ,κ,ω, κ * and ω * for brevity. Denote Using the formula (44) for the densities of X together with the explicit expression for the Gaussian density p t k |t k+1 ,0 (x t k |X t k+1 , X 0 ) and applying Fubini's theorem to change the order of integration, we rewrite R k as The formula (48) implies that the integral of Q(x t k , X t k+1 , X 0 ) with respect to x t k can be seen as expectation of logp t k |t k+1 (ξ|X t k+1 ) with respect to normal random variable ξ with mean µX t k+1 + νX 0 and covariance matrix σ 2 I. Plugging in the expression (39) into (48), we can calculate this integral: Thus, terms R k we want to maximize equal Maximizing R k with respect to (κ,ω,σ) is equivalent to minimizing E Xt k+1 S k where S k is given by where the expectation with respect to ξ ∼ N (µX t k+1 + νX 0 , σ 2 I) can be calculated using the fact that for every vectorâ we can express E ξ ξ −â 2 2 as So, the outer expectation with respect to Law(X 0 |X t k+1 ) in (52) can be simplified: where all the expectations in the formula above are taken with respect to the conditional data distribution Law(X 0 |X t k+1 ). So, the resulting expression for the terms S k whose expectation with respect to Law (X t k+1 ) we want to minimize is Now it is clear that For this choice of parameters we have Note that E X 0 2 which is indeed satisfied by the parameters σ * t,h defined in (10). Thus, the statement (i) is proven.
When it comes to proving thatX is exact, we have to show that Law (X t k ) = Law (X t k ) for every k = 0, 1, .., N . By the assumption that Law (X 1 ) = Law (X 1 ) it is sufficient to prove thatp t k |t k+1 (x t k |x t k+1 ) ≡ p t k |t k+1 (x t k |x t k+1 ) since the exactness will follow from this fact by mathematical induction. If X 0 is a constant random variable, Law(X 0 |X t ) = Law (X 0 ) also corresponds to the same constant, so Var (X 0 |X t ) = 0 meaning that σ * t,h = σ t−h,t , and the formulae (39) and (45) imply the desired result.
Let us now consider the second case when X 0 ∼ N (μ, δ 2 I). It is a matter of simple but lengthy computations to prove another property of Gaussian distributions similar to (43): if and Z t ∼ N (μa t , (b 2 t + δ 2 a 2 t ) I). In our case a t = γ 0,t and b 2 t = 1 − γ 2 0,t , therefore So, Var (X 0 |X t ) does not depend on X t and Since Law (X t |X t−h ), Law (X t−h ) and Law (X t ) are Gaussian, Bayes formula implies that Law (X t−h |X t ) is Gaussian as well with the following mean and covariance matrix: The distribution Law (X t−h |X t ) is also Gaussian by the formula (39), so to conclude the proof we just need to show that for every x ∈ R n for the optimal parameters (10). Recall that for κ * t,h and ω * t,h Utilizing the formulae (9), (39), (58) and the fact that γ 0,t−h · γ t−h,t = γ 0,t (following from the definition of γ in (7)) we conclude that D REVERSE MR-VP SDE SOLVER MR-VP DPM is characterized by the following forward and reverse diffusions: Using the same method as in Appendix A, we can show that for s < t With the following notation: we can write down the parameters of Gaussian distribution X s |X t , X 0 : The Lemma 1 for MR-VP DPMs takes the following shape: The class of reverse SDE solvers we consider iŝ where t = 1, 1 − h, .., h and ξ t are i.i.d. samples from N (0, I). Repeating the argument of the Theorem 1 leads to the following optimal (in terms of likelihood of the forward diffusion sample paths) parameters: which are actually the same as the optimal parameters (10) for VP DPM. It is of no surprise since MR-VP DPM and VP-DPM differ only by a constant shift.

E REVERSE SUB-VP SDE SOLVER
Sub-VP DPM is characterized by the following forward and reverse diffusions: Using the same method as in Appendix A, we can show that for s < t Law (X t |X s ) = N (γ s,t X s , 1 + γ 4 0,t − γ 2 s,t (1 + γ 4 0,s ) I), γ s,t = e − 1 2 t s βudu .
Note that for s = 0 this expression simplifies to With the following notation: we can write down the parameters of Gaussian distribution X s |X t , X 0 : The Lemma 1 for sub-VP DPMs takes the following shape: The class of reverse SDE solvers we consider iŝ where t = 1, 1 − h, .., h and ξ t are i.i.d. samples from N (0, I). Repeating the argument of the Theorem 1 leads to the following optimal (in terms of likelihood of the forward diffusion sample paths) parameters: F REVERSE VE SDE SOLVER VE DPM is characterized by the following forward and reverse diffusions: conv / div 0.017 / div 0.085 / div conv / div 0.017 / div 0.085 / div N = 10 conv / 0.57 0.001/0.59 0.005/0.67 conv / 0.57 0.001/0.59 0.006/0.67 N = 100 conv / 0.01 conv / 0.01 conv / 0.01 conv / 0.01 conv / 0.01 conv / 0.01 N = 1000 conv / conv conv / conv conv / conv conv / conv conv / conv conv / conv • in accordance with the statement (ii) of the Theorem 1, the optimal Maximum Likelihood solver leads to exact data reconstruction in the case when data distribution is constant and score matching network is trained till optimality (i.e. ε = 0.0) irrespective of the number of steps N .
Also, in the second example where X 0 ∈ {i, −2i} the Maximum Likelihood SDE solver reconstructs the probabilities of these two points better than Euler-Maruyama which tends to output "i-samples" (which are closer to the origin) more frequently than "−2i-samples". E.g. for ε = 0.0 and N = 10 the frequency of "i-samples" generated by Euler-Maruyama scheme is 54% while this frequency for Maximum Likelihood scheme is 50% (500k independent runs were used to calculate these frequencies).

H SPEAKER CONDITIONING NETWORK
The function x · tanh(sof tplus(x)) is used as a non-linearity in the speaker conditioning network g t (Y ). First, time embedding t e is obtained by the following procedure: time t ∈ [0, 1] is encoded with positional encoding (Song et al., 2021c), then resulting 256-dimensional vector t is passed through the first linear module with 1024 units, then a non-linearity is applied to it and then it is passed through the second linear module with 256 units. Next, noisy mel-spectrogram Y t for wodyn input type or Y t concatenated with {Y s |s = 0.5/15, 1.5/15, .., 14.5/15} for whole is passed through 6 blocks consisting of 2D convolutional layers each followed by instance normalization and Gated Linear Unit. The number of input and output channels of these convolutions is (1, 64), (32, 64), (32, 128), (64, 128), (64, 256), (128, 256) for wodyn input type and the same but with 16 input channels in the first convolution for whole input type. After the 2nd and 4th blocks M LP 1 (t e ) and M LP 2 (t e ) are broadcast-added where M LP 1 (M LP 2 ) are composed of a nonlinearity followed by a linear module with 32 (64) units. After the last 6th block the result is passed through the final convolution with 128 output channels and average pooling along both time and frequency axes is applied resulting in 128-dimensional vector. All convolutions except for the final one have (kernel, stride, zero padding) = (3, 1, 1) while for the final one the corresponding parameters are (1, 0, 0). Denote the result of such processing of Y by c for wodyn and whole input types.
Clean target mel-spectrogram Y 0 is used to obtain 256-dimensional speaker embedding d with the pre-trained speaker verification network (Jia et al., 2018) which is not trained. Vectors d, c and t are concatenated (except for d-only input type where we concatenate only d and t ), passed through a linear module with 512 units followed by a non-linearity and a linear module with 128 units. The resulting 128-dimensional vector is the output of the speaker conditioning network g t (Y ).

I TRAINING HYPERPARAMETERS AND OTHER DETAILS
Encoders and decoders were trained with batch sizes 128 and 32 and Adam optimizer with initial learning rates 0.0005 and 0.0001 correspondingly. Encoders and decoders in VCTK models were trained for 500 and 200 epochs respectively; as for LibriTTS models, they were trained for 300 and 110 epochs. The datasets were downsampled to 22.05kHz which was the operating rate of our VC models. VCTK recordings were preprocessed by removing silence in the beginning and in the end of utterances. To fit GPU memory, decoders were trained on random speech segments of approximately 1.5 seconds rather than on the whole utterances. Training segments for reconstruction and the ones used as input to the speaker conditioning network g t (Y ) were different random segments extracted from the same training utterances. Noise schedule parameters β 0 and β 1 were set to 0.05 and 20.0.
Our VC models operated on mel-spectrograms with 80 mel features and sampling rate 22.05kHz. Short-Time Fourier Transform was used to calculate spectra with 1024 frequency bins. Hann window of length 1024 was applied with hop size 256.
For Diff-LibriTTS models we used simple spectral subtraction algorithm in mel domain with spectral floor parameter β = 0.02 as post-processing to reduce background noise sometimes produced by these models. Noise spectrum was estimated on speech fragments automatically detected as the ones corresponding to silence in source mel-spectrogram.

J DETAILS OF AMT TESTS
For fair comparison with the baselines all the recordings were downsampled to 16kHz; we also normalized their loudness. In speech naturalness tests workers chosen by geographic criterion were asked to assess the overall quality of the synthesized speech, i.e to estimate how clean and natural (human-sounding) it was. Five-point Likert scale was used: 1 -"Bad", 2 -"Poor", 3 -"Fair", 4 -"Good", 5 -"Excellent". Assessors were asked to wear headphones and work in a quiet environment. As for speaker similarity tests, workers were asked to assess how similar synthesized samples sounded to target speech samples in terms of speaker similarity. Assessors were asked not to pay attention to the overall quality of the synthesized speech (e.g. background noise or incorrect pronunciation). Five-point scale was used: 1 -"Different: absolutely sure", 2 -"Different: moderately sure", 3 -"Cannot decide more same or more different", 4 -"Same: moderately sure", 5 -"Same: absolutely sure".